CoreStack Self Service API

Self Service Pillar

Operations 12

GET /self_service/dashboard/{tenant_id} Self Service Customer Dashboard #
GET /self_service/orders/{tenant_id}/{action} Self Service Order History #
POST /self_service/resource_catalogs/{tenant_id}/create Create Resource Catalog #
GET /self_service/resource_catalogs/{tenant_id}/list List Resource Catalog #
DELETE /self_service/resource_catalogs/{tenant_id}/{catalog_id} Delete Resource Catalog #
PUT /self_service/resource_catalogs/{tenant_id}/{catalog_id} Update Resource Catalog #
GET /self_service/workspace/{tenant_id} List Workspaces #
DELETE /self_service/{tenant_id}/catalog/{cloud_account_id} Delete Service Catalog #
GET /self_service/{tenant_id}/catalog/{cloud_account_id} Create Service Catalog #
GET /v2/self_service/catalogs/hierarchy View Self Service Catalog Hierarchy #
GET /v2/self_service/request/attributes View Self Service Request Attributes #
GET /v2/self_service/request/attributes/{action} View Self Service Request Action Attributes #

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/corestack-self-service-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

corestack-self-service-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CoreStack External Self Service API
  version: 1.0.0
  termsOfService: http://corestack.io/
  license:
    name: CoreStack Inc License
    url: http://corestack.io/licenses/LICENSE-2.0.html
  description: Self Service Pillar
servers:
- url: /
tags:
- name: Self Service
  description: Self Service Pillar
paths:
  /self_service/dashboard/{tenant_id}:
    get:
      responses:
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerDashboardReportModel'
      summary: Self Service Customer Dashboard
      description: CustomerDashboard
      operationId: CustomerDashboard
      parameters:
      - name: tenant_id
        in: path
        required: true
        description: Specify the tenant ID. This is a unique ID and can be retrieved using the List Tenants API.
        schema:
          type: string
      - description: Select action
        name: action
        in: query
        schema:
          type: string
          enum:
          - consumer_dashboard
      security:
      - auth_token: []
      tags:
      - Self Service
  /self_service/orders/{tenant_id}/{action}:
    get:
      responses:
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderHistoryReportModel'
      summary: Self Service Order History
      description: OrderHistory
      operationId: OrderHistory
      parameters:
      - name: tenant_id
        in: path
        required: true
        description: Specify the tenant ID. This is a unique ID and can be retrieved using the List Tenants API.
        schema:
          type: string
      - name: action
        in: path
        required: true
        description: Select action
        schema:
          type: string
          enum:
          - myrequests
      security:
      - auth_token: []
      tags:
      - Self Service
  /self_service/resource_catalogs/{tenant_id}/create:
    post:
      responses:
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceCatalogCreateDataModel'
      summary: Create Resource Catalog
      description: Resource Catalog Create
      operationId: ResourceCatalogCreate
      parameters:
      - name: tenant_id
        in: path
        required: true
        description: Specify the tenant ID. This is a unique ID and can be retrieved using the List Tenants API.
        schema:
          type: string
      security:
      - auth_token: []
      tags:
      - Self Service
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceCatalogServiceLevelDataModel'
        required: true
  /self_service/resource_catalogs/{tenant_id}/list:
    get:
      responses:
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceCatalogGetDataModel'
      summary: List Resource Catalog
      description: Resource Catalog list
      operationId: ResourceCatalogList
      parameters:
      - name: tenant_id
        in: path
        required: true
        description: Specify the tenant ID. This is a unique ID and can be retrieved using the List Tenants API.
        schema:
          type: string
      security:
      - auth_token: []
      tags:
      - Self Service
  /self_service/resource_catalogs/{tenant_id}/{catalog_id}:
    delete:
      responses:
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '200':
          description: Removed
          content:
            application/json:
              schema:
                type: boolean
      summary: Delete Resource Catalog
      description: Resource Catalog Delete
      operationId: ResourceCatalogDelete
      parameters:
      - name: tenant_id
        in: path
        required: true
        description: Specify the tenant ID. This is a unique ID and can be retrieved using the List Tenants API.
        schema:
          type: string
      - name: catalog_id
        in: path
        required: true
        description: Catalog ID
        schema:
          type: string
      security:
      - auth_token: []
      tags:
      - Self Service
    put:
      responses:
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '200':
          description: Updated
          content:
            application/json:
              schema:
                type: boolean
      summary: Update Resource Catalog
      description: Resource Catalog Modify
      operationId: ResourceCatalogModify
      parameters:
      - name: tenant_id
        in: path
        required: true
        description: Specify the tenant ID. This is a unique ID and can be retrieved using the List Tenants API.
        schema:
          type: string
      - name: catalog_id
        in: path
        required: true
        description: Catalog ID
        schema:
          type: string
      security:
      - auth_token: []
      tags:
      - Self Service
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceCatalogServiceLevelDataModel'
        required: true
  /self_service/workspace/{tenant_id}:
    get:
      responses:
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkSpaceReportModel'
      summary: List Workspaces
      description: WorkSpace
      operationId: WorkSpace
      parameters:
      - name: tenant_id
        in: path
        required: true
        description: Specify the tenant ID. This is a unique ID and can be retrieved using the List Tenants API.
        schema:
          type: string
      - description: Select the action
        name: action
        in: query
        schema:
          type: string
          enum:
          - dashboard
      - description: Select the request type
        name: type
        in: query
        schema:
          type: string
          enum:
          - myrequest
      - description: Select to true to display false one also
        name: show_failed
        in: query
        schema:
          type: string
          enum:
          - 'true'
          - 'false'
      security:
      - auth_token: []
      tags:
      - Self Service
  /self_service/{tenant_id}/catalog/{cloud_account_id}:
    delete:
      responses:
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '200':
          description: Removed
          content:
            application/json:
              schema:
                type: boolean
      summary: Delete Service Catalog
      description: Service Catalog list
      operationId: ServiceCatalogDelete
      parameters:
      - name: tenant_id
        in: path
        required: true
        description: Specify the tenant ID. This is a unique ID and can be retrieved using the List Tenants API.
        schema:
          type: string
      - name: cloud_account_id
        in: path
        required: true
        description: Cloud Account ID
        schema:
          type: string
      security:
      - auth_token: []
      tags:
      - Self Service
    get:
      responses:
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceCatalogGetDataModel'
      summary: Create Service Catalog
      description: Get Service Catalog
      operationId: serviceCatalogCreate
      parameters:
      - name: tenant_id
        in: path
        required: true
        description: Specify the tenant ID. This is a unique ID and can be retrieved using the List Tenants API.
        schema:
          type: string
      - name: cloud_account_id
        in: path
        required: true
        description: Cloud Account ID
        schema:
          type: string
      - description: action
        name: action
        in: query
        schema:
          type: string
          enum:
          - default_values
      security:
      - auth_token: []
      tags:
      - Self Service
  /v2/self_service/catalogs/hierarchy:
    get:
      responses:
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SelfServiceCatalogHierarchyComponent'
      summary: View Self Service Catalog Hierarchy
      description: View Self Service Catalog Hierarchy
      operationId: ViewSelfServiceCatalogHierarchy
      security:
      - auth_token: []
      tags:
      - Self Service
  /v2/self_service/request/attributes:
    get:
      responses:
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
      summary: View Self Service Request Attributes
      description: View Self Service Request Attributes for Action
      operationId: ViewSelfServiceRequestAttributesForAction
      security:
      - auth_token: []
      tags:
      - Self Service
  /v2/self_service/request/attributes/{action}:
    get:
      responses:
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelError'
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
      summary: View Self Service Request Action Attributes
      description: View Self Service Request Action Attributes
      operationId: viewSelfServiceRequestActionAttributes
      parameters:
      - name: action
        in: path
        required: true
        description: Corestack self service request action
        schema:
          type: string
          enum:
          - create
          - modify
          - re_order
          - approve
          - terminate
      security:
      - auth_token: []
      tags:
      - Self Service
components:
  schemas:
    SelfServiceCatalogHierarchyComponent:
      properties:
        level1:
          type: string
          description: Catalog Classification First Level
        level2:
          type: string
          description: Catalog Classification Second Level
        level3:
          type: string
          description: Catalog Classification Third Level
        classification_name:
          type: string
          description: Catalog Classification Name
      type: object
    ServiceCatalogGetDataModel:
      required:
      - data
      properties:
        data:
          type: string
          description: catalog type
      type: object
    CustomerDashboardReportModel:
      required:
      - data
      properties:
        data:
          type: object
          description: catalog type
      type: object
    ResourceCatalogCostDataModel:
      required:
      - value
      properties:
        value:
          type: integer
          description: Cloud account resource cost. for example, 0.1, 10, etc
      type: object
    OrderHistoryReportModel:
      required:
      - data
      properties:
        data:
          type: string
          description: Order details
      type: object
    ResourceCatalogServiceLevelDataModel:
      required:
      - classification
      - name
      - resource
      - resource_attributes
      - resource_type
      - scope
      - service_account
      - service_levels
      properties:
        classification:
          type: string
          description: Account classification is by default its 'default'. for example, default
        name:
          type: string
          description: Cloud account catalog name.
        resource:
          type: string
          description: Specify the resource, This can be retrieved using the List Resource Catalog API
        resource_attributes:
          description: Resource attributes includes.
          $ref: '#/components/schemas/ResourceCatalogAttributeDataModel'
        resource_type:
          type: string
          description: Cloud account resource type. for example, disk_sku
        scope:
          type: string
          description: Cloud account scope . for example, tenant, private, etc
        service_account:
          type: string
          description: Cloud service account id . for example, '60xxxxxxxxxxxxxxxxxxxxxxxx0b'
        service_levels:
          type: array
          description: Update Activity Request Body. Example:["gold, silver, bronze, iron"]
          items:
            type: string
        tenant_info:
          description: tenants information.
          $ref: '#/components/schemas/ResourceCatalogTenantDataModel'
      type: object
    ResourceCatalogGetDataModel:
      required:
      - data
      properties:
        data:
          type: object
          description: Resource Data
      type: object
    ModelError:
      required:
      - message
      properties:
        message:
          type: string
          description: Error response message.
      type: object
    ResourceCatalogTenantDataModel:
      properties:
        location:
          type: string
          description: Location.for example, /subscriptions/subscription_id->'eg:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'/location/location->'eg:northeurope
        resourcegroup:
          type: string
          description: Resource group. for example, /subscriptions/subscription_id->'eg:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'/resourceGroups/rg_name->'eg:default_rg
      type: object
    ResourceCatalogCreateDataModel:
      required:
      - data
      - message
      properties:
        message:
          type: string
          description: Resource created
        data:
          type: string
          description: Catalog Id
      type: object
    WorkSpaceReportModel:
      required:
      - data
      properties:
        data:
          type: object
          description: Returned Workspace
      type: object
    ResourceCatalogAttributeDataModel:
      required:
      - cost
      - name
      - resource
      - resource_id
      properties:
        DiskSize:
          type: string
          description: Disk size
          example: '32'
          enum:
          - '32'
          - '64'
          - '128'
          - '256'
          - '512'
          - '1024'
          - '2048'
          - '4096'
          - '8192'
          - '16384'
          - '32767'
          x-cs-enum-type: DiskSize
        disk_type:
          type: string
          description: Disk type
          example: Premium SSD
          enum:
          - Premium SSD
          - Standard HDD
          - Standard SSD
          x-cs-enum-type: DiskType
        cost:
          description: Cost attribute.
          $ref: '#/components/schemas/ResourceCatalogCostDataModel'
        name:
          type: string
          description: Cloud account catalog name.
        resource:
          type: string
          description: Specify the resource, This can be retrieved using the List Resource Catalog API
        resource_id:
          type: string
          description: Specify the resource_id, This can be retrieved using the List Resource Catalog API
      type: object
  securitySchemes:
    auth_token:
      type: apiKey
      in: header
      name: X-Auth-Token