Create, update and manage client branch accounts programmatically.
With our Branches API you can programmatically create, update and list branch information under your account. Branches are essentially accounts setup for agents with 1 or more advertising locations connecting to one or more portals and are typically managed via our UI, however with our Branches API, software companies can manage their client branches remotely using this facility.
To access the API you'll first need to request an API Key, API username and API password.
To get your account or individual branch API Key, username and password, please contact account support.
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.
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.
Although we have no strict requirement for how you create your unique nonce, its's highly recommended to use V4 UUID.
For example: 66e6955a-e814-4ee0-b5e9-20c3bbebd563
Branches API calls are made using either POST, GET or PUT requests over a HTTPS connection to the following URL:
API end-point: https://eaf.cloud/agents/branches/v1/
Responses will always be in JSON format and include various headers you can use to troubleshoot issues.
200 OK The request was successfull 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 be sure to provide the eaf-request-id provided in the response header.
To create a new branch, POST /create must be called.
You can download the Schema createBranchRequestSchema
branch branch.name branch.location branch.address branch.primary_email branch.copy_email branch.support_email branch.company_address branch.company_phone branch.company_website branch.contact branch.contact.role branch.contact.first_name branch.contact.last_name branch.contact.email branch.contact.phone branch.account_notifications branch.error_notifications branch.import branch.import.feed_agency_id branch.import.feed_url branch.export branch.export.rightmove_id branch.export.zoopla_id branch.export.onthemarket_id branch.export.sturents_id branch.export.webhook_url branch.export.upload_method branch.export.auto_delete
[object] [string] [string] [string] [string] [string] [string] [string] [string] [string] [object] [string] [string] [string] [string] [string] [bool] [bool] [object] [string] [string] [object] [number] [number] [number] [number] [string] [enum] [bool]
The branch settings. The name of the branch. The location of the branch. The full address of the branch location. The enquiry email address for the branch. The CC email address for the branch. The tech support email for the branch. The brand company address. The brand phone number. The brand company website. The branch contact settings. The branch contact role. The branch contact first name. The branch contact last name. The branch contact email address. The branch contact phone number. Recieve account level notifications. Recieve import/export error notifications. The branch import settings. Your unique agency ID for the branch. The v.X EAF import XML feed URL. The branch export settings The Rightmove portal ID for the branch. The Zoopla portal ID for the branch. The OnTheMarket portal ID for the branch. The Sturents portal ID for the branch. The URL where we should POST submission results. The default portal property record upload method. Whether we should sync deleted properties.
Required Required Required Required Required Optional Optional Required Required Optional Required Optional Required Required Required Optional Optional (true) Optional (true) Optional Optional * Optional Optional Optional Optional Optional Optional Optional Optional (manual) Optional (true)
* If you are supplying the same feed_url for all of your branches, you should include your unique feed_agency_id for each branch and then include the agency_id for each property record in your import feed_url. This is to make sure our system can import and assign the relevant properties to the correct branch.
Responses to the API are served as a JSON string and if successfull will include a unique branch_id you can use in future calls.
To update an existing branch, PUT /update must be called.
When updating branch records you are free to omit keys and their values which will avoid updating those parts of the record.
The payload you can send is identical to POST /create with one additional required element branch.branch_id.
You can download the Schema updateBranchRequestSchema
branch branch.branch_id branch.name branch.location branch.address branch.primary_email branch.active
[object] [string] [string] [string] [string] [string] [bool]
The branch settings. The ID of the branch to update. The name of the branch. The location of the branch. The full address of the branch location. The enquiry email address for the branch. The branch active or inactive status.
Required Required Required Required Required Required Optional
Responses to the API are served as a JSON string and if successfull will include the branch_id you used in the request.
To get a summarised list of branches under the account, GET /list must be called.
Note: new branches created using POST /create may take up to 30 min to appear in this response.
Responses to the API are served as a JSON string and if successfull will include an array of objects for each branch found.
To get the details of a branch under the account, GET /branch/{BRANCH_ID} must be called.
Responses to the API are served as a JSON string and if successfull will include the branch object in the response.
Whenever an API level error occurrs the API will respond with a JSON message containing an array of 1 or more errors.
If you've sent a POST /create request with an invalid URL for the webhook_url and a missing branch name, the response might be the following:
Please email support@estateagentfeeds.com if you require help with our Branches API.
Ok message
Error message