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

# Update Cardholder Status by Cardholder ID in C2P

> Send a request to this endpoint to specify the cardholder’s status. 
Note: 
- If the cardholder’s status is set to **false**, then cards of the specific issuer, added in the C2P profile, are deactivated. 
Issuers can send request to this endpoint for multiple reasons, one of them is to prevent fraudulent transactions.
- If the cardholder’s status is reverted to **true**, the C2P profile is again active for usage.




## OpenAPI

````yaml wallet put /v1/click2pay/VISA/update/customer/{customerId}/status
openapi: 3.0.3
info:
  version: '1'
  title: Wallet operations
  contact:
    name: Enfuce Financial Services
    url: https://enfuce.com
    email: info@enfuce.com
  x-logo:
    url: resources/enfuce.svg
    altText: Enfuce logo
  description: >
    Wallet API enables getting needed data for tokenization and enablement in
    programs like

    Apple Pay and Google Pay, and Visa Click to Pay.


    #### Terms used

    <table>
      <tr>
        <th>Term</th>
        <th>Definition</th>
      <tr>
        <td>Customer</td>
        <td>End customer using financial institution's mobile application</td>
      </tr>
      <tr>
        <td>In-app activation</td>
        <td>Wallet provisioning using financial institution app as authentication method</td>
      </tr>
      <tr>
        <td>In-app provisioning</td>
        <td>Mastercard's term for push provisioning</td>
      </tr>
      <tr>
        <td>Push provisioning</td>
        <td>VISA's term for pushing card details from within mobile application. This term will be used in this document</td>
      </tr>
      <tr>
        <td>Wallet provider</td>
        <td>Such as Apple Pay, Google Pay or Samsung Pay </td>
      </tr>
    </table>


    It's called in two cases:

    - *Push provisioning* - this is usually done within issuers own application
    and card holder does

    not need to enter any information. Then the different endpoints for push
    provisioning must be used.

    - *In-app activation* - activating a card by manually adding information,
    then endpoint for generate activation

    data must be used after authentication of end customer is completed.


    ![ Provisioning example
    ](https://enfuce-public-resources.s3.eu-central-1.amazonaws.com/public/wallet_push_prov.svg)


    In above case the difference between push provisioning and in-app activation
    is which endpoint that is

    called in step 3.

    Note that diagram above is a simplification of full flow in order to explain
    it from a developer point of view.
servers:
  - url: >-
      https://integration-api-cat2.{{environment}}.ext.{{realm}}.cia.enfuce.com/wallet
  - url: https://integration-api-cat2.live.ext.prod.cia.enfuce.com/wallet
    description: Live environment
security: []
tags:
  - name: Push Provision
  - name: Activation data
  - name: Get tokens
  - name: Visa Click2Pay Enrol and Manage
  - name: Token Management
paths:
  /v1/click2pay/VISA/update/customer/{customerId}/status:
    put:
      tags:
        - Visa Click2Pay Enrol and Manage
      summary: Update Cardholder Status by Cardholder ID in C2P
      description: >
        Send a request to this endpoint to specify the cardholder’s status. 

        Note: 

        - If the cardholder’s status is set to **false**, then cards of the
        specific issuer, added in the C2P profile, are deactivated. 

        Issuers can send request to this endpoint for multiple reasons, one of
        them is to prevent fraudulent transactions.

        - If the cardholder’s status is reverted to **true**, the C2P profile is
        again active for usage.
      operationId: updateCustomerStatusUsingPUT
      parameters:
        - name: customerId
          in: path
          description: The customer id of which customer you want to update.
          required: true
          schema:
            type: string
            format: biginteger
        - name: auditUser
          in: query
          description: The audit user to log the request.
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                active:
                  type: boolean
                  example: true
                  description: The status of the customer.
                customerBID:
                  $ref: '#/components/schemas/CustomerBID'
              required:
                - customerBID
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VisaClick2Pay202'
        '401':
          $ref: '#/components/responses/error401'
        '403':
          $ref: '#/components/responses/error403'
        '500':
          $ref: '#/components/responses/error500'
components:
  schemas:
    CustomerBID:
      type: string
      example: '123456'
      description: >
        Unique identifier assigned to each issuer.

        Note: If you are using our BIN sponsorship, we provide you the
        **customerBID**; else, Visa provides you the **customerBID**.
    VisaClick2Pay202:
      example:
        requestTraceId: 351562ba-83cf-11ee-b962-0242ac120002
      properties:
        requestTraceId:
          description: Unique identifier of the request
          example: 351562ba-83cf-11ee-b962-0242ac120002
          format: uuid
          maxLength: 36
          minLength: 36
          type: string
      required:
        - requestTraceId
      type: object
    errorResponse:
      type: object
      properties:
        code:
          type: string
          description: An error code indicating what kind of error. I.e. HTTP error code
        message:
          type: string
          description: Error message in human-readable format
        id:
          type: string
          format: uuid
          description: Unique error identifier
        errorCode:
          type: string
          description: Enfuce code for a specific error type
        errorType:
          type: string
          description: Error type
          enum:
            - STATIC_VALIDATION_ERROR
            - DYNAMIC_VALIDATION_ERROR
            - INTEGRATION_ERROR
            - SECURITY_ERROR
            - UNEXPECTED_ERROR
        errorReason:
          type: string
          description: Free-form text explaining the error reason
        timestamp:
          type: string
          format: date-time
          description: Datetime when error occurred
  responses:
    error401:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    error403:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    error500:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'

````