Deno Organizations API

Retrieve organization details and analytics

OpenAPI Specification

deno-organizations-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Deno Deploy REST Apps Organizations 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: Organizations
  description: Retrieve organization details and analytics
paths:
  /organizations/{organizationId}:
    get:
      operationId: getOrganization
      summary: Get organization
      description: Retrieves the details of an organization by its UUID. Organizations are the top-level billing and access-control containers on Deno Deploy.
      tags:
      - Organizations
      parameters:
      - $ref: '#/components/parameters/organizationId'
      responses:
        '200':
          description: Organization retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Organization'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /organizations/{organizationId}/analytics:
    get:
      operationId: getOrganizationAnalytics
      summary: Get organization analytics
      description: Returns time-series analytics data for an organization in 15-minute intervals. The time range is limited to a maximum of 24 hours and must be specified using RFC 3339 timestamps.
      tags:
      - Organizations
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - 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:
  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'
  schemas:
    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: {}
    Organization:
      type: object
      description: An organization on Deno Deploy. Organizations are the top-level billing and access-control containers that own projects, KV databases, and custom domains.
      required:
      - id
      - name
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the organization
        name:
          type: string
          description: Human-readable name of the organization
        pro:
          type: boolean
          description: Whether the organization has an active Pro subscription
        features:
          type: object
          description: Feature flags enabled for this organization
    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
  parameters:
    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/