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"
      }
    ]
  }
}