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.
openapi: 3.1.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:
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
ProjectUpdate:
type: object
properties:
name:
type: string
instructions:
type: string
num_workers_per_task:
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).