LangWatch Invites API

The Invites API from LangWatch — 2 operation(s) for invites.

Operations 3

GET /api/v1/organization/invites List organization invites #
POST /api/v1/organization/invites Create organization invites #
DELETE /api/v1/organization/invites/{inviteId} Revoke organization invite #

Documentation

Specifications

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/langwatch:langwatch-invites-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

langwatch-invites-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: LangWatch Invites API
  description: LangWatch openapi spec
  version: 1.0.0
servers:
- url: https://app.langwatch.ai
security:
- project_api_key: []
tags:
- name: Invites
paths:
  /api/v1/organization/invites:
    get:
      operationId: listOrganizationInvites
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  invites:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        email:
                          type: string
                        role:
                          type: string
                          enum:
                          - ADMIN
                          - MEMBER
                          - EXTERNAL
                          - DEVELOPER
                        status:
                          type: string
                        expiration:
                          anyOf:
                          - type: string
                            format: date-time
                          - type: 'null'
                        inviteCode:
                          type: string
                        inviteUrl:
                          type: string
                        teams:
                          type: array
                          items:
                            type: object
                            properties:
                              teamId:
                                type: string
                              role:
                                type: string
                              customRoleId:
                                type:
                                - string
                                - 'null'
                            required:
                            - teamId
                            - role
                            - customRoleId
                            additionalProperties: false
                        createdAt:
                          type: string
                          format: date-time
                      required:
                      - id
                      - email
                      - role
                      - status
                      - expiration
                      - inviteCode
                      - inviteUrl
                      - teams
                      - createdAt
                      additionalProperties: false
                required:
                - invites
                additionalProperties: false
      description: List pending invites. Each carries its invite code and acceptance link, because a provisioning run with no email provider still has to hand the person something to open.
      tags:
      - Invites
      security:
      - admin_api_key: []
      x-access-policy:
        kind: handlerManaged
        credential:
        - organization_api_key
        permissions:
        - organization:manage
      summary: List organization invites
      x-summary-source: derived
    post:
      operationId: createOrganizationInvites
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  invites:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        email:
                          type: string
                        role:
                          type: string
                          enum:
                          - ADMIN
                          - MEMBER
                          - EXTERNAL
                          - DEVELOPER
                        status:
                          type: string
                        expiration:
                          anyOf:
                          - type: string
                            format: date-time
                          - type: 'null'
                        inviteCode:
                          type: string
                        inviteUrl:
                          type: string
                        teams:
                          type: array
                          items:
                            type: object
                            properties:
                              teamId:
                                type: string
                              role:
                                type: string
                              customRoleId:
                                type:
                                - string
                                - 'null'
                            required:
                            - teamId
                            - role
                            - customRoleId
                            additionalProperties: false
                        createdAt:
                          type: string
                          format: date-time
                        emailNotSent:
                          type: boolean
                      required:
                      - id
                      - email
                      - role
                      - status
                      - expiration
                      - inviteCode
                      - inviteUrl
                      - teams
                      - createdAt
                      - emailNotSent
                      additionalProperties: false
                required:
                - invites
                additionalProperties: false
      description: 'Create up to 50 invites in one batch, each with team assignments that may carry a custom role. Validation is strict: a team or custom role that cannot be assigned refuses the batch rather than silently granting less than was asked. emailNotSent reports, per invite, whether the invite email could be delivered.'
      tags:
      - Invites
      security:
      - admin_api_key: []
      x-access-policy:
        kind: handlerManaged
        credential:
        - organization_api_key
        permissions:
        - organization:manage
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                invites:
                  minItems: 1
                  maxItems: 50
                  type: array
                  items:
                    type: object
                    properties:
                      email:
                        type: string
                        minLength: 1
                        format: email
                        pattern: ^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
                      role:
                        type: string
                        enum:
                        - ADMIN
                        - MEMBER
                        - EXTERNAL
                        - DEVELOPER
                      teams:
                        type: array
                        items:
                          type: object
                          properties:
                            teamId:
                              type: string
                              minLength: 1
                            role:
                              type: string
                              enum:
                              - ADMIN
                              - MEMBER
                              - VIEWER
                              - CUSTOM
                            customRoleId:
                              type: string
                              minLength: 1
                          required:
                          - teamId
                          - role
                    required:
                    - email
                    - role
              required:
              - invites
      summary: Create organization invites
      x-summary-source: derived
  /api/v1/organization/invites/{inviteId}:
    delete:
      operationId: revokeOrganizationInvite
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    const: true
                required:
                - success
                additionalProperties: false
      description: Revoke a pending invite. An invite id from another organization, or one already revoked, answers 404.
      tags:
      - Invites
      security:
      - admin_api_key: []
      x-access-policy:
        kind: handlerManaged
        credential:
        - organization_api_key
        permissions:
        - organization:manage
      parameters:
      - in: path
        name: inviteId
        schema:
          type: string
          minLength: 1
        required: true
      summary: Revoke organization invite
      x-summary-source: derived
components:
  securitySchemes:
    project_api_key:
      type: apiKey
      in: header
      name: X-Auth-Token
      description: 'Project API key for sending traces and accessing project-scoped resources. Format: sk-lw-... (no underscore). Obtain one by creating a project via the Admin API or the LangWatch UI.'
    admin_api_key:
      type: http
      scheme: bearer
      description: 'Admin API key for organization-level operations (managing projects, API keys). Create one in Settings > API Keys or via POST /api/api-keys. Format: sk-lw-{id}_{secret}.'
    scim_bearer:
      type: http
      scheme: bearer
      description: SCIM token for one organization's directory connection, created with POST /api/scim-tokens or in Settings > SCIM. It authenticates provisioning calls only, and stops working if the organization's Enterprise plan lapses.
    cli_access_token:
      type: http
      scheme: bearer
      description: The device session the LangWatch CLI holds after `langwatch login`. It acts as the person who signed in, in the organization they chose, and expires unless the CLI refreshes it.
    instance_admin_key:
      type: http
      scheme: bearer
      description: Instance administrator key, set as LANGWATCH_INSTANCE_ADMIN_API_KEY on a self-hosted deployment. It exists to create the first organization, before any organization key does; every other management API takes an organization key instead.
    internal_secret:
      type: http
      scheme: bearer
      description: The deployment's own shared secret, presented by another LangWatch service rather than by a customer. The families behind it are ingress-blocked; they are described so a self-hosted operator can see what the deployment talks to itself about.
x-provenance:
  method: harvested
  publisher: LangWatch
  source: https://app.langwatch.ai/api/openapi.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)