Kagura AI Invitations API

Team member invitations

GitHub OpenAPI

Operations 7

POST /api/v1/workspaces/{workspace_id}/invitations Create workspace invitation #
GET /api/v1/workspaces/{workspace_id}/invitations List workspace invitations #
DELETE /api/v1/workspaces/{workspace_id}/invitations/{invitation_id} Delete workspace invitation #
POST /api/v1/invitations/accept Accept workspace invitation #
GET /api/v1/invitations/pending Get pending invitations for current user #
GET /api/v1/invitations/{token} Get invitation info #
GET /api/v1/workspaces/{workspace_id}/member-quota Get member quota status #

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/kagura-ai-com:kagura-ai-com-invitations-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

kagura-ai-com-invitations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Kagura Memory Cloud Invitations API
  description: Universal AI Memory Platform - Remote MCP Server + Web Management
  version: 0.158.1
tags:
- name: Invitations
  description: Team member invitations
paths:
  /api/v1/workspaces/{workspace_id}/invitations:
    post:
      tags:
      - Invitations
      summary: Create workspace invitation
      description: Create an invitation to join the workspace. Requires owner or admin role.
      operationId: create_invitation_api_v1_workspaces__workspace_id__invitations_post
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkspaceInvitationCreate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceInvitationResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - Invitations
      summary: List workspace invitations
      description: List all invitations for the workspace. Requires owner or admin role.
      operationId: list_invitations_api_v1_workspaces__workspace_id__invitations_get
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: include_accepted
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Include Accepted
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WorkspaceInvitationResponse'
                title: Response List Invitations Api V1 Workspaces  Workspace Id  Invitations Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/workspaces/{workspace_id}/invitations/{invitation_id}:
    delete:
      tags:
      - Invitations
      summary: Delete workspace invitation
      description: Delete (revoke) an invitation. Requires owner or admin role.
      operationId: delete_invitation_api_v1_workspaces__workspace_id__invitations__invitation_id__delete
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: invitation_id
        in: path
        required: true
        schema:
          type: string
          pattern: ^winv_[0-9A-Za-z]{22}$
          description: Public id of the workspace invitation (`winv_` + 22 base62 characters).
          examples:
          - winv_0000000000000000000000
          title: Invitation Id
        description: Public id of the workspace invitation (`winv_` + 22 base62 characters).
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response Delete Invitation Api V1 Workspaces  Workspace Id  Invitations  Invitation Id  Delete
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/invitations/accept:
    post:
      tags:
      - Invitations
      summary: Accept workspace invitation
      description: Accept an invitation to join an workspace. Public endpoint (authenticated users only).
      operationId: accept_invitation_api_v1_invitations_accept_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AcceptInvitationRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcceptInvitationResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/invitations/pending:
    get:
      tags:
      - Invitations
      summary: Get pending invitations for current user
      description: Get all pending (non-expired) invitations for the authenticated user's email.
      operationId: get_pending_invitations_api_v1_invitations_pending_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PendingInvitationsResponse'
  /api/v1/invitations/{token}:
    get:
      tags:
      - Invitations
      summary: Get invitation info
      description: Get invitation information by token. Does not require authentication (for preview before login).
      operationId: get_invitation_info_api_v1_invitations__token__get
      parameters:
      - name: token
        in: path
        required: true
        schema:
          type: string
          title: Token
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response Get Invitation Info Api V1 Invitations  Token  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/workspaces/{workspace_id}/member-quota:
    get:
      tags:
      - Invitations
      summary: Get member quota status
      description: Get current member count and limit for workspace. Requires member access.
      operationId: get_member_quota_api_v1_workspaces__workspace_id__member_quota_get
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response Get Member Quota Api V1 Workspaces  Workspace Id  Member Quota Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    WorkspaceInvitationResponse:
      properties:
        id:
          title: Id
        workspace_id:
          title: Workspace Id
        token:
          title: Token
        email:
          title: Email
        role:
          title: Role
        invited_by:
          title: Invited By
        expires_at:
          title: Expires At
        accepted_at:
          title: Accepted At
        accepted_by:
          title: Accepted By
        created_at:
          title: Created At
        invitation_url:
          title: Invitation Url
        is_expired:
          title: Is Expired
        is_accepted:
          title: Is Accepted
        allowed_context_ids:
          title: Allowed Context Ids
          description: Allowed context IDs for member/viewer roles (Migration 042)
      type: object
      required:
      - id
      - workspace_id
      - token
      - email
      - role
      - invited_by
      - expires_at
      - accepted_at
      - accepted_by
      - created_at
      - invitation_url
      - is_expired
      - is_accepted
      title: WorkspaceInvitationResponse
      description: 'Workspace invitation response.


        Issue #165: Team Collaboration - Workspace Invitation System'
    PendingInvitationsResponse:
      properties:
        pending_invitations:
          items:
            $ref: '#/components/schemas/PendingInvitationItem'
          type: array
          title: Pending Invitations
        count:
          type: integer
          title: Count
      type: object
      required:
      - pending_invitations
      - count
      title: PendingInvitationsResponse
      description: 'Response for pending invitations query.


        Issue #179: In-app invitation notifications.'
    PendingInvitationItem:
      properties:
        id:
          title: Id
        workspace_id:
          title: Workspace Id
        workspace_name:
          title: Workspace Name
        plan_blocked:
          title: Plan Blocked
          description: The workspace plan currently prevents accepting this invitation
        role:
          title: Role
        invited_by:
          title: Invited By
        expires_at:
          title: Expires At
        created_at:
          title: Created At
        token:
          title: Token
        invitation_url:
          title: Invitation Url
      type: object
      required:
      - id
      - workspace_id
      - workspace_name
      - role
      - invited_by
      - expires_at
      - created_at
      - token
      - invitation_url
      title: PendingInvitationItem
      description: 'Pending invitation item for current user.


        Issue #179: In-app invitation notifications.'
    WorkspaceRole:
      type: string
      enum:
      - owner
      - admin
      - member
      - viewer
      title: WorkspaceRole
      description: 'Workspace-level tenancy role.


        Ordering: OWNER > ADMIN > MEMBER > VIEWER (see WORKSPACE_ROLE_WEIGHTS).'
    WorkspaceInvitationCreate:
      properties:
        email:
          type: string
          maxLength: 255
          pattern: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
          title: Email
          description: Email address (must match Google OAuth account)
        role:
          $ref: '#/components/schemas/WorkspaceRole'
          description: 'Role to assign upon acceptance (owner is not invitable — #1166)'
          default: member
        expires_in_days:
          anyOf:
          - type: integer
            maximum: 365.0
            minimum: 1.0
          - type: 'null'
          title: Expires In Days
          description: Days until expiration (7/30/90/365 or null=never)
        allowed_context_ids:
          anyOf:
          - items:
              type: string
              format: uuid
            type: array
          - type: 'null'
          title: Allowed Context Ids
          description: Context IDs to allow (required for member/viewer, minimum 1)
      type: object
      required:
      - email
      title: WorkspaceInvitationCreate
      description: 'Create workspace invitation request.


        Issue #165: Team Collaboration - Workspace Invitation System


        Note: Email is required and must match the Google account used for OAuth login.'
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    AcceptInvitationResponse:
      properties:
        success:
          type: boolean
          title: Success
        workspace:
          additionalProperties: true
          type: object
          title: Workspace
        member:
          additionalProperties: true
          type: object
          title: Member
      type: object
      required:
      - success
      - workspace
      - member
      title: AcceptInvitationResponse
      description: 'Accept invitation response.


        Issue #165: Team Collaboration - Workspace Invitation System'
    AcceptInvitationRequest:
      properties:
        token:
          type: string
          minLength: 20
          title: Token
          description: Invitation token
      type: object
      required:
      - token
      title: AcceptInvitationRequest
      description: 'Accept invitation request.


        Issue #165: Team Collaboration - Workspace Invitation System'