Treblle Projects API

Create and manage Treblle API projects. Each project corresponds to a monitored API and generates an API ID and SDK token.

OpenAPI Specification

treblle-projects-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Treblle Analytics Projects API
  description: The Treblle API provides programmatic access to the Treblle API Intelligence Platform, enabling teams to manage projects, retrieve API request logs, access analytics, run governance checks, and integrate Treblle into CI/CD pipelines. Treblle analyzes 40+ API-specific data points for every request, providing real-time observability, security scanning, and auto-generated documentation. Authentication uses API Key passed as a header.
  version: 1.0.0
  contact:
    name: Treblle Support
    url: https://treblle.com
  license:
    name: Proprietary
    url: https://treblle.com/terms-of-service
servers:
- url: https://app.treblle.com/api/v1
  description: Treblle Platform API
security:
- apiKeyAuth: []
tags:
- name: Projects
  description: Create and manage Treblle API projects. Each project corresponds to a monitored API and generates an API ID and SDK token.
paths:
  /projects:
    get:
      operationId: listProjects
      summary: List Projects
      description: Returns a list of all API projects in the workspace. Each project corresponds to a monitored API with its own API ID and SDK token.
      tags:
      - Projects
      responses:
        '200':
          description: Projects returned successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Project'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createProject
      summary: Create Project
      description: Creates a new API project in Treblle. Returns the project including the API ID and SDK token needed for SDK instrumentation.
      tags:
      - Projects
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProjectRequest'
      responses:
        '201':
          description: Project created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /projects/{projectId}:
    get:
      operationId: getProject
      summary: Get Project
      description: Retrieves details of a specific Treblle project by its ID, including configuration, API ID, and current monitoring statistics.
      tags:
      - Projects
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
        description: The unique identifier for the project
      responses:
        '200':
          description: Project returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Project not found
    put:
      operationId: updateProject
      summary: Update Project
      description: Updates a Treblle project's configuration including name, description, and environment settings.
      tags:
      - Projects
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
      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'
        '401':
          $ref: '#/components/responses/Unauthorized'
    delete:
      operationId: deleteProject
      summary: Delete Project
      description: Deletes a Treblle project and all associated data.
      tags:
      - Projects
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Project deleted successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    CreateProjectRequest:
      type: object
      required:
      - name
      properties:
        name:
          type: string
        description:
          type: string
        environment:
          type: string
          enum:
          - development
          - staging
          - production
          default: production
    UpdateProjectRequest:
      type: object
      properties:
        name:
          type: string
        description:
          type: string
        environment:
          type: string
          enum:
          - development
          - staging
          - production
    Project:
      type: object
      properties:
        id:
          type: string
          description: Unique project identifier
        name:
          type: string
          description: Project display name
        description:
          type: string
          description: Project description
        api_id:
          type: string
          description: Unique API ID for SDK instrumentation
        sdk_token:
          type: string
          description: SDK token for authenticating Treblle SDKs
        environment:
          type: string
          enum:
          - development
          - staging
          - production
          description: The environment this project monitors
        total_requests:
          type: integer
          description: Total number of requests captured
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
  responses:
    Unauthorized:
      description: Authentication failed. API key missing or invalid.
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
              code:
                type: string
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: Treblle-Api-Key
      description: Treblle API key obtained from the Treblle workspace settings. Pass the API key in the Treblle-Api-Key header.