> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://beta-docs.payabli.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://beta-docs.payabli.com/_mcp/server.

# Update template

PUT https://api-sandbox.payabli.com/api/Templates/{templateId}
Content-Type: application/json

Updates a boarding template by ID.

Reference: https://beta-docs.payabli.com/api-reference/templates/update-boarding-template

## Authentication

- `requestToken` header (required) — API Key authentication via header

## Servers

- `https://api-sandbox.payabli.com/api` (Sandbox, default)
- `https://api.payabli.com/api` (Production)

## Request

### Path parameters

- `templateId` (double, required) — The boarding template ID. Can be found at the end of the boarding template URL in PartnerHub. Example: `https://partner-sandbox.payabli.com/myorganization/boarding/edittemplate/80`. Here, the template ID is `80`.

### Body (application/json)

This endpoint expects a TemplateData.

- `orgId` (long, optional) — The ID of the organization the template belongs to.
- `pricingId` (long, optional)
- `templateCode` (string, optional) — The internal code for the template.
- `templateContent` (TemplateContent, optional)
- `templateDescription` (string, optional) — A description for the template.
- `templateName` (string, optional) — The template name.

## Response

### 200

Success

- `isSuccess` (boolean, optional) — Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure.
- `pageIdentifier` (string, optional) — Auxiliary validation used internally by payment pages and components.
- `responseCode` (integer, optional) — Code for the response. Learn more in [API Response Codes](/api-reference/api-responses).
- `responseData` (Responsedatanonobject, optional) — When the operation is successful, contains the template's ID.
- `responseText` (string, optional) — Response text for operation: 'Success' or 'Declined'.

## Errors

### 400 Bad Request Error

Bad request/ invalid data

- `any`

### 401 Unauthorized Error

Unauthorized request.

- `any`

### 500 Internal Server Error

Internal API Error

- `any`

### 503 Service Unavailable Error

Database connection error

- `isSuccess` (boolean, optional) — Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure.
- `responseData` (map from string to any, optional) — The object containing the response data.
- `responseText` (string, optional) — Response text for operation: 'Success' or 'Declined'.

## Types

### TemplateContent

- `businessData` (BusinessSection, optional) — Details about a business.
- `documentsData` (DocumentSection, optional)
- `ownershipData` (OwnersSection, optional) — Information about a business owner.
- `processingData` (ProcessingSection, optional)
- `salesData` (SalesSection, optional)
- `servicesData` (ServicesSection, optional) — Details about pricing and payment services for a business.
- `underwritingData` (UnderwritingData, optional) — Underwriting data is used to manage risk orchestration in the boarding application lifecycle.

### Responsedatanonobject

The response data.

### BusinessSection

Details about a business.

- `baddress` (TemplateElement, optional)
- `baddress1` (TemplateElement, optional)
- `bcity` (TemplateElement, optional)
- `bcountry` (TemplateElement, optional)
- `bstate` (TemplateElement, optional)
- `btype` (TemplateElement, optional)
- `bzip` (TemplateElement, optional)
- `dbaname` (TemplateElement, optional)
- `ein` (TemplateElement, optional)
- `faxnumber` (TemplateElement, optional)
- `legalname` (TemplateElement, optional)
- `license` (TemplateElement, optional)
- `licstate` (TemplateElement, optional)
- `maddress` (TemplateElement, optional)
- `maddress1` (TemplateElement, optional)
- `mcity` (TemplateElement, optional)
- `mcountry` (TemplateElement, optional)
- `mstate` (TemplateElement, optional)
- `mzip` (TemplateElement, optional)
- `phonenumber` (TemplateElement, optional)
- `startdate` (TemplateElement, optional)
- `taxfillname` (TemplateElement, optional)
- `visible` (boolean, optional) — When `true`, makes the section visible on the application.
- `website` (TemplateElement, optional)

### DocumentSection

- `depositBank` (BankSection, optional) — Details about a bank account.
- `minimumDocuments` (integer, optional) — The minimum number of documents the applicant must upload with the application.
- `subFooter` (string, optional)
- `subHeader` (string, optional)
- `termsAndConditions` (DocumentSectionTermsAndConditions, optional)
- `uploadDocuments` (boolean, optional) — When `true`, allows the applicant to upload documents to the application.
- `visible` (boolean, optional) — When `true`, makes the section visible on the application.
- `withdrawalBank` (BankSection, optional) — Details about a bank account.

### OwnersSection

Information about a business owner.

- `contactEmail` (TemplateElement, optional)
- `contactName` (TemplateElement, optional)
- `contactPhone` (TemplateElement, optional)
- `contactTitle` (TemplateElement, optional)
- `multipleContacts` (boolean, optional) — Offer add more contacts
- `multipleOwners` (boolean, optional) — offer add more owners
- `oaddress` (TemplateElement, optional)
- `ocity` (TemplateElement, optional)
- `ocountry` (TemplateElement, optional)
- `odriverstate` (TemplateElement, optional)
- `ostate` (TemplateElement, optional)
- `ownerdob` (TemplateElement, optional)
- `ownerdriver` (TemplateElement, optional)
- `owneremail` (TemplateElement, optional)
- `ownername` (TemplateElement, optional)
- `ownerpercent` (TemplateElement, optional)
- `ownerphone1` (TemplateElement, optional)
- `ownerphone2` (TemplateElement, optional)
- `ownerssn` (TemplateElement, optional)
- `ownertitle` (TemplateElement, optional)
- `ozip` (TemplateElement, optional)
- `subFooter` (string, optional)
- `subHeader` (string, optional)
- `visible` (boolean, optional) — When `true`, makes the section visible on the application.

### ProcessingSection

- `avgmonthly` (TemplateElement, optional)
- `binperson` (TemplateElement, optional)
- `binphone` (TemplateElement, optional)
- `binweb` (TemplateElement, optional)
- `bsummary` (TemplateElement, optional)
- `highticketamt` (TemplateElement, optional)
- `mcc` (TemplateElement, optional)
- `subFooter` (string, optional)
- `subHeader` (string, optional)
- `ticketamt` (TemplateElement, optional)
- `visible` (boolean, optional) — When `true`, makes the section visible on the application.
- `whenCharged` (TemplateElement, optional)
- `whenDelivered` (TemplateElement, optional)
- `whenProvided` (TemplateElement, optional)
- `whenRefunded` (TemplateElement, optional)

### SalesSection

- `salesCode` (string, optional)
- `salesCRM` (string, optional)

### ServicesSection

Details about pricing and payment services for a business.

- `ach` (AchService, optional)
- `card` (CardService, optional)
- `subFooter` (string, optional)
- `subHeader` (string, optional)
- `visible` (boolean, optional) — When `true`, makes the section visible on the application.

### UnderwritingData

Underwriting data is used to manage risk orchestration in the boarding application lifecycle.

- `method` (enum, required) — This field controls which method is used to handle risk orchestration. - `automatic`: Sends the application through the automatic underwriting workflow using the provided `policyId`. - `manual`: Puts the application into the pending review status. An analyst must manually change it's final status to approved or declined. - `bypass`: The application won't go through Payabli's review, and proceeds directly to boarding products and services.
  - Allowed values: `automatic`, `manual`, `bypass`
- `policyId` (string, optional) — Used to identify the risk workflow used to review this account. Policy IDs must be created before using automatic underwriting, and is **required** when `method` is `automatic`.

### TemplateElement

- `posCol` (integer, optional) — The element's column position.
- `posRow` (integer, optional) — The element's row position.
- `readOnly` (boolean, optional) — When `true`, the element is read-only.
- `value` (string, optional)
- `visible` (boolean, optional) — When `true`, makes the section visible on the application.

### BankSection

Details about a bank account.

- `accountNumber` (TemplateElement, optional)
- `accountType` (TemplateElement, optional)
- `bankName` (TemplateElement, optional)
- `routingNumber` (TemplateElement, optional)
- `visible` (boolean, optional) — When `true`, makes the section visible on the application.

### DocumentSectionTermsAndConditions

- `tcLinks` (list of DocumentSectionTermsAndConditionsTcLinksItem, optional)
- `visible` (boolean, optional) — When `true`, makes the section visible on the application.

### AchService

- `achAbsorb` (AchAbsorbSection, optional)
- `achAbsorb_highPayRange` (TemplateElement, optional)
- `achAbsorb_lowPayRange` (TemplateElement, optional)
- `achAcceptance` (AchAcceptanceElement, optional)
- `achFees` (AchFeeSection, optional)
- `achPass_highPayRange` (TemplateElement, optional)
- `achPass_lowPayRange` (TemplateElement, optional)
- `achPassThrough` (AchPassThroughSection, optional)
- `batchCutoffTime` (TemplateElement, optional) — Controls how to present the `batchCutoffTime` field on the application. If this field is not sent, batch cut off time defaults to 5 ET.
- `discountFrequency` (TemplateElement, optional)
- `fundingRollup` (TemplateElement, optional)
- `gateway` (TemplateElement, optional)
- `pdfTemplateId` (TemplateElement, optional)
- `pricingPlan` (long, optional)
- `pricingType` (TemplateElement, optional)
- `processor` (TemplateElement, optional)
- `provider` (TemplateElement, optional)
- `tierName` (TemplateElement, optional)
- `visible` (boolean, optional) — When `true`, makes the section visible on the application.

### CardService

- `batchCutoffTime` (TemplateElement, optional) — Controls how to present the `batchCutoffTime` field on the application. If this field is not sent, batch cut off time defaults to 5 ET.
- `cardAcceptance` (CardAcceptanceElement, optional)
- `cardFees` (CardFeeSection, optional)
- `cardFlat` (CardFlatSection, optional)
- `cardFlat_amountxAuth` (TemplateElement, optional)
- `cardFlat_highPayRange` (TemplateElement, optional)
- `cardFlat_lowPayRange` (TemplateElement, optional)
- `cardFlat_percentxAuth` (TemplateElement, optional)
- `cardICP` (CardIcpSection, optional)
- `cardICP_amountxAuth` (TemplateElement, optional)
- `cardICP_highPayRange` (TemplateElement, optional)
- `cardICP_lowPayRange` (TemplateElement, optional)
- `cardICP_percentxAuth` (TemplateElement, optional)
- `cardPassThrough` (CardPassThroughSection, optional)
- `cardPassThrough_amountRecurring` (TemplateElement, optional)
- `cardPassThrough_amountxAuth` (TemplateElement, optional)
- `cardPassThrough_highPayRange` (TemplateElement, optional)
- `cardPassThrough_lowPayRange` (TemplateElement, optional)
- `cardPassThrough_percentRecurring` (TemplateElement, optional)
- `cardPassThrough_percentxAuth` (TemplateElement, optional)
- `discountFrequency` (TemplateElement, optional)
- `fundingRollup` (TemplateElement, optional)
- `gateway` (TemplateElement, optional)
- `passThroughCost` (TemplateElement, optional)
- `pdfTemplateId` (TemplateElement, optional)
- `pricingPlan` (long, optional)
- `pricingType` (TemplateElement, optional)
- `processor` (TemplateElement, optional)
- `provider` (TemplateElement, optional)
- `tierName` (TemplateElement, optional)
- `visible` (boolean, optional) — When `true`, makes the section visible on the application.

### DocumentSectionTermsAndConditionsTcLinksItem

- `label` (string, optional)
- `value` (string, optional)

### AchAbsorbSection

- `multiTier` (boolean, optional)
- `tiers` (list of AchTypesTiers, optional)
- `visible` (boolean, optional) — When `true`, makes the section visible on the application.

### AchAcceptanceElement

- `types` (AchTypes, optional)
- `posCol` (integer, optional) — The element's column position.
- `posRow` (integer, optional) — The element's row position.
- `readOnly` (boolean, optional) — When `true`, the element is read-only.
- `value` (string, optional)
- `visible` (boolean, optional) — When `true`, makes the section visible on the application.

### AchFeeSection

- `advancedSettlementAchFee` (TemplateElement, optional)
- `annualAchFee` (TemplateElement, optional)
- `chargebackAchFee` (TemplateElement, optional)
- `earlyTerminationAchFee` (TemplateElement, optional)
- `monthlyAchFee` (TemplateElement, optional)
- `quarterlyPCIAchFee` (TemplateElement, optional)
- `returnedAchFee` (TemplateElement, optional)
- `sameDayAchFee` (TemplateElement, optional)
- `sundayOriginationAchFee` (TemplateElement, optional)
- `verifyBankAchFee` (TemplateElement, optional)
- `verifyFundAchFee` (TemplateElement, optional)
- `verifyNegativeAchFee` (TemplateElement, optional)
- `visible` (boolean, optional) — When `true`, makes the section visible on the application.

### AchPassThroughSection

- `multiTier` (boolean, optional)
- `tiers` (list of AchTypesPass, optional)
- `visible` (boolean, optional) — When `true`, makes the section visible on the application.

### CardAcceptanceElement

- `types` (CardTypes, optional)
- `posCol` (integer, optional) — The element's column position.
- `posRow` (integer, optional) — The element's row position.
- `readOnly` (boolean, optional) — When `true`, the element is read-only.
- `value` (string, optional)
- `visible` (boolean, optional) — When `true`, makes the section visible on the application.

### CardFeeSection

- `achBatchCardFee` (TemplateElement, optional)
- `annualCardFee` (TemplateElement, optional)
- `avsCardFee` (TemplateElement, optional)
- `chargebackCardFee` (TemplateElement, optional)
- `ddaRejectsCardFee` (TemplateElement, optional)
- `earlyTerminationCardFee` (TemplateElement, optional)
- `minimumProcessingCardFee` (TemplateElement, optional)
- `monthlyPCICardFee` (TemplateElement, optional)
- `montlyPlatformCardFee` (TemplateElement, optional)
- `retrievalCardFee` (TemplateElement, optional)
- `transactionCardFee` (TemplateElement, optional)
- `visible` (boolean, optional) — When `true`, makes the section visible on the application.

### CardFlatSection

- `tiers` (list of CardType, optional)
- `visible` (boolean, optional) — When `true`, makes the section visible on the application.

### CardIcpSection

- `tiers` (list of CardType, optional)
- `visible` (boolean, optional) — When `true`, makes the section visible on the application.

### CardPassThroughSection

- `multiTier` (boolean, optional)
- `tiers` (list of CardTypePass, optional)
- `visible` (boolean, optional) — When `true`, makes the section visible on the application.

### AchTypesTiers

- `ccd` (TierItem, optional)
- `ppd` (TierItem, optional)
- `web` (TierItem, optional)

### AchTypes

- `ccd` (BasicTemplateElement, optional)
- `ppd` (BasicTemplateElement, optional)
- `web` (BasicTemplateElement, optional)

### AchTypesPass

- `ccd` (TierItemPass, optional)
- `ppd` (TierItemPass, optional)
- `web` (TierItemPass, optional)

### CardTypes

- `amex` (BasicTemplateElement, optional)
- `discover` (BasicTemplateElement, optional)
- `masterCard` (BasicTemplateElement, optional)
- `visa` (BasicTemplateElement, optional)

### CardType

- `amex` (TierItem, optional)
- `discover` (TierItem, optional)
- `masterCard` (TierItem, optional)
- `visa` (TierItem, optional)

### CardTypePass

- `amex` (TierItemPass, optional)
- `discover` (TierItemPass, optional)
- `masterCard` (TierItemPass, optional)
- `visa` (TierItemPass, optional)

### TierItem

- `amountxAuth` (double, optional)
- `highPayRange` (double, optional)
- `lowPayRange` (double, optional)
- `percentxAuth` (double, optional)

### BasicTemplateElement

- `readOnly` (boolean, optional) — When `true`, the element is read-only.
- `required` (boolean, optional) — When `true`, the element is required.
- `visible` (boolean, optional) — When `true`, makes the section visible on the application.

### TierItemPass

- `amountFeeone-time` (double, optional)
- `amountFeeRecurring` (double, optional)
- `highPayRange` (double, optional)
- `lowPayRange` (double, optional)
- `percentFeeone-time` (double, optional)
- `percentFeeRecurring` (double, optional)

## Examples

**Request**

```json
{}
```

**Response**

```json
{
  "isSuccess": true,
  "responseCode": 1,
  "responseData": 3625,
  "responseText": "Success"
}
```

**SDK Code**

```python General success response example for template operations.
import requests

url = "https://api-sandbox.payabli.com/api/Templates/80"

payload = {}
headers = {
    "requestToken": "<apiKey>",
    "Content-Type": "application/json"
}

response = requests.put(url, json=payload, headers=headers)

print(response.json())
```

```javascript General success response example for template operations.
const url = 'https://api-sandbox.payabli.com/api/Templates/80';
const options = {
  method: 'PUT',
  headers: {requestToken: '<apiKey>', 'Content-Type': 'application/json'},
  body: '{}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go General success response example for template operations.
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api-sandbox.payabli.com/api/Templates/80"

	payload := strings.NewReader("{}")

	req, _ := http.NewRequest("PUT", url, payload)

	req.Header.Add("requestToken", "<apiKey>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby General success response example for template operations.
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.payabli.com/api/Templates/80")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)
request["requestToken"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "{}"

response = http.request(request)
puts response.read_body
```

```java General success response example for template operations.
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.put("https://api-sandbox.payabli.com/api/Templates/80")
  .header("requestToken", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{}")
  .asString();
```

```php General success response example for template operations.
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('PUT', 'https://api-sandbox.payabli.com/api/Templates/80', [
  'body' => '{}',
  'headers' => [
    'Content-Type' => 'application/json',
    'requestToken' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp General success response example for template operations.
using RestSharp;

var client = new RestClient("https://api-sandbox.payabli.com/api/Templates/80");
var request = new RestRequest(Method.PUT);
request.AddHeader("requestToken", "<apiKey>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift General success response example for template operations.
import Foundation

let headers = [
  "requestToken": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = [] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Templates/80")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```