Gcore Projects API

The Projects API from Gcore — 2 operation(s) for projects.

GitHub OpenAPI

Operations 5

POST /v1/projects Create project #
GET /v1/projects List projects #
GET /v1/projects/{project_id} Get project #
PATCH /v1/projects/{project_id} Update project #
DELETE /v1/projects/{project_id} Delete project #

Specifications

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/gcore:gcore-projects-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

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 Specification

gcore-projects-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cloud Projects API
  description: '___brandName___ Cloud API provides an API to manage Cloud resources and services.

    API address is: https://api.___serverHost___/cloud


    # Authentication

    You can find the available authorization methods in this section:

    Authorization methods


    Project ID & Region ID


    Most endpoints require project_id and region_id path parameters.

    List Regions

    and

    List Projects

    to see available projects and regions.'
  version: 14.491.0
servers:
- url: https://api.___serverHost___/cloud
tags:
- name: Projects
paths:
  /v1/projects:
    post:
      operationId: ProjectListViewSet.post
      summary: Create project
      description: 'Create a new project for a client.

        Project management must be enabled to perform this operation.'
      parameters: []
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectSerializer'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProjectSerializer'
      tags:
      - Projects
    get:
      operationId: ProjectListViewSet.get
      summary: List projects
      description: 'Retrieve a list of projects for a client.

        Results can be filtered by name and ordered by various fields.'
      parameters:
      - in: query
        name: include_deleted
        required: false
        description: Whether to include deleted projects in the response.
        schema:
          default: false
          description: Whether to include deleted projects in the response.
          examples:
          - false
          title: Include Deleted
          type: boolean
      - in: query
        name: limit
        required: false
        description: Limit value is used to limit the number of records in the result
        schema:
          default: 100
          description: Limit value is used to limit the number of records in the result
          examples:
          - 100
          exclusiveMinimum: 0
          maximum: 1000
          title: Limit
          type: integer
      - in: query
        name: name
        required: false
        description: Name to filter the results by.
        schema:
          description: Name to filter the results by.
          examples:
          - my-project
          title: Name
          type: string
      - in: query
        name: offset
        required: false
        description: Offset value is used to exclude the first set of records from the result
        schema:
          default: 0
          description: Offset value is used to exclude the first set of records from the result
          examples:
          - 0
          minimum: 0
          title: Offset
          type: integer
      - in: query
        name: order_by
        required: false
        description: Order by field and direction.
        schema:
          $ref: '#/components/schemas/ProjectOrderByChoices'
          default: created_at.desc
          description: Order by field and direction.
          examples:
          - name.desc
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListProjectsSerializer'
      tags:
      - Projects
  /v1/projects/{project_id}:
    get:
      operationId: ProjectViewSet.get
      summary: Get project
      description: Retrieve detailed information about a specific project.
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          examples:
          - 4
          format: int64
          title: Project Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectSerializer'
      tags:
      - Projects
    patch:
      operationId: ProjectViewSet.patch
      summary: Update project
      description: 'This endpoint allows partial updates of a project (such as its name or description).

        Only the fields explicitly provided in the request body will be updated.'
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          examples:
          - 4
          format: int64
          title: Project Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectSerializer'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateProjectSerializer'
      tags:
      - Projects
    delete:
      operationId: ProjectViewSet.delete
      summary: Delete project
      description: 'Delete a project and all its associated cloud resources across all regions.

        This operation is irreversible and cannot be undone.

        Default projects cannot be deleted.'
      parameters:
      - in: path
        name: project_id
        required: true
        description: Project ID
        schema:
          description: Project ID
          examples:
          - 4
          format: int64
          title: Project Id
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
      tags:
      - Projects
components:
  schemas:
    ProjectSerializer:
      properties:
        client_id:
          description: ID associated with the client.
          examples:
          - 1
          title: Client Id
          type: integer
        created_at:
          description: Datetime of creation, which is automatically generated.
          examples:
          - '2019-12-31T23:59:59'
          format: date-time
          title: Created At
          type: string
        deleted_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Datetime of deletion, which is automatically generated if the project is deleted.
          examples:
          - '2020-12-31T23:59:59'
          title: Deleted At
        description:
          anyOf:
          - maxLength: 255
            type: string
          - type: 'null'
          description: Description of the project.
          examples:
          - Project description
          title: Description
        id:
          description: Project ID, which is automatically generated upon creation.
          examples:
          - 1
          title: Id
          type: integer
        is_default:
          description: Indicates if the project is the default one. Each client always has one default project.
          examples:
          - true
          title: Is Default
          type: boolean
        name:
          description: Unique project name for a client.
          examples:
          - default
          title: Name
          type: string
        state:
          description: The state of the project.
          examples:
          - ACTIVE
          title: State
          type: string
        task_id:
          anyOf:
          - type: string
          - type: 'null'
          description: The UUID of the active task that currently holds a lock on the resource. This lock prevents concurrent modifications to ensure consistency. If `null`, the resource is not locked.
          examples:
          - 7244e161-664c-4afd-a34e-7003eac4d949
          title: Task Id
      required:
      - client_id
      - created_at
      - deleted_at
      - description
      - id
      - is_default
      - name
      - state
      - task_id
      title: ProjectSerializer
      type: object
    TaskIDsSerializer:
      properties:
        tasks:
          description: "List of task IDs representing asynchronous operations. Use these IDs to monitor operation progress:\n  * `GET /v1/tasks/{task_id}` - Check individual task status and details\n  Poll task status until completion (`FINISHED`/`ERROR`) before proceeding with dependent operations."
          examples:
          - - d478ae29-dedc-4869-82f0-96104425f565
          items:
            type: string
          title: Tasks
          type: array
      required:
      - tasks
      title: TaskIDsSerializer
      type: object
    CreateProjectSerializer:
      properties:
        description:
          anyOf:
          - maxLength: 255
            type: string
          - type: 'null'
          default: null
          description: Description of the project.
          examples:
          - Project description
          title: Description
        name:
          description: Unique project name for a client. Each client always has one "default" project.
          examples:
          - my-project
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
      required:
      - name
      title: CreateProjectSerializer
      type: object
    ProjectOrderByChoices:
      enum:
      - created_at.asc
      - created_at.desc
      - name.asc
      - name.desc
      title: ProjectOrderByChoices
      type: string
    UpdateProjectSerializer:
      properties:
        description:
          description: Description of the project.
          examples:
          - Project description
          title: Description
          type: string
        name:
          description: Name of the entity, following a specific format.
          examples:
          - my-project
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
      title: UpdateProjectSerializer
      type: object
    ListProjectsSerializer:
      properties:
        count:
          description: Number of objects
          examples:
          - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/ProjectSerializer'
          title: Results
          type: array
      required:
      - count
      - results
      title: ListProjectsSerializer
      type: object