Pinkfish Triggers API
Execute published workflows via API and webhook triggers
Execute published workflows via API and webhook triggers
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/pinkfish-triggers-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: AI Workflow Runs Triggers API
description: API for triggering and managing AI-powered Pinkfish workflows. Trigger endpoints execute published Pinkfish workflows (automations) synchronously or asynchronously, and polling endpoints retrieve run status and results.
version: 1.0.0
contact:
name: Pinkfish
url: https://docs.pinkfish.ai/api-reference/introduction
servers:
- url: https://triggers.app.pinkfish.ai
security:
- apiKeyAuth: []
tags:
- name: Triggers
description: Execute published workflows via API and webhook triggers
paths:
/ext/triggers/{triggerId}:
post:
tags:
- Triggers
operationId: triggerWorkflow
summary: Trigger a workflow
description: 'Executes a workflow using its associated trigger. Asynchronous by default (returns null body, run id in X-Pf-Run-Id header). Set `x-api-wait: true` for synchronous execution (waits up to 60 seconds).'
parameters:
- name: triggerId
in: path
required: true
schema:
type: string
description: The unique identifier of the trigger
- name: myvar
in: query
schema:
type: string
description: Optional query parameter for the trigger
- name: x-api-wait
in: header
required: false
schema:
type: string
enum:
- 'true'
- 'false'
default: 'false'
description: Set to `true` for synchronous execution (waits up to 60 seconds for results). Set to `false` or omit for asynchronous (fire-and-forget) execution.
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: true
example:
user_request: what is the capital of France
application/x-www-form-urlencoded:
schema:
type: object
additionalProperties:
type: string
example:
TESTKEY: TESTVAR
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
additionalProperties: true
responses:
'200':
description: 'Workflow triggered successfully. Async mode: body is null (use X-Pf-Run-Id / X-Pf-Automation-Id headers). Sync mode: body contains full workflow results if completed within 60 seconds.'
headers:
X-Pf-Run-Id:
schema:
type: string
description: Unique identifier for this workflow run
X-Pf-Automation-Id:
schema:
type: string
description: The automation/workflow ID
content:
application/json:
schema:
$ref: '#/components/schemas/RunResult'
'202':
description: Accepted. Sync request whose workflow was still running when the 60-second wait window closed. Poll statusUrl/resultsUrl.
headers:
Retry-After:
schema:
type: integer
content:
application/json:
schema:
$ref: '#/components/schemas/RunHandle'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/ext/webhook/{apiKey}/triggers/{triggerId}:
post:
tags:
- Triggers
operationId: triggerWorkflowViaWebhook
summary: Trigger a workflow via webhook
description: Executes a workflow using a webhook URL with the API key embedded in the path. Designed for third-party services that cannot set custom headers (Slack, Discord, Linear, Zoom, etc.). JSON and form-encoded data only; file attachments are not supported.
parameters:
- name: apiKey
in: path
required: true
schema:
type: string
description: The API key, embedded in the URL path for authentication
- name: triggerId
in: path
required: true
schema:
type: string
description: The unique identifier of the trigger
- name: x-api-wait
in: header
required: false
schema:
type: string
enum:
- 'true'
- 'false'
default: 'false'
description: Set to `true` for synchronous execution.
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: true
example:
event: issue_created
issue_id: '12345'
title: New feature request
application/x-www-form-urlencoded:
schema:
type: object
additionalProperties:
type: string
responses:
'200':
description: Workflow triggered successfully.
headers:
X-Pf-Run-Id:
schema:
type: string
X-Pf-Automation-Id:
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/RunResult'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
components:
schemas:
RunResult:
type:
- object
- 'null'
properties:
automationId:
type: string
automationVersion:
type: integer
automationName:
type: string
id:
type: string
description: The run ID
type:
type: string
results:
type: array
items:
type: object
properties:
stepIndex:
type: integer
stepVersion:
type: integer
result:
type: object
resultUrls:
type: object
exitCode:
type: integer
duration:
type: integer
started:
type: string
format: date-time
status:
type: string
RunHandle:
type: object
properties:
runId:
type: string
automationId:
type: string
status:
type: string
statusUrl:
type: string
resultsUrl:
type: string
retryAfterSeconds:
type: integer
Error:
type: object
properties:
error:
type: string
message:
type: string
required:
- error
- message
securitySchemes:
apiKeyAuth:
type: apiKey
in: header
name: X-API-KEY