Create report
curl --request POST \
--url https://staging.api.us.aptlydone.com/report/v1/report \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"reportName": "Bosco, Gleichner and Flatley Status Report",
"reportType": "DECISIONS",
"status": "PUBLISHED",
"ownerId": "bde4985e-5443-4531-a3f5-0f18beabe94a",
"description": "Subseco et crinis officiis tonsor.",
"tenantId": "ef9e434e-bf78-41ae-bf80-7d6b77eb0738",
"currentTab": "Sharing",
"reportColumns": [
{
"columnName": "sourceType",
"order": 1
}
],
"reportFilters": [
{
"filterKey": "sectionId",
"filterValue": "{\"ids\": [\"12345\"]}"
}
]
}
'import requests
url = "https://staging.api.us.aptlydone.com/report/v1/report"
payload = {
"reportName": "Bosco, Gleichner and Flatley Status Report",
"reportType": "DECISIONS",
"status": "PUBLISHED",
"ownerId": "bde4985e-5443-4531-a3f5-0f18beabe94a",
"description": "Subseco et crinis officiis tonsor.",
"tenantId": "ef9e434e-bf78-41ae-bf80-7d6b77eb0738",
"currentTab": "Sharing",
"reportColumns": [
{
"columnName": "sourceType",
"order": 1
}
],
"reportFilters": [
{
"filterKey": "sectionId",
"filterValue": "{\"ids\": [\"12345\"]}"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
reportName: 'Bosco, Gleichner and Flatley Status Report',
reportType: 'DECISIONS',
status: 'PUBLISHED',
ownerId: 'bde4985e-5443-4531-a3f5-0f18beabe94a',
description: 'Subseco et crinis officiis tonsor.',
tenantId: 'ef9e434e-bf78-41ae-bf80-7d6b77eb0738',
currentTab: 'Sharing',
reportColumns: [{columnName: 'sourceType', order: 1}],
reportFilters: [{filterKey: 'sectionId', filterValue: '{"ids": ["12345"]}'}]
})
};
fetch('https://staging.api.us.aptlydone.com/report/v1/report', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://staging.api.us.aptlydone.com/report/v1/report",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'reportName' => 'Bosco, Gleichner and Flatley Status Report',
'reportType' => 'DECISIONS',
'status' => 'PUBLISHED',
'ownerId' => 'bde4985e-5443-4531-a3f5-0f18beabe94a',
'description' => 'Subseco et crinis officiis tonsor.',
'tenantId' => 'ef9e434e-bf78-41ae-bf80-7d6b77eb0738',
'currentTab' => 'Sharing',
'reportColumns' => [
[
'columnName' => 'sourceType',
'order' => 1
]
],
'reportFilters' => [
[
'filterKey' => 'sectionId',
'filterValue' => '{"ids": ["12345"]}'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://staging.api.us.aptlydone.com/report/v1/report"
payload := strings.NewReader("{\n \"reportName\": \"Bosco, Gleichner and Flatley Status Report\",\n \"reportType\": \"DECISIONS\",\n \"status\": \"PUBLISHED\",\n \"ownerId\": \"bde4985e-5443-4531-a3f5-0f18beabe94a\",\n \"description\": \"Subseco et crinis officiis tonsor.\",\n \"tenantId\": \"ef9e434e-bf78-41ae-bf80-7d6b77eb0738\",\n \"currentTab\": \"Sharing\",\n \"reportColumns\": [\n {\n \"columnName\": \"sourceType\",\n \"order\": 1\n }\n ],\n \"reportFilters\": [\n {\n \"filterKey\": \"sectionId\",\n \"filterValue\": \"{\\\"ids\\\": [\\\"12345\\\"]}\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://staging.api.us.aptlydone.com/report/v1/report")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"reportName\": \"Bosco, Gleichner and Flatley Status Report\",\n \"reportType\": \"DECISIONS\",\n \"status\": \"PUBLISHED\",\n \"ownerId\": \"bde4985e-5443-4531-a3f5-0f18beabe94a\",\n \"description\": \"Subseco et crinis officiis tonsor.\",\n \"tenantId\": \"ef9e434e-bf78-41ae-bf80-7d6b77eb0738\",\n \"currentTab\": \"Sharing\",\n \"reportColumns\": [\n {\n \"columnName\": \"sourceType\",\n \"order\": 1\n }\n ],\n \"reportFilters\": [\n {\n \"filterKey\": \"sectionId\",\n \"filterValue\": \"{\\\"ids\\\": [\\\"12345\\\"]}\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging.api.us.aptlydone.com/report/v1/report")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"reportName\": \"Bosco, Gleichner and Flatley Status Report\",\n \"reportType\": \"DECISIONS\",\n \"status\": \"PUBLISHED\",\n \"ownerId\": \"bde4985e-5443-4531-a3f5-0f18beabe94a\",\n \"description\": \"Subseco et crinis officiis tonsor.\",\n \"tenantId\": \"ef9e434e-bf78-41ae-bf80-7d6b77eb0738\",\n \"currentTab\": \"Sharing\",\n \"reportColumns\": [\n {\n \"columnName\": \"sourceType\",\n \"order\": 1\n }\n ],\n \"reportFilters\": [\n {\n \"filterKey\": \"sectionId\",\n \"filterValue\": \"{\\\"ids\\\": [\\\"12345\\\"]}\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"statusCode": 200,
"timestamp": "2026-01-08T06:33:03.221Z",
"message": "Success",
"data": {
"id": "f53b4ff5-0351-4241-9ba0-ae5420f85ad6",
"reportId": "10001",
"reportName": "Feest, Hermiston and Konopelski Status Report",
"reportType": "DECISIONS",
"tenantId": "690a229f-9560-4962-81d0-d9cd7df8fa21",
"ownerId": "d1ded054-fbad-46b4-9099-23f96194d507",
"createdAt": "2026-01-07T20:36:33.769Z",
"updatedAt": "2026-01-08T01:44:45.168Z",
"status": "PUBLISHED",
"reportColumns": [
{
"columnName": "sourceType",
"order": 1
}
],
"reportFilters": [
{
"filterKey": "sectionId",
"filterValue": "{\"ids\": [\"12345\"]}"
}
],
"description": "Charisma alii denego trans vacuus dolorum iusto arbitro utor.",
"link": "/reports/view/base64",
"ownerDetails": {
"positions": [
{
"id": "3ee531e0-be0f-4219-9661-c46daced9885",
"positionName": "System Administrator",
"tenantId": "687f6049-1513-49c5-ad28-701bba50d5ab",
"isScimProvisioned": false
}
],
"id": "18461bfe-7f70-4cb4-b215-f401510ba4c2",
"name": "Alejandro Larkin I",
"displayName": "Mrs. Wilma Abernathy III",
"profileImageUrl": "https://avatars.githubusercontent.com/u/63050314",
"positionIds": [
"b5cae4e5-a002-454e-aa21-02e613cd6566"
],
"email": "[email protected]",
"mobilePhone": "836.502.4243 x34159",
"primaryOrganizationId": "d248c1d1-bfb9-4e8e-a4cf-59e1c2b1d788",
"manager": {
"id": "c109a3ab-be10-44bd-b071-baf8a3165e05",
"name": "Ms. Claudia Runolfsson",
"displayName": "Dean Streich IV",
"profileImageUrl": "https://cdn.jsdelivr.net/gh/faker-js/assets-person-portrait/male/512/14.jpg"
},
"roles": [
{
"tenantRoleId": "440dc298-ae80-4164-952c-996181c2ce17",
"roleName": "Administrator"
}
],
"groups": [
{
"groupId": "b243aa1f-7969-4256-8613-e28144ece727",
"groupTypeId": "e033d810-a8d4-4c0c-8373-a43e0e620057"
}
],
"primaryOrganization": {
"id": "cf437311-15fe-49a6-88cc-f71a697a52f4",
"groupName": "Engineering Department",
"tenantGroupTypeId": "36609c08-5917-4e39-8b17-8b7ad6e0e06e",
"tenantGroupTypeName": "Organization",
"displayName": "Engineering Department",
"legalName": "Engineering Department Inc.",
"baseCurrency": "USD",
"decisionsCount": 42,
"delegationsCount": 10
}
},
"currentTab": "Sharing",
"createdBy": "15ba396c-17cf-4962-8bd9-bc5b4515a6b8",
"updatedBy": "36d22df2-1936-4e96-953f-bbfd4d7f0572",
"permissions": [
{
"relationship_key": "<string>",
"allowed": true
}
]
}
}Reporting
Create report
POST
/
v1
/
report
Create report
curl --request POST \
--url https://staging.api.us.aptlydone.com/report/v1/report \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"reportName": "Bosco, Gleichner and Flatley Status Report",
"reportType": "DECISIONS",
"status": "PUBLISHED",
"ownerId": "bde4985e-5443-4531-a3f5-0f18beabe94a",
"description": "Subseco et crinis officiis tonsor.",
"tenantId": "ef9e434e-bf78-41ae-bf80-7d6b77eb0738",
"currentTab": "Sharing",
"reportColumns": [
{
"columnName": "sourceType",
"order": 1
}
],
"reportFilters": [
{
"filterKey": "sectionId",
"filterValue": "{\"ids\": [\"12345\"]}"
}
]
}
'import requests
url = "https://staging.api.us.aptlydone.com/report/v1/report"
payload = {
"reportName": "Bosco, Gleichner and Flatley Status Report",
"reportType": "DECISIONS",
"status": "PUBLISHED",
"ownerId": "bde4985e-5443-4531-a3f5-0f18beabe94a",
"description": "Subseco et crinis officiis tonsor.",
"tenantId": "ef9e434e-bf78-41ae-bf80-7d6b77eb0738",
"currentTab": "Sharing",
"reportColumns": [
{
"columnName": "sourceType",
"order": 1
}
],
"reportFilters": [
{
"filterKey": "sectionId",
"filterValue": "{\"ids\": [\"12345\"]}"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
reportName: 'Bosco, Gleichner and Flatley Status Report',
reportType: 'DECISIONS',
status: 'PUBLISHED',
ownerId: 'bde4985e-5443-4531-a3f5-0f18beabe94a',
description: 'Subseco et crinis officiis tonsor.',
tenantId: 'ef9e434e-bf78-41ae-bf80-7d6b77eb0738',
currentTab: 'Sharing',
reportColumns: [{columnName: 'sourceType', order: 1}],
reportFilters: [{filterKey: 'sectionId', filterValue: '{"ids": ["12345"]}'}]
})
};
fetch('https://staging.api.us.aptlydone.com/report/v1/report', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://staging.api.us.aptlydone.com/report/v1/report",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'reportName' => 'Bosco, Gleichner and Flatley Status Report',
'reportType' => 'DECISIONS',
'status' => 'PUBLISHED',
'ownerId' => 'bde4985e-5443-4531-a3f5-0f18beabe94a',
'description' => 'Subseco et crinis officiis tonsor.',
'tenantId' => 'ef9e434e-bf78-41ae-bf80-7d6b77eb0738',
'currentTab' => 'Sharing',
'reportColumns' => [
[
'columnName' => 'sourceType',
'order' => 1
]
],
'reportFilters' => [
[
'filterKey' => 'sectionId',
'filterValue' => '{"ids": ["12345"]}'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://staging.api.us.aptlydone.com/report/v1/report"
payload := strings.NewReader("{\n \"reportName\": \"Bosco, Gleichner and Flatley Status Report\",\n \"reportType\": \"DECISIONS\",\n \"status\": \"PUBLISHED\",\n \"ownerId\": \"bde4985e-5443-4531-a3f5-0f18beabe94a\",\n \"description\": \"Subseco et crinis officiis tonsor.\",\n \"tenantId\": \"ef9e434e-bf78-41ae-bf80-7d6b77eb0738\",\n \"currentTab\": \"Sharing\",\n \"reportColumns\": [\n {\n \"columnName\": \"sourceType\",\n \"order\": 1\n }\n ],\n \"reportFilters\": [\n {\n \"filterKey\": \"sectionId\",\n \"filterValue\": \"{\\\"ids\\\": [\\\"12345\\\"]}\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://staging.api.us.aptlydone.com/report/v1/report")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"reportName\": \"Bosco, Gleichner and Flatley Status Report\",\n \"reportType\": \"DECISIONS\",\n \"status\": \"PUBLISHED\",\n \"ownerId\": \"bde4985e-5443-4531-a3f5-0f18beabe94a\",\n \"description\": \"Subseco et crinis officiis tonsor.\",\n \"tenantId\": \"ef9e434e-bf78-41ae-bf80-7d6b77eb0738\",\n \"currentTab\": \"Sharing\",\n \"reportColumns\": [\n {\n \"columnName\": \"sourceType\",\n \"order\": 1\n }\n ],\n \"reportFilters\": [\n {\n \"filterKey\": \"sectionId\",\n \"filterValue\": \"{\\\"ids\\\": [\\\"12345\\\"]}\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging.api.us.aptlydone.com/report/v1/report")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"reportName\": \"Bosco, Gleichner and Flatley Status Report\",\n \"reportType\": \"DECISIONS\",\n \"status\": \"PUBLISHED\",\n \"ownerId\": \"bde4985e-5443-4531-a3f5-0f18beabe94a\",\n \"description\": \"Subseco et crinis officiis tonsor.\",\n \"tenantId\": \"ef9e434e-bf78-41ae-bf80-7d6b77eb0738\",\n \"currentTab\": \"Sharing\",\n \"reportColumns\": [\n {\n \"columnName\": \"sourceType\",\n \"order\": 1\n }\n ],\n \"reportFilters\": [\n {\n \"filterKey\": \"sectionId\",\n \"filterValue\": \"{\\\"ids\\\": [\\\"12345\\\"]}\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"statusCode": 200,
"timestamp": "2026-01-08T06:33:03.221Z",
"message": "Success",
"data": {
"id": "f53b4ff5-0351-4241-9ba0-ae5420f85ad6",
"reportId": "10001",
"reportName": "Feest, Hermiston and Konopelski Status Report",
"reportType": "DECISIONS",
"tenantId": "690a229f-9560-4962-81d0-d9cd7df8fa21",
"ownerId": "d1ded054-fbad-46b4-9099-23f96194d507",
"createdAt": "2026-01-07T20:36:33.769Z",
"updatedAt": "2026-01-08T01:44:45.168Z",
"status": "PUBLISHED",
"reportColumns": [
{
"columnName": "sourceType",
"order": 1
}
],
"reportFilters": [
{
"filterKey": "sectionId",
"filterValue": "{\"ids\": [\"12345\"]}"
}
],
"description": "Charisma alii denego trans vacuus dolorum iusto arbitro utor.",
"link": "/reports/view/base64",
"ownerDetails": {
"positions": [
{
"id": "3ee531e0-be0f-4219-9661-c46daced9885",
"positionName": "System Administrator",
"tenantId": "687f6049-1513-49c5-ad28-701bba50d5ab",
"isScimProvisioned": false
}
],
"id": "18461bfe-7f70-4cb4-b215-f401510ba4c2",
"name": "Alejandro Larkin I",
"displayName": "Mrs. Wilma Abernathy III",
"profileImageUrl": "https://avatars.githubusercontent.com/u/63050314",
"positionIds": [
"b5cae4e5-a002-454e-aa21-02e613cd6566"
],
"email": "[email protected]",
"mobilePhone": "836.502.4243 x34159",
"primaryOrganizationId": "d248c1d1-bfb9-4e8e-a4cf-59e1c2b1d788",
"manager": {
"id": "c109a3ab-be10-44bd-b071-baf8a3165e05",
"name": "Ms. Claudia Runolfsson",
"displayName": "Dean Streich IV",
"profileImageUrl": "https://cdn.jsdelivr.net/gh/faker-js/assets-person-portrait/male/512/14.jpg"
},
"roles": [
{
"tenantRoleId": "440dc298-ae80-4164-952c-996181c2ce17",
"roleName": "Administrator"
}
],
"groups": [
{
"groupId": "b243aa1f-7969-4256-8613-e28144ece727",
"groupTypeId": "e033d810-a8d4-4c0c-8373-a43e0e620057"
}
],
"primaryOrganization": {
"id": "cf437311-15fe-49a6-88cc-f71a697a52f4",
"groupName": "Engineering Department",
"tenantGroupTypeId": "36609c08-5917-4e39-8b17-8b7ad6e0e06e",
"tenantGroupTypeName": "Organization",
"displayName": "Engineering Department",
"legalName": "Engineering Department Inc.",
"baseCurrency": "USD",
"decisionsCount": 42,
"delegationsCount": 10
}
},
"currentTab": "Sharing",
"createdBy": "15ba396c-17cf-4962-8bd9-bc5b4515a6b8",
"updatedBy": "36d22df2-1936-4e96-953f-bbfd4d7f0572",
"permissions": [
{
"relationship_key": "<string>",
"allowed": true
}
]
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Report name
Example:
"Bosco, Gleichner and Flatley Status Report"
Report type
Available options:
DECISIONS, DELEGATIONS, ACTIONS, DOCUMENTS, USERS, POSITIONS, GROUPS, MATRICES Example:
"DECISIONS"
Report status
Available options:
PUBLISHED, ARCHIVED, DELETED, DRAFT Example:
"PUBLISHED"
Owner ID
Example:
"bde4985e-5443-4531-a3f5-0f18beabe94a"
Report description
Example:
"Subseco et crinis officiis tonsor."
Tenant ID (optional, will use auth user active tenant if not provided)
Example:
"ef9e434e-bf78-41ae-bf80-7d6b77eb0738"
Current tab in create matrix flow
Example:
"Sharing"
Report columns
Show child attributes
Show child attributes
Report filters
Show child attributes
Show child attributes
Response
201 - application/json
Report created successfully
Was this page helpful?
āI