Agent Registration API v1.0

Create and update agent onboarding requests programmatically.

Introduction

With our Agent Registration API v1 you can create and update agent onboarding registration requests from your own software or CRM. Each registration request is linked to a branch and triggers an onboarding email to the target agent, who can then complete their EAF agency and software provider registration through our 5 step onboarding journey. The onboarding flow is a crucial step in ensuring that agents, their contact information and their property management software are properly registered and configured within the EAF system so that we can provide appropriate data feed integration support for our end-users.

This API is intended for onboarding request management only, and is enabled for customers using our Middleware Services for Portals or Software Companies. It accepts branch registration details and returns request metadata including the registration URL that can be tracked and referenced by your systems.

API Authentication

To access the API you'll first need to request an API Key, API username and API password related to either your main advertising account or an individual branch connected to your main account.

To get your API Key, username and password, please contact account support.

Authentication headers

Your API requests must include the following headers:

eaf-client-key the unique API key for the account making the request eaf-nonce a unique string for every request. This will also be included in your authorization hash and used to prevent replay attacks. Authorization contains your authorization hash. See below for how to create and finalise your authorization hash. Content-type determines how you'll be encoding your data.

Your content-type should be specified as (JSON) application/json.

Authorization hash

The authorization hash is a concatenated string of <username>:<password>:<nonce>:<api_key> which must then be hashed using SHA-256. The resulting string is then encoded using Base64.

Generating a nonce

Although we have no strict requirement for how you create your unique nonce, it's highly recommended to use V4 UUID.

For example: 66e6955a-e814-4ee0-b5e9-20c3bbebd563

API end-points

Agent Registration API calls are made using POST, PUT and GET requests over a HTTPS connection to the following URL:

API end-point: https://eaf.cloud/agents/registration/v1/

Responses will always be in JSON format and include various headers you can use to troubleshoot issues.

200 OK The request was successful. 201 Created The resource was created successfully. 400 Bad Request The request was invalid or the payload malformed. 401 Unauthorised You don't have permission to access the resource. 429 Too Many Requests Rate limiting has kicked in, preventing the request being processed.

When contacting us with an API request issue, please include the eaf-request-id returned in the response header.

/create

To create a new onboarding registration request, call POST /create.

This creates a new request, sends an onboarding email to the provided branch email address, and returns a copy of the details provided as well as the verification code and registration URL for the agent to complete the 5 step onboarding flow.

Note: It's suggested you record this information should you wish to provide the agent with a UI option to view their registration login details.

To see all available options, download the schema sendAgentRegistrationRequestSchema.json.

Example response for POST /create

{ "status": "ok", "timestamp": "2026-10-20 09:45:10", "response_id": "7D8C1F99-2B27-A5A3-9B95-FE3A1B1D5A10", "code": 201, "response": { "agent": { "branch_id": "EAF04211", "branch_name": "Demo Estate, Manchester", "branch_email": "onboarding-demo@estateagentfeeds.com", "verification_code": "EAF-REQ-10294" }, "registration_url": "https:\/\/onboarding.eaf.cloud\/agent\/1a5f6c22bc9f4b4aa17f3b5525c5ad1f\/" }, "type": "CREATE" }

/update

To update an existing onboarding registration request, call PUT /update.

This can be used to update registration details for an existing request before onboarding has started or to simply trigger an email reminder.

Note: Updating the branch_email will issue a new registration URL and invalidate the old. Modifying the branch_name after an agent has begun registration may not affect the details already entered by the agent.

Example response for PUT /update

{ "status": "ok", "timestamp": "2026-10-20 10:12:39", "response_id": "8C5E2DE3-F6B6-D8D7-CA47-763C8124BF20", "code": 200, "response": { "agent": { "branch_id": "EAF04211", "branch_name": "Demo Estate, Manchester Central", "branch_email": "onboarding-updated@estateagentfeeds.com", "verification_code": "EAF-REQ-10294" }, "registration_url": "https:\/\/onboarding.eaf.cloud\/agent\/1a5f6c22bc9f4b4aa17f3b5525c5ad1f\/" }, "type": "UPDATE" }

/list

To retrieve existing onboarding registration requests, call GET /list.

This returns a paginated collection of registration request records for the authenticated account, including onboarding progress and last modified timestamps.

Example response for GET /list

{ "status": "ok", "timestamp": "2026-10-20 12:49:07", "response_id": "9250AA3A-F661-3E07-83CA-44CB1D7D538D", "code": 200, "response": { "registrations": [ { "branch_id": "AGT12045", "branch_name": "Demo Sales and Lettings, City Centre", "branch_email": "registrations@example.com", "verification_code": "EAF-REQ-76124", "registration_url": "https:\/\/onboarding.eaf.cloud\/agent\/2fd30e2d5f5c4db88e5e0e7dc3e5f1ab\/", "registration_step": "3", "registration_complete": false, "registration_modified": "2026-10-19 16:27:03" } ], "count": 1, "pages": 1, "current": 1 } }

Payload structure summary

The request payload must contain a top-level agent object with all of the following required fields.

agent.branch_id [string] - required branch identifier, 8 to 15 characters, uppercase letters and numbers only (^[A-Z0-9]{8,15}$). agent.branch_name [string] - required branch display name, up to 120 characters. agent.branch_email [string] - required branch email address used for onboarding contact and must match the schema email pattern.

Additional properties are not accepted by the schema.

Help and support

Please email support@estateagentfeeds.com if you require help with the Agent Registration API.

Ok message

Error message