Zulip · Capability

Zulip REST API — invites

Zulip REST API — invites. 6 operations. Lead operation: Get all invitations. Self-contained Naftiko capability covering one Zulip business surface.

Run with Naftiko Zulipinvites

What You Can Do

GET
Getinvites — Get all invitations
/v1/invites
POST
Sendinvites — Send invitations
/v1/invites
POST
Createinvitelink — Create a reusable invitation link
/v1/invites/multiuse
DELETE
Revokeinvitelink — Revoke a reusable invitation link
/v1/invites/multiuse/{invite-id}
DELETE
Revokeemailinvite — Revoke an email invitation
/v1/invites/{invite-id}
POST
Resendemailinvite — Resend an email invitation
/v1/invites/{invite-id}/resend

MCP Tools

get-all-invitations

Get all invitations

read-only idempotent
send-invitations

Send invitations

create-reusable-invitation-link

Create a reusable invitation link

revoke-reusable-invitation-link

Revoke a reusable invitation link

idempotent
revoke-email-invitation

Revoke an email invitation

idempotent
resend-email-invitation

Resend an email invitation

Capability Spec

zulip-invites.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Zulip REST API — invites
  description: 'Zulip REST API — invites. 6 operations. Lead operation: Get all invitations. Self-contained Naftiko capability
    covering one Zulip business surface.'
  tags:
  - Zulip
  - invites
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    ZULIP_API_KEY: ZULIP_API_KEY
capability:
  consumes:
  - type: http
    namespace: zulip-invites
    baseUri: https://{subdomain}.zulipchat.com/api/v1
    description: Zulip REST API — invites business capability. Self-contained, no shared references.
    resources:
    - name: invites
      path: /invites
      operations:
      - name: getinvites
        method: GET
        description: Get all invitations
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: sendinvites
        method: POST
        description: Send invitations
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: invites-multiuse
      path: /invites/multiuse
      operations:
      - name: createinvitelink
        method: POST
        description: Create a reusable invitation link
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: invites-multiuse-invite_id
      path: /invites/multiuse/{invite_id}
      operations:
      - name: revokeinvitelink
        method: DELETE
        description: Revoke a reusable invitation link
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: invite_id
          in: path
          type: integer
          description: The ID of the reusable invitation link to be revoked.
          required: true
    - name: invites-invite_id
      path: /invites/{invite_id}
      operations:
      - name: revokeemailinvite
        method: DELETE
        description: Revoke an email invitation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: invite_id
          in: path
          type: integer
          description: The ID of the email invitation to be revoked.
          required: true
    - name: invites-invite_id-resend
      path: /invites/{invite_id}/resend
      operations:
      - name: resendemailinvite
        method: POST
        description: Resend an email invitation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: invite_id
          in: path
          type: integer
          description: The ID of the email invitation to be resent.
          required: true
    authentication:
      type: basic
      username: '{{env.ZULIP_USER}}'
      password: '{{env.ZULIP_PASS}}'
  exposes:
  - type: rest
    namespace: zulip-invites-rest
    port: 8080
    description: REST adapter for Zulip REST API — invites. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/invites
      name: invites
      description: REST surface for invites.
      operations:
      - method: GET
        name: getinvites
        description: Get all invitations
        call: zulip-invites.getinvites
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: sendinvites
        description: Send invitations
        call: zulip-invites.sendinvites
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/invites/multiuse
      name: invites-multiuse
      description: REST surface for invites-multiuse.
      operations:
      - method: POST
        name: createinvitelink
        description: Create a reusable invitation link
        call: zulip-invites.createinvitelink
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/invites/multiuse/{invite-id}
      name: invites-multiuse-invite-id
      description: REST surface for invites-multiuse-invite_id.
      operations:
      - method: DELETE
        name: revokeinvitelink
        description: Revoke a reusable invitation link
        call: zulip-invites.revokeinvitelink
        with:
          invite_id: rest.invite_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/invites/{invite-id}
      name: invites-invite-id
      description: REST surface for invites-invite_id.
      operations:
      - method: DELETE
        name: revokeemailinvite
        description: Revoke an email invitation
        call: zulip-invites.revokeemailinvite
        with:
          invite_id: rest.invite_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/invites/{invite-id}/resend
      name: invites-invite-id-resend
      description: REST surface for invites-invite_id-resend.
      operations:
      - method: POST
        name: resendemailinvite
        description: Resend an email invitation
        call: zulip-invites.resendemailinvite
        with:
          invite_id: rest.invite_id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: zulip-invites-mcp
    port: 9090
    transport: http
    description: MCP adapter for Zulip REST API — invites. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: get-all-invitations
      description: Get all invitations
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: zulip-invites.getinvites
      outputParameters:
      - type: object
        mapping: $.
    - name: send-invitations
      description: Send invitations
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: zulip-invites.sendinvites
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: create-reusable-invitation-link
      description: Create a reusable invitation link
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: zulip-invites.createinvitelink
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: revoke-reusable-invitation-link
      description: Revoke a reusable invitation link
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: zulip-invites.revokeinvitelink
      with:
        invite_id: tools.invite_id
      outputParameters:
      - type: object
        mapping: $.
    - name: revoke-email-invitation
      description: Revoke an email invitation
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: zulip-invites.revokeemailinvite
      with:
        invite_id: tools.invite_id
      outputParameters:
      - type: object
        mapping: $.
    - name: resend-email-invitation
      description: Resend an email invitation
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: zulip-invites.resendemailinvite
      with:
        invite_id: tools.invite_id
      outputParameters:
      - type: object
        mapping: $.