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

# Port Mandate

> Use this API to import an existing mandate into the Cashfree subscription system. This is applicable where mandates are already created with another provider or system. By porting the mandate, you can manage the subscription within Cashfree's ecosystem.



## OpenAPI

````yaml post /api/v2/subscriptions/mandate/port
openapi: 3.0.0
info:
  title: Cashfree Subscription API
  description: >-
    Create and manage subscriptions and collect recurring payments from
    customers easily with Cashfree Subscriptions.
  version: v2
servers:
  - url: https://sandbox.cashfree.com
    description: Sandbox server
  - url: https://api.cashfree.com
    description: Production server
security: []
externalDocs:
  url: https://docs.cashfree.com/reference/postman-collection-1
  description: This url will have the information of all the APIs.
paths:
  /api/v2/subscriptions/mandate/port:
    post:
      tags:
        - Subscription
      summary: Port Mandate
      description: >-
        Use this API to import an existing mandate into the Cashfree
        subscription system. This is applicable where mandates are already
        created with another provider or system. By porting the mandate, you can
        manage the subscription within Cashfree's ecosystem.
      operationId: portMandate
      parameters:
        - name: X-Client-Id
          in: header
          required: true
          schema:
            type: string
            description: Client ID provided by Cashfree.
            example: asdf1234
        - name: X-Client-Secret
          in: header
          required: true
          schema:
            type: string
            description: Client Secret provided by Cashfree.
            example: qwer9876
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                customerDetails:
                  type: object
                  description: Details of the customer.
                  properties:
                    customerEmail:
                      type: string
                      description: Email of the customer.
                      example: john.doe@gmail.com
                    customerPhone:
                      type: string
                      description: Phone number of the customer.
                      example: '9999999999'
                    debitAccountNumber:
                      type: string
                      description: Customer's bank account number.
                      example: '1234567890'
                    debitAccountHolderName:
                      type: string
                      description: Name of the account holder.
                      example: John Doe
                    debitBankId:
                      type: string
                      description: Bank code (e.g., SBIN for State Bank of India).
                      example: SBIN
                    debitAccountType:
                      type: string
                      description: Type of the account (e.g., SAVINGS or CURRENT).
                      example: SAVINGS
                subscriptionDetails:
                  type: object
                  description: Details of the subscription.
                  properties:
                    umrn:
                      type: string
                      description: >-
                        Unique Mandate Reference Number (UMRN) of the existing
                        mandate.
                      example: SBIN0000000000000000
                    paymentType:
                      type: string
                      description: Type of mandate (e.g., E_MANDATE).
                      example: E_MANDATE
                    fixedAmount:
                      type: number
                      description: Fixed amount for the subscription (if applicable).
                      example: 10
                    maxAmount:
                      type: number
                      description: Maximum amount allowed for the subscription.
                      example: 100
                    portingFrequency:
                      type: string
                      description: >-
                        Frequency of the subscription (e.g., MNTH for monthly
                        Periodic subscription, ADHO for On-Demand subscription).
                      example: MNTH
                    startDate:
                      type: string
                      format: date
                      description: Start date of the subscription.
                      example: '2025-03-28'
                    endDate:
                      type: string
                      format: date
                      description: End date of the subscription.
                      example: '2025-08-04'
                    maxCycles:
                      type: integer
                      description: Maximum number of cycles for the subscription.
                      example: 10
                    subscriptionId:
                      type: string
                      description: Unique ID for the subscription.
                      example: subs-import-mandate
                    firstChargeDate:
                      type: string
                      format: date
                      description: >-
                        Date of the first charge for the subscription (Required
                        for periodic subscriptions).
                      example: '2025-04-03'
      responses:
        '200':
          description: Mandate ported successfully.
          content:
            application/json:
              examples:
                Port Mandate Success:
                  value:
                    status: OK
                    message: Mandate Porting Successful
                    data:
                      subReferenceId: 12345
                      subscriptionId: subs-import-mandate
                      status: ACTIVE
        '400':
          description: Bad request due to invalid parameters or missing fields.
          content:
            application/json:
              examples:
                Missing Parameters:
                  value:
                    status: ERROR
                    subCode: '400'
                    message: Invalid or missing parameters in the request.
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Status of the API call.
                    example: ERROR
                  message:
                    type: string
                    description: Error message.
                    example: Server encountered an unexpected condition.

````