Project Templates
Get a project template
Retrieve a project template by ID, including milestones, outcomes, and form fields.
GET
/
v1
/
project_templates
/
{id}
Get a project template
curl --request GET \
--url https://api.slant.app/v1/project_templates/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.slant.app/v1/project_templates/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.slant.app/v1/project_templates/{id}', 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://api.slant.app/v1/project_templates/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.slant.app/v1/project_templates/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.slant.app/v1/project_templates/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.slant.app/v1/project_templates/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "template123xyz",
"title": "New Client Onboarding",
"archived_at": "2023-11-07T05:31:56Z",
"project_milestones": [
{
"id": "milestone123xyz",
"title": "Initial Setup",
"project_template_id": "template123xyz",
"guid": "milestone-guid",
"color": "<string>",
"sort_order": 123,
"auto_advance_trigger": "all_tasks_completed",
"auto_complete_tasks": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"project_milestone_outcomes": [
{
"id": "outcome123xyz",
"label": "Ready for accounts",
"destination": "next_milestone",
"default_comment": "<string>",
"sort_order": 123,
"target_project_milestone_id": "<string>"
}
],
"project_milestone_form_fields": [
{
"id": "field123xyz",
"label": "Custodian",
"field_type": "text",
"required": true,
"guid": "field-guid",
"placeholder": "<string>",
"sort_order": 123,
"household_record_source": "<string>",
"select_options": [
"<string>"
]
}
]
}
],
"guid": "template-guid",
"description": "<string>",
"projectable_kind": "household",
"enable_kanban_view": true,
"book_id": "<string>",
"book_name": "<string>",
"book_initials": "<string>",
"book_ids": [
"<string>"
],
"books": [
{
"id": "<string>",
"name": "<string>",
"initials": "<string>"
}
],
"company_wide": true,
"order_index": 123,
"attachments": [
{
"file_name": "onboarding.pdf",
"file_type": "application/pdf",
"file_size": 123456,
"source": "uploaded",
"signed_id": "signed-blob-id",
"download_url": "<string>",
"view_url": "<string>"
}
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}Authorizations
OAuth 2.0 Bearer Token from Clerk authentication
Path Parameters
The project template ID
Query Parameters
Filter by book ID
Response
project template retrieved
The project template ID
Example:
"template123xyz"
The template title
Example:
"New Client Onboarding"
When the project template was archived
Show child attributes
Show child attributes
The project template GUID
Example:
"template-guid"
The related record kind this template supports
Available options:
household, contact, business The sole shared book ID, or null when shared with multiple books
Books that can use this project template
Show child attributes
Show child attributes
Whether the template is shared with every current company book
Show child attributes
Show child attributes
⌘I
Get a project template
curl --request GET \
--url https://api.slant.app/v1/project_templates/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.slant.app/v1/project_templates/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.slant.app/v1/project_templates/{id}', 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://api.slant.app/v1/project_templates/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.slant.app/v1/project_templates/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.slant.app/v1/project_templates/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.slant.app/v1/project_templates/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "template123xyz",
"title": "New Client Onboarding",
"archived_at": "2023-11-07T05:31:56Z",
"project_milestones": [
{
"id": "milestone123xyz",
"title": "Initial Setup",
"project_template_id": "template123xyz",
"guid": "milestone-guid",
"color": "<string>",
"sort_order": 123,
"auto_advance_trigger": "all_tasks_completed",
"auto_complete_tasks": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"project_milestone_outcomes": [
{
"id": "outcome123xyz",
"label": "Ready for accounts",
"destination": "next_milestone",
"default_comment": "<string>",
"sort_order": 123,
"target_project_milestone_id": "<string>"
}
],
"project_milestone_form_fields": [
{
"id": "field123xyz",
"label": "Custodian",
"field_type": "text",
"required": true,
"guid": "field-guid",
"placeholder": "<string>",
"sort_order": 123,
"household_record_source": "<string>",
"select_options": [
"<string>"
]
}
]
}
],
"guid": "template-guid",
"description": "<string>",
"projectable_kind": "household",
"enable_kanban_view": true,
"book_id": "<string>",
"book_name": "<string>",
"book_initials": "<string>",
"book_ids": [
"<string>"
],
"books": [
{
"id": "<string>",
"name": "<string>",
"initials": "<string>"
}
],
"company_wide": true,
"order_index": 123,
"attachments": [
{
"file_name": "onboarding.pdf",
"file_type": "application/pdf",
"file_size": 123456,
"source": "uploaded",
"signed_id": "signed-blob-id",
"download_url": "<string>",
"view_url": "<string>"
}
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}