> For the complete documentation index, see [llms.txt](https://pivot-payment.gitbook.io/pivot-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://pivot-payment.gitbook.io/pivot-docs/api-references/api-lists/payments/recurring/create-recurring.md).

# Create Recurring

Configure plans, pricing, intervals, and trial settings

## Method and URL

<mark style="color:green;">`POST`</mark> \[<mark style="color:orange;">BASE\_URL</mark>]/v1/recurring

## Request

**Request Body**

```json
{
    "clientReferenceId": "REF001",
    "mode": "SELF_MANAGED",
    "plan": {
        "planId": "PLAN001",
        "planName": "Diamond"
    },
    "amount": {
        "currency": "IDR",
        "value": 100000
    },
    "trials": [
        {
            "trialStart": 1,
            "trialEnd": 1, 
            "type": "FREE / FIXED / PERCENTAGE",
            "percentage": 50, // applicable for trials.type = PERCENTAGE, maximum value is 100
            "amount": 50000 // applicable for trials.type = FIXED, maximum value is not greater than amount.value
        }
    ],
    "billingInterval": 1,
    "billingIntervalUnit": "MONTH",
    "endDate": "2026-08-31T16:59:59Z",
    "firstAuthorization": "FIRST_PAYMENT / ONE_DOLLAR",
    "customerId": "019cff2f-b8ab-7b44-85e7-0c5d2d3c7a51", // applicable for existing customer
    "customer": { // applicable for new customer
        "givenName": "Reforza Jordan",
        "surname": "Geotama",
        "email": "reforza@pivot-payment.com",
        "phoneNumber": {
            "countryCode": "+62",
            "number": "89557262933"
        }
    }
}
```

**Detail Parameter Request**

<table><thead><tr><th width="217.60546875">Parameter</th><th width="129.9443359375">Data Type</th><th width="137.298828125">Requirement</th><th>Description</th></tr></thead><tbody><tr><td>clientReferenceId</td><td>Alphanumeric</td><td>M</td><td>Unique Payment Reference from Merchant's Request</td></tr><tr><td>mode</td><td>String</td><td>M</td><td>Recurring scheduler management, default value to <mark style="color:orange;"><code>SELF_MANAGED</code></mark></td></tr><tr><td>plan</td><td>Object</td><td>M</td><td></td></tr><tr><td><ul><li>planId</li></ul></td><td>String</td><td>M</td><td>Unique Plan Reference</td></tr><tr><td><ul><li>planName</li></ul></td><td>String</td><td>M</td><td>Plan Name</td></tr><tr><td>amount</td><td>Object</td><td>M</td><td>Billing Amount<br><a data-mention href="/pivot-docs/api-references/api-lists/payments/object/amount-object.md">Amount Object</a></td></tr><tr><td>trials</td><td>Array of Object</td><td>O</td><td>Trial Program from Merchant</td></tr><tr><td><ul><li>trialStart</li></ul></td><td>Integer</td><td>M</td><td>Initial trial start, default value to "1"</td></tr><tr><td><ul><li>trialEnd</li></ul></td><td>Integer</td><td>M</td><td>Count of trial end</td></tr><tr><td><ul><li>type</li></ul></td><td>String</td><td>M</td><td>Type of Trial scheme:<br>1. FREE<br>2. FIXED<br>3. PERCENTAGE</td></tr><tr><td><ul><li>percentage</li></ul></td><td>Number</td><td>C</td><td>Mandatory for <mark style="color:orange;"><code>trials.type</code></mark> = PERCENTAGE<br><br>Maximum value is 100</td></tr><tr><td><ul><li>amount</li></ul></td><td>Number</td><td>C</td><td>Mandatory for <mark style="color:orange;"><code>trials.type</code></mark> = FIXED<br><br>Maximum value is not greater than <mark style="color:orange;"><code>amount.value</code></mark></td></tr><tr><td>billingInterval</td><td>Integer</td><td>M</td><td>Count of Billing Interval</td></tr><tr><td>billingIntervalUnit</td><td>String</td><td>M</td><td>Billing Interval Unit : <br>1. DAY<br>2. MONTH<br>3. YEAR</td></tr><tr><td>endDate</td><td>String</td><td>M</td><td>Recurring End Date with format YYYY-MM-DDTHH:MM:SSZ</td></tr><tr><td>firstAuthorization</td><td>String</td><td>M</td><td>First Authorization method: <br>1. FIRST_PAYMENT<br>2. ONE_DOLLAR<br><br><mark style="color:orange;"><code>FIRST_PAYMENT</code></mark> = Authorized Amount based on the Billing Amount and Trials Program<br><br><mark style="color:orange;"><code>ONE_DOLLAR</code></mark> = Authorized Amount value is IDR 10.000, then Pivot will void the transaction to card owner limit</td></tr><tr><td>customerId</td><td>String</td><td>C</td><td>Unique Customer Reference, Mandatory for existing Customer</td></tr><tr><td>customer</td><td>Object</td><td>C</td><td>Customer information, Mandatory for new customer<br><a data-mention href="/pivot-docs/api-references/api-lists/core-resources/customers/customer-object.md">Customer Object</a></td></tr></tbody></table>

## Response

**Response Body**

```json
{
    "code": "00",
    "message": "Success",
    "data": {
        "recurringId": "019d6ca3-fe0a-7a6b-88f2-e813292ea491",
        "customerId": "019cff2f-b8ab-7b44-85e7-0c5d2d3c7a51"
    }
}
```

**Detail Parameter Response**&#x20;

<table><thead><tr><th width="197.9619140625">Parameter</th><th width="114.29296875">Data Type</th><th width="138.7783203125">Requirement</th><th>Description</th></tr></thead><tbody><tr><td>recurringId</td><td>String</td><td>M</td><td>Unique Recurring Reference</td></tr><tr><td>customerId</td><td>String</td><td>M</td><td>Unique Customer Reference</td></tr></tbody></table>
