Paperspace Projects API

Projects are the top-level organizing container in Paperspace. The Projects API covers project lifecycle, activity feeds, collaborator management, project-scoped secrets, tags, and model linkage.

OpenAPI Specification

paperspace-projects-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Paperspace Container Registries Activity Projects API
  version: v1
  description: 'Manage container registry credentials used by Paperspace Deployments to

    pull private images. Authenticate with a team-scoped API key as

    `Authorization: Bearer $API_TOKEN`.

    '
servers:
- url: https://api.paperspace.com/v1
  description: Production
security:
- bearerAuth: []
tags:
- name: Projects
paths:
  /projects:
    get:
      tags:
      - Projects
      operationId: listProjects
      summary: List Projects
      description: Lists projects with pagination and sorting support.
      parameters:
      - $ref: '#/components/parameters/After'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/OrderBy'
      - $ref: '#/components/parameters/Order'
      responses:
        '200':
          description: Project list.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectList'
    post:
      tags:
      - Projects
      operationId: createProject
      summary: Create Project
      description: Creates a new project with the specified name.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              properties:
                name:
                  type: string
                description:
                  type: string
      responses:
        '201':
          description: Project created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
  /projects/{id}:
    parameters:
    - $ref: '#/components/parameters/ProjectId'
    get:
      tags:
      - Projects
      operationId: getProject
      summary: Get Project
      description: Gets a project by its ID.
      responses:
        '200':
          description: Project.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
    put:
      tags:
      - Projects
      operationId: updateProject
      summary: Update Project
      description: Updates a project's name or description.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                description:
                  type: string
      responses:
        '200':
          description: Updated project.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
    delete:
      tags:
      - Projects
      operationId: deleteProject
      summary: Delete Project
      description: Deletes a project and its associated configuration.
      responses:
        '204':
          description: Deleted.
  /projects/{id}/models:
    parameters:
    - $ref: '#/components/parameters/ProjectId'
    get:
      tags:
      - Projects
      operationId: listProjectModels
      summary: List Project Models
      description: Fetches a list of models for a project.
      responses:
        '200':
          description: Model list.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                    name:
                      type: string
  /projects/{id}/models/{modelId}:
    parameters:
    - $ref: '#/components/parameters/ProjectId'
    - in: path
      name: modelId
      required: true
      schema:
        type: string
    post:
      tags:
      - Projects
      operationId: addProjectModel
      summary: Add Model to Project
      description: Associates an existing model with a project.
      responses:
        '201':
          description: Linked.
    delete:
      tags:
      - Projects
      operationId: removeProjectModel
      summary: Remove Model From Project
      description: Removes a model from a project.
      responses:
        '204':
          description: Removed.
components:
  parameters:
    OrderBy:
      in: query
      name: orderBy
      schema:
        type: string
    Limit:
      in: query
      name: limit
      schema:
        type: integer
    Order:
      in: query
      name: order
      schema:
        type: string
        enum:
        - asc
        - desc
    After:
      in: query
      name: after
      schema:
        type: string
    ProjectId:
      in: path
      name: id
      required: true
      schema:
        type: string
  schemas:
    Project:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        description:
          type: string
        teamId:
          type: string
        dtCreated:
          type: string
          format: date-time
    ProjectList:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/Project'
        hasMore:
          type: boolean
        nextPage:
          type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: api-key