List templates
curl --request GET \
--url https://my.flowsign.app/api/v1/templates \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://my.flowsign.app/api/v1/templates', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://my.flowsign.app/api/v1/templates', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://my.flowsign.app/api/v1/templates';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));import requests
url = "https://my.flowsign.app/api/v1/templates"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)using RestSharp;
var options = new RestClientOptions("https://my.flowsign.app/api/v1/templates");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
using RestSharp;
var options = new RestClientOptions("https://my.flowsign.app/api/v1/templates");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
$headers=@{}
$headers.Add("Authorization", "Bearer <token>")
$response = Invoke-WebRequest -Uri 'https://my.flowsign.app/api/v1/templates' -Method GET -Headers $headers{
"data": {
"templates": [
{
"id": "kX9dQ2mB7pLw",
"name": "Employment agreement",
"description": "Standard individual employment agreement for new hires.",
"status": "ACTIVE",
"tags": [
"HR",
"Onboarding"
],
"roles": [
{
"id": "cmg3k2v8a0001s7p4d9x1qz2h",
"name": "Employee",
"actionType": "SIGNER",
"order": 0
}
],
"documentsCount": 2,
"fieldsCount": 7,
"createdAt": "2026-09-14T02:15:30.000Z",
"updatedAt": "2026-09-21T23:48:05.000Z"
}
],
"totalCount": 12,
"page": 1,
"pageSize": 25
}
}{
"error": "Missing permission: canSendPackages",
"details": {
"recipients.0.email": [
"Invalid email"
]
}
}{
"error": "Missing permission: canSendPackages",
"details": {
"recipients.0.email": [
"Invalid email"
]
}
}{
"error": "Missing permission: canSendPackages",
"details": {
"recipients.0.email": [
"Invalid email"
]
}
}{
"error": "Missing permission: canSendPackages",
"details": {
"recipients.0.email": [
"Invalid email"
]
}
}{
"error": "Missing permission: canSendPackages",
"details": {
"recipients.0.email": [
"Invalid email"
]
}
}Templates
List templates
Returns a paginated list of the workspace’s templates. Requires USE template access.
GET
https://my.flowsign.app
/
api
/
v1
/
templates
List templates
curl --request GET \
--url https://my.flowsign.app/api/v1/templates \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://my.flowsign.app/api/v1/templates', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://my.flowsign.app/api/v1/templates', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://my.flowsign.app/api/v1/templates';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));import requests
url = "https://my.flowsign.app/api/v1/templates"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)using RestSharp;
var options = new RestClientOptions("https://my.flowsign.app/api/v1/templates");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
using RestSharp;
var options = new RestClientOptions("https://my.flowsign.app/api/v1/templates");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
$headers=@{}
$headers.Add("Authorization", "Bearer <token>")
$response = Invoke-WebRequest -Uri 'https://my.flowsign.app/api/v1/templates' -Method GET -Headers $headers{
"data": {
"templates": [
{
"id": "kX9dQ2mB7pLw",
"name": "Employment agreement",
"description": "Standard individual employment agreement for new hires.",
"status": "ACTIVE",
"tags": [
"HR",
"Onboarding"
],
"roles": [
{
"id": "cmg3k2v8a0001s7p4d9x1qz2h",
"name": "Employee",
"actionType": "SIGNER",
"order": 0
}
],
"documentsCount": 2,
"fieldsCount": 7,
"createdAt": "2026-09-14T02:15:30.000Z",
"updatedAt": "2026-09-21T23:48:05.000Z"
}
],
"totalCount": 12,
"page": 1,
"pageSize": 25
}
}{
"error": "Missing permission: canSendPackages",
"details": {
"recipients.0.email": [
"Invalid email"
]
}
}{
"error": "Missing permission: canSendPackages",
"details": {
"recipients.0.email": [
"Invalid email"
]
}
}{
"error": "Missing permission: canSendPackages",
"details": {
"recipients.0.email": [
"Invalid email"
]
}
}{
"error": "Missing permission: canSendPackages",
"details": {
"recipients.0.email": [
"Invalid email"
]
}
}{
"error": "Missing permission: canSendPackages",
"details": {
"recipients.0.email": [
"Invalid email"
]
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
The workspace the key was issued for, as returned by GET /api/v1/workspaces. Optional: omitting it acts in the key's workspace, and any other id is rejected with 401.
Query Parameters
Only templates in this lifecycle state: DRAFT, ACTIVE or ARCHIVED. all, or omitting the parameter, returns every state.
Available options:
DRAFT, ACTIVE, ARCHIVED Example:
"ACTIVE"
One-based page number.
Required range:
x >= 1Example:
1
Templates per page, 1 to 100.
Required range:
1 <= x <= 100Example:
25
Response
Success
Show child attributes
Show child attributes
Was this page helpful?

