`GET /api/scripts` — list the workspace's Scripts (without `source` so the payload stays small for long lists).
GET
/api/scripts
const url = 'https://example.com/api/scripts';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example.com/api/scriptsResponses
Section titled “Responses”Media typeapplication/json
Array<object>
Lightweight list-row view — drops source so a workspace with hundreds
of scripts does not balloon the list-API payload. The detail GET still
returns the full ScriptView with the source.
object
created_at
required
string format: date-time
description
string | null
id
required
string format: uuid
language
required
string
last_exit_code
integer | null format: int64
last_run_at
string | null format: date-time
last_run_status
string | null
latest_version
#358: latest committed script_revisions.version_number; None when the
script has no revisions beyond its inline source (row renders no version).
integer | null format: int32
name
required
string
ref_count
#358 board rollups. ref_count = distinct workflows referencing this
script via a code node script_ref; the last_run_* trio is the most
recent standalone (kind='script') run. Default/empty for a fresh row.
integer format: int64
slug
required
string
updated_at
required
string format: date-time
workspace_id
required
string format: uuid
Examplegenerated
[ { "created_at": "2026-04-15T12:00:00Z", "description": "example", "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "language": "example", "last_exit_code": 1, "last_run_at": "2026-04-15T12:00:00Z", "last_run_status": "example", "latest_version": 1, "name": "example", "ref_count": 1, "slug": "example", "updated_at": "2026-04-15T12:00:00Z", "workspace_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }]