Kairon Admin API

The admin API from Kairon — 23 operation(s) for admin.

GitHub OpenAPI

Operations 25

GET /api/admin/users Admin controller users #
GET /api/admin/activation Admin activation controller overview #
GET /api/admin/activation-letters Admin activation letters controller queue #
POST /api/admin/activation-letters/{id}/send Admin activation letters controller send #
POST /api/admin/activation-letters/{id}/discard Admin activation letters controller discard #
GET /api/admin/monitoring/orgs Admin monitoring controller orgs #
GET /api/admin/monitoring/user-metrics Admin monitoring controller user metrics #
PATCH /api/admin/monitoring/orgs/{orgId} Admin monitoring controller set suspended #
GET /api/admin/monitoring/orgs/{orgId} Admin monitoring controller drilldown #
POST /api/admin/monitoring/orgs/{orgId}/deactivate Admin monitoring controller deactivate #
POST /api/admin/monitoring/orgs/{orgId}/ai-balance Admin monitoring controller grant ai balance #
POST /api/admin/monitoring/orgs/{orgId}/reactivate Admin monitoring controller reactivate #
GET /api/admin/plans Admin plan controller list #
PUT /api/admin/orgs/{orgId}/plan Admin plan controller change plan #
POST /api/admin/workspaces Admin plan controller create workspace #
POST /api/admin/orgs/{orgId}/owner-invite Admin plan controller resend owner invite #
GET /api/admin/email-plan/waiting Admin email plan controller waiting for workspace #
POST /api/admin/email-plan/waiting/{organizationId}/workspace Admin email plan controller adopt #
GET /api/admin/seat-pool/seats Admin seat pool controller seats #
PATCH /api/admin/seat-pool/seats/{channelAccountId} Admin seat pool controller set eligibility #
GET /api/admin/waitlist Admin waitlist controller leads #
POST /api/admin/waitlist/{id}/notify Admin waitlist controller notify #
POST /api/admin/waitlist/{id}/decline Admin waitlist controller decline #
DELETE /api/admin/waitlist/{id}/decline Admin waitlist controller restore #

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/heykairon-com:heykairon-com-admin-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

heykairon-com-admin-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Kairon Admin API
  description: B2B agentic go-to-market platform
  version: 0.0.0
  contact: {}
servers: []
security:
- api-key: []
tags:
- name: Admin
paths:
  /api/admin/users:
    get:
      operationId: AdminController_users
      parameters:
      - name: q
        required: true
        in: query
        schema:
          type: string
      - name: limit
        required: true
        in: query
        schema:
          type: string
      responses:
        '200':
          description: ''
      tags:
      - Admin
      summary: Admin controller users
      x-summary-source: derived
  /api/admin/activation:
    get:
      operationId: AdminActivationController_overview
      parameters: []
      responses:
        '200':
          description: ''
      tags:
      - Admin
      summary: Admin activation controller overview
      x-summary-source: derived
  /api/admin/activation-letters:
    get:
      operationId: AdminActivationLettersController_queue
      parameters: []
      responses:
        '200':
          description: ''
      tags:
      - Admin
      summary: Admin activation letters controller queue
      x-summary-source: derived
  /api/admin/activation-letters/{id}/send:
    post:
      operationId: AdminActivationLettersController_send
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActivationLetterSendDto'
      responses:
        '200':
          description: ''
      tags:
      - Admin
      summary: Admin activation letters controller send
      x-summary-source: derived
  /api/admin/activation-letters/{id}/discard:
    post:
      operationId: AdminActivationLettersController_discard
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
      tags:
      - Admin
      summary: Admin activation letters controller discard
      x-summary-source: derived
  /api/admin/monitoring/orgs:
    get:
      operationId: AdminMonitoringController_orgs
      parameters:
      - name: from
        required: true
        in: query
        schema:
          pattern: ^\d{4}-\d{2}-\d{2}$
          type: string
      - name: to
        required: true
        in: query
        schema:
          pattern: ^\d{4}-\d{2}-\d{2}$
          type: string
      responses:
        '200':
          description: ''
      tags:
      - Admin
      summary: Admin monitoring controller orgs
      x-summary-source: derived
  /api/admin/monitoring/trends:
    get:
      operationId: AdminMonitoringController_trends
      parameters:
      - name: from
        required: true
        in: query
        schema:
          pattern: ^\d{4}-\d{2}-\d{2}$
          type: string
      - name: to
        required: true
        in: query
        schema:
          pattern: ^\d{4}-\d{2}-\d{2}$
          type: string
      responses:
        '200':
          description: ''
      tags:
      - Admin
      summary: Admin monitoring controller trends
      x-summary-source: derived
  /api/admin/monitoring/user-metrics:
    get:
      operationId: AdminMonitoringController_userMetrics
      parameters:
      - name: from
        required: true
        in: query
        schema:
          pattern: ^\d{4}-\d{2}-\d{2}$
          type: string
      - name: to
        required: true
        in: query
        schema:
          pattern: ^\d{4}-\d{2}-\d{2}$
          type: string
      responses:
        '200':
          description: ''
      tags:
      - Admin
      summary: Admin monitoring controller user metrics
      x-summary-source: derived
  /api/admin/monitoring/orgs/{orgId}:
    patch:
      operationId: AdminMonitoringController_setSuspended
      parameters:
      - name: orgId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdminOrgSuspensionDto'
      responses:
        '200':
          description: ''
      tags:
      - Admin
      summary: Admin monitoring controller set suspended
      x-summary-source: derived
    get:
      operationId: AdminMonitoringController_drilldown
      parameters:
      - name: orgId
        required: true
        in: path
        schema:
          type: string
      - name: from
        required: true
        in: query
        schema:
          pattern: ^\d{4}-\d{2}-\d{2}$
          type: string
      - name: to
        required: true
        in: query
        schema:
          pattern: ^\d{4}-\d{2}-\d{2}$
          type: string
      responses:
        '200':
          description: ''
      tags:
      - Admin
      summary: Admin monitoring controller drilldown
      x-summary-source: derived
  /api/admin/monitoring/orgs/{orgId}/deactivate:
    post:
      operationId: AdminMonitoringController_deactivate
      parameters:
      - name: orgId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdminOrgDeactivationDto'
      responses:
        '201':
          description: ''
      tags:
      - Admin
      summary: Admin monitoring controller deactivate
      x-summary-source: derived
  /api/admin/monitoring/orgs/{orgId}/ai-balance:
    post:
      operationId: AdminMonitoringController_grantAiBalance
      parameters:
      - name: orgId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdminOrgAiBalanceGrantDto'
      responses:
        '201':
          description: ''
      tags:
      - Admin
      summary: Admin monitoring controller grant ai balance
      x-summary-source: derived
  /api/admin/monitoring/orgs/{orgId}/reactivate:
    post:
      operationId: AdminMonitoringController_reactivate
      parameters:
      - name: orgId
        required: true
        in: path
        schema:
          type: string
      responses:
        '201':
          description: ''
      tags:
      - Admin
      summary: Admin monitoring controller reactivate
      x-summary-source: derived
  /api/admin/plans:
    get:
      operationId: AdminPlanController_list
      parameters: []
      responses:
        '200':
          description: ''
      tags:
      - Admin
      summary: Admin plan controller list
      x-summary-source: derived
  /api/admin/orgs/{orgId}/plan:
    put:
      operationId: AdminPlanController_changePlan
      parameters:
      - name: orgId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdminPlanChangeDto'
      responses:
        '200':
          description: ''
      tags:
      - Admin
      summary: Admin plan controller change plan
      x-summary-source: derived
  /api/admin/workspaces:
    post:
      operationId: AdminPlanController_createWorkspace
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdminWorkspaceCreateDto'
      responses:
        '201':
          description: ''
      tags:
      - Admin
      summary: Admin plan controller create workspace
      x-summary-source: derived
  /api/admin/orgs/{orgId}/owner-invite:
    post:
      operationId: AdminPlanController_resendOwnerInvite
      parameters:
      - name: orgId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdminOwnerInviteDto'
      responses:
        '200':
          description: ''
      tags:
      - Admin
      summary: Admin plan controller resend owner invite
      x-summary-source: derived
  /api/admin/email-plan/waiting:
    get:
      operationId: AdminEmailPlanController_waitingForWorkspace
      parameters: []
      responses:
        '200':
          description: ''
      tags:
      - Admin
      summary: Admin email plan controller waiting for workspace
      x-summary-source: derived
  /api/admin/email-plan/waiting/{organizationId}/workspace:
    post:
      operationId: AdminEmailPlanController_adopt
      parameters:
      - name: organizationId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdoptWorkspaceForOrgDto'
      responses:
        '201':
          description: ''
      tags:
      - Admin
      summary: Admin email plan controller adopt
      x-summary-source: derived
  /api/admin/seat-pool/seats:
    get:
      operationId: AdminSeatPoolController_seats
      parameters: []
      responses:
        '200':
          description: ''
      tags:
      - Admin
      summary: Admin seat pool controller seats
      x-summary-source: derived
  /api/admin/seat-pool/seats/{channelAccountId}:
    patch:
      operationId: AdminSeatPoolController_setEligibility
      parameters:
      - name: channelAccountId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SeatPoolEligibilityDto'
      responses:
        '200':
          description: ''
      tags:
      - Admin
      summary: Admin seat pool controller set eligibility
      x-summary-source: derived
  /api/admin/waitlist:
    get:
      operationId: AdminWaitlistController_leads
      parameters: []
      responses:
        '200':
          description: ''
      tags:
      - Admin
      summary: Admin waitlist controller leads
      x-summary-source: derived
  /api/admin/waitlist/{id}/notify:
    post:
      operationId: AdminWaitlistController_notify
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WaitlistNotifyDto'
      responses:
        '200':
          description: ''
      tags:
      - Admin
      summary: Admin waitlist controller notify
      x-summary-source: derived
  /api/admin/waitlist/{id}/decline:
    post:
      operationId: AdminWaitlistController_decline
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
      tags:
      - Admin
      summary: Admin waitlist controller decline
      x-summary-source: derived
    delete:
      operationId: AdminWaitlistController_restore
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      responses:
        '204':
          description: ''
      tags:
      - Admin
      summary: Admin waitlist controller restore
      x-summary-source: derived
components:
  schemas:
    AdminOrgSuspensionDto:
      type: object
      properties:
        suspended:
          type: boolean
        partner:
          type: boolean
    AdminOwnerInviteDto:
      type: object
      properties:
        ownerEmail:
          type: string
          format: email
          pattern: ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
      required:
      - ownerEmail
    AdminPlanChangeDto:
      type: object
      properties:
        kind:
          type: string
          enum:
          - starter
          - custom
          - free
        terms:
          type: ''
          x-nestjs_zod-empty-type: true
      required:
      - kind
    AdminOrgAiBalanceGrantDto:
      type: object
      properties:
        amountUsd:
          type: number
          minimum: 1
          maximum: 100
        reason:
          type: string
          maxLength: 200
      required:
      - amountUsd
    SeatPoolEligibilityDto:
      type: object
      properties:
        poolEligible:
          type: boolean
      required:
      - poolEligible
    WaitlistNotifyDto:
      type: object
      properties:
        locale:
          type: string
          enum:
          - en
          - es
      required:
      - locale
    AdoptWorkspaceForOrgDto:
      type: object
      properties:
        kaironWorkspaceId:
          type: string
          format: uuid
          pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
        timeZone:
          type: string
          maxLength: 100
      required:
      - kaironWorkspaceId
    AdminWorkspaceCreateDto:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 100
          x-nestjs_zod-uses-3-point-1-syntax: true
        ownerEmail:
          type: string
          format: email
          pattern: ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
          x-nestjs_zod-uses-3-point-1-syntax: true
        plan:
          oneOf:
          - type: object
            properties:
              kind:
                type: string
                const: custom
              terms:
                type: object
                properties:
                  monthlyPriceUsd:
                    type: number
                    minimum: 0
                  allowanceUsd:
                    type: number
                    minimum: 0
                  includedSeats:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  includedMailboxes:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  extraSeatUsd:
                    type: number
                    minimum: 0
                  extraMailboxUsd:
                    type: number
                    minimum: 0
                  includedGrowingLists:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  extraGrowingListUsd:
                    type: number
                    minimum: 0
                  includedWhatsappAccounts:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  extraWhatsappAccountUsd:
                    type: number
                    minimum: 0
                required:
                - monthlyPriceUsd
                - allowanceUsd
                - includedSeats
                - includedMailboxes
                - extraSeatUsd
                - extraMailboxUsd
                - includedGrowingLists
                - extraGrowingListUsd
            required:
            - kind
            - terms
          - type: object
            properties:
              kind:
                type: string
                const: free
              terms:
                type: object
                properties:
                  includedSeats:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  includedMailboxes:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  includedGrowingLists:
                    default: 2
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  includedWhatsappAccounts:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  monthlyPriceUsd:
                    type: number
                    const: 0
                  allowanceUsd:
                    type: 'null'
                  extraSeatUsd:
                    type: 'null'
                  extraMailboxUsd:
                    type: 'null'
                  extraGrowingListUsd:
                    type: 'null'
                  extraWhatsappAccountUsd:
                    type: 'null'
                required:
                - includedSeats
                - includedMailboxes
            required:
            - kind
            - terms
          x-nestjs_zod-uses-3-point-1-syntax: true
          x-nestjs_zod-empty-type: true
      required:
      - name
      - ownerEmail
      - plan
    AdminOrgDeactivationDto:
      type: object
      properties:
        reason:
          type: string
          minLength: 1
          maxLength: 200
      required:
      - reason
    ActivationLetterSendDto:
      type: object
      properties:
        subject:
          type: string
          minLength: 1
          maxLength: 200
        body:
          type: string
          minLength: 1
          maxLength: 8000
      required:
      - subject
      - body
  securitySchemes:
    api-key:
      type: apiKey
      in: header
      name: x-api-key
      description: 'A Kairon API key (Settings → Integrations → API access), sent as `x-api-key`. NOT an `Authorization: Bearer` token — that header belongs to the separate /mcp door and is ignored here.'
    session:
      type: apiKey
      in: cookie
      name: better-auth.session_token