Keboola Duration API

The Duration API from Keboola — 3 operation(s) for duration.

Operations 3

PUT /duration/workspace Record duration of a workspace. #
PUT /duration/job Record duration of a project job. #
PUT /duration/container-sandbox Record length of running a container sandbox. #

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/keboola-duration-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

keboola-duration-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: API calculates and displays consumed and remaining credits of KBC PAYG users
  version: 1.0.0
  title: Keboola Billing Duration API
  contact:
    email: support@keboola.com
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
servers:
- description: Azure North Europe
  url: https://queue.north-europe.azure.keboola.com
- description: SwaggerHub API Auto Mocking
  url: https://virtserver.swaggerhub.com/keboola/billing-api/1.0.0
tags:
- name: Duration
paths:
  /duration/workspace:
    put:
      summary: Record duration of a workspace.
      operationId: durationWorkspace
      tags:
      - Duration
      security:
      - BillingManageToken: []
      parameters:
      - in: header
        name: X-KBC-manageapitoken
        description: Application token with scopes 'billing:manage'
        required: true
        schema:
          type: string
        example: 1234-567890abcdefghjkl
      description: 'Record durations of a workspace jobs per project. This is a servicing call for recording telemetry data.

        '
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                projectId:
                  type: string
                workspaceType:
                  type: string
                  enum:
                  - writer
                  - sandbox
                  - transformation
                warehouseSize:
                  type: string
                  enum:
                  - x-small
                  - small
                  - medium
                  - large
                  - x-large
                  - 2x-large
                  - 3x-large
                  - 4x-large
                durationSeconds:
                  type: number
      responses:
        '201':
          description: Duration of job inserted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DurationWorkspace'
  /duration/job:
    put:
      summary: Record duration of a project job.
      operationId: durationJob
      tags:
      - Duration
      security:
      - BillingManageToken: []
      parameters:
      - in: header
        name: X-KBC-manageapitoken
        description: Application token with scopes 'billing:manage'
        schema:
          type: string
        required: true
        example: 1234-567890abcdefghjkl
      description: 'Record durations of a job in a project. This is a servicing call for recording telemetry data.

        '
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                projectId:
                  type: string
                jobId:
                  type: string
                durationSeconds:
                  type: number
      responses:
        '201':
          description: Duration of job inserted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DurationJob'
  /duration/container-sandbox:
    put:
      summary: Record length of running a container sandbox.
      operationId: durationContainerSandbox
      tags:
      - Duration
      security:
      - BillingManageToken: []
      parameters:
      - in: header
        name: X-KBC-manageapitoken
        description: Application token with scopes 'billing:manage'
        schema:
          type: string
        required: true
        example: 1234-567890abcdefghjkl
      description: 'Record length of running a container sandbox. This is a servicing call for recording telemetry data.

        '
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                projectId:
                  type: string
                  minLength: 1
                sandboxId:
                  type: string
                  minLength: 1
                sandboxType:
                  type: string
                  minLength: 1
                durationSeconds:
                  type: number
                  minimum: 0
      responses:
        '201':
          description: Run recorded
components:
  schemas:
    DurationWorkspace:
      type: object
      properties:
        PartitionKey:
          type: string
          example: '123'
        RowKey:
          type: string
          example: 05e238318064a0159e6547db5dd6583d
        projectId:
          type: string
          example: '123'
        workspaceType:
          type: string
          enum:
          - writer
          - sandbox-sql
          - transformation
          - sandbox-data-science
          example: writer
        warehouseSize:
          type: string
          enum:
          - x-small
          - small
          - medium
          - large
          - x-large
          - 2x-large
          - 3x-large
          - 4x-large
          example: x-large
        durationSeconds:
          type: number
          example: 123.45
    DurationJob:
      type: object
      properties:
        PartitionKey:
          type: string
          example: '123'
        RowKey:
          type: string
          example: ac9fb9748cc233de6c25225a8b437c9a
        projectId:
          type: string
          example: '123'
        jobId:
          type: string
          example: '456'
        durationSeconds:
          type: number
          example: 123.45
  securitySchemes:
    StorageApiToken:
      type: apiKey
      in: header
      name: X-StorageApi-Token
    BillingManageToken:
      type: apiKey
      in: header
      name: X-KBC-ManageApiToken
      description: Application token with scope "billing:manage"
    MarketplacesSubscriptionManageToken:
      type: apiKey
      in: header
      name: X-KBC-ManageApiToken
      description: Application token with scope "marketplace-subscriptions:manage"