Skip to content
Get started

Tasks

List all tasks
GET/api/promptly/tasks
Create a new task
POST/api/promptly/tasks
Get a task
GET/api/promptly/tasks/{taskId}
Update a task
PATCH/api/promptly/tasks/{taskId}
Delete a task
DELETE/api/promptly/tasks/{taskId}
Run a task immediately
POST/api/promptly/tasks/{taskId}/run
List task runs
GET/api/promptly/tasks/{taskId}/runs
ModelsExpand Collapse
Destination = object { type, value, label }
type: "email" or "sms" or "webhook"
Accepts one of the following:
"email"
"sms"
"webhook"
value: string

Email address, phone number, or webhook URL

label: optional string

Optional human-readable label

Task = object { id, createdAt, model, 22 more }
id: string
formatuuid
createdAt: string
formatdate-time
model: string

AI model identifier (e.g., 'gpt-4o-mini')

name: string

Human-readable task name

prompt: string

The AI prompt to execute

schedule: "once" or "hourly" or "daily" or "weekly"

Task execution frequency

Accepts one of the following:
"once"
"hourly"
"daily"
"weekly"
status: "active" or "paused" or "completed"
Accepts one of the following:
"active"
"paused"
"completed"
cronExpression: optional string

Custom cron expression (overrides schedule settings)

deliveryEmail: optional boolean

Email delivery enabled

deliveryEmailAddress: optional string

Email address for delivery

formatemail
deliveryPhoneNumber: optional string

Phone number for SMS delivery

deliverySms: optional boolean

SMS delivery enabled

destinations: optional array of Destination { type, value, label }

Where to deliver task results

type: "email" or "sms" or "webhook"
Accepts one of the following:
"email"
"sms"
"webhook"
value: string

Email address, phone number, or webhook URL

label: optional string

Optional human-readable label

lastRunAt: optional string
formatdate-time
nextRunAt: optional string
formatdate-time
organizationId: optional string
formatuuid
scheduleDays: optional array of "monday" or "tuesday" or "wednesday" or 4 more

Days of week to run (for weekly schedule)

Accepts one of the following:
"monday"
"tuesday"
"wednesday"
"thursday"
"friday"
"saturday"
"sunday"
scheduleTime: optional string

Time of day to run (HH:MM format)

skillIds: optional array of string

IDs of attached skills

skills: optional array of Skill { id, content, name, 11 more }

Attached skills (when expanded)

id: string
formatuuid
content: string

Markdown instructions that guide task execution

name: string
category: optional string
createdAt: optional string
formatdate-time
description: optional string
frontmatter: optional object { author, requiredSources, tags }

Skill metadata

author: optional string
requiredSources: optional array of string

Source slugs this skill depends on

tags: optional array of string
iconUrl: optional string
formaturi
isPublic: optional boolean

Whether the skill is shared publicly

isUserInvocable: optional boolean

Whether users can manually attach this skill

organizationId: optional string
formatuuid
slug: optional string

URL-friendly identifier

updatedAt: optional string
formatdate-time
version: optional number
sourceIds: optional array of string

IDs of attached sources

sources: optional array of Source { id, config, name, 14 more }

Attached data sources (when expanded)

id: string
formatuuid
config: object { args, baseUrl, command, 3 more }

Source-specific configuration

args: optional array of string

Command arguments

baseUrl: optional string

Base URL for API sources

formaturi
command: optional string

Command to run for stdio transport

env: optional map[string]

Environment variables

transport: optional "stdio" or "http" or "websocket"

MCP transport type

Accepts one of the following:
"stdio"
"http"
"websocket"
url: optional string

URL for http/websocket transport

formaturi
name: string
type: "mcp" or "api" or "local"

Source connection type

Accepts one of the following:
"mcp"
"api"
"local"
authConfig: optional object { headerName, prefix, provider }

Authentication configuration

headerName: optional string
prefix: optional string
provider: optional string
authType: optional "none" or "oauth" or "bearer" or 5 more
Accepts one of the following:
"none"
"oauth"
"bearer"
"basic"
"header"
"query"
"api_key"
"composio"
composioConnected: optional boolean

Whether Composio OAuth is completed

composioToolkit: optional string

Composio toolkit name (e.g., 'todoist', 'github')

createdAt: optional string
formatdate-time
description: optional string
iconUrl: optional string
formaturi
isActive: optional boolean

Whether the source is connected and ready

lastConnectedAt: optional string
formatdate-time
organizationId: optional string
formatuuid
slug: optional string

URL-friendly identifier

tools: optional array of Tool { description, inputSchema, name }

Available tools from this source

description: optional string
inputSchema: optional unknown

JSON Schema for tool parameters

name: optional string
updatedAt: optional string
formatdate-time
timezone: optional string

IANA timezone (e.g., 'America/New_York')

updatedAt: optional string
formatdate-time
userId: optional string

Owner user ID

TaskRun = object { id, completedAt, costCents, 9 more }
id: optional string
formatuuid
completedAt: optional string
formatdate-time
costCents: optional number

Cost in cents

createdAt: optional string
formatdate-time
deliveryStatus: optional "pending" or "delivered" or "failed"
Accepts one of the following:
"pending"
"delivered"
"failed"
durationMs: optional number

Execution time in milliseconds

error: optional string

Error message if failed

output: optional string

AI-generated output

startedAt: optional string
formatdate-time
status: optional "pending" or "running" or "completed" or "failed"
Accepts one of the following:
"pending"
"running"
"completed"
"failed"
taskId: optional string
formatuuid
tokensUsed: optional number

Total tokens consumed

TasksSources

Attach a source to a task
POST/api/promptly/tasks/{taskId}/sources
Detach a source from a task
DELETE/api/promptly/tasks/{taskId}/sources/{sourceId}

TasksSkills

Attach a skill to a task
POST/api/promptly/tasks/{taskId}/skills
Detach a skill from a task
DELETE/api/promptly/tasks/{taskId}/skills/{skillId}