Deno Projects API

Create, list, update, and delete Deploy projects

Operations 6

GET /organizations/{organizationId}/projects List projects #
POST /organizations/{organizationId}/projects Create project #
GET /projects/{projectId} Get project #
PATCH /projects/{projectId} Update project #
DELETE /projects/{projectId} Delete project #
GET /projects/{projectId}/analytics Get project analytics #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/deno-projects-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

deno-projects-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Deno Deploy REST Apps Projects API
  description: The Deno Deploy REST API (v1) provides programmatic access to manage projects and deployments on the Deno Deploy serverless edge platform. It exposes endpoints for creating and managing organizations, projects, deployments, domains, and KV databases, as well as retrieving analytics and usage metrics. Authentication uses HTTP Bearer tokens generated from the Deno Deploy dashboard. This v1 API is scheduled for sunset on July 20, 2026; users should migrate to the v2 API.
  version: '1.0'
  contact:
    name: Deno Deploy Support
    url: https://deno.com/deploy
  termsOfService: https://deno.com/deploy/terms
servers:
- url: https://api.deno.com/v1
  description: Deno Deploy Production API
security:
- bearerAuth: []
tags:
- name: Projects
  description: Create, list, update, and delete Deploy projects
paths:
  /organizations/{organizationId}/projects:
    get:
      operationId: listProjects
      summary: List projects
      description: Returns a paginated list of all projects belonging to the specified organization. Supports filtering by name and sorting by various fields.
      tags:
      - Projects
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/q'
      - $ref: '#/components/parameters/sort'
      - $ref: '#/components/parameters/order'
      responses:
        '200':
          description: Projects listed successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Project'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    post:
      operationId: createProject
      summary: Create project
      description: Creates a new project within the specified organization. Projects are containers for deployments on Deno Deploy, and each project can have multiple deployments across its lifecycle.
      tags:
      - Projects
      parameters:
      - $ref: '#/components/parameters/organizationId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProjectRequest'
      responses:
        '200':
          description: Project created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /projects/{projectId}:
    get:
      operationId: getProject
      summary: Get project
      description: Retrieves the details of a specific project by its UUID, including its name, associated organization, and current configuration.
      tags:
      - Projects
      parameters:
      - $ref: '#/components/parameters/projectId'
      responses:
        '200':
          description: Project retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: updateProject
      summary: Update project
      description: Updates mutable fields of an existing project such as its name. Only the fields present in the request body are modified.
      tags:
      - Projects
      parameters:
      - $ref: '#/components/parameters/projectId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateProjectRequest'
      responses:
        '200':
          description: Project updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteProject
      summary: Delete project
      description: Permanently deletes a project and all of its deployments. This operation cannot be undone.
      tags:
      - Projects
      parameters:
      - $ref: '#/components/parameters/projectId'
      responses:
        '200':
          description: Project deleted successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /projects/{projectId}/analytics:
    get:
      operationId: getProjectAnalytics
      summary: Get project analytics
      description: Returns time-series analytics data for a specific project in 15-minute intervals. The time range is limited to a maximum of 24 hours and must be specified using RFC 3339 timestamps.
      tags:
      - Projects
      parameters:
      - $ref: '#/components/parameters/projectId'
      - name: since
        in: query
        required: true
        description: Start of the analytics time range in RFC 3339 format
        schema:
          type: string
          format: date-time
      - name: until
        in: query
        required: true
        description: End of the analytics time range in RFC 3339 format
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: Analytics data retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    CreateProjectRequest:
      type: object
      description: Request body for creating a new Deno Deploy project
      required:
      - name
      properties:
        name:
          type: string
          description: Unique name for the project within the organization. Must be 3-26 characters, lowercase alphanumeric and hyphens only, and must start with a letter.
          minLength: 3
          maxLength: 26
          pattern: ^[a-z][a-z0-9-]*$
    UpdateProjectRequest:
      type: object
      description: Request body for updating an existing Deno Deploy project
      properties:
        name:
          type: string
          description: New name for the project
          minLength: 3
          maxLength: 26
          pattern: ^[a-z][a-z0-9-]*$
    Analytics:
      type: object
      description: Time-series analytics data returned in 15-minute intervals for an organization or project. Covers request counts, bandwidth usage, and error rates over the specified time range.
      properties:
        fields:
          type: array
          description: Ordered list of field names present in each data row
          items:
            type: object
            properties:
              name:
                type: string
                description: Name of the analytics field
              type:
                type: string
                description: Data type of the field values
        values:
          type: array
          description: Array of data rows, each corresponding to a 15-minute interval
          items:
            type: array
            items: {}
    Project:
      type: object
      description: A Deno Deploy project, which is a container for multiple deployments. Each project has a unique name within its organization and can have custom domains and KV databases associated with it.
      required:
      - id
      - name
      - organizationId
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the project
        name:
          type: string
          description: Human-readable name of the project, unique within the organization
          minLength: 3
          maxLength: 26
          pattern: ^[a-z][a-z0-9-]*$
        organizationId:
          type: string
          format: uuid
          description: UUID of the organization that owns this project
        createdAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp when the project was created
        updatedAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp when the project was last modified
    Error:
      type: object
      description: Standard error response returned by all API error conditions
      required:
      - error
      properties:
        error:
          type: string
          description: Human-readable error message describing what went wrong
  responses:
    BadRequest:
      description: Bad request - invalid parameters or request body
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Unauthorized - missing or invalid Bearer token
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Not found - the requested resource does not exist
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    order:
      name: order
      in: query
      description: Sort order direction
      schema:
        type: string
        enum:
        - asc
        - desc
        default: asc
    q:
      name: q
      in: query
      description: Search query to filter results by name or identifier
      schema:
        type: string
    page:
      name: page
      in: query
      description: Page number for paginated results (1-based)
      schema:
        type: integer
        minimum: 1
        default: 1
    limit:
      name: limit
      in: query
      description: Maximum number of items to return per page
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 20
    projectId:
      name: projectId
      in: path
      required: true
      description: UUID of the project
      schema:
        type: string
        format: uuid
    sort:
      name: sort
      in: query
      description: Field name to sort results by
      schema:
        type: string
    organizationId:
      name: organizationId
      in: path
      required: true
      description: UUID of the organization
      schema:
        type: string
        format: uuid
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token authentication. Generate tokens from the Deno Deploy dashboard under Settings > Access Tokens.
externalDocs:
  description: Deno Deploy REST API Documentation
  url: https://docs.deno.com/deploy/api/rest/