Example Try it
Code language cURL Node.js Python C# Java PHP
Request
curl -X POST "https://api.parasend.com/v1/reminder_policies/rpol_01M6R27T5NK3830GCN9QPS9M95/duplicate" \
-H "Authorization: Bearer $PARASEND_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"name" : "Payment reminders (copy)"
}'const res = await fetch('https://api.parasend.com/v1/reminder_policies/rpol_01M6R27T5NK3830GCN9QPS9M95/duplicate' , {
method: 'POST' ,
headers: {
Authorization: `Bearer ${process.env.PARASEND_KEY}` ,
'Idempotency-Key' : crypto.randomUUID(),
'Content-Type' : 'application/json' ,
},
body: JSON.stringify({
name: 'Payment reminders (copy)' ,
}),
});
const data = await res.json();import os, requests, uuid
res = requests.post(
"https://api.parasend.com/v1/reminder_policies/rpol_01M6R27T5NK3830GCN9QPS9M95/duplicate" ,
headers={
"Authorization" : f"Bearer {os.environ['PARASEND_KEY']}" ,
"Idempotency-Key" : str(uuid.uuid4()),
},
json={
"name" : "Payment reminders (copy)" ,
},
)
data = res.json()using var http = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://api.parasend.com/v1/reminder_policies/rpol_01M6R27T5NK3830GCN9QPS9M95/duplicate" );
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer" , Environment.GetEnvironmentVariable("PARASEND_KEY" ));
request.Headers.Add("Idempotency-Key" , Guid.NewGuid().ToString());
request.Content = new StringContent("" "
{
"name" : "Payment reminders (copy)"
}
"" ", Encoding.UTF8, " application/json");
var response = await http.SendAsync(request);
var body = await response.Content.ReadAsStringAsync();var json = "" "
{
"name" : "Payment reminders (copy)"
}
"" ";
var request = HttpRequest.newBuilder(URI.create("https://api.parasend.com/v1/reminder_policies/rpol_01M6R27T5NK3830GCN9QPS9M95/duplicate" ))
.header("Authorization" , "Bearer " + System.getenv("PARASEND_KEY" ))
.header("Idempotency-Key" , UUID.randomUUID().toString())
.header("Content-Type" , "application/json" )
.method("POST" , HttpRequest.BodyPublishers.ofString(json))
.build();
var response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());$client = new GuzzleHttp\Client();
$response = $client->request('POST' , 'https://api.parasend.com/v1/reminder_policies/rpol_01M6R27T5NK3830GCN9QPS9M95/duplicate' , [
'headers' => [
'Authorization' => 'Bearer ' . getenv('PARASEND_KEY' ),
'Idempotency-Key' => bin2hex(random_bytes(16 )),
],
'json' => [
'name' => 'Payment reminders (copy)' ,
],
]);
$data = json_decode($response->getBody(), true );
Response · 201
{
"id" : "rpol_01M6R27T6BE940MSE8J194NJCE" ,
"object" : "reminder_policy" ,
"name" : "Payment reminders (copy)" ,
"system" : false ,
"version" : 1 ,
"version_id" : "rpv_01M6R27T6BDH6TZ8MQ7GP501C8" ,
"steps" : [
{
"channel" : "email" ,
"after_days" : 3 ,
"conditions" : [
"not_delivered"
],
"available" : true
},
{
"channel" : "email" ,
"message" : {
"preset" : "firmer"
},
"after_days" : 7 ,
"conditions" : [
"not_delivered"
],
"available" : true
},
{
"channel" : "sms" ,
"after_days" : 14 ,
"conditions" : [
"not_delivered"
],
"available" : true
}
],
"stop_on" : "confirmed" ,
"customized" : false ,
"is_account_default" : false ,
"in_use_by_batches" : 0 ,
"in_use_by_deliveries" : 0 ,
"created_at" : "2026-11-06T09:15:05.802Z" ,
"updated_at" : "2026-11-06T09:15:05.802Z" ,
"archived_at" : null
}