Get package
curl --request GET \
--url https://my.flowsign.app/api/v1/packages/{packageId} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://my.flowsign.app/api/v1/packages/{packageId}', 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/packages/{packageId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://my.flowsign.app/api/v1/packages/{packageId}';
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/packages/{packageId}"
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/packages/{packageId}");
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/packages/{packageId}");
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/packages/{packageId}' -Method GET -Headers $headers{
"data": {
"id": "cmg4v8q2k0001s7xh3b9d2f6a",
"title": "Employment agreement for Jane Ahu",
"status": "IN_PROGRESS",
"description": "Package with 1 document",
"recipients": [
{
"id": "cmg4v8q2k0002s7xh6k4m1p9c",
"name": "Jane Ahu",
"email": "jane.ahu@example.co.nz",
"action": "Sign",
"actionType": "SIGNER",
"delivery": "EMAIL",
"roleName": "Employee",
"delay": 60
}
],
"emailSubject": "Please sign your employment agreement",
"emailMessage": "Kia ora Jane, please review and sign before your start date. Tom",
"signingMode": "SEQUENTIAL",
"tags": [
"HR",
"Onboarding"
],
"scheduledAt": "2026-10-01T20:00:00.000Z",
"externalId": "crm-deal-48213",
"documents": [
{
"id": "cmg4v8q2k0003s7xhq1w8n5r7",
"title": "Employment agreement",
"pageCount": 4
}
],
"recipientSessions": [
{
"id": "cmg4v9d3m0005s7xh2t7y4u8w",
"recipientId": "cmg4v8q2k0002s7xh6k4m1p9c",
"recipientName": "Jane Ahu",
"recipientEmail": "jane.ahu@example.co.nz",
"status": "ACTIVE",
"order": 0,
"sentAt": "2026-09-21T02:15:00.000Z",
"openedAt": "2026-09-21T19:02:44.000Z",
"completedAt": "2026-09-21T19:11:30.000Z",
"declinedAt": null,
"declineReason": null
}
],
"auditEvents": [
{
"id": "cmg4v9d3m0009s7xhj4l6n2q0",
"eventType": "package_sent",
"actorEmail": "tom.rangi@studiophoenix.co.nz",
"recipientSessionId": null,
"createdAt": "2026-09-21T02:15:00.000Z",
"metadata": {
"recipientCount": 2
}
}
],
"auditEventCount": 7,
"createdAt": "2026-09-21T02:14:07.000Z",
"updatedAt": "2026-09-24T21:40:12.000Z",
"expiresAt": "2026-10-21T02:14:07.000Z",
"reminderIntervalDays": 3,
"expirationDays": 30,
"expiryWarningDays": 5,
"completedAt": "2026-09-24T21:40:12.000Z",
"voidReason": null,
"templateId": "K7dQm2xPz9Lw",
"metadata": {
"cost_centre": "CC-4410",
"region": "Auckland"
}
}
}{
"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"
]
}
}{
"error": "Missing permission: canSendPackages",
"details": {
"recipients.0.email": [
"Invalid email"
]
}
}Packages
Get package
Returns the package with its recipients, documents, signing sessions, custom field values and newest 100 audit events.
GET
https://my.flowsign.app
/
api
/
v1
/
packages
/
{packageId}
Get package
curl --request GET \
--url https://my.flowsign.app/api/v1/packages/{packageId} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://my.flowsign.app/api/v1/packages/{packageId}', 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/packages/{packageId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://my.flowsign.app/api/v1/packages/{packageId}';
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/packages/{packageId}"
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/packages/{packageId}");
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/packages/{packageId}");
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/packages/{packageId}' -Method GET -Headers $headers{
"data": {
"id": "cmg4v8q2k0001s7xh3b9d2f6a",
"title": "Employment agreement for Jane Ahu",
"status": "IN_PROGRESS",
"description": "Package with 1 document",
"recipients": [
{
"id": "cmg4v8q2k0002s7xh6k4m1p9c",
"name": "Jane Ahu",
"email": "jane.ahu@example.co.nz",
"action": "Sign",
"actionType": "SIGNER",
"delivery": "EMAIL",
"roleName": "Employee",
"delay": 60
}
],
"emailSubject": "Please sign your employment agreement",
"emailMessage": "Kia ora Jane, please review and sign before your start date. Tom",
"signingMode": "SEQUENTIAL",
"tags": [
"HR",
"Onboarding"
],
"scheduledAt": "2026-10-01T20:00:00.000Z",
"externalId": "crm-deal-48213",
"documents": [
{
"id": "cmg4v8q2k0003s7xhq1w8n5r7",
"title": "Employment agreement",
"pageCount": 4
}
],
"recipientSessions": [
{
"id": "cmg4v9d3m0005s7xh2t7y4u8w",
"recipientId": "cmg4v8q2k0002s7xh6k4m1p9c",
"recipientName": "Jane Ahu",
"recipientEmail": "jane.ahu@example.co.nz",
"status": "ACTIVE",
"order": 0,
"sentAt": "2026-09-21T02:15:00.000Z",
"openedAt": "2026-09-21T19:02:44.000Z",
"completedAt": "2026-09-21T19:11:30.000Z",
"declinedAt": null,
"declineReason": null
}
],
"auditEvents": [
{
"id": "cmg4v9d3m0009s7xhj4l6n2q0",
"eventType": "package_sent",
"actorEmail": "tom.rangi@studiophoenix.co.nz",
"recipientSessionId": null,
"createdAt": "2026-09-21T02:15:00.000Z",
"metadata": {
"recipientCount": 2
}
}
],
"auditEventCount": 7,
"createdAt": "2026-09-21T02:14:07.000Z",
"updatedAt": "2026-09-24T21:40:12.000Z",
"expiresAt": "2026-10-21T02:14:07.000Z",
"reminderIntervalDays": 3,
"expirationDays": 30,
"expiryWarningDays": 5,
"completedAt": "2026-09-24T21:40:12.000Z",
"voidReason": null,
"templateId": "K7dQm2xPz9Lw",
"metadata": {
"cost_centre": "CC-4410",
"region": "Auckland"
}
}
}{
"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"
]
}
}{
"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.
Path Parameters
Response
Success
Show child attributes
Show child attributes
Was this page helpful?

