Bluejay Scenario Builder API
The Scenario Builder API from Bluejay — 6 operation(s) for scenario builder.
The Scenario Builder API from Bluejay — 6 operation(s) for scenario builder.
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/bluejay:bluejay-scenario-builder-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: Bluejay Scenario Builder API
description: Bluejay API
version: 0.1.0
servers:
- url: https://api.getbluejay.ai
description: Production server
security:
- apiKeyAuth: []
tags:
- name: Scenario Builder
paths:
/v1/scenario:
post:
tags:
- Scenario Builder
summary: Create Workflow V2
description: Create a workflows_v2 row with a React Flow graph definition.
operationId: create_workflow_v2_v1_scenario_post
security:
- HTTPBearer: []
parameters:
- name: X-Organization-Id
in: header
required: false
schema:
type: string
title: X-Organization-Id
- name: X-API-Key
in: header
required: true
schema:
type: string
description: API key required to authenticate requests.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWorkflowV2Request'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowV2Response'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
get:
tags:
- Scenario Builder
summary: List Workflows V2
description: List all workflows_v2 for the authenticated user's organization.
operationId: list_workflows_v2_v1_scenario_get
security:
- HTTPBearer: []
parameters:
- name: agent_id
in: query
required: false
schema:
anyOf:
- type: integer
- type: 'null'
description: If set, only workflows linked to this agent (agent must be in your org).
title: Agent Id
description: If set, only workflows linked to this agent (agent must be in your org).
- name: X-Organization-Id
in: header
required: false
schema:
type: string
title: X-Organization-Id
- name: X-API-Key
in: header
required: true
schema:
type: string
description: API key required to authenticate requests.
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowsV2ListResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/scenario/validate-definition:
post:
tags:
- Scenario Builder
summary: Validate Workflow Definition
description: Validate a workflow definition from JSON without persisting.
operationId: validate_workflow_definition_v1_scenario_validate_definition_post
security:
- HTTPBearer: []
parameters:
- name: X-Organization-Id
in: header
required: false
schema:
type: string
title: X-Organization-Id
- name: X-API-Key
in: header
required: true
schema:
type: string
description: API key required to authenticate requests.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowValidateDefinitionRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowValidateDefinitionResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/scenario/generate-from-prompt:
post:
tags:
- Scenario Builder
summary: Generate Workflow From Prompt
description: Generate a validated React Flow graph from natural language (not persisted). Use ``POST /v1/scenario`` to save.
operationId: generate_workflow_from_prompt_v1_scenario_generate_from_prompt_post
security:
- HTTPBearer: []
parameters:
- name: X-Organization-Id
in: header
required: false
schema:
type: string
title: X-Organization-Id
- name: X-API-Key
in: header
required: true
schema:
type: string
description: API key required to authenticate requests.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GenerateWorkflowFromPromptRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/GenerateWorkflowFromPromptResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/scenario/generate-definition:
post:
tags:
- Scenario Builder
summary: Generate Workflow Definition
description: Deprecated placeholder; use ``POST /v1/scenario/generate-from-prompt`` or ``/validate-definition``.
operationId: generate_workflow_definition_v1_scenario_generate_definition_post
security:
- HTTPBearer: []
parameters:
- name: X-Organization-Id
in: header
required: false
schema:
type: string
title: X-Organization-Id
- name: X-API-Key
in: header
required: true
schema:
type: string
description: API key required to authenticate requests.
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/scenario/{workflow_id}/duplicate:
post:
tags:
- Scenario Builder
summary: Duplicate Workflow V2
description: Create a new workflows_v2 row copying definition, description, and agent links from the source.
operationId: duplicate_workflow_v2_v1_scenario__workflow_id__duplicate_post
security:
- HTTPBearer: []
parameters:
- name: workflow_id
in: path
required: true
schema:
type: string
format: uuid
title: Workflow Id
- name: X-Organization-Id
in: header
required: false
schema:
type: string
title: X-Organization-Id
- name: X-API-Key
in: header
required: true
schema:
type: string
description: API key required to authenticate requests.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DuplicateWorkflowV2Request'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowV2Response'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/scenario/{workflow_id}:
get:
tags:
- Scenario Builder
summary: Get Workflow V2
description: Get one workflows_v2 by ID (organization must match).
operationId: get_workflow_v2_v1_scenario__workflow_id__get
security:
- HTTPBearer: []
parameters:
- name: workflow_id
in: path
required: true
schema:
type: string
format: uuid
title: Workflow Id
- name: X-Organization-Id
in: header
required: false
schema:
type: string
title: X-Organization-Id
- name: X-API-Key
in: header
required: true
schema:
type: string
description: API key required to authenticate requests.
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowV2Response'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
put:
tags:
- Scenario Builder
summary: Update Workflow V2
description: Update name, description, agent links, and/or definition (React Flow graph).
operationId: update_workflow_v2_v1_scenario__workflow_id__put
security:
- HTTPBearer: []
parameters:
- name: workflow_id
in: path
required: true
schema:
type: string
format: uuid
title: Workflow Id
- name: X-Organization-Id
in: header
required: false
schema:
type: string
title: X-Organization-Id
- name: X-API-Key
in: header
required: true
schema:
type: string
description: API key required to authenticate requests.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWorkflowV2Request'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowV2Response'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- Scenario Builder
summary: Delete Workflow V2
description: Delete a workflows_v2 row.
operationId: delete_workflow_v2_v1_scenario__workflow_id__delete
security:
- HTTPBearer: []
parameters:
- name: workflow_id
in: path
required: true
schema:
type: string
format: uuid
title: Workflow Id
- name: X-Organization-Id
in: header
required: false
schema:
type: string
title: X-Organization-Id
- name: X-API-Key
in: header
required: true
schema:
type: string
description: API key required to authenticate requests.
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteWorkflowV2Response'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
CreateWorkflowV2Request:
properties:
name:
type: string
maxLength: 255
minLength: 1
title: Name
description: Name of the workflow
agent_ids:
anyOf:
- items:
type: integer
type: array
- type: 'null'
title: Agent Ids
description: Owning agents (must belong to your organization). Omit or null for org-only workflow.
description:
anyOf:
- type: string
- type: 'null'
title: Description
description: Human-readable description of the workflow
definition:
additionalProperties: true
type: object
title: Definition
description: React Flow graph. Omitted `nodes` / `edges` default to []. Each node must have a non-empty string `id` on the node object (not only inside `data`). Each edge must have a non-empty string `id`, unique across all edges. With no `single` or `options` nodes, the graph is stored as a draft (only multiple-start is rejected). Once there is content, export rules apply (paths, branch_options, etc.).
type: object
required:
- name
- definition
title: CreateWorkflowV2Request
description: Create a workflow; ``definition`` is a React Flow graph (``nodes``, ``edges``, optional ``viewport``).
examples:
- agent_ids: []
definition:
edges:
- id: e-wf-start-n-greet
source: wf-start
target: n-greet
nodes:
- data:
id: wf-start
deletable: false
draggable: true
id: wf-start
position:
x: 100
y: 50
type: start
- data:
criteria: Greet the caller and offer help
id: n-greet
speaker: agent
turn: 0
type: message
id: n-greet
position:
x: 200
y: 180
type: single
description: Password reset IVR
name: Support reset flow
WorkflowValidateDefinitionRequest:
properties:
definition:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Definition
description: React Flow graph as a JSON object (same shape as create ``definition``).
json_text:
anyOf:
- type: string
- type: 'null'
title: Json Text
description: Alternatively, the full graph as a JSON string.
type: object
title: WorkflowValidateDefinitionRequest
description: Validate and normalize a React Flow graph from JSON (object or string). Same rules as ``POST /v1/scenario`` create.
UpdateWorkflowV2Request:
properties:
name:
anyOf:
- type: string
maxLength: 255
minLength: 1
- type: 'null'
title: Name
description: New name for the workflow
agent_ids:
anyOf:
- items:
type: integer
type: array
- type: 'null'
title: Agent Ids
description: Set owning agents, or null to clear agent links (must belong to your organization when set).
description:
anyOf:
- type: string
- type: 'null'
title: Description
description: New description (set empty string to clear if your client sends it)
definition:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Definition
description: 'Full React Flow definition when replacing the graph. Same shape as create: each node needs a top-level `id`; each edge needs a top-level `id` unique among edges.'
type: object
title: UpdateWorkflowV2Request
description: Partial update for workflows_v2.
DuplicateWorkflowV2Request:
properties:
name:
anyOf:
- type: string
maxLength: 255
minLength: 1
- type: 'null'
title: Name
description: Name for the copy. Omit or null for "Copy of {original name}".
type: object
title: DuplicateWorkflowV2Request
description: Duplicate an existing workflow (new row, same definition and agent links).
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
WorkflowV2Response:
properties:
id:
type: string
title: Id
description: Workflow ID
organization_id:
anyOf:
- type: string
- type: 'null'
title: Organization Id
description: Owning organization ID (set by middleware on create)
agent_ids:
items:
type: integer
type: array
title: Agent Ids
description: Linked agent ids when the workflow is agent-scoped
default: []
name:
type: string
title: Name
description: Name of the workflow
description:
anyOf:
- type: string
- type: 'null'
title: Description
description: Description
definition:
additionalProperties: true
type: object
title: Definition
description: Stored React Flow graph (`start` / `single` / `options` nodes). Nodes and edges use top-level string `id` fields; edge `id` values are unique within the graph.
created_at:
type: string
format: date-time
title: Created At
description: Creation timestamp
dh_sync_summary:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Dh Sync Summary
description: 'Present on PUT responses when the definition was updated. Keys: updated, created, marked_stale, skipped, errors.'
warnings:
items:
type: string
type: array
title: Warnings
description: Non-blocking lint warnings emitted at save time (e.g. node text referencing an unknown ``{{trait_name}}``). Empty when the definition is clean or no agents are linked.
type: object
required:
- id
- name
- definition
- created_at
title: WorkflowV2Response
description: Single workflows_v2 row.
DeleteWorkflowV2Response:
properties:
message:
type: string
title: Message
description: Success message
deleted_workflow_id:
type: string
title: Deleted Workflow Id
description: ID of the deleted workflow
type: object
required:
- message
- deleted_workflow_id
title: DeleteWorkflowV2Response
description: Delete confirmation.
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
GenerateWorkflowFromPromptRequest:
properties:
prompt:
type: string
maxLength: 12000
minLength: 1
title: Prompt
description: What the workflow should cover (steps, branches, agent vs user lines).
context:
anyOf:
- type: string
maxLength: 8000
- type: 'null'
title: Context
description: Optional product or agent context to steer the layout.
type: object
required:
- prompt
title: GenerateWorkflowFromPromptRequest
description: Generate a React Flow workflow graph from natural language (not persisted).
GenerateWorkflowFromPromptResponse:
properties:
definition:
additionalProperties: true
type: object
title: Definition
description: React Flow graph that passed the same validation as create/update.
type: object
required:
- definition
title: GenerateWorkflowFromPromptResponse
description: Validated graph ready for ``POST /v1/scenario`` ``definition`` field.
WorkflowsV2ListResponse:
properties:
workflows:
items:
$ref: '#/components/schemas/WorkflowV2Response'
type: array
title: Workflows
description: Workflows
total_count:
type: integer
title: Total Count
description: Number of workflows returned
type: object
required:
- workflows
- total_count
title: WorkflowsV2ListResponse
description: List workflows_v2 for the organization.
WorkflowValidateDefinitionResponse:
properties:
success:
type: boolean
title: Success
description: True when the definition passes validation
default: true
type: object
title: WorkflowValidateDefinitionResponse
description: Validation passed; same rules as ``POST /v1/scenario`` create (graph is not persisted).
securitySchemes:
apiKeyAuth:
type: apiKey
in: header
name: X-API-Key
description: API key required to authenticate requests.
scimToken:
type: http
scheme: bearer
description: SCIM token from Settings → Security → User provisioning (SCIM). Not an API key.
x-provenance:
method: harvested
publisher: Bluejay
source: https://api.getbluejay.ai/openapi.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)