ReDesk
NewProposals drafted by ReDesk AI in under four minutesSee what's new
Case studySunfield EPC cut feasibility turnaround from 3.4 days to 6 hoursRead the story
Pricing
Sign inSchedule a demo
Documentation

Build on the ReDesk stack

Guides, references and webhooks for every product. Pick the platform you are integrating with — the whole library follows.

Platform
ReDesk AI › Projects

Projects

A project is the record everything hangs off: the customer, the site, the system size and where it is in your SOP. Proposals, steps and milestones all belong to one.

The project object

FieldTypeDescription
idstringUnique id, prefixed prj_.
customerstringThe customer this project is for (cus_…).
templatestringThe SOP template the project follows (tpl_…).
capacity_kwnumberPlanned DC capacity in kW.
stageenumlead, survey, design, approval, install, commissioned or closed.
siteobjectAddress and coordinates of the installation.
ownerstringThe team member accountable for the project (usr_…).
created_attimestampWhen the project was created.
project object
{
  "id": "prj_71Ka",
  "object": "project",
  "customer": "cus_8Q2Xk",
  "template": "tpl_rooftop_standard",
  "capacity_kw": 42.5,
  "stage": "survey",
  "site": {
    "line1": "Plot 14, MIDC Bhosari",
    "city": "Pune",
    "state": "MH",
    "postcode": "411026",
    "lat": 18.6298,
    "lng": 73.8478
  },
  "owner": "usr_2Wd9",
  "created_at": "2026-08-01T06:20:11Z"
}

List projects

GET/v1/projects

Projects in your organisation, newest first.

ParameterDescription
stage
query · enum
Only projects in this stage.
customer
query · string
Only this customer's projects.
limit
query · integer
Page size, 1–100. Defaults to 20.
starting_after
query · string
Cursor: the id of the last item on the previous page.
Request
curl https://api.redesk.ai/v1/projects \
  -H "Authorization: Bearer sk_test_..."
Response
{
  "object": "list",
  "data": [
    {
      "id": "prj_71Ka",
      "object": "project",
      "customer": "cus_8Q2Xk",
      "template": "tpl_rooftop_standard",
      "capacity_kw": 42.5,
      "stage": "survey",
      "site": {
        "line1": "Plot 14, MIDC Bhosari",
        "city": "Pune",
        "state": "MH",
        "postcode": "411026",
        "lat": 18.6298,
        "lng": 73.8478
      },
      "owner": "usr_2Wd9",
      "created_at": "2026-08-01T06:20:11Z"
    }
  ],
  "has_more": false
}

Create a project

POST/v1/projects

Starts a project from an SOP template. The first step of the template is opened immediately.

ParameterDescription
customer
body · stringrequired
Customer id, e.g. cus_8Q2Xk.
template
body · stringrequired
SOP template id.
capacity_kw
body · numberrequired
Planned DC capacity in kW.
site
body · object
Address and coordinates. Defaults to the customer's address.
owner
body · string
Accountable team member. Defaults to the key's owner.
Request
curl -X POST https://api.redesk.ai/v1/projects \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "customer": "cus_8Q2Xk",
    "template": "tpl_rooftop_standard",
    "capacity_kw": 42.5
  }'
Response
{
  "id": "prj_71Ka",
  "object": "project",
  "customer": "cus_8Q2Xk",
  "template": "tpl_rooftop_standard",
  "capacity_kw": 42.5,
  "stage": "survey",
  "site": {
    "line1": "Plot 14, MIDC Bhosari",
    "city": "Pune",
    "state": "MH",
    "postcode": "411026",
    "lat": 18.6298,
    "lng": 73.8478
  },
  "owner": "usr_2Wd9",
  "created_at": "2026-08-01T06:20:11Z"
}

Retrieve a project

GET/v1/projects/{id}

Fetch one project by id.

ParameterDescription
id
path · stringrequired
The project's id.
Request
curl https://api.redesk.ai/v1/projects/prj_71Ka \
  -H "Authorization: Bearer sk_test_..."
Response
{
  "id": "prj_71Ka",
  "object": "project",
  "customer": "cus_8Q2Xk",
  "template": "tpl_rooftop_standard",
  "capacity_kw": 42.5,
  "stage": "survey",
  "site": {
    "line1": "Plot 14, MIDC Bhosari",
    "city": "Pune",
    "state": "MH",
    "postcode": "411026",
    "lat": 18.6298,
    "lng": 73.8478
  },
  "owner": "usr_2Wd9",
  "created_at": "2026-08-01T06:20:11Z"
}

Update a project

PATCH/v1/projects/{id}

Change the owner, size or site. Stage moves only through SOP steps, never directly.

ParameterDescription
id
path · stringrequired
The project's id.
capacity_kw
body · number
New planned capacity.
owner
body · string
New accountable team member.
Request
curl -X PATCH https://api.redesk.ai/v1/projects/prj_71Ka \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "capacity_kw": 45
  }'
Response
{
  "id": "prj_71Ka",
  "object": "project",
  "customer": "cus_8Q2Xk",
  "template": "tpl_rooftop_standard",
  "capacity_kw": 45,
  "stage": "survey",
  "site": {
    "line1": "Plot 14, MIDC Bhosari",
    "city": "Pune",
    "state": "MH",
    "postcode": "411026",
    "lat": 18.6298,
    "lng": 73.8478
  },
  "owner": "usr_2Wd9",
  "created_at": "2026-08-01T06:20:11Z"
}