Cycloid HTTP API

The Cycloid HTTP API is the programmatic surface of the Cycloid Internal Developer Portal & Platform. It manages organizations, members, teams, projects, environments, stacks (Service Catalog), pipelines, infrastructure resources, credentials, config repositories, cloud cost dashboards, and inventory. Authentication uses an API key or OAuth2 with token refresh.

OpenAPI Specification

cycloid-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Cycloid HTTP API
  description: >-
    The Cycloid HTTP API is the programmatic surface of the Cycloid
    Internal Developer Portal & Platform. It enables management of
    organizations, projects, environments, infrastructure resources,
    pipelines, service catalogs (Stacks and StackForms), credentials,
    config repositories, cloud cost dashboards, inventory and state,
    and audit events. Authentication uses an API key (passed via
    header or `api_key` query parameter) or OAuth2 with refresh
    tokens. The canonical Swagger / Redoc reference is published at
    docs.cycloid.io.
  version: '1.0'
  contact:
    name: Cycloid Support
    url: https://www.cycloid.io
    email: [email protected]
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
externalDocs:
  description: Cycloid API Documentation
  url: https://docs.cycloid.io
servers:
  - url: https://http-api.cycloid.io
    description: Cycloid production HTTP API
security:
  - ApiKeyAuth: []
  - OAuth2: []
tags:
  - name: Organizations
    description: Manage organizations, members, teams, and events.
  - name: Projects
    description: Projects and environments inside an organization.
  - name: Pipelines
    description: CI/CD pipelines, components, and build tracking.
  - name: ServiceCatalogs
    description: Stacks (Service Catalog) and StackForms.
  - name: Infrastructure
    description: Infrastructure resources, policies, and Terraform integration.
  - name: Credentials
    description: Credential storage and rotation.
  - name: ConfigRepositories
    description: Git config repositories used by stacks and pipelines.
  - name: CloudCost
    description: Cloud cost provider accounts, dashboards, and tag mappings.
  - name: Inventory
    description: Inventory of cloud resources and state locking.
paths:
  /organizations:
    get:
      tags: [Organizations]
      summary: List organizations
      operationId: listOrganizations
      responses:
        '200':
          description: List of organizations
    post:
      tags: [Organizations]
      summary: Create organization
      operationId: createOrganization
      responses:
        '201':
          description: Organization created
  /organizations/{organization_canonical}:
    get:
      tags: [Organizations]
      summary: Get organization
      operationId: getOrganization
      parameters:
        - $ref: '#/components/parameters/OrganizationCanonical'
      responses:
        '200':
          description: Organization detail
  /organizations/{organization_canonical}/members:
    get:
      tags: [Organizations]
      summary: List members
      operationId: listOrganizationMembers
      parameters:
        - $ref: '#/components/parameters/OrganizationCanonical'
      responses:
        '200':
          description: Members
  /organizations/{organization_canonical}/teams:
    get:
      tags: [Organizations]
      summary: List teams
      operationId: listOrganizationTeams
      parameters:
        - $ref: '#/components/parameters/OrganizationCanonical'
      responses:
        '200':
          description: Teams
  /organizations/{organization_canonical}/projects:
    get:
      tags: [Projects]
      summary: List projects
      operationId: listProjects
      parameters:
        - $ref: '#/components/parameters/OrganizationCanonical'
      responses:
        '200':
          description: Projects
    post:
      tags: [Projects]
      summary: Create project
      operationId: createProject
      parameters:
        - $ref: '#/components/parameters/OrganizationCanonical'
      responses:
        '201':
          description: Project created
  /organizations/{organization_canonical}/projects/{project_canonical}/environments:
    get:
      tags: [Projects]
      summary: List environments
      operationId: listEnvironments
      parameters:
        - $ref: '#/components/parameters/OrganizationCanonical'
        - $ref: '#/components/parameters/ProjectCanonical'
      responses:
        '200':
          description: Environments
  /organizations/{organization_canonical}/pipelines:
    get:
      tags: [Pipelines]
      summary: List pipelines
      operationId: listPipelines
      parameters:
        - $ref: '#/components/parameters/OrganizationCanonical'
      responses:
        '200':
          description: Pipelines
  /organizations/{organization_canonical}/service_catalogs:
    get:
      tags: [ServiceCatalogs]
      summary: List service catalogs (Stacks)
      operationId: listServiceCatalogs
      parameters:
        - $ref: '#/components/parameters/OrganizationCanonical'
      responses:
        '200':
          description: Service catalogs
    post:
      tags: [ServiceCatalogs]
      summary: Create service catalog
      operationId: createServiceCatalog
      parameters:
        - $ref: '#/components/parameters/OrganizationCanonical'
      responses:
        '201':
          description: Service catalog created
  /organizations/{organization_canonical}/credentials:
    get:
      tags: [Credentials]
      summary: List credentials
      operationId: listCredentials
      parameters:
        - $ref: '#/components/parameters/OrganizationCanonical'
      responses:
        '200':
          description: Credentials
    post:
      tags: [Credentials]
      summary: Create credential
      operationId: createCredential
      parameters:
        - $ref: '#/components/parameters/OrganizationCanonical'
      responses:
        '201':
          description: Credential created
  /organizations/{organization_canonical}/config_repositories:
    get:
      tags: [ConfigRepositories]
      summary: List config repositories
      operationId: listConfigRepositories
      parameters:
        - $ref: '#/components/parameters/OrganizationCanonical'
      responses:
        '200':
          description: Config repositories
  /organizations/{organization_canonical}/cloud_cost_management/provider_accounts:
    get:
      tags: [CloudCost]
      summary: List cloud cost provider accounts
      operationId: listCloudCostProviderAccounts
      parameters:
        - $ref: '#/components/parameters/OrganizationCanonical'
      responses:
        '200':
          description: Provider accounts
  /organizations/{organization_canonical}/inventory:
    get:
      tags: [Inventory]
      summary: List inventory resources
      operationId: listInventory
      parameters:
        - $ref: '#/components/parameters/OrganizationCanonical'
      responses:
        '200':
          description: Inventory
components:
  parameters:
    OrganizationCanonical:
      name: organization_canonical
      in: path
      required: true
      schema:
        type: string
    ProjectCanonical:
      name: project_canonical
      in: path
      required: true
      schema:
        type: string
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
    OAuth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://console.cycloid.io/oauth/authorize
          tokenUrl: https://http-api.cycloid.io/oauth/token
          refreshUrl: https://http-api.cycloid.io/oauth/refresh
          scopes:
            organization:read: Read organization data
            organization:write: Modify organization data