curl --request GET \
--url https://api.zivio.net/api/v4/projects \
--header 'Authorization: Bearer <token>' \
--header 'zivio-tenant-id: <api-key>'import requests
url = "https://api.zivio.net/api/v4/projects"
headers = {
"Authorization": "Bearer <token>",
"zivio-tenant-id": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {Authorization: 'Bearer <token>', 'zivio-tenant-id': '<api-key>'}
};
fetch('https://api.zivio.net/api/v4/projects', 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.zivio.net/api/v4/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>",
"zivio-tenant-id: <api-key>"
],
]);
$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.zivio.net/api/v4/projects"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("zivio-tenant-id", "<api-key>")
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.zivio.net/api/v4/projects")
.header("Authorization", "Bearer <token>")
.header("zivio-tenant-id", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zivio.net/api/v4/projects")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
request["zivio-tenant-id"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"projects": [
{
"id": 101,
"title": "Website Redesign Project",
"description": "Complete redesign of corporate website with modern UX",
"state": "pending",
"additional_notes": "Additional information and context for this record.",
"skill_category": {
"id": 101,
"name": "Acme Corporation",
"code": "Example code",
"slug": "Example slug",
"precedence": 101,
"parent_id": 501,
"parent_name": "Example parent_name",
"parent_slug": "Example parent_slug"
},
"skill_subcategory": {
"id": 101,
"name": "Acme Corporation",
"code": "Example code",
"slug": "Example slug",
"precedence": 101,
"parent_id": 501,
"parent_name": "Example parent_name",
"parent_slug": "Example parent_slug"
},
"skill_category_tier3": {
"id": 101,
"name": "Acme Corporation",
"code": "Example code",
"slug": "Example slug",
"precedence": 101,
"parent_id": 501,
"parent_name": "Example parent_name",
"parent_slug": "Example parent_slug"
},
"skills": [
{
"id": 101,
"name": "Acme Corporation",
"slug": "Example slug"
},
{
"id": 102,
"name": "Global Services Ltd",
"slug": "Example slug"
}
],
"talent_pool_id": 501,
"type": "standard",
"posting_type": "public",
"bids_count": 5,
"submission_deadline": "2024-01-16T10:30:00+00:00",
"submission_deadline_time_zone": "Europe/London",
"ccy": "GBP",
"fee_methodology": "supplier_absorbed",
"fee_schedule_id": 501,
"award_type": "competition",
"risk_level_id": 501,
"is_template": false,
"quality_score_allocation_percentage": 50,
"cost_score_allocation_percentage": 50,
"award_suppliers": [
"direct",
"panel"
],
"approved": true,
"submitted_at": "2024-01-16T10:30:00+00:00",
"approved_at": "2024-01-16T10:30:00+00:00",
"hired_at": "2024-01-16T10:30:00+00:00",
"start_date": "2024-03-08",
"due_on": "2024-01-16",
"original_due_on": "2024-01-16",
"ended_at": "2024-01-16T10:30:00+00:00",
"closed_at": "2024-01-16T10:30:00+00:00",
"auto_close_at": "2024-01-16T10:30:00+00:00",
"halted_comment": null,
"cancellation_reason_id": 501,
"cancellation_other_reason": null,
"cancelled_by": {
"id": 101,
"first_name": "Demo",
"last_name": "User",
"email": "user1@example.com",
"org_id": 501,
"org_name": "Acme Corporation"
},
"cancelled_at": "2024-01-16T10:30:00+00:00",
"completed_by": {
"id": 101,
"first_name": "Demo",
"last_name": "User",
"email": "user1@example.com",
"org_id": 501,
"org_name": "Acme Corporation"
},
"closed_by": {
"id": 101,
"first_name": "Demo",
"last_name": "User",
"email": "user1@example.com",
"org_id": 501,
"org_name": "Acme Corporation"
},
"visibility": "visible",
"bafo_submission_deadline": "2024-01-16T10:30:00+00:00",
"bid_round": 101,
"original_project_id": 501,
"location": {
"type": "location",
"label": "London, UK"
},
"target_cost": {
"cents": 150000,
"currency": "GBP"
},
"budget": {
"cents": 150000,
"currency": "GBP"
},
"original_budget": {
"cents": 150000,
"currency": "GBP"
},
"rate": {
"cents": 150000,
"currency": "GBP"
},
"original_rate": {
"cents": 150000,
"currency": "GBP"
},
"fee": "1500.00",
"markup": "1500.00",
"estimated_savings": {
"cents": 150000,
"currency": "GBP"
},
"projected_recognized_savings": {
"cents": 150000,
"currency": "GBP"
},
"payment_terms_in_days": 30,
"client_payment_terms_in_days": 30,
"permit_supplier_defined_milestones": null,
"supplier_defined_milestones": null,
"client_defined_milestones_mandatory": null,
"invoices_cis": null,
"cis_end_user_client": null,
"is_child": false,
"is_parent": false,
"custom_fields": {
"department": "Engineering",
"priority": "high",
"cost_code": "CC-001"
},
"badges": [
"urgent",
"featured"
],
"project_screening_questions": [
{
"question": "Years of experience?",
"required": true
},
{
"question": "Available start date?",
"required": false
}
],
"client": {
"id": 101,
"first_name": "Demo",
"last_name": "User",
"email": "user1@example.com",
"org_id": 501,
"org_name": "Acme Corporation"
},
"administrator": {
"id": 101,
"first_name": "Demo",
"last_name": "User",
"email": "user1@example.com",
"org_id": 501,
"org_name": "Acme Corporation"
},
"client_org": {
"id": 101,
"name": "Acme Corporation",
"is_external_client": true
},
"cost_centers": [
{
"cost_center_id": 501,
"allocation_percentage": "1500.00",
"name": "Acme Corporation",
"code": null,
"admin_custom_fields": null,
"project_id": 501
},
{
"cost_center_id": 502,
"allocation_percentage": "1500.00",
"name": "Global Services Ltd",
"code": null,
"admin_custom_fields": null,
"project_id": 502
}
],
"milestones": [
{
"id": 101,
"title": "Website Redesign Project",
"status": "submitted",
"client_suggested": false,
"close_project": false,
"comments": "Additional information and context for this record.",
"details": "Additional information and context for this record.",
"due_on": "2024-01-16",
"project_summary": "Website Redesign Project - Complete redesign of corporate website with modern UX",
"mandatory": false,
"notes": "Additional information and context for this record.",
"original_id": 501,
"original_rate": {
"cents": 150000,
"currency": "GBP"
},
"purchase_order_line_id": 501,
"rate": {
"cents": 150000,
"currency": "GBP"
},
"submitted_at": "2024-01-16T10:30:00+00:00",
"interim_valuation_date": "2024-01-16T10:30:00+00:00",
"tiered_markup_fee": {
"cents": 150000,
"currency": "GBP"
},
"children": [
201,
202
],
"parents": [
201,
202
],
"custom_fields": {
"department": "Engineering",
"priority": "high",
"cost_code": "CC-001"
},
"created_at": "2024-01-16T10:30:00+00:00",
"updated_at": "2024-01-16T10:30:00+00:00",
"project_id": 501,
"final_claim": "false",
"delivered_on": "2024-01-16",
"approved_by": {
"id": 101,
"first_name": "Demo",
"last_name": "User",
"email": "user1@example.com",
"org_id": 501,
"org_name": "Acme Corporation"
},
"rejected_by": {
"id": 101,
"first_name": "Demo",
"last_name": "User",
"email": "user1@example.com",
"org_id": 501,
"org_name": "Acme Corporation"
},
"level_1_approved_by": {
"id": 101,
"first_name": "Demo",
"last_name": "User",
"email": "user1@example.com",
"org_id": 501,
"org_name": "Acme Corporation"
}
},
{
"id": 102,
"title": "Mobile App Development",
"status": "approved",
"client_suggested": false,
"close_project": false,
"comments": "Additional information and context for this record.",
"details": "Additional information and context for this record.",
"due_on": "2024-01-17",
"project_summary": "Website Redesign Project - Complete redesign of corporate website with modern UX",
"mandatory": false,
"notes": "Additional information and context for this record.",
"original_id": 502,
"original_rate": {
"cents": 300000,
"currency": "GBP"
},
"purchase_order_line_id": 502,
"rate": {
"cents": 300000,
"currency": "GBP"
},
"submitted_at": "2024-01-17T10:30:00+00:00",
"interim_valuation_date": "2024-01-17T10:30:00+00:00",
"tiered_markup_fee": {
"cents": 300000,
"currency": "GBP"
},
"children": [
202,
203
],
"parents": [
202,
203
],
"custom_fields": {
"department": "Engineering",
"priority": "high",
"cost_code": "CC-001"
},
"created_at": "2024-01-17T10:30:00+00:00",
"updated_at": "2024-01-17T10:30:00+00:00",
"project_id": 502,
"final_claim": "true",
"delivered_on": "2024-01-17",
"approved_by": {
"id": 102,
"first_name": "Jane",
"last_name": "Smith",
"email": "user2@example.com",
"org_id": 502,
"org_name": "Global Services Ltd"
},
"rejected_by": {
"id": 102,
"first_name": "Jane",
"last_name": "Smith",
"email": "user2@example.com",
"org_id": 502,
"org_name": "Global Services Ltd"
},
"level_1_approved_by": {
"id": 102,
"first_name": "Jane",
"last_name": "Smith",
"email": "user2@example.com",
"org_id": 502,
"org_name": "Global Services Ltd"
}
}
],
"supplier": {
"id": 101,
"name": "Acme Corporation",
"email": "user1@example.com",
"vetting_status": "PASSED",
"tax_number": "Example tax_number",
"tax_registered": true
},
"created_at": "2024-01-16T10:30:00+00:00",
"updated_at": "2024-01-16T10:30:00+00:00",
"project_matches_count": 5,
"project_line_items": [
{
"id": 101,
"name": "Acme Corporation",
"manufacturer_name": "Example manufacturer_name",
"manufacturer_part_number": "Example manufacturer_part_number",
"uom": null,
"item": null,
"item_type": "service",
"price": {
"cents": 150000,
"currency": "GBP"
},
"quantity": "1500.00",
"net_total_price": null,
"quantity_delivered": null,
"quantity_undelivered": null,
"custom_fields": {
"department": "Engineering",
"priority": "high",
"cost_code": "CC-001"
},
"created_at": "2024-01-16T10:30:00+00:00",
"updated_at": "2024-01-16T10:30:00+00:00",
"project_id": 501
},
{
"id": 102,
"name": "Global Services Ltd",
"manufacturer_name": "Example manufacturer_name",
"manufacturer_part_number": "Example manufacturer_part_number",
"uom": null,
"item": null,
"item_type": "item",
"price": {
"cents": 300000,
"currency": "GBP"
},
"quantity": "1500.00",
"net_total_price": null,
"quantity_delivered": null,
"quantity_undelivered": null,
"custom_fields": {
"department": "Engineering",
"priority": "high",
"cost_code": "CC-001"
},
"created_at": "2024-01-17T10:30:00+00:00",
"updated_at": "2024-01-17T10:30:00+00:00",
"project_id": 502
}
],
"award_criteria_groups": [
{
"id": 101,
"name": "Acme Corporation",
"group_type": "Example group_type",
"weighting": 101,
"has_sub_criteria": true,
"position": 101,
"project_quality_criteria": []
},
{
"id": 102,
"name": "Global Services Ltd",
"group_type": "Example group_type",
"weighting": 102,
"has_sub_criteria": true,
"position": 102,
"project_quality_criteria": []
}
]
},
{
"id": 102,
"title": "Mobile App Development",
"description": "Native iOS and Android application",
"state": "new",
"additional_notes": "Additional information and context for this record.",
"skill_category": {
"id": 102,
"name": "Global Services Ltd",
"code": "Example code",
"slug": "Example slug",
"precedence": 102,
"parent_id": 502,
"parent_name": "Example parent_name",
"parent_slug": "Example parent_slug"
},
"skill_subcategory": {
"id": 102,
"name": "Global Services Ltd",
"code": "Example code",
"slug": "Example slug",
"precedence": 102,
"parent_id": 502,
"parent_name": "Example parent_name",
"parent_slug": "Example parent_slug"
},
"skill_category_tier3": {
"id": 102,
"name": "Global Services Ltd",
"code": "Example code",
"slug": "Example slug",
"precedence": 102,
"parent_id": 502,
"parent_name": "Example parent_name",
"parent_slug": "Example parent_slug"
},
"skills": [
{
"id": 102,
"name": "Global Services Ltd",
"slug": "Example slug"
},
{
"id": 103,
"name": "Global Services Ltd",
"slug": "Example slug"
}
],
"talent_pool_id": 502,
"type": "standard",
"posting_type": "public",
"bids_count": 10,
"submission_deadline": "2024-01-17T10:30:00+00:00",
"submission_deadline_time_zone": "Europe/London",
"ccy": "GBP",
"fee_methodology": "tiered_markup",
"fee_schedule_id": 502,
"award_type": "direct_award",
"risk_level_id": 502,
"is_template": false,
"quality_score_allocation_percentage": 50,
"cost_score_allocation_percentage": 50,
"award_suppliers": [
"direct",
"panel"
],
"approved": true,
"submitted_at": "2024-01-17T10:30:00+00:00",
"approved_at": "2024-01-17T10:30:00+00:00",
"hired_at": "2024-01-17T10:30:00+00:00",
"start_date": "2024-03-15",
"due_on": "2024-01-17",
"original_due_on": "2024-01-17",
"ended_at": "2024-01-17T10:30:00+00:00",
"closed_at": "2024-01-17T10:30:00+00:00",
"auto_close_at": "2024-01-17T10:30:00+00:00",
"halted_comment": null,
"cancellation_reason_id": 502,
"cancellation_other_reason": null,
"cancelled_by": {
"id": 102,
"first_name": "Jane",
"last_name": "Smith",
"email": "user2@example.com",
"org_id": 502,
"org_name": "Global Services Ltd"
},
"cancelled_at": "2024-01-17T10:30:00+00:00",
"completed_by": {
"id": 102,
"first_name": "Jane",
"last_name": "Smith",
"email": "user2@example.com",
"org_id": 502,
"org_name": "Global Services Ltd"
},
"closed_by": {
"id": 102,
"first_name": "Jane",
"last_name": "Smith",
"email": "user2@example.com",
"org_id": 502,
"org_name": "Global Services Ltd"
},
"visibility": "visible",
"bafo_submission_deadline": "2024-01-17T10:30:00+00:00",
"bid_round": 102,
"original_project_id": 502,
"location": {
"type": "location",
"label": "London, UK"
},
"target_cost": {
"cents": 300000,
"currency": "GBP"
},
"budget": {
"cents": 300000,
"currency": "GBP"
},
"original_budget": {
"cents": 300000,
"currency": "GBP"
},
"rate": {
"cents": 300000,
"currency": "GBP"
},
"original_rate": {
"cents": 300000,
"currency": "GBP"
},
"fee": "1500.00",
"markup": "1500.00",
"estimated_savings": {
"cents": 300000,
"currency": "GBP"
},
"projected_recognized_savings": {
"cents": 300000,
"currency": "GBP"
},
"payment_terms_in_days": 30,
"client_payment_terms_in_days": 30,
"permit_supplier_defined_milestones": null,
"supplier_defined_milestones": null,
"client_defined_milestones_mandatory": null,
"invoices_cis": null,
"cis_end_user_client": null,
"is_child": false,
"is_parent": false,
"custom_fields": {
"department": "Engineering",
"priority": "high",
"cost_code": "CC-001"
},
"badges": [
"urgent",
"featured"
],
"project_screening_questions": [
{
"question": "Years of experience?",
"required": true
},
{
"question": "Available start date?",
"required": false
}
],
"client": {
"id": 102,
"first_name": "Jane",
"last_name": "Smith",
"email": "user2@example.com",
"org_id": 502,
"org_name": "Global Services Ltd"
},
"administrator": {
"id": 102,
"first_name": "Jane",
"last_name": "Smith",
"email": "user2@example.com",
"org_id": 502,
"org_name": "Global Services Ltd"
},
"client_org": {
"id": 102,
"name": "Global Services Ltd",
"is_external_client": true
},
"cost_centers": [
{
"cost_center_id": 502,
"allocation_percentage": "1500.00",
"name": "Global Services Ltd",
"code": null,
"admin_custom_fields": null,
"project_id": 502
},
{
"cost_center_id": 503,
"allocation_percentage": "1500.00",
"name": "Global Services Ltd",
"code": null,
"admin_custom_fields": null,
"project_id": 503
}
],
"milestones": [
{
"id": 102,
"title": "Mobile App Development",
"status": "approved",
"client_suggested": false,
"close_project": false,
"comments": "Additional information and context for this record.",
"details": "Additional information and context for this record.",
"due_on": "2024-01-17",
"project_summary": "Website Redesign Project - Complete redesign of corporate website with modern UX",
"mandatory": false,
"notes": "Additional information and context for this record.",
"original_id": 502,
"original_rate": {
"cents": 300000,
"currency": "GBP"
},
"purchase_order_line_id": 502,
"rate": {
"cents": 300000,
"currency": "GBP"
},
"submitted_at": "2024-01-17T10:30:00+00:00",
"interim_valuation_date": "2024-01-17T10:30:00+00:00",
"tiered_markup_fee": {
"cents": 300000,
"currency": "GBP"
},
"children": [
202,
203
],
"parents": [
202,
203
],
"custom_fields": {
"department": "Engineering",
"priority": "high",
"cost_code": "CC-001"
},
"created_at": "2024-01-17T10:30:00+00:00",
"updated_at": "2024-01-17T10:30:00+00:00",
"project_id": 502,
"final_claim": "true",
"delivered_on": "2024-01-17",
"approved_by": {
"id": 102,
"first_name": "Jane",
"last_name": "Smith",
"email": "user2@example.com",
"org_id": 502,
"org_name": "Global Services Ltd"
},
"rejected_by": {
"id": 102,
"first_name": "Jane",
"last_name": "Smith",
"email": "user2@example.com",
"org_id": 502,
"org_name": "Global Services Ltd"
},
"level_1_approved_by": {
"id": 102,
"first_name": "Jane",
"last_name": "Smith",
"email": "user2@example.com",
"org_id": 502,
"org_name": "Global Services Ltd"
}
},
{
"id": 103,
"title": "Mobile App Development",
"status": "rejected",
"client_suggested": false,
"close_project": false,
"comments": "Additional information and context for this record.",
"details": "Additional information and context for this record.",
"due_on": "2024-01-18",
"project_summary": "Website Redesign Project - Complete redesign of corporate website with modern UX",
"mandatory": false,
"notes": "Additional information and context for this record.",
"original_id": 503,
"original_rate": {
"cents": 450000,
"currency": "GBP"
},
"purchase_order_line_id": 503,
"rate": {
"cents": 450000,
"currency": "GBP"
},
"submitted_at": "2024-01-18T10:30:00+00:00",
"interim_valuation_date": "2024-01-18T10:30:00+00:00",
"tiered_markup_fee": {
"cents": 450000,
"currency": "GBP"
},
"children": [
203,
204
],
"parents": [
203,
204
],
"custom_fields": {
"department": "Engineering",
"priority": "high",
"cost_code": "CC-001"
},
"created_at": "2024-01-18T10:30:00+00:00",
"updated_at": "2024-01-18T10:30:00+00:00",
"project_id": 503,
"final_claim": "false",
"delivered_on": "2024-01-18",
"approved_by": {
"id": 103,
"first_name": "Jane",
"last_name": "Smith",
"email": "user3@example.com",
"org_id": 503,
"org_name": "Global Services Ltd"
},
"rejected_by": {
"id": 103,
"first_name": "Jane",
"last_name": "Smith",
"email": "user3@example.com",
"org_id": 503,
"org_name": "Global Services Ltd"
},
"level_1_approved_by": {
"id": 103,
"first_name": "Jane",
"last_name": "Smith",
"email": "user3@example.com",
"org_id": 503,
"org_name": "Global Services Ltd"
}
}
],
"supplier": {
"id": 102,
"name": "Global Services Ltd",
"email": "user2@example.com",
"vetting_status": "FAILED",
"tax_number": "Example tax_number",
"tax_registered": true
},
"created_at": "2024-01-17T10:30:00+00:00",
"updated_at": "2024-01-17T10:30:00+00:00",
"project_matches_count": 10,
"project_line_items": [
{
"id": 102,
"name": "Global Services Ltd",
"manufacturer_name": "Example manufacturer_name",
"manufacturer_part_number": "Example manufacturer_part_number",
"uom": null,
"item": null,
"item_type": "item",
"price": {
"cents": 300000,
"currency": "GBP"
},
"quantity": "1500.00",
"net_total_price": null,
"quantity_delivered": null,
"quantity_undelivered": null,
"custom_fields": {
"department": "Engineering",
"priority": "high",
"cost_code": "CC-001"
},
"created_at": "2024-01-17T10:30:00+00:00",
"updated_at": "2024-01-17T10:30:00+00:00",
"project_id": 502
},
{
"id": 103,
"name": "Global Services Ltd",
"manufacturer_name": "Example manufacturer_name",
"manufacturer_part_number": "Example manufacturer_part_number",
"uom": null,
"item": null,
"item_type": "service",
"price": {
"cents": 450000,
"currency": "GBP"
},
"quantity": "1500.00",
"net_total_price": null,
"quantity_delivered": null,
"quantity_undelivered": null,
"custom_fields": {
"department": "Engineering",
"priority": "high",
"cost_code": "CC-001"
},
"created_at": "2024-01-18T10:30:00+00:00",
"updated_at": "2024-01-18T10:30:00+00:00",
"project_id": 503
}
],
"award_criteria_groups": [
{
"id": 102,
"name": "Global Services Ltd",
"group_type": "Example group_type",
"weighting": 102,
"has_sub_criteria": true,
"position": 102,
"project_quality_criteria": []
},
{
"id": 103,
"name": "Global Services Ltd",
"group_type": "Example group_type",
"weighting": 103,
"has_sub_criteria": true,
"position": 103,
"project_quality_criteria": []
}
]
}
]
}List Projects
Retrieve a paginated list of projects. Use filters to narrow results.
Filtering
Use the filter[<attribute>] parameter to filter results. Multiple filters are combined with AND logic.
Basic Examples
# Equality (implicit)
GET /api/v4/projects?filter[state]=draft
# Multiple values (implicit IN)
GET /api/v4/projects?filter[state]=draft,new
# With explicit operator
GET /api/v4/projects?filter[created_at][gte]=2024-01-01
# Range query
GET /api/v4/projects?filter[rate][between]=1000000,5000000
# Multiple filters (AND)
GET /api/v4/projects?filter[state]=draft&filter[rate][gte]=1000000
Available Attributes
| Attribute | Type | Operators | Permitted Values |
|---|---|---|---|
| additional_notes | string | eq, not_eq, in, not_in, like, not_like | - |
| administrator_id | integer | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| approved | boolean | eq, not_eq | - |
| approved_at | datetime | eq, not_eq, gt, gte, lt, lte, between | - |
| auto_close_at | datetime | eq, not_eq, gt, gte, lt, lte, between | - |
| award_suppliers | json | eq, not_eq | - |
| award_type | string | eq, not_eq, in, not_in | direct_award, competition |
| bafo_submission_deadline | datetime | eq, not_eq, gt, gte, lt, lte, between | - |
| bid_round | integer | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| bids_count | integer | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| budget | money | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| cancellation_other_reason | string | eq, not_eq, in, not_in, like, not_like | - |
| cancellation_reason_id | integer | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| cancelled_at | datetime | eq, not_eq, gt, gte, lt, lte, between | - |
| cancelled_by_id | integer | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| client_billing_contact_id | integer | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| client_id | integer | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| client_org_id | integer | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| client_payment_terms_in_days | integer | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| closed_at | datetime | eq, not_eq, gt, gte, lt, lte, between | - |
| closed_by_id | integer | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| completed_by_id | integer | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| cost_score_allocation_percentage | decimal | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| created_at | datetime | eq, not_eq, gt, gte, lt, lte, between | - |
| current_approval_level | integer | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| custom_location | string | eq, not_eq, in, not_in, like, not_like | - |
| description | string | eq, not_eq, in, not_in, like, not_like | - |
| due_on | datetime | eq, not_eq, gt, gte, lt, lte, between | - |
| duration | string | eq, not_eq, in, not_in, like, not_like | - |
| ended_at | datetime | eq, not_eq, gt, gte, lt, lte, between | - |
| estimated_savings | money | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| fee | decimal | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| fee_methodology | string | eq, not_eq, in, not_in | markup, supplier_absorbed, tiered_markup, supplier_absorbed_itemized, markup_itemized |
| fee_schedule_id | integer | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| halted_comment | string | eq, not_eq, in, not_in, like, not_like | - |
| hired_at | datetime | eq, not_eq, gt, gte, lt, lte, between | - |
| id | integer | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| is_child | boolean | eq, not_eq | - |
| is_parent | boolean | eq, not_eq | - |
| is_template | boolean | eq, not_eq | - |
| location_id | integer | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| location_type | string | eq, not_eq, in, not_in, like, not_like | - |
| markup | decimal | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| original_budget | money | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| original_due_on | datetime | eq, not_eq, gt, gte, lt, lte, between | - |
| original_project_id | integer | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| original_rate | money | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| payment_terms_in_days | integer | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| posting_type | string | eq, not_eq, in, not_in, like, not_like | - |
| project_matches_count | integer | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| projected_recognized_savings | money | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| quality_score_allocation_percentage | decimal | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| rate | money | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| reject_reason | string | eq, not_eq, in, not_in, like, not_like | - |
| risk_level_id | integer | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| skill_category_id | integer | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| skill_category_tier3_id | integer | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| skill_subcategory_id | integer | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| start_date | date | eq, not_eq, gt, gte, lt, lte, between | - |
| state | string | eq, not_eq, in, not_in | draft, pending, new, halted, in_progress, work_completed, cancelled, closed, superseded, bafo |
| submission_deadline | datetime | eq, not_eq, gt, gte, lt, lte, between | - |
| submission_deadline_time_zone | string | eq, not_eq, in, not_in, like, not_like | - |
| submitted_at | datetime | eq, not_eq, gt, gte, lt, lte, between | - |
| supplier_id | integer | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| talent_pool_id | integer | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| target_cost | money | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| time_zone | string | eq, not_eq, in, not_in, like, not_like | - |
| title | string | eq, not_eq, in, not_in, like, not_like | - |
| type | string | eq, not_eq, in, not_in, like, not_like | - |
| updated_at | datetime | eq, not_eq, gt, gte, lt, lte, between | - |
| visibility | string | eq, not_eq, in, not_in, like, not_like | - |
Custom Fields
This resource supports custom field filtering using cf[key] syntax:
# Equality
GET /api/v4/projects?cf[priority]=high
# With operator
GET /api/v4/projects?cf[department][in]=engineering,design
# Check existence
GET /api/v4/projects?cf[priority][exists]=
# Negation
GET /api/v4/projects?cf[priority][not_eq]=low
OR Conditions
Use or[group] to combine filter groups with OR logic. Filters within a group are ANDed:
# Simple OR
GET /api/v4/projects?or[1][state]=pending&or[2][state]=draft
# Complex OR (state=pending AND rate>=1000000) OR (state=draft)
GET /api/v4/projects?or[1][state]=pending&or[1][rate][gte]=1000000&or[2][state]=draft
Sorting
Use sort[<attribute>] to order results. Default direction is ascending.
# Ascending (implicit)
GET /api/v4/projects?sort[created_at]=
# Descending
GET /api/v4/projects?sort[created_at]=desc
# Combined with filters
GET /api/v4/projects?filter[state]=draft&sort[created_at]=desc
curl --request GET \
--url https://api.zivio.net/api/v4/projects \
--header 'Authorization: Bearer <token>' \
--header 'zivio-tenant-id: <api-key>'import requests
url = "https://api.zivio.net/api/v4/projects"
headers = {
"Authorization": "Bearer <token>",
"zivio-tenant-id": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {Authorization: 'Bearer <token>', 'zivio-tenant-id': '<api-key>'}
};
fetch('https://api.zivio.net/api/v4/projects', 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.zivio.net/api/v4/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>",
"zivio-tenant-id: <api-key>"
],
]);
$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.zivio.net/api/v4/projects"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("zivio-tenant-id", "<api-key>")
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.zivio.net/api/v4/projects")
.header("Authorization", "Bearer <token>")
.header("zivio-tenant-id", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zivio.net/api/v4/projects")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
request["zivio-tenant-id"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"projects": [
{
"id": 101,
"title": "Website Redesign Project",
"description": "Complete redesign of corporate website with modern UX",
"state": "pending",
"additional_notes": "Additional information and context for this record.",
"skill_category": {
"id": 101,
"name": "Acme Corporation",
"code": "Example code",
"slug": "Example slug",
"precedence": 101,
"parent_id": 501,
"parent_name": "Example parent_name",
"parent_slug": "Example parent_slug"
},
"skill_subcategory": {
"id": 101,
"name": "Acme Corporation",
"code": "Example code",
"slug": "Example slug",
"precedence": 101,
"parent_id": 501,
"parent_name": "Example parent_name",
"parent_slug": "Example parent_slug"
},
"skill_category_tier3": {
"id": 101,
"name": "Acme Corporation",
"code": "Example code",
"slug": "Example slug",
"precedence": 101,
"parent_id": 501,
"parent_name": "Example parent_name",
"parent_slug": "Example parent_slug"
},
"skills": [
{
"id": 101,
"name": "Acme Corporation",
"slug": "Example slug"
},
{
"id": 102,
"name": "Global Services Ltd",
"slug": "Example slug"
}
],
"talent_pool_id": 501,
"type": "standard",
"posting_type": "public",
"bids_count": 5,
"submission_deadline": "2024-01-16T10:30:00+00:00",
"submission_deadline_time_zone": "Europe/London",
"ccy": "GBP",
"fee_methodology": "supplier_absorbed",
"fee_schedule_id": 501,
"award_type": "competition",
"risk_level_id": 501,
"is_template": false,
"quality_score_allocation_percentage": 50,
"cost_score_allocation_percentage": 50,
"award_suppliers": [
"direct",
"panel"
],
"approved": true,
"submitted_at": "2024-01-16T10:30:00+00:00",
"approved_at": "2024-01-16T10:30:00+00:00",
"hired_at": "2024-01-16T10:30:00+00:00",
"start_date": "2024-03-08",
"due_on": "2024-01-16",
"original_due_on": "2024-01-16",
"ended_at": "2024-01-16T10:30:00+00:00",
"closed_at": "2024-01-16T10:30:00+00:00",
"auto_close_at": "2024-01-16T10:30:00+00:00",
"halted_comment": null,
"cancellation_reason_id": 501,
"cancellation_other_reason": null,
"cancelled_by": {
"id": 101,
"first_name": "Demo",
"last_name": "User",
"email": "user1@example.com",
"org_id": 501,
"org_name": "Acme Corporation"
},
"cancelled_at": "2024-01-16T10:30:00+00:00",
"completed_by": {
"id": 101,
"first_name": "Demo",
"last_name": "User",
"email": "user1@example.com",
"org_id": 501,
"org_name": "Acme Corporation"
},
"closed_by": {
"id": 101,
"first_name": "Demo",
"last_name": "User",
"email": "user1@example.com",
"org_id": 501,
"org_name": "Acme Corporation"
},
"visibility": "visible",
"bafo_submission_deadline": "2024-01-16T10:30:00+00:00",
"bid_round": 101,
"original_project_id": 501,
"location": {
"type": "location",
"label": "London, UK"
},
"target_cost": {
"cents": 150000,
"currency": "GBP"
},
"budget": {
"cents": 150000,
"currency": "GBP"
},
"original_budget": {
"cents": 150000,
"currency": "GBP"
},
"rate": {
"cents": 150000,
"currency": "GBP"
},
"original_rate": {
"cents": 150000,
"currency": "GBP"
},
"fee": "1500.00",
"markup": "1500.00",
"estimated_savings": {
"cents": 150000,
"currency": "GBP"
},
"projected_recognized_savings": {
"cents": 150000,
"currency": "GBP"
},
"payment_terms_in_days": 30,
"client_payment_terms_in_days": 30,
"permit_supplier_defined_milestones": null,
"supplier_defined_milestones": null,
"client_defined_milestones_mandatory": null,
"invoices_cis": null,
"cis_end_user_client": null,
"is_child": false,
"is_parent": false,
"custom_fields": {
"department": "Engineering",
"priority": "high",
"cost_code": "CC-001"
},
"badges": [
"urgent",
"featured"
],
"project_screening_questions": [
{
"question": "Years of experience?",
"required": true
},
{
"question": "Available start date?",
"required": false
}
],
"client": {
"id": 101,
"first_name": "Demo",
"last_name": "User",
"email": "user1@example.com",
"org_id": 501,
"org_name": "Acme Corporation"
},
"administrator": {
"id": 101,
"first_name": "Demo",
"last_name": "User",
"email": "user1@example.com",
"org_id": 501,
"org_name": "Acme Corporation"
},
"client_org": {
"id": 101,
"name": "Acme Corporation",
"is_external_client": true
},
"cost_centers": [
{
"cost_center_id": 501,
"allocation_percentage": "1500.00",
"name": "Acme Corporation",
"code": null,
"admin_custom_fields": null,
"project_id": 501
},
{
"cost_center_id": 502,
"allocation_percentage": "1500.00",
"name": "Global Services Ltd",
"code": null,
"admin_custom_fields": null,
"project_id": 502
}
],
"milestones": [
{
"id": 101,
"title": "Website Redesign Project",
"status": "submitted",
"client_suggested": false,
"close_project": false,
"comments": "Additional information and context for this record.",
"details": "Additional information and context for this record.",
"due_on": "2024-01-16",
"project_summary": "Website Redesign Project - Complete redesign of corporate website with modern UX",
"mandatory": false,
"notes": "Additional information and context for this record.",
"original_id": 501,
"original_rate": {
"cents": 150000,
"currency": "GBP"
},
"purchase_order_line_id": 501,
"rate": {
"cents": 150000,
"currency": "GBP"
},
"submitted_at": "2024-01-16T10:30:00+00:00",
"interim_valuation_date": "2024-01-16T10:30:00+00:00",
"tiered_markup_fee": {
"cents": 150000,
"currency": "GBP"
},
"children": [
201,
202
],
"parents": [
201,
202
],
"custom_fields": {
"department": "Engineering",
"priority": "high",
"cost_code": "CC-001"
},
"created_at": "2024-01-16T10:30:00+00:00",
"updated_at": "2024-01-16T10:30:00+00:00",
"project_id": 501,
"final_claim": "false",
"delivered_on": "2024-01-16",
"approved_by": {
"id": 101,
"first_name": "Demo",
"last_name": "User",
"email": "user1@example.com",
"org_id": 501,
"org_name": "Acme Corporation"
},
"rejected_by": {
"id": 101,
"first_name": "Demo",
"last_name": "User",
"email": "user1@example.com",
"org_id": 501,
"org_name": "Acme Corporation"
},
"level_1_approved_by": {
"id": 101,
"first_name": "Demo",
"last_name": "User",
"email": "user1@example.com",
"org_id": 501,
"org_name": "Acme Corporation"
}
},
{
"id": 102,
"title": "Mobile App Development",
"status": "approved",
"client_suggested": false,
"close_project": false,
"comments": "Additional information and context for this record.",
"details": "Additional information and context for this record.",
"due_on": "2024-01-17",
"project_summary": "Website Redesign Project - Complete redesign of corporate website with modern UX",
"mandatory": false,
"notes": "Additional information and context for this record.",
"original_id": 502,
"original_rate": {
"cents": 300000,
"currency": "GBP"
},
"purchase_order_line_id": 502,
"rate": {
"cents": 300000,
"currency": "GBP"
},
"submitted_at": "2024-01-17T10:30:00+00:00",
"interim_valuation_date": "2024-01-17T10:30:00+00:00",
"tiered_markup_fee": {
"cents": 300000,
"currency": "GBP"
},
"children": [
202,
203
],
"parents": [
202,
203
],
"custom_fields": {
"department": "Engineering",
"priority": "high",
"cost_code": "CC-001"
},
"created_at": "2024-01-17T10:30:00+00:00",
"updated_at": "2024-01-17T10:30:00+00:00",
"project_id": 502,
"final_claim": "true",
"delivered_on": "2024-01-17",
"approved_by": {
"id": 102,
"first_name": "Jane",
"last_name": "Smith",
"email": "user2@example.com",
"org_id": 502,
"org_name": "Global Services Ltd"
},
"rejected_by": {
"id": 102,
"first_name": "Jane",
"last_name": "Smith",
"email": "user2@example.com",
"org_id": 502,
"org_name": "Global Services Ltd"
},
"level_1_approved_by": {
"id": 102,
"first_name": "Jane",
"last_name": "Smith",
"email": "user2@example.com",
"org_id": 502,
"org_name": "Global Services Ltd"
}
}
],
"supplier": {
"id": 101,
"name": "Acme Corporation",
"email": "user1@example.com",
"vetting_status": "PASSED",
"tax_number": "Example tax_number",
"tax_registered": true
},
"created_at": "2024-01-16T10:30:00+00:00",
"updated_at": "2024-01-16T10:30:00+00:00",
"project_matches_count": 5,
"project_line_items": [
{
"id": 101,
"name": "Acme Corporation",
"manufacturer_name": "Example manufacturer_name",
"manufacturer_part_number": "Example manufacturer_part_number",
"uom": null,
"item": null,
"item_type": "service",
"price": {
"cents": 150000,
"currency": "GBP"
},
"quantity": "1500.00",
"net_total_price": null,
"quantity_delivered": null,
"quantity_undelivered": null,
"custom_fields": {
"department": "Engineering",
"priority": "high",
"cost_code": "CC-001"
},
"created_at": "2024-01-16T10:30:00+00:00",
"updated_at": "2024-01-16T10:30:00+00:00",
"project_id": 501
},
{
"id": 102,
"name": "Global Services Ltd",
"manufacturer_name": "Example manufacturer_name",
"manufacturer_part_number": "Example manufacturer_part_number",
"uom": null,
"item": null,
"item_type": "item",
"price": {
"cents": 300000,
"currency": "GBP"
},
"quantity": "1500.00",
"net_total_price": null,
"quantity_delivered": null,
"quantity_undelivered": null,
"custom_fields": {
"department": "Engineering",
"priority": "high",
"cost_code": "CC-001"
},
"created_at": "2024-01-17T10:30:00+00:00",
"updated_at": "2024-01-17T10:30:00+00:00",
"project_id": 502
}
],
"award_criteria_groups": [
{
"id": 101,
"name": "Acme Corporation",
"group_type": "Example group_type",
"weighting": 101,
"has_sub_criteria": true,
"position": 101,
"project_quality_criteria": []
},
{
"id": 102,
"name": "Global Services Ltd",
"group_type": "Example group_type",
"weighting": 102,
"has_sub_criteria": true,
"position": 102,
"project_quality_criteria": []
}
]
},
{
"id": 102,
"title": "Mobile App Development",
"description": "Native iOS and Android application",
"state": "new",
"additional_notes": "Additional information and context for this record.",
"skill_category": {
"id": 102,
"name": "Global Services Ltd",
"code": "Example code",
"slug": "Example slug",
"precedence": 102,
"parent_id": 502,
"parent_name": "Example parent_name",
"parent_slug": "Example parent_slug"
},
"skill_subcategory": {
"id": 102,
"name": "Global Services Ltd",
"code": "Example code",
"slug": "Example slug",
"precedence": 102,
"parent_id": 502,
"parent_name": "Example parent_name",
"parent_slug": "Example parent_slug"
},
"skill_category_tier3": {
"id": 102,
"name": "Global Services Ltd",
"code": "Example code",
"slug": "Example slug",
"precedence": 102,
"parent_id": 502,
"parent_name": "Example parent_name",
"parent_slug": "Example parent_slug"
},
"skills": [
{
"id": 102,
"name": "Global Services Ltd",
"slug": "Example slug"
},
{
"id": 103,
"name": "Global Services Ltd",
"slug": "Example slug"
}
],
"talent_pool_id": 502,
"type": "standard",
"posting_type": "public",
"bids_count": 10,
"submission_deadline": "2024-01-17T10:30:00+00:00",
"submission_deadline_time_zone": "Europe/London",
"ccy": "GBP",
"fee_methodology": "tiered_markup",
"fee_schedule_id": 502,
"award_type": "direct_award",
"risk_level_id": 502,
"is_template": false,
"quality_score_allocation_percentage": 50,
"cost_score_allocation_percentage": 50,
"award_suppliers": [
"direct",
"panel"
],
"approved": true,
"submitted_at": "2024-01-17T10:30:00+00:00",
"approved_at": "2024-01-17T10:30:00+00:00",
"hired_at": "2024-01-17T10:30:00+00:00",
"start_date": "2024-03-15",
"due_on": "2024-01-17",
"original_due_on": "2024-01-17",
"ended_at": "2024-01-17T10:30:00+00:00",
"closed_at": "2024-01-17T10:30:00+00:00",
"auto_close_at": "2024-01-17T10:30:00+00:00",
"halted_comment": null,
"cancellation_reason_id": 502,
"cancellation_other_reason": null,
"cancelled_by": {
"id": 102,
"first_name": "Jane",
"last_name": "Smith",
"email": "user2@example.com",
"org_id": 502,
"org_name": "Global Services Ltd"
},
"cancelled_at": "2024-01-17T10:30:00+00:00",
"completed_by": {
"id": 102,
"first_name": "Jane",
"last_name": "Smith",
"email": "user2@example.com",
"org_id": 502,
"org_name": "Global Services Ltd"
},
"closed_by": {
"id": 102,
"first_name": "Jane",
"last_name": "Smith",
"email": "user2@example.com",
"org_id": 502,
"org_name": "Global Services Ltd"
},
"visibility": "visible",
"bafo_submission_deadline": "2024-01-17T10:30:00+00:00",
"bid_round": 102,
"original_project_id": 502,
"location": {
"type": "location",
"label": "London, UK"
},
"target_cost": {
"cents": 300000,
"currency": "GBP"
},
"budget": {
"cents": 300000,
"currency": "GBP"
},
"original_budget": {
"cents": 300000,
"currency": "GBP"
},
"rate": {
"cents": 300000,
"currency": "GBP"
},
"original_rate": {
"cents": 300000,
"currency": "GBP"
},
"fee": "1500.00",
"markup": "1500.00",
"estimated_savings": {
"cents": 300000,
"currency": "GBP"
},
"projected_recognized_savings": {
"cents": 300000,
"currency": "GBP"
},
"payment_terms_in_days": 30,
"client_payment_terms_in_days": 30,
"permit_supplier_defined_milestones": null,
"supplier_defined_milestones": null,
"client_defined_milestones_mandatory": null,
"invoices_cis": null,
"cis_end_user_client": null,
"is_child": false,
"is_parent": false,
"custom_fields": {
"department": "Engineering",
"priority": "high",
"cost_code": "CC-001"
},
"badges": [
"urgent",
"featured"
],
"project_screening_questions": [
{
"question": "Years of experience?",
"required": true
},
{
"question": "Available start date?",
"required": false
}
],
"client": {
"id": 102,
"first_name": "Jane",
"last_name": "Smith",
"email": "user2@example.com",
"org_id": 502,
"org_name": "Global Services Ltd"
},
"administrator": {
"id": 102,
"first_name": "Jane",
"last_name": "Smith",
"email": "user2@example.com",
"org_id": 502,
"org_name": "Global Services Ltd"
},
"client_org": {
"id": 102,
"name": "Global Services Ltd",
"is_external_client": true
},
"cost_centers": [
{
"cost_center_id": 502,
"allocation_percentage": "1500.00",
"name": "Global Services Ltd",
"code": null,
"admin_custom_fields": null,
"project_id": 502
},
{
"cost_center_id": 503,
"allocation_percentage": "1500.00",
"name": "Global Services Ltd",
"code": null,
"admin_custom_fields": null,
"project_id": 503
}
],
"milestones": [
{
"id": 102,
"title": "Mobile App Development",
"status": "approved",
"client_suggested": false,
"close_project": false,
"comments": "Additional information and context for this record.",
"details": "Additional information and context for this record.",
"due_on": "2024-01-17",
"project_summary": "Website Redesign Project - Complete redesign of corporate website with modern UX",
"mandatory": false,
"notes": "Additional information and context for this record.",
"original_id": 502,
"original_rate": {
"cents": 300000,
"currency": "GBP"
},
"purchase_order_line_id": 502,
"rate": {
"cents": 300000,
"currency": "GBP"
},
"submitted_at": "2024-01-17T10:30:00+00:00",
"interim_valuation_date": "2024-01-17T10:30:00+00:00",
"tiered_markup_fee": {
"cents": 300000,
"currency": "GBP"
},
"children": [
202,
203
],
"parents": [
202,
203
],
"custom_fields": {
"department": "Engineering",
"priority": "high",
"cost_code": "CC-001"
},
"created_at": "2024-01-17T10:30:00+00:00",
"updated_at": "2024-01-17T10:30:00+00:00",
"project_id": 502,
"final_claim": "true",
"delivered_on": "2024-01-17",
"approved_by": {
"id": 102,
"first_name": "Jane",
"last_name": "Smith",
"email": "user2@example.com",
"org_id": 502,
"org_name": "Global Services Ltd"
},
"rejected_by": {
"id": 102,
"first_name": "Jane",
"last_name": "Smith",
"email": "user2@example.com",
"org_id": 502,
"org_name": "Global Services Ltd"
},
"level_1_approved_by": {
"id": 102,
"first_name": "Jane",
"last_name": "Smith",
"email": "user2@example.com",
"org_id": 502,
"org_name": "Global Services Ltd"
}
},
{
"id": 103,
"title": "Mobile App Development",
"status": "rejected",
"client_suggested": false,
"close_project": false,
"comments": "Additional information and context for this record.",
"details": "Additional information and context for this record.",
"due_on": "2024-01-18",
"project_summary": "Website Redesign Project - Complete redesign of corporate website with modern UX",
"mandatory": false,
"notes": "Additional information and context for this record.",
"original_id": 503,
"original_rate": {
"cents": 450000,
"currency": "GBP"
},
"purchase_order_line_id": 503,
"rate": {
"cents": 450000,
"currency": "GBP"
},
"submitted_at": "2024-01-18T10:30:00+00:00",
"interim_valuation_date": "2024-01-18T10:30:00+00:00",
"tiered_markup_fee": {
"cents": 450000,
"currency": "GBP"
},
"children": [
203,
204
],
"parents": [
203,
204
],
"custom_fields": {
"department": "Engineering",
"priority": "high",
"cost_code": "CC-001"
},
"created_at": "2024-01-18T10:30:00+00:00",
"updated_at": "2024-01-18T10:30:00+00:00",
"project_id": 503,
"final_claim": "false",
"delivered_on": "2024-01-18",
"approved_by": {
"id": 103,
"first_name": "Jane",
"last_name": "Smith",
"email": "user3@example.com",
"org_id": 503,
"org_name": "Global Services Ltd"
},
"rejected_by": {
"id": 103,
"first_name": "Jane",
"last_name": "Smith",
"email": "user3@example.com",
"org_id": 503,
"org_name": "Global Services Ltd"
},
"level_1_approved_by": {
"id": 103,
"first_name": "Jane",
"last_name": "Smith",
"email": "user3@example.com",
"org_id": 503,
"org_name": "Global Services Ltd"
}
}
],
"supplier": {
"id": 102,
"name": "Global Services Ltd",
"email": "user2@example.com",
"vetting_status": "FAILED",
"tax_number": "Example tax_number",
"tax_registered": true
},
"created_at": "2024-01-17T10:30:00+00:00",
"updated_at": "2024-01-17T10:30:00+00:00",
"project_matches_count": 10,
"project_line_items": [
{
"id": 102,
"name": "Global Services Ltd",
"manufacturer_name": "Example manufacturer_name",
"manufacturer_part_number": "Example manufacturer_part_number",
"uom": null,
"item": null,
"item_type": "item",
"price": {
"cents": 300000,
"currency": "GBP"
},
"quantity": "1500.00",
"net_total_price": null,
"quantity_delivered": null,
"quantity_undelivered": null,
"custom_fields": {
"department": "Engineering",
"priority": "high",
"cost_code": "CC-001"
},
"created_at": "2024-01-17T10:30:00+00:00",
"updated_at": "2024-01-17T10:30:00+00:00",
"project_id": 502
},
{
"id": 103,
"name": "Global Services Ltd",
"manufacturer_name": "Example manufacturer_name",
"manufacturer_part_number": "Example manufacturer_part_number",
"uom": null,
"item": null,
"item_type": "service",
"price": {
"cents": 450000,
"currency": "GBP"
},
"quantity": "1500.00",
"net_total_price": null,
"quantity_delivered": null,
"quantity_undelivered": null,
"custom_fields": {
"department": "Engineering",
"priority": "high",
"cost_code": "CC-001"
},
"created_at": "2024-01-18T10:30:00+00:00",
"updated_at": "2024-01-18T10:30:00+00:00",
"project_id": 503
}
],
"award_criteria_groups": [
{
"id": 102,
"name": "Global Services Ltd",
"group_type": "Example group_type",
"weighting": 102,
"has_sub_criteria": true,
"position": 102,
"project_quality_criteria": []
},
{
"id": 103,
"name": "Global Services Ltd",
"group_type": "Example group_type",
"weighting": 103,
"has_sub_criteria": true,
"position": 103,
"project_quality_criteria": []
}
]
}
]
}Authorizations
OAuth 2.0 client credentials. The access token from POST /oauth/token is sent as a bearer token. Request only the scopes you need.
Your Zivio organisation identifier. The regional API endpoints serve every Zivio organisation, so each request must identify yours.
Query Parameters
Page number for pagination
Number of results per page (max 100)
x <= 100Filterable attributes:
integer (operators: eq, not_eq, in, not_in, gt, gte, lt, lte, between): administrator_id, bid_round, bids_count, cancellation_reason_id, cancelled_by_id, client_billing_contact_id, client_id, client_org_id, client_payment_terms_in_days, closed_by_id, completed_by_id, current_approval_level, fee_schedule_id, id, location_id, original_project_id, payment_terms_in_days, project_matches_count, risk_level_id, skill_category_id, skill_category_tier3_id, skill_subcategory_id, supplier_id, talent_pool_id datetime (operators: eq, not_eq, gt, gte, lt, lte, between): approved_at, auto_close_at, bafo_submission_deadline, cancelled_at, closed_at, created_at, due_on, ended_at, hired_at, original_due_on, submission_deadline, submitted_at, updated_at string (operators: eq, not_eq, in, not_in, like, not_like): additional_notes, award_type (one of: direct_award, competition), cancellation_other_reason, custom_location, description, duration, fee_methodology (one of: markup, supplier_absorbed, tiered_markup, supplier_absorbed_itemized, markup_itemized), halted_comment, location_type, posting_type, reject_reason, state (one of: draft, pending, new, halted, in_progress, work_completed, cancelled, closed, superseded, bafo), submission_deadline_time_zone, time_zone, title, type, visibility money (operators: eq, not_eq, in, not_in, gt, gte, lt, lte, between): budget, estimated_savings, original_budget, original_rate, projected_recognized_savings, rate, target_cost decimal (operators: eq, not_eq, in, not_in, gt, gte, lt, lte, between): cost_score_allocation_percentage, fee, markup, quality_score_allocation_percentage date (operators: eq, not_eq, gt, gte, lt, lte, between): start_date boolean (operators: eq, not_eq): approved, is_child, is_parent, is_template json (operators: eq, not_eq): award_suppliers
Note: money values are in minor currency units (e.g. pence for GBP). Use 1000000 for £10,000.00.
Note: like is a case-insensitive substring match — pass the bare term (filter[title][like]=redesign). Do not add % wildcards; they are not needed.
OR condition groups. Filters within a group are ANDed; groups are ORed.
Syntax: or[group_key][<attribute>]=value or or[group_key][<attribute>][operator]=value
Examples:
- Simple OR:
or[1][state]=draft&or[2][state]=pending - Complex:
or[1][state]=draft&or[1][budget][gte]=50000&or[2][state]=closed - With custom fields:
or[1][cf][priority]=high&or[2][state]=pending
Group keys can be any string (1, 2, a, b, etc.) - they just need to be unique.
Custom field filters using concise syntax.
Syntax:
- Equality:
cf[key]=value - With operator:
cf[key][operator]=value
Operators: eq (default), not_eq, in, not_in, contains, not_contains, exists, not_exists
Examples:
cf[priority]=high- exact matchcf[department][in]=eng,design- matches anycf[priority][not_eq]=low- not equalcf[notes][contains]=urgent- contains textcf[legacy_field][exists]=- field exists (value ignored)cf[deprecated][not_exists]=- field does not exist
Custom field filters within OR condition groups.
Syntax: or[group][cf][key]=value or or[group][cf][key][operator]=value
Example: or[1][cf][priority]=high&or[2][state]=pending
Sort results by attribute. Direction defaults to ascending.
Syntax: sort[<attribute>]= (ascending) or sort[<attribute>]=desc (descending)
Sortable attributes: additional_notes, administrator_id, approved, approved_at, auto_close_at, award_suppliers, award_type, bafo_submission_deadline, bid_round, bids_count, budget, cancellation_other_reason, cancellation_reason_id, cancelled_at, cancelled_by_id, client_billing_contact_id, client_id, client_org_id, client_payment_terms_in_days, closed_at, closed_by_id, completed_by_id, cost_score_allocation_percentage, created_at, current_approval_level, custom_location, description, due_on, duration, ended_at, estimated_savings, fee, fee_methodology, fee_schedule_id, halted_comment, hired_at, id, is_child, is_parent, is_template, location_id, location_type, markup, original_budget, original_due_on, original_project_id, original_rate, payment_terms_in_days, posting_type, project_matches_count, projected_recognized_savings, quality_score_allocation_percentage, rate, reject_reason, risk_level_id, skill_category_id, skill_category_tier3_id, skill_subcategory_id, start_date, state, submission_deadline, submission_deadline_time_zone, submitted_at, supplier_id, talent_pool_id, target_cost, time_zone, title, type, updated_at, visibility
Examples:
- Ascending:
sort[created_at]=orsort[created_at]=asc - Descending:
sort[created_at]=desc
Response
List of projects
Show child attributes
Show child attributes

