Cube API

The cube API from Cube — 2 operation(s) for cube.

Operations 6

GET /cube Cube list #
POST /cube Cube create #
GET /cube/{id} Cube retrieve #
PUT /cube/{id} Cube update #
PATCH /cube/{id} Cube partial update #
DELETE /cube/{id} Cube destroy #

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/cubesoftware-cube-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 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

cubesoftware-cube-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cube API
  version: 1.0.0 (1.0)
  description: '#### General Description

    An API to access underlying Cube functionality.'
  termsOfService: https://www.cubesoftware.com/terms-of-service
servers:
- url: https://api.cubesoftware.com
  description: Production API URL
tags:
- name: cube
paths:
  /cube:
    get:
      operationId: cube_list
      description: 'This is a shortcut class that will include all 6 resourceful actions part of the DRF ViewSets:

        - list()

        - retrieve()

        - create()

        - update()

        - partial_update()

        - destroy()


        If you do not want to expose all 6 of these in your ViewSet, then use the CubeAuthenticatedViewSet and add the

        appropriate mixins to it (see rest_framework.mixins). This will allow the api to behave appropriately and block

        requests to unprocessable endpoints. Furthermore, it will make the drf_spectacular documentation be generated more

        easily.'
      tags:
      - cube
      security:
      - OAuth2: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CubeDataRequest'
          description: ''
      summary: Cube list
      x-summary-source: derived
    post:
      operationId: cube_create
      description: 'This is a shortcut class that will include all 6 resourceful actions part of the DRF ViewSets:

        - list()

        - retrieve()

        - create()

        - update()

        - partial_update()

        - destroy()


        If you do not want to expose all 6 of these in your ViewSet, then use the CubeAuthenticatedViewSet and add the

        appropriate mixins to it (see rest_framework.mixins). This will allow the api to behave appropriately and block

        requests to unprocessable endpoints. Furthermore, it will make the drf_spectacular documentation be generated more

        easily.'
      tags:
      - cube
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CubeDataRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CubeDataRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CubeDataRequest'
        required: true
      security:
      - OAuth2: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CubeDataRequest'
          description: ''
      summary: Cube create
      x-summary-source: derived
  /cube/{id}:
    get:
      operationId: cube_retrieve
      description: 'This is a shortcut class that will include all 6 resourceful actions part of the DRF ViewSets:

        - list()

        - retrieve()

        - create()

        - update()

        - partial_update()

        - destroy()


        If you do not want to expose all 6 of these in your ViewSet, then use the CubeAuthenticatedViewSet and add the

        appropriate mixins to it (see rest_framework.mixins). This will allow the api to behave appropriately and block

        requests to unprocessable endpoints. Furthermore, it will make the drf_spectacular documentation be generated more

        easily.'
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this cube value.
        required: true
      tags:
      - cube
      security:
      - OAuth2: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CubeDataRequest'
          description: ''
      summary: Cube retrieve
      x-summary-source: derived
    put:
      operationId: cube_update
      description: 'This is a shortcut class that will include all 6 resourceful actions part of the DRF ViewSets:

        - list()

        - retrieve()

        - create()

        - update()

        - partial_update()

        - destroy()


        If you do not want to expose all 6 of these in your ViewSet, then use the CubeAuthenticatedViewSet and add the

        appropriate mixins to it (see rest_framework.mixins). This will allow the api to behave appropriately and block

        requests to unprocessable endpoints. Furthermore, it will make the drf_spectacular documentation be generated more

        easily.'
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this cube value.
        required: true
      tags:
      - cube
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CubeDataRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CubeDataRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CubeDataRequest'
        required: true
      security:
      - OAuth2: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CubeDataRequest'
          description: ''
      summary: Cube update
      x-summary-source: derived
    patch:
      operationId: cube_partial_update
      description: 'This is a shortcut class that will include all 6 resourceful actions part of the DRF ViewSets:

        - list()

        - retrieve()

        - create()

        - update()

        - partial_update()

        - destroy()


        If you do not want to expose all 6 of these in your ViewSet, then use the CubeAuthenticatedViewSet and add the

        appropriate mixins to it (see rest_framework.mixins). This will allow the api to behave appropriately and block

        requests to unprocessable endpoints. Furthermore, it will make the drf_spectacular documentation be generated more

        easily.'
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this cube value.
        required: true
      tags:
      - cube
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCubeDataRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedCubeDataRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedCubeDataRequest'
      security:
      - OAuth2: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CubeDataRequest'
          description: ''
      summary: Cube partial update
      x-summary-source: derived
    delete:
      operationId: cube_destroy
      description: 'This is a shortcut class that will include all 6 resourceful actions part of the DRF ViewSets:

        - list()

        - retrieve()

        - create()

        - update()

        - partial_update()

        - destroy()


        If you do not want to expose all 6 of these in your ViewSet, then use the CubeAuthenticatedViewSet and add the

        appropriate mixins to it (see rest_framework.mixins). This will allow the api to behave appropriately and block

        requests to unprocessable endpoints. Furthermore, it will make the drf_spectacular documentation be generated more

        easily.'
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this cube value.
        required: true
      tags:
      - cube
      security:
      - OAuth2: []
      responses:
        '204':
          description: No response body
      summary: Cube destroy
      x-summary-source: derived
components:
  schemas:
    PatchedCubeDataRequest:
      type: object
      description: Mixin to delegate create and update operations to a service class.
      properties:
        matrix:
          $ref: '#/components/schemas/Matrix'
        message:
          type: string
        metadata:
          type: object
          additionalProperties: {}
          default: {}
        currency:
          $ref: '#/components/schemas/Currency'
        background:
          type: boolean
          default: false
        addon:
          type: string
          readOnly: true
    Currency:
      type: object
      description: "Allows selectively disabling DRF uniqueness validation for ModelSerializers.\n\nModelSerializer runs unique field validation during `is_valid()`, even when the\nserializer is used only to deserialize or reference existing model data (i.e. with\nno intent to create or update an instance). This mixin enables callers to explicitly\nskip uniqueness checks for specific fields in those cases.\n\nUsage:\n    serializer = MySerializer(\n        data=payload,\n        skip_unique_validation_fields=('code',),\n    )"
      properties:
        code:
          type: string
          maxLength: 10
      required:
      - code
    CubeDataRequest:
      type: object
      description: Mixin to delegate create and update operations to a service class.
      properties:
        matrix:
          $ref: '#/components/schemas/Matrix'
        message:
          type: string
        metadata:
          type: object
          additionalProperties: {}
          default: {}
        currency:
          $ref: '#/components/schemas/Currency'
        background:
          type: boolean
          default: false
        addon:
          type: string
          readOnly: true
      required:
      - addon
      - matrix
    Matrix:
      type: object
      properties:
        attribute_columns:
          type: array
          items:
            type: integer
            minimum: 0
        attribute_row:
          type: integer
          minimum: 0
        filters:
          type: object
          additionalProperties:
            type: string
        data:
          type: array
          items:
            type: array
            items: {}
      required:
      - data
      - filters
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://portal.cubesoftware.com/o/authorize/
          tokenUrl: https://api.cubesoftware.com/o/token/
          scopes: {}
      description: Standard Cube OAuth 2.0 flow