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

# Revoke a customer (partner offboarding)

> Partner offboard: transition customer to `suspended`. Idempotent when already `suspended` or `rejected`. Optional `reason` is audit-only and not returned in responses. Emits `customer.revoked` webhook on transition.



## OpenAPI

````yaml /api-reference/openapi.json post /partner/customers/{customer_id}/revoke
openapi: 3.1.0
info:
  title: Element Pay Partner API
  description: >-
    Provider-neutral fiat ↔ crypto ramps for partners. Discover corridors,
    create a binding quote, accept it, and receive webhooks. African local fiat
    (mobile money and bank) is auto-routed by corridor.
  version: 1.0.0
servers:
  - url: https://sandbox.elementpay.net/api/v1
    description: Sandbox
security:
  - APIKeyHeader: []
tags:
  - name: partner
    description: >-
      Corridor discovery, indicative rates, binding quotes, and order acceptance
      (including account currency conversion).
    x-group: Partner
  - name: partner-customers
    description: >-
      Vault KYC: requirements, create, list, get/update, documents, and submit
      (pcus_*).
    x-group: Customers
  - name: partner-customer-accounts
    description: >-
      Customer accounts and funding: open/list/get rails, deposit instructions,
      stablecoin sends, and same-currency fiat book transfers.
    x-group: Customer accounts
paths:
  /partner/customers/{customer_id}/revoke:
    post:
      tags:
        - partner-customers
      summary: Revoke a customer (partner offboarding)
      description: >-
        Partner offboard: transition customer to `suspended`. Idempotent when
        already `suspended` or `rejected`. Optional `reason` is audit-only and
        not returned in responses. Emits `customer.revoked` webhook on
        transition.
      operationId: partner_customer_revoke_partner_customers__customer_id__revoke_post
      parameters:
        - name: customer_id
          in: path
          required: true
          schema:
            type: string
            description: Public customer id returned on create
            examples:
              - pcus_a1b2c3d4e5f6
            title: Customer Id
            example: pcus_a1b2c3d4e5f6
          description: Public customer id returned on create
          example: pcus_a1b2c3d4e5f6
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartnerCustomerRevokeRequest'
            example:
              reason: account_closed
      responses:
        '200':
          description: Customer revoked or already offboarded
          content:
            application/json:
              schema:
                type: object
                required:
                  - status
                  - message
                  - data
                properties:
                  status:
                    type: string
                    enum:
                      - success
                  message:
                    type: string
                  data:
                    type: object
                    required:
                      - id
                      - status
                      - partner_customer_ref
                      - updated_at
                    properties:
                      id:
                        type: string
                        example: pcus_a1b2c3d4e5f6
                      status:
                        type: string
                        enum:
                          - suspended
                          - rejected
                      partner_customer_ref:
                        type: string
                      updated_at:
                        type: string
                        format: date-time
              example:
                status: success
                message: Customer revoked
                data:
                  id: pcus_a1b2c3d4e5f6
                  status: suspended
                  partner_customer_ref: partner-cust-001
                  updated_at: '2026-08-31T08:00:00+00:00'
        '409':
          description: Concurrent status change during revoke — retry the request
          content:
            application/json:
              schema:
                type: object
                required:
                  - status
                  - message
                properties:
                  status:
                    type: string
                    enum:
                      - error
                  message:
                    type: string
                  data:
                    type:
                      - object
                      - 'null'
              example:
                status: error
                message: Customer cannot be revoked
                data:
                  status: approved
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                type: object
                required:
                  - status
                  - message
                properties:
                  status:
                    type: string
                    enum:
                      - error
                  message:
                    type: string
                  data:
                    type:
                      - object
                      - 'null'
              example:
                status: error
                message: Validation error
                data:
                  field: reason
      security:
        - APIKeyHeader: []
components:
  schemas:
    PartnerCustomerRevokeRequest:
      properties:
        reason:
          anyOf:
            - type: string
              maxLength: 512
            - type: 'null'
          title: Reason
          description: Optional partner audit note (not returned in API responses).
          example: account_closed
      type: object
      title: PartnerCustomerRevokeRequest
      example:
        reason: account_closed
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key

````