Kairon Onboarding API

The onboarding API from Kairon — 10 operation(s) for onboarding.

GitHub OpenAPI

Operations 11

POST /api/onboarding/signup Onboarding controller signup #
POST /api/onboarding/signup-choice Onboarding controller signup choice #
POST /api/onboarding/waitlist-source Onboarding controller waitlist source #
GET /api/onboarding/heard-from Onboarding controller heard from status #
POST /api/onboarding/heard-from Onboarding controller heard from #
POST /api/onboarding/heard-from/skip Onboarding controller skip heard from #
POST /api/onboarding/subscribe Onboarding controller subscribe #
POST /api/onboarding/members/invite Onboarding controller invite member #
PATCH /api/onboarding/members/{memberId}/role Onboarding controller change member role #
PATCH /api/onboarding/organization/name Onboarding controller rename organization #
GET /api/onboarding/invitations/{id} Onboarding controller invitation preview #

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-onboarding-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-onboarding-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Kairon Onboarding API
  description: B2B agentic go-to-market platform
  version: 0.0.0
  contact: {}
servers: []
security:
- api-key: []
tags:
- name: Onboarding
paths:
  /api/onboarding/signup:
    post:
      operationId: OnboardingController_signup
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SignupDto'
      responses:
        '201':
          description: ''
      tags:
      - Onboarding
      summary: Onboarding controller signup
      x-summary-source: derived
  /api/onboarding/signup-choice:
    post:
      operationId: OnboardingController_signupChoice
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SignupChoiceDto'
      responses:
        '204':
          description: ''
      tags:
      - Onboarding
      summary: Onboarding controller signup choice
      x-summary-source: derived
  /api/onboarding/waitlist-source:
    post:
      operationId: OnboardingController_waitlistSource
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WaitlistSourceDto'
      responses:
        '204':
          description: ''
      tags:
      - Onboarding
      summary: Onboarding controller waitlist source
      x-summary-source: derived
  /api/onboarding/heard-from:
    get:
      operationId: OnboardingController_heardFromStatus
      parameters: []
      responses:
        '200':
          description: ''
      tags:
      - Onboarding
      summary: Onboarding controller heard from status
      x-summary-source: derived
    post:
      operationId: OnboardingController_heardFrom
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HeardFromDto'
      responses:
        '204':
          description: ''
      tags:
      - Onboarding
      summary: Onboarding controller heard from
      x-summary-source: derived
  /api/onboarding/heard-from/skip:
    post:
      operationId: OnboardingController_skipHeardFrom
      parameters: []
      responses:
        '204':
          description: ''
      tags:
      - Onboarding
      summary: Onboarding controller skip heard from
      x-summary-source: derived
  /api/onboarding/subscribe:
    post:
      operationId: OnboardingController_subscribe
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FreeToolSubscribeDto'
      responses:
        '201':
          description: ''
      tags:
      - Onboarding
      summary: Onboarding controller subscribe
      x-summary-source: derived
  /api/onboarding/members/invite:
    post:
      operationId: OnboardingController_inviteMember
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InviteMemberDto'
      responses:
        '201':
          description: ''
      tags:
      - Onboarding
      summary: Onboarding controller invite member
      x-summary-source: derived
  /api/onboarding/members/{memberId}/role:
    patch:
      operationId: OnboardingController_changeMemberRole
      parameters:
      - name: memberId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChangeMemberRoleDto'
      responses:
        '200':
          description: ''
      tags:
      - Onboarding
      summary: Onboarding controller change member role
      x-summary-source: derived
  /api/onboarding/organization/name:
    patch:
      operationId: OnboardingController_renameOrganization
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RenameOrganizationDto'
      responses:
        '200':
          description: ''
      tags:
      - Onboarding
      summary: Onboarding controller rename organization
      x-summary-source: derived
  /api/onboarding/invitations/{id}:
    get:
      operationId: OnboardingController_invitationPreview
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
      tags:
      - Onboarding
      summary: Onboarding controller invitation preview
      x-summary-source: derived
components:
  schemas:
    WaitlistSourceDto:
      type: object
      properties:
        leadKey:
          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)$
        heardFrom:
          type: string
          enum:
          - search
          - social
          - friend
          - ai
          - outreach
          - community
          - other
        other:
          type: string
          minLength: 1
          maxLength: 200
      required:
      - leadKey
      - heardFrom
    RenameOrganizationDto:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 120
          description: The workspace's new display name.
      required:
      - name
    ChangeMemberRoleDto:
      type: object
      properties:
        role:
          type: string
          enum:
          - member
          - admin
      required:
      - role
    HeardFromDto:
      type: object
      properties:
        heardFrom:
          type: string
          enum:
          - search
          - social
          - friend
          - ai
          - outreach
          - community
          - other
        other:
          type: string
          minLength: 1
          maxLength: 200
      required:
      - heardFrom
    SignupDto:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 120
        email:
          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,}$
        password:
          type: string
          minLength: 8
          maxLength: 256
        companyName:
          type: string
          minLength: 1
          maxLength: 120
        icp:
          type: string
          maxLength: 2000
        attribution:
          type: object
          properties:
            gclid:
              type: string
              maxLength: 255
            utmSource:
              type: string
              maxLength: 255
            utmMedium:
              type: string
              maxLength: 255
            utmCampaign:
              type: string
              maxLength: 255
            utmTerm:
              type: string
              maxLength: 255
            firstTouchPath:
              type: string
              maxLength: 2048
            firstTouchReferrer:
              type: string
              maxLength: 255
            firstTouchAt:
              type: string
              maxLength: 10
            leadKey:
              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)$
          x-nestjs_zod-self-required: false
        teamChoice:
          type: string
          enum:
          - join
          - separate
      required:
      - name
      - email
      - password
      - companyName
    InviteMemberDto:
      type: object
      properties:
        email:
          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,}$
          description: The address the invitation is emailed to.
        role:
          type: string
          enum:
          - member
          - admin
          description: 'The person''s role once they accept: `member`, or `admin` to also manage the workspace.'
      required:
      - email
      - role
    SignupChoiceDto:
      type: object
      properties:
        choice:
          type: string
          enum:
          - join
          - separate
      required:
      - choice
    FreeToolSubscribeDto:
      type: object
      properties:
        email:
          type: string
          maxLength: 320
          format: email
          pattern: ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
        source:
          type: string
          enum:
          - funding_radar_latam
          - funding_radar_us
        marketingConsent:
          type: boolean
        attribution:
          type: object
          properties:
            gclid:
              type: string
              maxLength: 255
            utmSource:
              type: string
              maxLength: 255
            utmMedium:
              type: string
              maxLength: 255
            utmCampaign:
              type: string
              maxLength: 255
            utmTerm:
              type: string
              maxLength: 255
            firstTouchPath:
              type: string
              maxLength: 2048
            firstTouchReferrer:
              type: string
              maxLength: 255
            firstTouchAt:
              type: string
              maxLength: 10
          x-nestjs_zod-self-required: false
        website:
          type: string
          maxLength: 500
      required:
      - email
      - source
  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