canonical: https://jentic.com/apis/apex27.co.uk/apex27

# Apex27 API

Jentic publishes the only available OpenAPI specification for Apex27 API, keeping it validated and agent-ready. Apex27 is an estate agent CRM platform used by UK letting and sales agencies. The API exposes contacts, listings, leads, viewings, offers, valuations, inspections, tenancies, tasks, call logs, notes, branches, and webhooks so agencies can integrate the CRM with marketing sites, lead aggregators, and back-office systems. Authentication is an API key passed in the X-Api-Key header.

## For AI agents

Manage estate agent contacts, listings, leads, viewings, offers, and tenancies in the Apex27 CRM via an X-Api-Key.

## Scope

Does not handle marketing site rendering, payment acceptance, or property valuation modelling - use for the estate agent CRM workflow (contacts, listings, leads, viewings, offers, tenancies, inspections) only.

## Capabilities

- Manage contacts and contact orders, including referrals, call logs, and free-form notes
- List and update property listings, branches, and the agents that own them
- Capture leads from marketing sites and route them into the right Apex27 branch
- Schedule viewings, log offers, and run valuations and inspections against properties
- Track tenancies for letting agents, including the lifecycle from offer to active tenancy
- Issue client-portal sign-in links so applicants can log into the agency portal
- Register webhooks to receive change events from Apex27 in another system

## Use cases

### Lead capture from marketing sites

Pipe new buyer or tenant enquiries from a marketing site into the Apex27 CRM so the right agent at the right branch picks them up. The agent posts contact details to /contacts (creating or matching), records the originating listing as a referral on /contacts/{contactId}/referrals, and adds a context note via /contacts/{contactId}/notes.

Example prompt: POST a contact to /contacts (or fetch existing by phone), POST the source listing to /contacts/{contactId}/referrals, and POST an enquiry note to /contacts/{contactId}/notes

### Viewing and offer workflow

Run the full viewing-to-offer workflow from outside the Apex27 UI. The agent schedules viewings against listings, captures the verbal offer, and logs it back to the property so the negotiator sees a clean trail. Useful for agencies that take initial calls in a contact-centre tool and want the trail to land in Apex27.

Example prompt: Schedule a viewing for a listing, then once a verbal offer is received, POST the offer record and notify the negotiator

### Tenancy lifecycle for letting agents

Manage the full tenancy lifecycle for letting agents: from initial enquiry (contact, viewing, offer) through to active tenancy and inspections. The agent calls /tenancies endpoints to advance state and /inspections to record property condition reports. This keeps a single source of truth for the property's history.

Example prompt: Advance a tenancy from offer to active and POST a move-in inspection record with the agent and timestamp

### Client portal sign-in flow

Generate a one-click sign-in URL for an applicant or landlord so they can log into the agency's Apex27 portal without a password reset round-trip. The agent calls /client-portal/log-in-url or /client-portal/sign-in-url for the contact, then sends the URL via email or SMS through a separate channel.

Example prompt: POST /client-portal/sign-in-url for the contact and email the returned URL via the agency's mail provider

### AI agent integration via Jentic

An agent supporting an Apex27-using agency can search Jentic for 'create a contact' or 'capture a lead' and Jentic returns the matching Apex27 operation. The X-Api-Key is held in your Jentic One instance so the agent never handles the secret, and the 85-endpoint surface is reachable through one search-load-execute pattern.

Example prompt: Search Jentic for 'create a contact in Apex27', load the /contacts schema, and POST a new contact record

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /contacts | List contacts in the CRM |
| GET | /contacts/{id} | Fetch a single contact by id |
| GET | /contacts/{contactId}/call-logs | List call logs for a contact |
| GET | /contacts/{contactId}/notes | List notes against a contact |
| POST | /client-portal/authenticate | Authenticate a client portal user |
| POST | /client-portal/sign-in-url | Generate a one-click portal sign-in URL |
| GET | /branches | List branches in the agency |

## Key resources

- **Contacts** — Buyer, seller, applicant, and landlord records with notes, call logs, and referrals
- **Listings** — Property listings managed by the agency, scoped to a branch
- **Leads** — Inbound enquiries captured from marketing sites and routed to a branch
- **Viewings** — Scheduled property viewings tied to a listing and a contact
- **Offers** — Offers logged against a property listing
- **Tenancies and Inspections** — Tenancy lifecycle records and inspection reports for letting agents
- **Client Portal** — Authenticate and generate sign-in URLs for the agency's portal
- **Branches** — Branches within the agency, used to scope listings and routing

## Why Jentic

- **Setup:** Wiring Apex27 by hand means handling its API-key request header, finding the right routes among 85 estate-agent CRM endpoints, and building your own retry handling. Through Jentic you install once, import Apex27 from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Apex27 puts the contact id in the URL path (/contacts/{id}, /contacts/{contactId}/notes), so a rule can pin your agent to one contact: it can read that contact's notes and call logs and nothing else. You choose the operations it may call, so actions like generating a portal sign-in URL are only included if you add them.
- **Credential handling:** Your Apex27 API key is stored once, encrypted, by your own Jentic One instance and injected as the request header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a contact' or 'schedule a viewing', and Jentic returns the matching Apex27 operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Anywhere Real Estate API** — Real estate listing and lead API for the Anywhere franchise network in the US.
- **BoomTown API** — Real estate lead nurture and CRM, US-focused.
- **Stripe API** — Take card payments for application fees or holding deposits.

## FAQ

### Why is there no official OpenAPI spec for Apex27 API?

Apex27 does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Apex27 API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Apex27 API use?

API key auth in the X-Api-Key header, issued from the agency's Apex27 admin area. Through Jentic the key is held in the encrypted Jentic One instance and attached server-side per call, so the secret never enters the agent context or the URL.

### Can I capture a website lead and route it to a branch through this API?

Yes. POST a contact to /contacts (or fetch existing), POST the source listing as a referral on /contacts/{contactId}/referrals, and add a note via /contacts/{contactId}/notes. Branch routing is driven by the listing's branch which is returned in the listing record.

### How do I generate a client portal sign-in URL through Jentic?

Search Jentic for 'generate an Apex27 portal sign-in URL', load the schema for /client-portal/sign-in-url, and execute it for the contact. The returned URL is single-use and can be sent to the applicant via the agency's normal email or SMS channel.

### What are the rate limits for the Apex27 API?

Apex27 applies per-key rate limits that are not declared in the OpenAPI spec. In practice agency-tier keys are sized for normal interactive use; high-volume integrations should batch reads with pagination rather than tight loops.

### Does Apex27 support webhooks for new contacts and viewings?

Yes. Apex27 exposes webhook registration endpoints so an external system can be notified when listings, contacts, or viewings change, instead of polling. Register the target URL and Apex27 POSTs change events to it.

### Can I limit what my agent is allowed to do with the Apex27 API?

Yes. Because you self-host Jentic One, your own rules decide which of the 85 Apex27 operations and which credential the agent may use. Apex27 puts the contact id in the URL path, so on routes like /contacts/{id} and /contacts/{contactId}/notes you can pin the agent to one contact and let it read only that contact's notes and call logs. You choose the operations it may call, so an action such as generating a portal sign-in URL on /client-portal/sign-in-url is available only if you include it.
