Listing Collaborators

Invite agents and agencies from other agencies to co-list or refer a home, answer invitations, and claim an external listing your agency holds.

Overview

A collaborator is another agency, or one of its agents, working a home with the agency that lists it.

RoleWhat it means
co_listerMarkets the home beside the listing agency. Shown on the home's network detail, listed under the co-lister's own listings as co-listed, may host an open house on it, and may be messaged about it.
referrerBrought the home to the listing agency. Visible to the two agencies only.
listerYour agency's verified claim to an external home (a listing read from a source with your agency's own credentials). Only then can you invite co-listers to it.

Who does what:

  • On a home listed on the Fondaro network, your agency's admin or the home's listing agent invites. Invitations go to another agency (by id or page address) or to one of its agents (by profile handle), as co_lister or referrer, and only on a home that is on the market.
  • The invited agent answers for themselves. A whole-agency invitation is answered by that agency's admin.
  • Either side can end a pending or active collaboration.
  • Blocks either way, suspended profiles, disabled agencies and people who left their agency cannot be invited, and all look the same: no one by that name.

Privacy stays as it is on the network: nothing here carries the owner's private commission, and a home that is off the market is never shown to another agency (an invitation then shows listing: null).

The /network routes use the dashboard's Clerk bearer token and your active organization. They do not accept a property API key.

Endpoints

Method & pathWhoPurpose
GET /network/collaborators?listingSource=&listingId=[&listingCountry=]Agents of the listing agencyThe home's pending and active collaborators
POST /network/collaboratorsAdmin or listing agentInvite an agent or an agency
POST /network/collaborators/claimsAdminClaim lister on an external home
GET /network/collaborators/invitationsAny agentPending invitations to you or your active agency
POST /network/collaborators/:id/acceptThe invited agent, or the invited agency's adminAccept
POST /network/collaborators/:id/declineSameDecline
POST /network/collaborators/:id/revokeEither sideEnd it

A home can have at most 20 pending and active collaborators.

List a home's collaborators

curl "https://api.fondaro.com/network/collaborators?listingSource=internal&listingId=a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d" \
  -H "Authorization: Bearer $TOKEN"
{
  "canManage": true,
  "collaborators": [
    {
      "id": "8d2f4c1a-6b3e-4f70-9a15-2e7c0b9d4f36",
      "ref": { "source": "internal", "id": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d" },
      "role": "co_lister",
      "status": "active",
      "agency": {
        "networkSlug": "costa-homes",
        "name": "Costa Homes",
        "logoLightUrl": null,
        "logoDarkUrl": null,
        "organizationId": "2c7e0b9d-4f36-4a15-8d2f-4c1a6b3e4f70"
      },
      "person": {
        "clerkUserId": "user_2def…",
        "firstName": "Tom",
        "lastName": "Berg",
        "imageUrl": null,
        "title": "Sales agent"
      },
      "invitedByOrganizationId": "9a15e7c0-b9d4-4f36-8d2f-4c1a6b3e4f70",
      "canRespond": false,
      "canRevoke": true,
      "createdAt": "2026-09-24T08:00:00.000Z",
      "respondedAt": "2026-09-24T09:30:00.000Z",
      "updatedAt": "2026-09-24T09:30:00.000Z"
    }
  ]
}

Another agency asking about your home, or you asking about theirs, gets 404. person is null when a whole agency collaborates. An agency object can also carry accentColor (#rrggbb) and coverImageUrl, the agency's brochure colour and cover photo, present only when the agency set them and never on keyless public reads; clients build the profile card's cover from them.

Invite

curl -X POST https://api.fondaro.com/network/collaborators \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "ref": { "source": "internal", "id": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d" },
    "role": "co_lister",
    "handle": "tom-berg"
  }'

Name the agent with handle. When they work at several agencies, add organizationId or networkSlug for the agency. To invite a whole agency, send organizationId or networkSlug without handle. Returns the new collaborator with status: "pending". The invited agent, or the invited agency's admins, get a network.colisting_request push.

Answer or end

curl -X POST https://api.fondaro.com/network/collaborators/8d2f4c1a-6b3e-4f70-9a15-2e7c0b9d4f36/accept \
  -H "Authorization: Bearer $TOKEN"

decline and revoke work the same way. Each returns the collaborator with its new status (active, declined, revoked).

Invitations to you

curl https://api.fondaro.com/network/collaborators/invitations \
  -H "Authorization: Bearer $TOKEN"

Each invitation carries the collaborator fields above, invitedBy (the inviting agency) and listing (the home as your agency can see it, the same fields as an open house's listing, or null when it is off the market). canRespond tells you whether you may answer it.

Claim an external home

curl -X POST https://api.fondaro.com/network/collaborators/claims \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "ref": { "source": "zoddak", "id": "12345" } }'

The claim holds only when your agency's own access to that source returns the home as one of your agency's listings. Portals never can, a Fondaro network home already has its listing agency, and a source that cannot tell your own listings from its shared pool is refused. Claiming again returns the same claim. Ending a claim also ends the invitations you made under it.

Effects elsewhere

  • Network detail. GET /properties/:id from a dashboard session carries coListers: one card per active co-lister (agency, and the agent when one person co-lists). Email, phone and WhatsApp appear only when that agent shares contact with the network.
  • Your own listings. A dashboard session's own-scope search (POST /properties/search with scope: "own") also returns the other agencies' homes you co-list, on the market only, marked relation: "co_lister" and in the network shape. Commission filters and sorting never read them.
  • Messages. POST /chat/dms/from-record with { "ref": { "kind": "listing", "source": "internal", "id": "…" }, "agentUserId": "user_…" } messages one of the home's co-listers instead of its listing agent. The older POST /chat/dms/from-property/:id (same optional agentUserId) still works for released mobile apps and will be removed.
  • Open houses. An active co-lister may host an open house on the home.

Errors

StatuscodeWhen
404LISTING_COLLABORATOR_NOT_FOUNDNo such collaborator, or it is not yours to see
403LISTING_COLLABORATOR_MANAGER_ONLYYou are not the admin or the listing agent
403LISTING_COLLABORATOR_INVITEE_ONLYOnly the invited agent, or the invited agency's admin, answers
422LISTING_COLLABORATOR_LISTING_UNAVAILABLEYour agency does not list the home, or it is off the market
400LISTING_COLLABORATOR_OWN_AGENCYYou invited your own agency
404LISTING_COLLABORATOR_INVITEE_UNAVAILABLENo agent or agency by that name can be invited
400LISTING_COLLABORATOR_AGENCY_REQUIREDThe agent works at several agencies; name one
409LISTING_COLLABORATOR_DUPLICATEAlready invited or active in that role
409LISTING_COLLABORATOR_LIMIT_REACHEDThe home has 20 collaborators
409LISTING_COLLABORATOR_CLOSEDAlready answered or ended
422LISTING_COLLABORATOR_CLAIM_UNSUPPORTEDThat source cannot prove the claim
422LISTING_COLLABORATOR_CLAIM_UNVERIFIEDYour agency's own access does not return the home
422LISTING_COLLABORATOR_CLAIM_INTERNALA Fondaro network home is never claimed