DocsWorkflowsDiscover starters
Workflows

Discover Workflow Starters

Authenticate, list published starters, and read one versioned input and output contract before integration.

On this page

A Workflow Starter is a curated public contract for a multi-step result. Discovery returns only starters that can accept public inputs, produce the published output, and provide an estimate before a run.

Use the returned slug, version, schemas, requirements, and links as the integration contract. Do not construct workflow definitions or depend on identifiers that are not present in the response.

Continue with Estimate and run after validating the selected starter's current input schema.

01

Authenticate every starter request

Public REST API keyAuthorization: Bearer efapi_live_...

Use an organization API key for starter discovery, estimates, runs, lifecycle requests, webhooks, and billing reads. Keep it out of client-side code and revoke it in Console when an integration ends.

02

List published starters

curl https://api.entirefeed.com/v1/workflow-starters \
  -X GET \
  -H "Authorization: Bearer $ENTIREFEED_API_KEY"
200 Published starters
{
  "data": [
    {
      "id": "text-to-video-basic",
      "object": "workflow_starter",
      "slug": "text-to-video-basic",
      "title": "Text to Video Basic",
      "description": "Turn one video idea into a finished video.",
      "category": "video",
      "version": "st_0123456789abcdef01234567",
      "input_schema": {
        "type": "object",
        "properties": {
          "video_idea": {
            "type": "string",
            "title": "Video idea",
            "description": "Describe the video to create, including subject, action, and visual direction.",
            "minLength": 1,
            "maxLength": 10000
          }
        },
        "required": [
          "video_idea"
        ],
        "additionalProperties": false
      },
      "output_schema": {
        "type": "object",
        "properties": {
          "video": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "type": {
                "const": "video"
              },
              "url": {
                "type": "string",
                "format": "uri"
              },
              "mime_type": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "expires_at": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              }
            },
            "required": [
              "id",
              "type",
              "url"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "video"
        ],
        "additionalProperties": false
      },
      "requirements": [],
      "links": {
        "self": "https://api.entirefeed.com/v1/workflow-starters/text-to-video-basic",
        "estimate": "https://api.entirefeed.com/v1/workflow-starters/text-to-video-basic/estimate",
        "runs": "https://api.entirefeed.com/v1/workflow-starters/text-to-video-basic/runs"
      }
    }
  ]
}
03

Read one versioned contract

Read the selected starter before constructing inputs. Validate against input_schema, plan for output_schema, preserve version, and follow the returned links.

curl https://api.entirefeed.com/v1/workflow-starters/text-to-video-basic \
  -X GET \
  -H "Authorization: Bearer $ENTIREFEED_API_KEY"
200 Versioned starter contract
{
  "id": "text-to-video-basic",
  "object": "workflow_starter",
  "slug": "text-to-video-basic",
  "title": "Text to Video Basic",
  "description": "Turn one video idea into a finished video.",
  "category": "video",
  "version": "st_0123456789abcdef01234567",
  "input_schema": {
    "type": "object",
    "properties": {
      "video_idea": {
        "type": "string",
        "title": "Video idea",
        "description": "Describe the video to create, including subject, action, and visual direction.",
        "minLength": 1,
        "maxLength": 10000
      }
    },
    "required": [
      "video_idea"
    ],
    "additionalProperties": false
  },
  "output_schema": {
    "type": "object",
    "properties": {
      "video": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "const": "video"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "mime_type": {
            "type": [
              "string",
              "null"
            ]
          },
          "expires_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "type",
          "url"
        ],
        "additionalProperties": false
      }
    },
    "required": [
      "video"
    ],
    "additionalProperties": false
  },
  "requirements": [],
  "links": {
    "self": "https://api.entirefeed.com/v1/workflow-starters/text-to-video-basic",
    "estimate": "https://api.entirefeed.com/v1/workflow-starters/text-to-video-basic/estimate",
    "runs": "https://api.entirefeed.com/v1/workflow-starters/text-to-video-basic/runs"
  }
}
Treat the response as the contract.Re-read and revalidate when its version changes; do not construct workflow definitions or depend on unreturned identifiers.