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: $.