curl --request GET \
--url https://api.projectcor.com/v1/projects \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.projectcor.com/v1/projects"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.projectcor.com/v1/projects', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://api.projectcor.com/v1/projects';
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));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.projectcor.com/v1/projects",
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.projectcor.com/v1/projects"
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))
}{
"total": "<string>",
"perPage": 123,
"page": 123,
"lastPage": 123,
"meta_data": {
"profitability_limit": "<string>"
},
"data": [
{
"id": 123,
"name": "<string>",
"brief": "<string>",
"client_id": 123,
"start": "2023-11-07T05:31:56Z",
"end": "2023-11-07T05:31:56Z",
"estimated_time": 123,
"elapsed_time": 123,
"profitability_now": 123,
"estimated_profitability": 123,
"archived": true,
"billable": true,
"pm_id": 123,
"created_by": 123,
"company_id": 123,
"template_id": 123,
"brand_id": 123,
"product_id": 123,
"total_estimated": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"labels": [
123
],
"client": {
"id": 123,
"name": "<string>",
"client_status_id": 123
},
"pm": {
"id": 123,
"first_name": "<string>",
"last_name": "<string>",
"email": "<string>",
"role_id": 123
},
"estimated_by_position": true,
"estimation_by_categories": true,
"estimated_by_hourly_rates": true,
"user_positions_header_id": 123,
"fee_id": 123,
"contract_id": 123,
"usersPositionsProject": [
{
"id": 123,
"user_positions_unified_id": 123,
"project_id": 123,
"estimated_hours": 123,
"hours_charged": 123,
"total_cost": 123,
"userPositionName": {
"name": "<string>"
}
}
],
"categoriesProject": [
{
"id": 123,
"category_id": 123,
"estimated_hours": 123,
"hours_charged": 123,
"total_cost": 123
}
],
"ratecard": {
"id": 123,
"name": "<string>",
"original_name": "<string>",
"percent": 123,
"currency_id": 123,
"linked_to_base_price": true
}
}
]
}Get Projects
Retrieves a paginated list of projects for the company. Supports filtering by client, dates, status, health, and more. By default, responses are paginated with 20 items per page.
curl --request GET \
--url https://api.projectcor.com/v1/projects \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.projectcor.com/v1/projects"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.projectcor.com/v1/projects', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://api.projectcor.com/v1/projects';
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));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.projectcor.com/v1/projects",
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.projectcor.com/v1/projects"
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))
}{
"total": "<string>",
"perPage": 123,
"page": 123,
"lastPage": 123,
"meta_data": {
"profitability_limit": "<string>"
},
"data": [
{
"id": 123,
"name": "<string>",
"brief": "<string>",
"client_id": 123,
"start": "2023-11-07T05:31:56Z",
"end": "2023-11-07T05:31:56Z",
"estimated_time": 123,
"elapsed_time": 123,
"profitability_now": 123,
"estimated_profitability": 123,
"archived": true,
"billable": true,
"pm_id": 123,
"created_by": 123,
"company_id": 123,
"template_id": 123,
"brand_id": 123,
"product_id": 123,
"total_estimated": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"labels": [
123
],
"client": {
"id": 123,
"name": "<string>",
"client_status_id": 123
},
"pm": {
"id": 123,
"first_name": "<string>",
"last_name": "<string>",
"email": "<string>",
"role_id": 123
},
"estimated_by_position": true,
"estimation_by_categories": true,
"estimated_by_hourly_rates": true,
"user_positions_header_id": 123,
"fee_id": 123,
"contract_id": 123,
"usersPositionsProject": [
{
"id": 123,
"user_positions_unified_id": 123,
"project_id": 123,
"estimated_hours": 123,
"hours_charged": 123,
"total_cost": 123,
"userPositionName": {
"name": "<string>"
}
}
],
"categoriesProject": [
{
"id": 123,
"category_id": 123,
"estimated_hours": 123,
"hours_charged": 123,
"total_cost": 123
}
],
"ratecard": {
"id": 123,
"name": "<string>",
"original_name": "<string>",
"percent": 123,
"currency_id": 123,
"linked_to_base_price": true
}
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Page number (default: 1). Set to false to disable pagination and return all results.
Number of items per page when pagination is active (default: 20).
URL-encoded JSON object with filter criteria. Available fields: dateStart (YYYY-MM-DD), dateEnd (YYYY-MM-DD), client_id (number), team_id (number), user_id (number), brand_id (number), product_id (number), status ("finished"|"in_process"|"suspended"), health (1-4), archived (1=archived, 2=active).
Response
Paginated list of projects
Paginated response for projects list
Total number of projects matching the filters
Number of items per page
Current page number
Last available page number
Additional metadata
Show child attributes
Show child attributes
Array of projects for the current page
Show child attributes
Show child attributes
Was this page helpful?

