Eigenpal Folders API
Create and organize workflow and template folders. Deleting a folder unfiles contained workflows or templates and does not delete them.
Create and organize workflow and template folders. Deleting a folder unfiles contained workflows or templates and does not delete them.
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/eigenpal:eigenpal-folders-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: Eigenpal Folders API
version: 1.0.0
description: Public REST API for inspecting automations, starting and monitoring runs, managing files, collecting human reviews, and running evaluations.
contact:
name: Eigenpal
url: https://eigenpal.com
license:
name: Apache-2.0
url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://api.eigenpal.com
description: Production (canonical API hostname)
security:
- bearerAuth: []
tags:
- name: Folders
description: Create and organize workflow and template folders. Deleting a folder unfiles contained workflows or templates and does not delete them.
paths:
/v1/folders:
get:
operationId: folders.list
summary: List folders
description: List folders in one tree. `type` is required (`workflow` or `template`). Pass `tree=true` for the full nested tree with counts; otherwise list direct children of `parentId` (`null` for root). Deleting a folder later unfiles contained workflows or templates and does not delete them.
tags:
- Folders
parameters:
- in: query
name: type
schema:
description: Folder tree to list. Required; there is no default.
$ref: '#/components/schemas/FolderType'
required: true
description: Folder tree to list. Required; there is no default.
- in: query
name: parentId
schema:
description: Limit to direct children of this folder. Pass `null` for root folders only. Ignored when `tree=true`.
type: string
description: Limit to direct children of this folder. Pass `null` for root folders only. Ignored when `tree=true`.
- in: query
name: tree
schema:
description: When `true`, return the full tree for `type` with child counts (and workflow previews for workflow trees).
type: string
description: When `true`, return the full tree for `type` with child counts (and workflow previews for workflow trees).
responses:
'200':
description: Folders in the requested tree
content:
application/json:
schema:
$ref: '#/components/schemas/ListFoldersResponse'
'400':
description: Validation error. Request shape did not match the spec.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'401':
description: Missing or invalid API key
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'403':
description: API key lacks required scope
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'404':
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'413':
description: Payload too large. Upload exceeded the per-request size cap.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'429':
description: Rate limit exceeded
headers:
Retry-After:
description: Seconds until the next request may succeed
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'503':
description: Rate-limit accounting is temporarily unavailable. The request was not processed; retry.
headers:
Retry-After:
description: Seconds until the next request may succeed
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
post:
operationId: folders.create
summary: Create folder
description: Create a folder in the workflow or template tree. `type` is required. Missing parents 404; a same-named sibling at that location returns 409. Nested agent directories in Git are source organization only and are not folders.
tags:
- Folders
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateFolderRequest'
responses:
'201':
description: Created folder
content:
application/json:
schema:
$ref: '#/components/schemas/Folder'
'400':
description: Validation error. Request shape did not match the spec.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'401':
description: Missing or invalid API key
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'403':
description: API key lacks required scope
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'404':
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'409':
description: Conflict. The resource is in a state that forbids the request.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'413':
description: Payload too large. Upload exceeded the per-request size cap.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'429':
description: Rate limit exceeded
headers:
Retry-After:
description: Seconds until the next request may succeed
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'503':
description: Rate-limit accounting is temporarily unavailable. The request was not processed; retry.
headers:
Retry-After:
description: Seconds until the next request may succeed
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
/v1/folders/{id}:
get:
operationId: folders.get
summary: Get folder
description: Get one workflow or template folder by id.
tags:
- Folders
parameters:
- in: path
name: id
schema:
type: string
description: Folder id (`fldr_…`).
required: true
description: Folder id (`fldr_…`).
responses:
'200':
description: Folder
content:
application/json:
schema:
$ref: '#/components/schemas/Folder'
'400':
description: Validation error. Request shape did not match the spec.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'401':
description: Missing or invalid API key
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'403':
description: API key lacks required scope
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'404':
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'413':
description: Payload too large. Upload exceeded the per-request size cap.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'429':
description: Rate limit exceeded
headers:
Retry-After:
description: Seconds until the next request may succeed
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'503':
description: Rate-limit accounting is temporarily unavailable. The request was not processed; retry.
headers:
Retry-After:
description: Seconds until the next request may succeed
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
patch:
operationId: folders.update
summary: Update folder
description: Rename or reparent a folder. Moving a folder onto itself, into a descendant, or into the other tree is rejected. A same-named sibling at the destination returns 409.
tags:
- Folders
parameters:
- in: path
name: id
schema:
type: string
description: Folder id (`fldr_…`).
required: true
description: Folder id (`fldr_…`).
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateFolderRequest'
responses:
'200':
description: Updated folder
content:
application/json:
schema:
$ref: '#/components/schemas/Folder'
'400':
description: Validation error. Request shape did not match the spec.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'401':
description: Missing or invalid API key
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'403':
description: API key lacks required scope
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'404':
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'409':
description: Conflict. The resource is in a state that forbids the request.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'413':
description: Payload too large. Upload exceeded the per-request size cap.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'429':
description: Rate limit exceeded
headers:
Retry-After:
description: Seconds until the next request may succeed
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'503':
description: Rate-limit accounting is temporarily unavailable. The request was not processed; retry.
headers:
Retry-After:
description: Seconds until the next request may succeed
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
delete:
operationId: folders.delete
summary: Delete folder
description: Delete a folder and cascade-delete child folders. Workflows and templates in the tree are unfiled, not deleted.
tags:
- Folders
parameters:
- in: path
name: id
schema:
type: string
description: Folder id (`fldr_…`).
required: true
description: Folder id (`fldr_…`).
responses:
'200':
description: Folder deleted
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteFolderResponse'
'400':
description: Validation error. Request shape did not match the spec.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'401':
description: Missing or invalid API key
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'403':
description: API key lacks required scope
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'404':
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'413':
description: Payload too large. Upload exceeded the per-request size cap.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'429':
description: Rate limit exceeded
headers:
Retry-After:
description: Seconds until the next request may succeed
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
'503':
description: Rate-limit accounting is temporarily unavailable. The request was not processed; retry.
headers:
Retry-After:
description: Seconds until the next request may succeed
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorEnvelope'
components:
schemas:
ApiErrorEnvelope:
type: object
properties:
issues:
type: array
items:
$ref: '#/components/schemas/ApiErrorIssue'
requestId:
type: string
description: Request id echoed via the x-request-id header
hint:
description: Suggested fix for known error patterns
type: string
docsUrl:
description: Link to relevant docs
type: string
conflictingWorkflowId:
description: Present on 409 workflow_name_conflict responses. Id of the workflow that already owns the requested name.
type: string
required:
- issues
- requestId
additionalProperties: false
ApiErrorIssue:
type: object
properties:
field:
type: string
description: JSON path of the offending field, or "<root>"
message:
type: string
description: Human-readable error message
code:
type: string
description: Machine-readable error code (e.g. invalid_value, not_found, api_trigger_disabled, manual_trigger_disabled)
severity:
type: string
enum:
- error
- warning
description: Issue severity
required:
- field
- message
- code
- severity
additionalProperties: false
ListFoldersResponse:
type: array
items:
$ref: '#/components/schemas/Folder'
UpdateFolderRequest:
type: object
properties:
name:
description: New folder name. Cannot contain `/`.
type: string
minLength: 1
maxLength: 255
parentId:
description: New parent folder id. `null` moves the folder to the tree root.
anyOf:
- type: string
- type: 'null'
FolderType:
type: string
enum:
- workflow
- template
Folder:
type: object
properties:
id:
type: string
parentId:
anyOf:
- type: string
- type: 'null'
type:
$ref: '#/components/schemas/FolderType'
name:
type: string
createdAt:
anyOf:
- type: string
- type: string
childCount:
description: Direct subfolder count. Present on tree listings.
type: integer
minimum: -9007199254740991
maximum: 9007199254740991
workflowCount:
description: Workflows filed directly in this folder. Present on workflow-tree listings.
type: integer
minimum: -9007199254740991
maximum: 9007199254740991
previewItems:
description: Up to a handful of item names — subfolders first, then workflows — for a peek at folder contents. Present on workflow-tree listings.
type: array
items:
type: object
properties:
name:
type: string
kind:
type: string
enum:
- folder
- workflow
required:
- name
- kind
additionalProperties: false
required:
- id
- parentId
- type
- name
- createdAt
additionalProperties: false
CreateFolderRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 255
description: Folder name. Cannot contain `/`.
type:
description: Which folder tree to create in. Required; there is no default.
$ref: '#/components/schemas/FolderType'
parentId:
description: Parent folder id. Omit or `null` to create at the tree root.
anyOf:
- type: string
- type: 'null'
required:
- name
- type
DeleteFolderResponse:
type: object
properties:
deleted:
type: boolean
const: true
id:
type: string
required:
- deleted
- id
additionalProperties: false
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: 'API key issued from Settings → API Keys. Pass as `Authorization: Bearer <key>`.'
x-provenance:
method: harvested
publisher: Eigenpal
source: https://docs.eigenpal.com/api-reference/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)