FLORA · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Flora.ai Canvas API

5 actions 5 updates phrasing extends openapi/flora-fauna-canvas-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for FLORA's API. It is a proposal applied on top of the contract, not a document FLORA publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 5

$.info
$.paths['/projects/{projectId}/actions'].post
$.paths['/projects/{projectId}/actions/{nodeId}/run'].post
$.paths['/projects/{projectId}/nodes'].get
$.paths['/projects/{projectId}/assets/{assetId}/attach'].post

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Flora.ai Canvas API
  version: 1.0.0
extends: openapi/flora-fauna-canvas-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 4
- target: $.paths['/projects/{projectId}/actions'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a prebuilt action node to a canvas
      effect: write
      questions:
      - How do I place a prebuilt action like rotate-image onto my project canvas?
      - Can I preset parameters on an action node when adding it to the canvas?
      instructions:
      - text: Add action {action_id} as a node on project {projectId}'s canvas.
        slots:
          action_id: requestBody.action_id
          projectId: path.projectId
      - text: Create a {action_id} action node in project {projectId} with params {params}.
        slots:
          action_id: requestBody.action_id
          projectId: path.projectId
          params: requestBody.params
      method: generated
      generated: '2026-10-01'
- target: $.paths['/projects/{projectId}/actions/{nodeId}/run'].post
  update:
    x-apievangelist-phrasing:
      intent: Run an action node already on a canvas
      effect: write
      questions:
      - How do I execute an action node that's already sitting on my canvas?
      - Can I trigger a canvas action node through the API instead of the editor?
      instructions:
      - text: Run action node {nodeId} on project {projectId}'s canvas.
        slots:
          nodeId: path.nodeId
          projectId: path.projectId
      - text: Execute canvas node {nodeId} in project {projectId}.
        slots:
          nodeId: path.nodeId
          projectId: path.projectId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/projects/{projectId}/nodes'].get
  update:
    x-apievangelist-phrasing:
      intent: List media nodes on a project canvas
      effect: read
      questions:
      - Which images and videos are currently on a project's canvas?
      - Can I page through the media nodes on a canvas without getting the raw graph data?
      instructions:
      - text: List the media nodes on project {projectId}'s canvas.
        slots:
          projectId: path.projectId
      - text: Show {limit} canvas nodes from project {projectId}.
        slots:
          limit: query.limit
          projectId: path.projectId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/projects/{projectId}/assets/{assetId}/attach'].post
  update:
    x-apievangelist-phrasing:
      intent: Place an existing asset on a canvas
      effect: write
      questions:
      - How do I put an asset I've already uploaded onto a project canvas?
      - Does an asset have to be ready before it can be attached to a canvas as a media node?
      instructions:
      - text: Attach asset {assetId} to project {projectId}'s canvas.
        slots:
          assetId: path.assetId
          projectId: path.projectId
      - text: Drop asset {assetId} onto the canvas of {projectId} as a static media node.
        slots:
          assetId: path.assetId
          projectId: path.projectId
      method: generated
      generated: '2026-10-01'