Apex27 Valuations API
Market appraisals and valuation appointments.
Market appraisals and valuation appointments.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/apex27-valuations-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Apex27 CRM Valuations API
version: 1.0.4
summary: REST interface over the Apex27 estate agency CRM (UK sales, lettings and commercial).
description: 'API Evangelist DERIVED description of the Apex27 CRM API.
Apex27 publishes no OpenAPI, Swagger, Postman collection or reference documentation. The documentation URL declared inside Apex27''s own npm credential (https://docs.apex27.co.uk) returned HTTP 404 on 2026-07-26. This document was derived mechanically from Apex27''s OWN published n8n community node — npm n8n-nodes-apex27crm@1.0.4, publisher "james_apex27" — which contains the complete request map (paths, HTTP methods, path parameters, query filters, auth header, both environment base URLs and the pagination bounds).
It is NOT a provider-published contract. Response schemas are intentionally left open (`type: object`) because no response shape is published anywhere; only the 401 envelope is recorded verbatim from a live probe of https://api.apex27.co.uk. Authentication is an `x-api-key` request header issued to paying customers inside the CRM admin panel — there is no self-serve developer signup and no sandbox.'
contact:
name: Apex27
url: https://apex27.co.uk/contact-apex27
x-apievangelist-provenance:
method: derived
generated: '2026-07-26'
provider_published: false
source: https://www.npmjs.com/package/n8n-nodes-apex27crm (v1.0.4, dist/nodes/Apex27Crm/Apex27Crm.node.js)
source_publisher: james_apex27 (Apex27)
evidence:
- kind: npm-package
url: https://registry.npmjs.org/n8n-nodes-apex27crm
note: v1.0.4 — dist/nodes/Apex27Crm/Apex27Crm.node.js holds every method+URL pair reproduced here.
- kind: live-probe
url: https://api.apex27.co.uk/
status: 401
note: Body {"success":false,"message":"Unauthorised.","errors":[]} — the 401 envelope recorded in components.schemas.Error.
- kind: live-probe
url: https://api.apex27.co.uk/branches
status: 401
- kind: live-probe
url: https://api.apex27.co.uk/listings
status: 401
- kind: live-probe
url: https://api.apex27.co.uk/webhooks
status: 401
- kind: live-probe
url: https://api.apex27.co.uk/properties
status: 404
note: Confirms the 401s are real routes rather than a blanket auth wall.
- kind: dead-link
url: https://docs.apex27.co.uk
status: 404
note: documentationUrl declared inside Apex27CrmApi.credentials.js.
servers:
- url: https://api.apex27.co.uk
description: Production
- url: https://dev-api.apex27.co.uk
description: Development (key-gated, not an open sandbox)
security:
- ApiKeyAuth: []
tags:
- name: Valuations
description: Market appraisals and valuation appointments.
paths:
/valuations:
get:
operationId: listValuations
summary: Get all valuations
description: Get all valuations. Derived from the request the Apex27-published n8n node issues for this resource and operation.
tags:
- Valuations
parameters:
- name: page
in: query
required: false
description: Page number (minimum 1).
schema:
type: integer
minimum: 1
default: 1
- name: pageSize
in: query
required: false
description: Records per page (minimum 25, maximum 250).
schema:
type: integer
minimum: 25
maximum: 250
default: 25
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
additionalProperties: true
'401':
$ref: '#/components/responses/Unauthorised'
'404':
$ref: '#/components/responses/NotFound'
/listings/{listingId}/valuations:
get:
operationId: listListingValuations
summary: Get valuations for a listing
description: Get valuations for a listing. Derived from the request the Apex27-published n8n node issues for this resource and operation.
tags:
- Valuations
parameters:
- name: listingId
in: path
required: true
schema:
type: integer
description: Apex27 listing identifier.
- name: page
in: query
required: false
description: Page number (minimum 1).
schema:
type: integer
minimum: 1
default: 1
- name: pageSize
in: query
required: false
description: Records per page (minimum 25, maximum 250).
schema:
type: integer
minimum: 25
maximum: 250
default: 25
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
additionalProperties: true
'401':
$ref: '#/components/responses/Unauthorised'
'404':
$ref: '#/components/responses/NotFound'
post:
operationId: createListingValuation
summary: Create a valuation on a listing
description: Create a valuation on a listing. Derived from the request the Apex27-published n8n node issues for this resource and operation.
tags:
- Valuations
parameters:
- name: listingId
in: path
required: true
schema:
type: integer
description: Apex27 listing identifier.
requestBody:
required: true
description: Request body. The Apex27 CRM API accepts a JSON object; the vendor node passes the object through unmodified.
content:
application/json:
schema:
type: object
additionalProperties: true
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
additionalProperties: true
'401':
$ref: '#/components/responses/Unauthorised'
'404':
$ref: '#/components/responses/NotFound'
/listings/{listingId}/valuations/{valuationId}:
get:
operationId: getListingValuation
summary: Get a valuation
description: Get a valuation. Derived from the request the Apex27-published n8n node issues for this resource and operation.
tags:
- Valuations
parameters:
- name: listingId
in: path
required: true
schema:
type: integer
description: Apex27 listing identifier.
- name: valuationId
in: path
required: true
schema:
type: integer
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
additionalProperties: true
'401':
$ref: '#/components/responses/Unauthorised'
'404':
$ref: '#/components/responses/NotFound'
put:
operationId: updateListingValuation
summary: Update a valuation
description: Update a valuation. Derived from the request the Apex27-published n8n node issues for this resource and operation.
tags:
- Valuations
parameters:
- name: listingId
in: path
required: true
schema:
type: integer
description: Apex27 listing identifier.
- name: valuationId
in: path
required: true
schema:
type: integer
requestBody:
required: true
description: Request body. The Apex27 CRM API accepts a JSON object; the vendor node passes the object through unmodified.
content:
application/json:
schema:
type: object
additionalProperties: true
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
additionalProperties: true
'401':
$ref: '#/components/responses/Unauthorised'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteListingValuation
summary: Delete a valuation
description: Delete a valuation. Derived from the request the Apex27-published n8n node issues for this resource and operation.
tags:
- Valuations
parameters:
- name: listingId
in: path
required: true
schema:
type: integer
description: Apex27 listing identifier.
- name: valuationId
in: path
required: true
schema:
type: integer
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
additionalProperties: true
'401':
$ref: '#/components/responses/Unauthorised'
'404':
$ref: '#/components/responses/NotFound'
components:
schemas:
Error:
type: object
description: Apex27 CRM API error envelope, recorded verbatim from a live 401 response.
properties:
success:
type: boolean
message:
type: string
errors:
type: array
items:
type: object
additionalProperties: true
required:
- success
- message
examples:
- success: false
message: Unauthorised.
errors: []
responses:
NotFound:
description: The requested resource or route does not exist.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorised:
description: Unauthorised. The `x-api-key` header is missing, malformed or not valid for this tenant.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
success: false
message: Unauthorised.
errors: []
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: x-api-key
description: API key issued to a paying Apex27 tenant from the CRM admin panel. No self-serve issuance.