QuantCDN Environments API

Application environment management and configuration

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/quantcdn-environments-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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

quantcdn-environments-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  description: Unified API for QuantCDN Admin and QuantCloud Platform services
  title: QuantCDN AI Agents Environments API
  version: 4.15.8
servers:
- description: QuantCDN Public Cloud
  url: https://dashboard.quantcdn.io
- description: QuantGov Cloud
  url: https://dash.quantgov.cloud
security:
- BearerAuth: []
tags:
- description: Application environment management and configuration
  name: Environments
paths:
  /api/v3/organizations/{organisation}/applications/{application}/environments:
    get:
      operationId: listEnvironments
      parameters:
      - description: The organisation ID
        example: test-org
        explode: false
        in: path
        name: organisation
        required: true
        schema:
          type: string
        style: simple
      - description: The application ID
        example: test-app
        explode: false
        in: path
        name: application
        required: true
        schema:
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/EnvironmentSummary'
                type: array
          description: List of environments with summary information including deployment status
        '404':
          description: The organisation or application not found
      summary: Get all environments for an application
      tags:
      - Environments
    post:
      operationId: createEnvironment
      parameters:
      - description: The organisation ID
        example: test-org
        explode: false
        in: path
        name: organisation
        required: true
        schema:
          type: string
        style: simple
      - description: The application ID
        example: test-app
        explode: false
        in: path
        name: application
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/createEnvironment_request'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnvironmentResponse'
          description: The environment created
        '400':
          description: The environment data is invalid
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createEnvironment_403_response'
          description: Environment limit reached - application has reached the maximum number of allowed environments
      summary: Create a new environment
      tags:
      - Environments
  /api/v3/organizations/{organisation}/applications/{application}/environments/{environment}:
    delete:
      operationId: deleteEnvironment
      parameters:
      - description: The organisation ID
        example: test-org
        explode: false
        in: path
        name: organisation
        required: true
        schema:
          type: string
        style: simple
      - description: The application ID
        example: test-app
        explode: false
        in: path
        name: application
        required: true
        schema:
          type: string
        style: simple
      - description: The environment ID
        example: test-env
        explode: false
        in: path
        name: environment
        required: true
        schema:
          type: string
        style: simple
      responses:
        '204':
          description: The environment deleted
        '404':
          description: The environment not found
      summary: Delete an environment
      tags:
      - Environments
    get:
      operationId: getEnvironment
      parameters:
      - description: The organisation ID
        example: test-org
        explode: false
        in: path
        name: organisation
        required: true
        schema:
          type: string
        style: simple
      - description: The application ID
        example: test-app
        explode: false
        in: path
        name: application
        required: true
        schema:
          type: string
        style: simple
      - description: The environment ID
        example: test-env
        explode: false
        in: path
        name: environment
        required: true
        schema:
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnvironmentResponse'
          description: The environment with runtime details
        '404':
          description: The environment not found
      summary: Get a single environment
      tags:
      - Environments
    put:
      description: Replaces the entire task definition for the environment based on the provided multi-container compose definition. This will create a new task definition revision and update the ECS service, triggering a redeployment. Optionally accepts minCapacity and maxCapacity at the root level for convenience.
      operationId: updateEnvironment
      parameters:
      - description: The organisation ID
        explode: false
        in: path
        name: organisation
        required: true
        schema:
          type: string
        style: simple
      - description: The application ID
        explode: false
        in: path
        name: application
        required: true
        schema:
          type: string
        style: simple
      - description: The environment ID
        explode: false
        in: path
        name: environment
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/updateEnvironment_request'
        required: true
      responses:
        '202':
          description: Request accepted, compose definition update is processing.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/patchEnvironmentCompose_400_response'
          description: Invalid compose definition or validation failed.
        '404':
          description: Application or environment not found
      summary: Update Environment Compose Definition
      tags:
      - Environments
  /api/v3/organizations/{organisation}/applications/{application}/environments/{environment}/state:
    put:
      operationId: updateEnvironmentState
      parameters:
      - description: The organisation ID
        example: test-org
        explode: false
        in: path
        name: organisation
        required: true
        schema:
          type: string
        style: simple
      - description: The application ID
        example: test-app
        explode: false
        in: path
        name: application
        required: true
        schema:
          type: string
        style: simple
      - description: The environment ID
        example: test-env
        explode: false
        in: path
        name: environment
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/updateEnvironmentState_request'
        required: true
      responses:
        '204':
          description: The environment state updated
        '400':
          description: The environment data is invalid
      summary: Update the state of an environment
      tags:
      - Environments
  /api/v3/organizations/{organisation}/applications/{application}/environments/{environment}/logs:
    get:
      description: Retrieves logs from CloudWatch for the specified environment with optional filtering by time range, container, and pattern matching. Supports pagination via nextToken.
      operationId: getEnvironmentLogs
      parameters:
      - description: The organisation ID
        example: test-org
        explode: false
        in: path
        name: organisation
        required: true
        schema:
          type: string
        style: simple
      - description: The application ID
        example: test-app
        explode: false
        in: path
        name: application
        required: true
        schema:
          type: string
        style: simple
      - description: The environment ID
        example: test-env
        explode: false
        in: path
        name: environment
        required: true
        schema:
          type: string
        style: simple
      - description: Start time for log retrieval (ISO 8601 format or Unix timestamp)
        explode: true
        in: query
        name: startTime
        required: false
        schema:
          type: string
        style: form
      - description: End time for log retrieval (ISO 8601 format or Unix timestamp)
        explode: true
        in: query
        name: endTime
        required: false
        schema:
          type: string
        style: form
      - description: Filter logs by specific container name
        explode: true
        in: query
        name: containerName
        required: false
        schema:
          type: string
        style: form
      - description: CloudWatch Logs filter pattern for searching log content
        explode: true
        in: query
        name: filterPattern
        required: false
        schema:
          type: string
        style: form
      - description: Maximum number of log entries to return per page
        explode: true
        in: query
        name: limit
        required: false
        schema:
          maximum: 10000
          minimum: 1
          type: integer
        style: form
      - description: Pagination token from previous response for retrieving next page of results
        explode: true
        in: query
        name: nextToken
        required: false
        schema:
          type: string
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getEnvironmentLogs_200_response'
          description: The logs
        '404':
          description: The environment not found
        '422':
          description: Validation error
      summary: Get the logs for an environment
      tags:
      - Environments
  /api/v3/organizations/{organisation}/applications/{application}/environments/{environment}/metrics:
    get:
      description: Retrieves CloudWatch metrics for the specified environment with optional filtering by time range, container, and metric configuration.
      operationId: getEnvironmentMetrics
      parameters:
      - description: The organisation ID
        example: test-org
        explode: false
        in: path
        name: organisation
        required: true
        schema:
          type: string
        style: simple
      - description: The application ID
        example: test-app
        explode: false
        in: path
        name: application
        required: true
        schema:
          type: string
        style: simple
      - description: The environment ID
        example: test-env
        explode: false
        in: path
        name: environment
        required: true
        schema:
          type: string
        style: simple
      - description: Start time for metrics retrieval (Unix timestamp in milliseconds)
        explode: true
        in: query
        name: startTime
        required: false
        schema:
          type: integer
        style: form
      - description: End time for metrics retrieval (Unix timestamp in milliseconds)
        explode: true
        in: query
        name: endTime
        required: false
        schema:
          type: integer
        style: form
      - description: Period in seconds for metric aggregation (e.g., 60 for 1 minute, 300 for 5 minutes)
        explode: true
        in: query
        name: period
        required: false
        schema:
          type: integer
        style: form
      - description: Comma-separated list of CloudWatch statistics (e.g., Average, Maximum, Minimum, Sum, SampleCount)
        explode: true
        in: query
        name: statistics
        required: false
        schema:
          type: string
        style: form
      - description: Filter metrics by specific container name
        explode: true
        in: query
        name: containerName
        required: false
        schema:
          type: string
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                description: CloudWatch metrics data
                type: object
          description: The metrics
        '404':
          description: The environment not found
        '422':
          description: Validation error
      summary: Get the metrics for an environment
      tags:
      - Environments
  /api/v3/organizations/{organisation}/applications/{application}/environments/{environment}/sync/{type}:
    get:
      operationId: listSyncOperations
      parameters:
      - description: The organisation ID
        example: test-org
        explode: false
        in: path
        name: organisation
        required: true
        schema:
          type: string
        style: simple
      - description: The application ID
        example: test-app
        explode: false
        in: path
        name: application
        required: true
        schema:
          type: string
        style: simple
      - description: The environment ID
        example: test-env
        explode: false
        in: path
        name: environment
        required: true
        schema:
          type: string
        style: simple
      - description: The sync type
        explode: false
        in: path
        name: type
        required: true
        schema:
          enum:
          - database
          - filesystem
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/SyncOperation'
                type: array
          description: The sync operations
      summary: List the sync operations for an environment
      tags:
      - Environments
    post:
      operationId: syncToEnvironment
      parameters:
      - description: The organisation ID
        example: test-org
        explode: false
        in: path
        name: organisation
        required: true
        schema:
          type: string
        style: simple
      - description: The application ID
        example: test-app
        explode: false
        in: path
        name: application
        required: true
        schema:
          type: string
        style: simple
      - description: The environment ID
        example: test-env
        explode: false
        in: path
        name: environment
        required: true
        schema:
          type: string
        style: simple
      - description: The sync type
        explode: false
        in: path
        name: type
        required: true
        schema:
          enum:
          - database
          - filesystem
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/syncToEnvironment_request'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SyncOperation'
          description: The sync operation details
      summary: Perform a sync operation from a source environment to the current environment
      tags:
      - Environments
components:
  schemas:
    Container_environment_inner:
      example:
        name: name
        value: value
      properties:
        name:
          description: Environment variable name
          type: string
        value:
          description: Environment variable value
          type: string
      required:
      - name
      - value
      type: object
    Container_healthCheck:
      description: Container health check configuration
      example:
        retries: 7
        startPeriod: 279
        interval: 171
        command:
        - command
        - command
        timeout: 15
      nullable: true
      properties:
        command:
          description: The command to run to determine if the container is healthy
          items:
            type: string
          type: array
        interval:
          default: 30
          description: Time period (seconds) between health checks
          maximum: 300
          minimum: 5
          type: integer
        timeout:
          default: 5
          description: Time period (seconds) to wait for a health check to return
          maximum: 60
          minimum: 2
          type: integer
        retries:
          default: 3
          description: Number of times to retry a failed health check
          maximum: 10
          minimum: 1
          type: integer
        startPeriod:
          description: Grace period (seconds) to ignore unhealthy checks after container starts
          maximum: 300
          minimum: 0
          nullable: true
          type: integer
      type: object
    EnvironmentSummary:
      description: Environment summary returned in list responses
      example:
        deploymentStatus: COMPLETED
        envName: production
        desiredCount: 2
        runningCount: 2
        maxCapacity: 5
        minCapacity: 1
        status: ACTIVE
      properties:
        envName:
          description: Environment name
          example: production
          type: string
        status:
          description: Environment status
          example: ACTIVE
          type: string
        deploymentStatus:
          description: Current deployment status
          enum:
          - COMPLETED
          - IN_PROGRESS
          - FAILED
          example: COMPLETED
          type: string
        runningCount:
          description: Number of running tasks
          example: 2
          type: integer
        desiredCount:
          description: Desired number of tasks
          example: 2
          type: integer
        minCapacity:
          description: Minimum capacity for autoscaling
          example: 1
          type: integer
        maxCapacity:
          description: Maximum capacity for autoscaling
          example: 5
          type: integer
      type: object
    Container_imageReference:
      example:
        identifier: identifier
        type: internal
      properties:
        type:
          description: Specifies whether the image is internal (ECR) or external (e.g., Docker Hub)
          enum:
          - internal
          - external
          type: string
        identifier:
          description: The image identifier. For 'internal' type, this is the image tag. For 'external' type, this is the full image name.
          type: string
      required:
      - identifier
      - type
      type: object
    Container_mountPoints_inner:
      example:
        readOnly: false
        containerPath: containerPath
        sourceVolume: sourceVolume
      properties:
        sourceVolume:
          description: The name of the logical volume
          type: string
        containerPath:
          description: The path inside the container where the volume is mounted
          type: string
        readOnly:
          default: false
          type: boolean
      required:
      - containerPath
      - sourceVolume
      type: object
    getEnvironmentLogs_200_response_logEvents_inner:
      example:
        message: message
        timestamp: 0
      properties:
        timestamp:
          description: Unix timestamp in milliseconds
          type: integer
        message:
          description: Log message content
          type: string
      type: object
    EnvironmentResponse:
      description: Environment response schema with runtime details
      example:
        cron:
        - targetContainerName: targetContainerName
          scheduleExpression: scheduleExpression
          isEnabled: true
          name: name
          description: description
          command:
          - command
          - command
        - targetContainerName: targetContainerName
          scheduleExpression: scheduleExpression
          isEnabled: true
          name: name
          description: description
          command:
          - command
          - command
        deploymentFailureReason: deploymentFailureReason
        subnet: '{}'
        publicIpAddress: 54.123.45.67
        desiredCount: 2
        vpc: '{}'
        volumes:
        - createdAt: createdAt
          accessPointArn: accessPointArn
          volumeName: volumeName
          accessPointId: accessPointId
          volumeId: volumeId
          description: description
          rootDirectory: rootDirectory
          environmentEfsId: environmentEfsId
        - createdAt: createdAt
          accessPointArn: accessPointArn
          volumeName: volumeName
          accessPointId: accessPointId
          volumeId: volumeId
          description: description
          rootDirectory: rootDirectory
          environmentEfsId: environmentEfsId
        maxCapacity: 5
        securityGroup: '{}'
        containerNames:
        - containerNames
        - containerNames
        createdAt: 2000-01-23 04:56:07+00:00
        deploymentStatus: COMPLETED
        envName: production
        service: '{}'
        loadBalancer: '{}'
        runningCount: 2
        deploymentFailureType: deploymentFailureType
        minCapacity: 1
        albRouting: '{}'
        taskDefinition: '{}'
        status: ACTIVE
        updatedAt: 2000-01-23 04:56:07+00:00
      properties:
        envName:
          description: Environment name
          example: production
          type: string
        status:
          description: Environment status
          example: ACTIVE
          readOnly: true
          type: string
        runningCount:
          description: Number of running tasks
          example: 2
          readOnly: true
          type: integer
        desiredCount:
          description: Desired number of tasks
          example: 2
          readOnly: true
          type: integer
        minCapacity:
          description: Minimum capacity for autoscaling
          example: 1
          type: integer
        maxCapacity:
          description: Maximum capacity for autoscaling
          example: 5
          type: integer
        publicIpAddress:
          description: Public IP address for SSH access
          example: 54.123.45.67
          nullable: true
          readOnly: true
          type: string
        deploymentStatus:
          description: Current deployment status
          enum:
          - COMPLETED
          - IN_PROGRESS
          - FAILED
          example: COMPLETED
          readOnly: true
          type: string
        deploymentFailureType:
          description: Type of deployment failure
          nullable: true
          readOnly: true
          type: string
        deploymentFailureReason:
          description: Reason for deployment failure
          nullable: true
          readOnly: true
          type: string
        taskDefinition:
          description: ECS task definition details
          readOnly: true
          type: object
        service:
          description: ECS service details
          readOnly: true
          type: object
        loadBalancer:
          description: Load balancer configuration
          readOnly: true
          type: object
        securityGroup:
          description: Security group configuration
          readOnly: true
          type: object
        subnet:
          description: Subnet configuration
          readOnly: true
          type: object
        vpc:
          description: VPC configuration
          readOnly: true
          type: object
        containerNames:
          description: Container name list
          items:
            type: string
          readOnly: true
          type: array
        volumes:
          description: Persistent storage volumes
          items:
            $ref: '#/components/schemas/Volume'
          readOnly: true
          type: array
        cron:
          description: Scheduled cron jobs
          items:
            $ref: '#/components/schemas/Cron'
          readOnly: true
          type: array
        albRouting:
          description: ALB routing configuration
          readOnly: true
          type: object
        createdAt:
          description: Creation timestamp
          format: date-time
          readOnly: true
          type: string
        updatedAt:
          description: Last update timestamp
          format: date-time
          readOnly: true
          type: string
      required:
      - envName
      type: object
    patchEnvironmentCompose_400_response:
      example:
        message: message
        errors: '{}'
      properties:
        message:
          type: string
        errors:
          type: object
      type: object
    Cron:
      example:
        targetContainerName: targetContainerName
        scheduleExpression: scheduleExpression
        isEnabled: true
        name: name
        description: description
        command:
        - command
        - command
      properties:
        name:
          type: string
        description:
          nullable: true
          type: string
        scheduleExpression:
          type: string
        command:
          items:
            type: string
          type: array
        targetContainerName:
          nullable: true
          type: string
        isEnabled:
          type: boolean
      type: object
    createEnvironment_request_environment_inner:
      properties:
        name:
          description: Variable name
          type: string
        value:
          description: Variable value
          type: string
      type: object
    Compose:
      example:
        spotConfiguration:
          strategy: spot-only
        taskMemory: 2
        maxCapacity: 7
        containers:
        - originProtectionConfig:
            ipAllow:
            - ipAllow
            - ipAllow
            enabled: true
          memory: 6
          dependsOn:
          - condition: START
            containerName: containerName
          - condition: START
            containerName: containerName
          workingDirectory: workingDirectory
          exposedPorts:
          - 5
          - 5
          cpu: 0
          imageReference:
            identifier: identifier
            type: internal
          secrets:
          - name: name
            valueFrom: valueFrom
          - name: name
            valueFrom: valueFrom
          memoryReservation: 1
          command:
          - command
          - command
          environment:
          - name: name
            value: value
          - name: name
            value: value
          readonlyRootFilesystem: false
          originProtection: false
          healthCheck:
            retries: 7
            startPeriod: 279
            interval: 171
            command:
            - command
            - command
            timeout: 15
          name: name
          mountPoints:
          - readOnly: false
            containerPath: containerPath
            sourceVolume: sourceVolume
          - readOnly: false
            containerPath: containerPath
            sourceVolume: sourceVolume
          entryPoint:
          - entryPoint
          - entryPoint
          user: user
          essential: true
        - originProtectionConfig:
            ipAllow:
            - ipAllow
            - ipAllow
            enabled: true
          memory: 6
          dependsOn:
          - condition: START
            containerName: containerName
          - condition: START
            containerName: containerName
          workingDirectory: workingDirectory
          exposedPorts:
          - 5
          - 5
          cpu: 0
          imageReference:
            identifier: identifier
            type: internal
          secrets:
          - name: name
            valueFrom: valueFrom
          - name: name
            valueFrom: valueFrom
          memoryReservation: 1
          command:
          - command
          - command
          environment:
          - name: name
            value: value
          - name: name
            value: value
          readonlyRootFilesystem: false
          originProtection: false
          healthCheck:
            retries: 7
            startPeriod: 279
            interval: 171
            command:
            - command
            - command
            timeout: 15
          name: name
          mountPoints:
          - readOnly: false
            containerPath: containerPath
            sourceVolume: sourceVolume
          - readOnly: false
            containerPath: containerPath
            sourceVolume: sourceVolume
          entryPoint:
          - entryPoint
          - entryPoint
          user: user
          essential: true
        minCapacity: 4
        taskCpu: 3
        enableCrossAppNetworking: false
        architecture: architecture
        enableCrossEnvNetworking: false
      properties:
        containers:
          items:
            $ref: '#/components/schemas/Container'
          type: array
        architecture:
          description: CPU architecture (X86_64 or ARM64)
          nullable: false
          type: string
        taskCpu:
          description: Task-level CPU units (e.g., 256, 512, 1024)
          nullable: false
          type: integer
        taskMemory:
          description: Task-level memory in MB
          nullable: false
          type: integer
        minCapacity:
          description: Minimum number of instances
          nullable: false
          type: integer
        maxCapacity:
          description: Maximum number of instances
          nullable: false
          type: integer
        spotConfiguration:
          $ref: '#/components/schemas/SpotConfiguration'
        enableCrossEnvNetworking:
          default: false
          description: 'Optional. Enable cross-environment networking within the same application. When false (default): Uses shared security group for complete isolation (most secure). When true: Uses app-specific security group to enable communication between environments of the same application (e.g., staging can connect to production database). Note: If enableCrossAppNetworking is true, this setting is overridden.'
          nullable: true
          type: boolean
        enableCrossAppNetworking:
          default: false
          description: 'Optional. Enable cross-application networking within the same organization. When false (default): Uses shared/app-specific security group based on enableCrossEnvNetworking. When true: Uses org-specific security group to enable container-to-container communication with ALL applications in the same organization via service discovery (microservices architecture). This setting takes priority over enableCrossEnvNetworking.'
          nullable: true
          type: boolean
      type: object
    Volume:
      example:
        createdAt: createdAt
        accessPointArn: accessPointArn
        volumeName: volumeName
        accessPointId: accessPointId
        volumeId: volumeId
        description: description
        rootDirectory: rootDirectory
        environmentEfsId: environmentEfsId
      properties:
        volumeId:
          type: string
        volumeName:
          type: string
        description:
          type: string
        environmentEfsId:
          type: string
        createdAt:
          type: string
        rootDirectory:
          type: string
        accessPointId:
          type: string
        accessPointArn:
          type: string
      type: object
    createEnvironment_403_response:
      example:
        message: Environment limit reached
        error: Application my-app has reached the maximum number of allowed environments (5/5). Please contact support to increase your limit.
      properties:
        message:
          example: Environment limit reached
          type: string
        error:
          example: Application my-app has reached the maximum number of allowe

# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/quantcdn/refs/heads/main/openapi/quantcdn-environments-api-openapi.yml