> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kapso.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Stop portfolio funding

> Queues an asynchronous stop of Kapso funding for a Meta Business Portfolio. No request
body is required.

Disables portfolio auto-funding and revokes each approved allocation in the validated
scope, so **every WABA using that allocation is affected**. A `202` is acceptance, not
confirmation that Meta funding stopped - poll the operation endpoint until `succeeded`
or `failed`.

Revoking funding does not disconnect numbers, remove a partner, erase billing history,
or forgive outstanding usage. Customers may need their own Meta payment method
afterwards.




## OpenAPI

````yaml /api/platform/v1/openapi-platform.yaml post /whatsapp/portfolios/{portfolio_id}/funding/revoke
openapi: 3.1.0
info:
  title: Kapso Platform API
  version: 0.2.0
  description: >
    Build WhatsApp messaging into your product. Manage customers, connect phone
    numbers, send broadcasts, and handle conversations.
servers:
  - url: https://api.kapso.ai/platform/v1
    description: Production
security:
  - ApiKeyAuth: []
tags:
  - name: Customers
    description: Manage customer accounts
  - name: Setup Links
    description: WhatsApp onboarding via embedded signup
  - name: Phone Numbers
    description: Connect and manage WhatsApp numbers
  - name: Webhooks
    description: Subscribe to WhatsApp events
  - name: Display Names
    description: Update WhatsApp business display names
  - name: Broadcasts
    description: |
      Send template messages at scale

      **Alpha**: This API is in alpha and subject to change
  - name: Conversations
    description: Manage conversation state
  - name: Media
    description: Upload media files for WhatsApp messaging
  - name: Users
    description: Manage project team members
  - name: Inbox Embeds
    description: Create and manage embeddable inbox access links
  - name: Webhook Deliveries
    description: View webhook delivery attempts and their status
  - name: External API Logs
    description: View logs of external API calls made by the project
  - name: Log Search
    description: Search log events across API, Meta, workflow, and webhook sources
  - name: Events
    description: Emit and query project-scoped events
  - name: Provider Models
    description: List available AI provider models
  - name: WhatsApp Flows
    description: Build interactive WhatsApp Flows for surveys and forms
  - name: Contacts
    description: Manage WhatsApp contacts
  - name: Findings
    description: Detect recurring problems in conversations and investigate them with AI
  - name: Notifications
    description: >-
      Route project alerts to shared inboxes and Slack channels connected from
      the Kapso app
  - name: WhatsApp Funding
    description: >-
      Read Kapso funding status and recorded messaging and calling usage, and
      stop portfolio funding
paths:
  /whatsapp/portfolios/{portfolio_id}/funding/revoke:
    post:
      tags:
        - WhatsApp Funding
      summary: Stop portfolio funding
      description: >
        Queues an asynchronous stop of Kapso funding for a Meta Business
        Portfolio. No request

        body is required.


        Disables portfolio auto-funding and revokes each approved allocation in
        the validated

        scope, so **every WABA using that allocation is affected**. A `202` is
        acceptance, not

        confirmation that Meta funding stopped - poll the operation endpoint
        until `succeeded`

        or `failed`.


        Revoking funding does not disconnect numbers, remove a partner, erase
        billing history,

        or forgive outstanding usage. Customers may need their own Meta payment
        method

        afterwards.
      operationId: revokeWhatsappPortfolioFunding
      parameters:
        - name: portfolio_id
          in: path
          required: true
          description: Meta Business Portfolio ID.
          schema:
            type: string
        - name: Idempotency-Key
          in: header
          required: true
          description: >-
            Stable unique key of 1-255 bytes per logical request. Reuse it when
            retrying after a network failure - the original operation is
            returned. Reusing a key for a different portfolio returns 409.
          schema:
            type: string
            minLength: 1
      responses:
        '202':
          description: Revocation queued
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WhatsappFundingOperationResponse'
              example:
                data:
                  operation_id: 2a2c446c-87c2-4f8a-ae74-aef1819e03f5
                  business_portfolio_id: '30458864570425307'
                  status: queued
                  requested_at: '2026-09-13T02:45:00Z'
                  message: Portfolio funding revocation is queued.
        '400':
          description: Missing or oversized Idempotency-Key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: An Idempotency-Key header of 1 to 255 bytes is required.
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '409':
          description: >-
            The Idempotency-Key was used for another portfolio, or the scope is
            unsafe
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: This Idempotency-Key was used for another portfolio.
        '503':
          description: Revocation queue unavailable, retry with the same Idempotency-Key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    WhatsappFundingOperationResponse:
      type: object
      required:
        - data
      properties:
        data:
          $ref: '#/components/schemas/WhatsappFundingOperation'
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: string
    WhatsappFundingOperation:
      type: object
      required:
        - operation_id
        - business_portfolio_id
        - status
        - requested_at
        - message
      properties:
        operation_id:
          type: string
          format: uuid
        business_portfolio_id:
          type: string
          example: '30458864570425307'
        status:
          type: string
          enum:
            - queued
            - running
            - succeeded
            - failed
            - superseded
        requested_at:
          type: string
          format: date-time
        message:
          type: string
          example: Portfolio funding revocation is queued.
  responses:
    UnauthorizedError:
      description: Missing or invalid API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFoundError:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key

````