listings:read permission, and changes need listings:write. The units and the development itself are edited like any listing, with PATCH /listings/{code}.
What the key sees depends on the account’s role in the company:
A project the account can’t see answers
404, just like one that doesn’t exist. An agency has projects only when it markets developments under a mandate (see An agency’s projects); otherwise the list comes back empty.
Projects
GET /account/projects returns the projects the key sees, with cursor pagination. As in the portal’s list, q searches the title, the street and the area, and stage keeps only one stage. GET /account/projects/{code} returns one project by the development’s code:
managessays whether the key’s account runs the project, that is, whether it can change the sales office and take partners’ units out.teamstarts with the owner and the administrators, who are on every project (all_projects: true), then the colleagues chosen for the project.team[].emailgoes only to the keys of the owner, the administrators and the managers, as on the Team page in the portal. A manager gets the emails of the colleagues on their projects, not those of the owner and administrators. An agent’s key gets only its own email; for colleagues,emailisnull.unitscounts the project’s public units, as on the development’s page.partnersandrequestsare the columns of the Projects list: the active partnerships and the partnership requests waiting, then the client requests and how many of them nobody has taken. They are figures only; you read the requests withleads:read(see Client requests).
An agency’s projects
An agency that markets a development under a requested or confirmed mandate has it under Projects, as in the portal. Only the agency’s owner and administrators see the list, and they run these projects. The key of one of the agency’s managers or agents gets an empty list. On an agency’s project:managesistrue: the owner and administrators change the sales office, read the units and take partners’ units out, as a developer does;mandateshows the open mandate:status(requestedorconfirmed),decided_via(developer,moderatororlegacy),valid_until(the end of the contract) andrenewal_pending(a new contract is waiting for the developer to confirm it);developeris the development’s developer, as on the listing;- the developer chooses the project’s team, so
PATCH /projects/{code}withteamgets403 forbidden; viewingsisnull.
mandate is null.
The sales office and the team
PATCH /projects/{code} changes the fields you send. A field sent as null is cleared.
opening_hours has one interval per day, for the days from mon to sun. A missing day, or one set to null, is closed. from comes before to, and 24:00 means the end of the day. The phone number is saved in international format.
You choose the team by sending your colleagues’ emails, only with the owner’s or an administrator’s key:
team_not_member, at its position in the list (/team/1), and nothing is saved. A manager’s key that sends team gets 403 forbidden. The response holds the updated project.
The project’s units
GET /account/projects/{code}/units returns every listing linked to the project, only for whoever runs the project. Your company’s units come in any status, and partner agencies’ units once they leave draft. publisher=firm or publisher=partner narrows them by who published them, publisher=<id> to a single partner agency, and status by status.
linked_by says who linked the unit: firm (your company), partner (a partner agency) or import (a CRM’s feed).
unit_kind is the unit’s type in the development’s matrix, with the same codes as unit_types[].kind on the development. publisher.agency_id is the id of the company that published the unit, the same as agency.id in GET /account/partnerships. A company’s name can change and its id cannot, so group the units by agency with the id.
Taking a unit out of the project
POST /projects/{code}/units/{unit}/detach takes a partner agency’s unit out of the project, like the Remove from project button in the portal. {unit} is the listing’s code. The response is 204. The listing stays published as an ordinary listing and loses its unit_ref. The agency gets a notification and the listing.complex_unlinked event, with reason: developer_removed. While the partnership lasts, the agency can link the unit again.
Only units with linked_by: partner are taken out this way. On your company’s own unit, or on one that is no longer in the project, you get 404. You take your company’s units out by editing the listing with complex: null. See Partner agencies.
Viewings on a project
Each project has aviewings field, null for a firm that isn’t a developer:
offer), as on the portal:
A visit day with places is published with
POST /listings/{code}/open-house, with capacity on the window. See Open house.
consultants are the colleagues chosen for the project’s team who work at the firm now, managers first. They meet the clients, and a free time has one place for each of them. You choose the team with PATCH /projects/{code} (team). When the list is empty, whoever runs the listing does the viewings.
next_viewing is the next booked or requested viewing at the development, and next_open_house the development’s next open house that hasn’t ended. You read the viewings at the flats on each unit.
Starting the viewings at the flats
POST /projects/{code}/flat-viewings starts the viewings at the flats of a Finished project, like the Start viewings button on the portal. The flats get times from their schedule, and clients choose a flat to see instead of a meeting at the office. The answer is the project, with viewings.flat_viewings_started_at filled in. A second request changes nothing.
The owner, an admin or the project’s manager can start them; for anyone else the project doesn’t exist (404). A project that isn’t Finished gets 422 stage_not_finished on /stage.
The project’s report
GET /account/projects/{code}/viewing-report gives the viewing report for the last 14 days, for the development and its units together, only to whoever runs the project:
open_houses adds, as in the portal, the open houses and site visit days of the period, with code (the listing), came and interested; the funnel counts only booked viewings.