Deno Projects API
Create, list, update, and delete Deploy projects
Create, list, update, and delete Deploy 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/deno-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: 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/