All integrations

Scale AI

AI · AI

Data-labeling tasks, projects, and batches in the account they connected.

Acts as the person, not as itself

Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.

Credentials never touch the agent

Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.

Every call on the record

Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.

What an agent can do

Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.

scaleai_delete_task_by_task_id_tagsWRITE

Remove the listed tags from a task. The request body is a JSON array of non-empty strings. Via DELETE /task/{task_id}/tags.

api
scaleai_delete_task_by_task_id_unique_idWRITE

Remove a task's unique_id so the same value can be used on a future task. Via DELETE /task/{task_id}/unique_id.

api
scaleai_get_auditsREAD

List fixless audits by task_id or by audit id. Via GET /audits/.

api
scaleai_get_batchesREAD

Paged list of your batches in descending created_at order, filtered by project, status (staging, in_progress, completed) and time window; page with limit and offset. Via GET /batches.

api
scaleai_get_batches_by_batchnameREAD

Get the details of a batch by name. Via GET /batches/{batchName}.

api
scaleai_get_batches_by_batchname_statusREAD

Get a batch's status and the counts of its tasks grouped by task status. Via GET /batches/{batchName}/status.

api
scaleai_get_projectsREAD

List information for all projects; set archived to list only archived (true) or unarchived (false) projects. Via GET /projects.

api
scaleai_get_projects_by_nameREAD

Get a project's details (type, name, parameter history) by its name. Via GET /projects/{name}.

api
scaleai_get_task_by_taskidREAD

Retrieve detailed task information for a specific task by its task ID. Via GET /task/{taskId}.

api
scaleai_get_tasksREAD

Paginated list of your tasks in descending created_at order, filtered by time window, status, type, project, batch, customer review status, unique_id or tags; page with limit (1-100) and the returned next_token. Time filters take ISO 8601 strings. Via GET /tasks.

api
scaleai_post_batchesWRITE

Create a new batch within a project. Via POST /batches.

api
scaleai_post_batches_by_batchname_finalizeWRITE

Finalize a batch so its tasks can be worked on (Scale Rapid and Studio); other customers get a no-op 200. Via POST /batches/{batchName}/finalize.

api
scaleai_post_batches_by_batchname_prioritizeWRITE

Update a batch's priority, from 10 (lowest) to 30 (highest); tasks already started are not affected. Via POST /batches/{batchName}/prioritize.

api
scaleai_post_projectsWRITE

Create a project: the task type of its tasks, a name unique among your projects, default task params, and the Rapid/Studio flags with pipeline and consensus attempts for Studio projects. Via POST /projects.

api
scaleai_post_projects_by_name_setparamsWRITE

Set project-level default task parameters as a new param_history version; patch=true combines them with the latest version instead of replacing it. Besides patch and instruction, the body carries any task parameter. Via POST /projects/{name}/setParams.

api
scaleai_post_task_by_task_id_dependents_force_creationWRITE

Create a completed root task's dependent tasks now, skipping the customer audit (require_audit); fails if the task is not completed or the dependents already exist. Via POST /task/{task_id}/dependents/force_creation.

api
scaleai_post_task_by_task_id_dependents_optionsWRITE

Change the options of the dependent tasks created once a root task completes; only possible while the root task is not complete. Via POST /task/{task_id}/dependents/options.

api
scaleai_post_task_by_task_id_tagsWRITE

Replace all of a task's tags with the listed ones. The request body is a JSON array of non-empty strings. Via POST /task/{task_id}/tags.

api
scaleai_post_task_by_task_id_unique_idWRITE

Set or change the unique_id associated with a task. Via POST /task/{task_id}/unique_id.

api
scaleai_post_task_by_taskid_cancelWRITE

Cancel a pending task; a completed task answers 400. Idempotent. clear_unique_id=true also releases the task's unique_id for reuse. Via POST /task/{taskId}/cancel.

api
scaleai_post_task_by_taskid_send_callbackWRITE

Re-send the callback for a completed or errored task to its callback_url, with the callback's original data. Via POST /task/{taskId}/send-callback.

api
scaleai_post_task_by_taskid_setmetadataWRITE

Set the metadata field on an existing task to the key/value object sent as the request body. Idempotent. Via POST /task/{taskId}/setMetadata.

api
scaleai_post_task_comparisonWRITE

Create a `comparison` task. The reference site documents this endpoint only as the target of its Idempotency-Key example (tasks.md, 'Avoiding Duplicate Tasks'), so only the fields common to every task type are advertised; any other field Scale documents for comparison tasks may be passed in the body as well. Via POST /task/comparison.

api
scaleai_post_task_imageannotationWRITE

Create an `imageannotation` task: annotate an image with the box, polygon, line, point, cuboid or ellipse geometries you specify. Required: attachment and geometries. Via POST /task/imageannotation.

api
scaleai_post_task_lidarannotationWRITE

Create a `lidarannotation` task: 3D cuboids around objects across a series of lidar frames with optional radar and camera data. Required: attachments, attachment_type and labels. Via POST /task/lidarannotation.

api
scaleai_post_task_lidarlinkingWRITE

Create a `lidarlinking` task: corrected 2D projections of a completed lidar task's cuboids onto its camera images. Required: annotation_type and lidar_task. Via POST /task/lidarlinking.

api
scaleai_post_task_lidarsegmentationWRITE

Create a `lidarsegmentation` task: assign a class to each point of a series of lidar frames. Via POST /task/lidarsegmentation.

api
scaleai_post_task_lidartopdownWRITE

Create a `lidartopdown` task: annotate a collection of lidar frames in top down with polygon, line and point geometries. Via POST /task/lidartopdown.

api
scaleai_post_task_multistageWRITE

Create a `multistage` task from a Sensor Fusion Scene, labelled through the stages of the project's blueprint (or task_blueprint_id). Via POST /task/multistage.

api
scaleai_post_task_segmentannotationWRITE

Create a `segmentannotation` task: a dense, pixel-wise semantic segmentation of an image according to the labels provided. Via POST /task/segmentannotation.

api
scaleai_post_task_sensorfusionWRITE

Create a `sensorfusion` task: annotators load a Sensor Fusion Scene (3D point clouds plus 2D camera data) and apply 3D cuboids, point-cloud segmentation, 3D keypoints or top-down polygons. Via POST /task/sensorfusion.

api
scaleai_post_task_videoannotationWRITE

Create a `videoannotation` task: annotate each frame of a series of images sampled from a video with the geometries you specify. Deprecated by Scale in favour of videoplaybackannotation. Via POST /task/videoannotation.

api
scaleai_post_task_videoplaybackannotationWRITE

Create a `videoplaybackannotation` task: annotations drawn around the specified objects while viewing the given video file. Via POST /task/videoplaybackannotation.

api
scaleai_put_auditsWRITE

Create a fixless audit on a task: the audit result, the audited response URL (task.response.annotations.url) and optional feedback items. Answers 201. Via PUT /audits.

api
scaleai_put_task_by_task_id_tagsWRITE

Add the listed tags to a task; a tag already on the task is ignored. The request body is a JSON array of non-empty strings. Via PUT /task/{task_id}/tags.

api

Put Scale AI behind one governed endpoint.

Same permissions, same audit trail, whatever else you connect next.