Projects
These APIs allows developers integrating with the Eano platform to interact with Projects created by contractors and other service providers.
For POST requests, body data should be sent as JSON.
Creating a Project
POST /api/v1/external/projects
This API allows you to create a new Project to get bids from the Eano Network.
| Parameter | Type | Comment |
|---|---|---|
client_name |
str |
Name of the client (tenant, homeowner, etc.) who owns or occupies the space where the work will take place |
phone_number |
str |
Phone number for the primary point of contact on the work |
email |
str |
Email address of the primary point of contact for the work |
project_address |
str |
Location where the project is taking place |
scope |
json |
A JSON-encoded blob that describes the scope of work |
This API will echo back your submission plus our assigned project ID so you can validate success.
Expressing Project scope
The scope should be an array of dictionaries each with two elements
| Parameter | Type | Comment |
|---|---|---|
project_type |
str |
The type of work |
title |
str |
Brief description of the work |
Permissible project types:
- ADU
- Flooring
- Permit
- Kitchen
- Bathroom
- Painting
- Maintenance
- Other Work
Example
[
{"project_type": "Kitchen",
"title": "Gut renovation"},
{"project_type": "Painting",
"title": "Paint living room"}
]Example response
{
"code": 0,
"message": "success",
"data": {
"project_id": 3958,
"client_name": "Marie Lavoisier",
"phone_number": "+12125559090",
"project_address": "1000 5th Ave, New York, NY 10028",
"email": "m.lavoisier@dev.null",
"scope": [
{
"project_type": "Kitchen",
"title": "Redo ventilation"
},
{
"project_type": "Painting",
"title": "Refinish salon"
}
]
}
}Getting a Project
GET /api/v1/external/projects/:id
For a Project that’s been submitted, pulling the Project info gives a variety of data about the Project. For Projects that are active or completed, this will includes milestones statuses you can use to update your representation of the Project’s progress.
| Parameter | Type | Comment |
|---|---|---|
No parameters. Submit the Project ID via the path.
Example response:
{
"code": 0,
"message": "success",
"data": {
"project_id": 3958,
"client_name": "Marie Lavoisier",
"phone_number": "+12125559090",
"project_address": "1000 5th Ave, New York, NY 10028",
"email": "m.lavoisier@dev.null",
"total_cost": 124800,
"currency": "USD",
"scope": [
{
"project_type": "Kitchen",
"title": "Redo ventilation"
},
{
"project_type": "Painting",
"title": "Refinish salon"
}
],
"milestones": [
{
"milestone_id": 3301,
"name": "Mobilization",
"total_cost": 10000,
"scheduled_at": 1713454102,
"due_at": 1713454102,
"started_at": 1713454102,
"completed_at": 1713454102,
"payment_status": 0,
"assigned_service_provider": "service_provider@dev.null"
},
{
"milestone_id": 3302,
"name": "Demolition",
"total_cost": 50000,
"scheduled_at": 1713454102,
"due_at": 1713454102,
"started_at": null,
"completed_at": null,
"payment_status": 0,
"assigned_service_provider": "service_provider@dev.null"
},
{
"milestone_id": 3303,
"name": "Rough install",
"total_cost": 30000,
"scheduled_at": 1713454102,
"due_at": 1713454102,
"started_at": null,
"completed_at": ,
"payment_status": 0,
"assigned_service_provider": "service_provider@dev.null"
},
{
"milestone_id": 3304,
"name": "Final install",
"total_cost": 10000,
"scheduled_at": 1713454102,
"due_at": 1713454102,
"started_at": null,
"completed_at": null,
"payment_status": 0,
"assigned_service_provider": "service_provider@dev.null"
}
]
}
}