Surge AI Projects API
The Projects API from Surge AI — 9 operation(s) for projects.
The Projects API from Surge AI — 9 operation(s) for projects.
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/surge-ai-projects-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: Surge AI Projects API
description: Surge AI is a human-data platform for labeling, RLHF/SFT data collection, rubrics, and evaluation. This OpenAPI documents the REST endpoints used by the official surge-python SDK (https://github.com/surge-ai/surge-python), covering projects, tasks, and teams. Authentication uses API key Basic auth via the SURGE_API_KEY.
version: 1.0.0
contact:
name: Surge AI documentation
url: https://app.surgehq.ai/docs/api
servers:
- url: https://app.surgehq.ai/api
description: Production
security:
- basicAuth: []
tags:
- name: Projects
paths:
/projects:
get:
tags:
- Projects
summary: List projects
operationId: listProjects
responses:
'200':
description: List of projects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Project'
post:
tags:
- Projects
summary: Create project
operationId: createProject
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectCreate'
responses:
'200':
description: Project created
content:
application/json:
schema:
$ref: '#/components/schemas/Project'
/projects/shared:
get:
tags:
- Projects
summary: List organization-wide (shared) projects
operationId: listSharedProjects
responses:
'200':
description: Shared projects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Project'
/projects/blueprints:
get:
tags:
- Projects
summary: List blueprint projects
operationId: listBlueprints
responses:
'200':
description: Blueprints
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Project'
/projects/{project_id}:
parameters:
- $ref: '#/components/parameters/ProjectId'
get:
tags:
- Projects
summary: Retrieve a project
operationId: getProject
responses:
'200':
description: Project details
content:
application/json:
schema:
$ref: '#/components/schemas/Project'
put:
tags:
- Projects
summary: Update a project
operationId: updateProject
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectUpdate'
responses:
'200':
description: Updated project
content:
application/json:
schema:
$ref: '#/components/schemas/Project'
/projects/{project_id}/copies:
parameters:
- $ref: '#/components/parameters/ProjectId'
get:
tags:
- Projects
summary: List project copies
operationId: listProjectCopies
responses:
'200':
description: Copies
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Project'
/projects/{project_id}/launch:
parameters:
- $ref: '#/components/parameters/ProjectId'
post:
tags:
- Projects
summary: Launch a project
operationId: launchProject
responses:
'200':
description: Project launched
/projects/{project_id}/pause:
parameters:
- $ref: '#/components/parameters/ProjectId'
post:
tags:
- Projects
summary: Pause a project
operationId: pauseProject
responses:
'200':
description: Project paused
/projects/{project_id}/resume:
parameters:
- $ref: '#/components/parameters/ProjectId'
post:
tags:
- Projects
summary: Resume a paused project
operationId: resumeProject
responses:
'200':
description: Project resumed
/projects/{project_id}/cancel:
parameters:
- $ref: '#/components/parameters/ProjectId'
post:
tags:
- Projects
summary: Cancel a project
operationId: cancelProject
responses:
'200':
description: Project canceled
components:
schemas:
ProjectUpdate:
type: object
properties:
name:
type: string
instructions:
type: string
num_workers_per_task:
type: integer
ProjectCreate:
type: object
required:
- name
properties:
name:
type: string
instructions:
type: string
num_workers_per_task:
type: integer
fields_template:
type: string
Project:
type: object
properties:
id:
type: string
name:
type: string
status:
type: string
num_tasks:
type: integer
parameters:
ProjectId:
in: path
name: project_id
required: true
schema:
type: string
securitySchemes:
basicAuth:
type: http
scheme: basic
description: HTTP Basic auth with the API key as username (set via SURGE_API_KEY).