# create-template - TEXT

**POST** `/api/v1/create-template`

Product: [RCS](https://devdocs.1spoc.com/docs/rcs.md)  
Version: [1.0](https://devdocs.1spoc.com/docs/rcs/1-0.md)  
Category: **TEMPLATES**  
Lifecycle: **active**

## Request overview

Full URL: `https://api.example.com/rcs/api/v1/create-template`

Method: `POST`

Content type: `application/json`

## Authentication

This endpoint does not require authentication.

## Parameters

### Path parameters

None.

### Query parameters

None.

### Request body fields

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `botId` | string | No | Request value for botId. |
| `templateName` | string | No | Request value for templateName. |
| `templateType` | string | No | Request value for templateType. |
| `botMessageType` | string | No | Request value for botMessageType. |
| `textMessageDetails` | object | No | Request value for textMessageDetails. |
| `isSMSFallbackRequired` | boolean | No | Request value for isSMSFallbackRequired. |

## Request schema


```json
{
  "type": "object",
  "properties": {
    "botId": {
      "type": "string"
    },
    "templateName": {
      "type": "string"
    },
    "templateType": {
      "type": "string"
    },
    "botMessageType": {
      "type": "string"
    },
    "textMessageDetails": {
      "type": "object",
      "properties": {
        "messageContent": {
          "type": "string"
        },
        "suggestionsList": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "typeOfAction": {
                "type": "string"
              },
              "suggestionText": {
                "type": "string"
              },
              "suggestionPostback": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "isSMSFallbackRequired": {
      "type": "boolean"
    }
  }
}
```

## Request example


```json
{
  "botId": "68218acedb298103bc8d5931",
  "templateName": "99",
  "templateType": "text_message",
  "botMessageType": "PROMOTIONAL",
  "textMessageDetails": {
    "messageContent": "Hello [username], welcome onboard!",
    "suggestionsList": [
      {
        "typeOfAction": "reply",
        "suggestionText": "know more",
        "suggestionPostback": "know more"
      }
    ]
  },
  "isSMSFallbackRequired": false
}
```

## Response schema


```json
{}
```

## Response examples


```json
{
  "409": {
    "code": 409,
    "status": "ERROR",
    "message": "Template name already exist"
  }
}
```

## Status codes


```json
[
  {
    "code": 409,
    "description": "Conflict"
  }
]
```

## Generated integration examples

The following examples are generated from the published **POST /api/v1/create-template** contract and use placeholder credentials.

### cURL


```curl
curl --request POST 'https://api.example.com/rcs/api/v1/create-template' \
  --header 'Content-Type: application/json' \
  --data '{
  "botId": "68218acedb298103bc8d5931",
  "templateName": "99",
  "templateType": "text_message",
  "botMessageType": "PROMOTIONAL",
  "textMessageDetails": {
    "messageContent": "Hello [username], welcome onboard!",
    "suggestionsList": [
      {
        "typeOfAction": "reply",
        "suggestionText": "know more",
        "suggestionPostback": "know more"
      }
    ]
  },
  "isSMSFallbackRequired": false
}'
```

### JavaScript


```javascript
const response = await fetch('https://api.example.com/rcs/api/v1/create-template', {
  method: 'POST',
  headers: {
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "botId": "68218acedb298103bc8d5931",
    "templateName": "99",
    "templateType": "text_message",
    "botMessageType": "PROMOTIONAL",
    "textMessageDetails": {
      "messageContent": "Hello [username], welcome onboard!",
      "suggestionsList": [
        {
          "typeOfAction": "reply",
          "suggestionText": "know more",
          "suggestionPostback": "know more"
        }
      ]
    },
    "isSMSFallbackRequired": false
  })
});

if (!response.ok) throw new Error(`HTTP ${response.status}`);
const data = await response.json();
console.log(data);
```

### NodeJS


```node
const response = await fetch('https://api.example.com/rcs/api/v1/create-template', {
  method: 'POST',
  headers: {
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "botId": "68218acedb298103bc8d5931",
    "templateName": "99",
    "templateType": "text_message",
    "botMessageType": "PROMOTIONAL",
    "textMessageDetails": {
      "messageContent": "Hello [username], welcome onboard!",
      "suggestionsList": [
        {
          "typeOfAction": "reply",
          "suggestionText": "know more",
          "suggestionPostback": "know more"
        }
      ]
    },
    "isSMSFallbackRequired": false
  })
});

if (!response.ok) throw new Error(`HTTP ${response.status}`);
const data = await response.json();
console.log(data);
```

### Python


```python
import json
import requests

url = 'https://api.example.com/rcs/api/v1/create-template'
headers = {
  "Content-Type": "application/json"
}
payload = json.loads(r'''{
  "botId": "68218acedb298103bc8d5931",
  "templateName": "99",
  "templateType": "text_message",
  "botMessageType": "PROMOTIONAL",
  "textMessageDetails": {
    "messageContent": "Hello [username], welcome onboard!",
    "suggestionsList": [
      {
        "typeOfAction": "reply",
        "suggestionText": "know more",
        "suggestionPostback": "know more"
      }
    ]
  },
  "isSMSFallbackRequired": false
}''')
response = requests.post(url, headers=headers, json=payload)

response.raise_for_status()
print(response.json())
```

### Java


```java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

var client = HttpClient.newHttpClient();
String body = """
{
  "botId": "68218acedb298103bc8d5931",
  "templateName": "99",
  "templateType": "text_message",
  "botMessageType": "PROMOTIONAL",
  "textMessageDetails": {
    "messageContent": "Hello [username], welcome onboard!",
    "suggestionsList": [
      {
        "typeOfAction": "reply",
        "suggestionText": "know more",
        "suggestionPostback": "know more"
      }
    ]
  },
  "isSMSFallbackRequired": false
}
""";
var request = HttpRequest.newBuilder(URI.create("https://api.example.com/rcs/api/v1/create-template"))
    .header("Content-Type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString(body))
    .build();

var response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
```

### PHP


```php
<?php
$curl = curl_init();
$payload = '{
  "botId": "68218acedb298103bc8d5931",
  "templateName": "99",
  "templateType": "text_message",
  "botMessageType": "PROMOTIONAL",
  "textMessageDetails": {
    "messageContent": "Hello [username], welcome onboard!",
    "suggestionsList": [
      {
        "typeOfAction": "reply",
        "suggestionText": "know more",
        "suggestionPostback": "know more"
      }
    ]
  },
  "isSMSFallbackRequired": false
}';
curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.example.com/rcs/api/v1/create-template',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => ["Content-Type: application/json"],
    CURLOPT_POSTFIELDS => $payload,
]);
$response = curl_exec($curl);
if ($response === false) throw new Exception(curl_error($curl));
curl_close($curl);
echo $response;
```

### C#


```csharp
using System.Net.Http.Headers;
using System.Text;

using var client = new HttpClient();
var json = """
{
  "botId": "68218acedb298103bc8d5931",
  "templateName": "99",
  "templateType": "text_message",
  "botMessageType": "PROMOTIONAL",
  "textMessageDetails": {
    "messageContent": "Hello [username], welcome onboard!",
    "suggestionsList": [
      {
        "typeOfAction": "reply",
        "suggestionText": "know more",
        "suggestionPostback": "know more"
      }
    ]
  },
  "isSMSFallbackRequired": false
}
""";
using var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync("https://api.example.com/rcs/api/v1/create-template", content);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
```

### Go


```go
package main

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

func main() {
    request, err := http.NewRequest("POST", "https://api.example.com/rcs/api/v1/create-template", bytes.NewBufferString("{\n  \"botId\": \"68218acedb298103bc8d5931\",\n  \"templateName\": \"99\",\n  \"templateType\": \"text_message\",\n  \"botMessageType\": \"PROMOTIONAL\",\n  \"textMessageDetails\": {\n    \"messageContent\": \"Hello [username], welcome onboard!\",\n    \"suggestionsList\": [\n      {\n        \"typeOfAction\": \"reply\",\n        \"suggestionText\": \"know more\",\n        \"suggestionPostback\": \"know more\"\n      }\n    ]\n  },\n  \"isSMSFallbackRequired\": false\n}"))
    if err != nil { panic(err) }
    request.Header.Set("Content-Type", "application/json")
    request.Header.Set("Accept", "application/json")
    response, err := http.DefaultClient.Do(request)
    if err != nil { panic(err) }
    defer response.Body.Close()
    data, err := io.ReadAll(response.Body)
    if err != nil { panic(err) }
    if response.StatusCode >= 400 { panic(fmt.Sprintf("HTTP %d: %s", response.StatusCode, data)) }
    fmt.Println(string(data))
}
```

## Related resources

- [Interactive documentation page](https://devdocs.1spoc.com/docs/rcs/1-0/create-template-text)
- [Version documentation](https://devdocs.1spoc.com/docs/rcs/1-0.md)
- [OpenAPI JSON](https://devdocs.1spoc.com/docs/rcs/1-0/openapi.json)
- [OpenAPI YAML](https://devdocs.1spoc.com/docs/rcs/1-0/openapi.yaml)
- [Postman collection](https://devdocs.1spoc.com/postman/rcs/1-0/collection.json)
- [Postman environment](https://devdocs.1spoc.com/postman/rcs/1-0/environment.json)
- [MCP setup](https://devdocs.1spoc.com/mcp-setup)
- [AI documentation index](https://devdocs.1spoc.com/llms.txt)
- [Complete AI documentation](https://devdocs.1spoc.com/llms-full.txt)
- [Node.js SDK](https://devdocs.1spoc.com/sdk/rcs/1-0/node.zip)
- [Python SDK](https://devdocs.1spoc.com/sdk/rcs/1-0/python.zip)
- [Java SDK](https://devdocs.1spoc.com/sdk/rcs/1-0/java.zip)

## Guidance for AI assistants

Treat this document and its linked OpenAPI contract as the source of truth for **POST /api/v1/create-template**.

- Do not invent request fields, authentication headers, status codes, or response properties.
- Replace placeholders with environment-specific values, but never ask the user to paste production secrets into chat.
- Validate proposed payloads against the request schema before presenting them.
- Explain which values are required and identify assumptions clearly.
- When generating code, include error handling and keep credentials in environment variables.
- Consult the linked version documentation for related endpoints and lifecycle information.
