# Card operation event

> Receive card operation event notifications for card creation, freeze, unfreeze, deposit, termination, and balance return status changes.

```yaml
openapi: 3.1.0
info:
  title: Card operation event
  version: 1.0.0
  description: Receive card operation event notifications for card creation,
    freeze, unfreeze, deposit, termination, and balance return status changes.
webhooks:
  card.operation.event:
    post:
      summary: Card operation event
      description: Receive card operation event notifications for card creation,
        freeze, unfreeze, deposit, termination, and balance return status
        changes.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                request_id:
                  type: string
                  description: Unique event identifier for deduplication.
                  x-onerway-signature-participation: included
                event_type:
                  type: string
                  description: Event type identifier.
                  x-onerway-constraints:
                    - kind: values
                      text: Fixed to `issuing.cardOperateEvent` for this webhook.
                  x-onerway-signature-participation: included
                created_at:
                  type: string
                  description: Event creation time in ISO 8601 format.
                  x-onerway-signature-participation: included
                version:
                  type:
                    - string
                    - "null"
                  description: Webhook API version selected when the subscription is created.
                  x-onerway-value:
                    nullable: true
                    when:
                      en: No explicit webhook version is configured.
                      zh: 未配置明确 webhook 版本时可为空。
                  x-onerway-signature-participation: included
                data:
                  type: object
                  properties:
                    operateRecordId:
                      type: integer
                      description: Operation record ID.
                    cardId:
                      type: integer
                      description: Card ID.
                    clientRequestId:
                      type: string
                      description: Idempotent request ID.
                    type:
                      type: string
                      description: Operation type.
                      enum:
                        - CREATE
                        - FREEZE
                        - UNFREEZE
                        - DEPOSIT
                        - TERMINATE
                        - RETURN
                      x-enum-descriptions:
                        CREATE: Card creation operation.
                        FREEZE: Card freeze operation.
                        UNFREEZE: Card unfreeze operation.
                        DEPOSIT: Card deposit operation.
                        TERMINATE: Card termination operation.
                        RETURN: Card balance return operation.
                    status:
                      type: string
                      description: Operation status.
                      enum:
                        - P
                        - S
                        - F
                      x-enum-descriptions:
                        P: Processing.
                        S: Succeeded.
                        F: Failed.
                    remark:
                      type:
                        - string
                        - "null"
                      description: Operation remark.
                      x-onerway-value:
                        nullable: true
                        when:
                          en: No remark is available.
                          zh: 无备注时返回 `null`。
                    amount:
                      type:
                        - number
                        - "null"
                      description: Operation amount.
                      x-onerway-value:
                        nullable: true
                        when:
                          en: The operation has no amount.
                          zh: 该操作无金额时返回 `null`。
                    currency:
                      type:
                        - string
                        - "null"
                      description: Operation currency.
                      x-onerway-value:
                        nullable: true
                        when:
                          en: The operation has no amount currency.
                          zh: 该操作无金额币种时返回 `null`。
                    feeList:
                      type: array
                      description: Fee detail list.
                      items:
                        type: object
                        properties:
                          feeType:
                            type: string
                            description: Fee type.
                          feeAmount:
                            type: number
                            description: Fee amount.
                          feeCurrency:
                            type: string
                            description: Fee currency.
                      x-onerway-value:
                        empty: true
                        when:
                          en: Returned as an empty array when no fee applies.
                          zh: 无费用时返回空数组。
                  description: Card operation event business data.
                  x-onerway-signature-participation: included
            examples:
              deposit_success:
                summary: Deposit succeeded
                value:
                  request_id: replace_with_event_id
                  event_type: issuing.cardOperateEvent
                  created_at: 2026-01-01T00:00:00Z
                  version: "1.0"
                  data:
                    operateRecordId: 200001
                    cardId: 100001
                    clientRequestId: REQ_20260101_001
                    type: DEPOSIT
                    status: S
                    remark: null
                    amount: 100
                    currency: USD
                    feeList:
                      - feeType: DEPOSIT
                        feeAmount: 1
                        feeCurrency: USD
      responses:
        "200":
          description: Return HTTP 200 with `respCode=20000` after the card operation
            event is received and accepted. Onerway retries when the response
            code is not `20000`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  respCode:
                    type: string
                  respMsg:
                    type: string
                required:
                  - respCode
                  - respMsg
              examples:
                return_success:
                  summary: Return success JSON
                  value:
                    respCode: "20000"
                    respMsg: success
```
