NAV Navbar
Logo
JSON .Net Ruby PHP HTTP

MoxiCloud API Introduction

API Overview

The MoxiCloud API allows partner access to MoxiWorks Data.

Examples: See examples here for information on accessing resources using various languages.

Introduction

Production Base URL: https://api.moxiworks.com/

QA Base URL: https://api-qa.moxiworks.com/

The MoxiWorks API provides programmatic access to MoxiWorks features and data. We do our best to adhere to open and accepted common standards, including REST for access, JSON format for the data, and HTTP Basic Auth for Authorization.

The URL for the production version of the MoxiWorks API is referenced in the API Usage section of the documentation. When developing your integration into the MoxiWorks Platform using QA credentials, you can replace the production URL with the QA URL. The hostname for the QA environment is https://api-qa.moxiworks.com instead of api.moxiworks.com. In any production URL referenced in the documentation, simply subsitute the QA hostname for the production hostname.

Client Libraries

The following libraries are available to help your integration process with the MoxiWorks Platform public API:

Install .Net Library: dotnet add package MoxiWorks.Platform

.Net

.Net client libraries for the MoxiWorks Platform can be found on nuget.org and installed using Visual Studio.

Install Ruby Library: gem install moxiworks_platform

Ruby

Ruby client libraries for the MoxiWorks Platform can be found on rubygems.org and installed using gem.

Install PHP Library: composer require moxiworks/moxiworks_platform

PHP

PHP client libraries for the MoxiWorks Platform can be found on packagist.org and installed using composer.

RESTful Architecture

The response payload is JSON encoded object(s) with defined structure which reflects a data model.

URL structure follows typical resource-oriented conventions. For example, to get a list of contacts, use GET https://api.moxiworks.com/contacts. This will return a list of Contact objects, where each Contact will have an “id” attribute. To get details on a particular contact, use GET https://api.moxiworks.com/contacts/123456, where 123456 is the “id” of the Contact you want. Similarly, to create a Contact, POST a Contact object to https://api.moxiworks.com/contacts/.

HTTP Standards

All actions taken through the API are done via HTTP using standard HTTP methods: GET (to retrieve an object), POST (to create), PUT (to modify), and DELETE. Standard HTTP Response codes are used to indicate success and error conditions.

Data Security

The MoxiWorks Platform public API requires all requests use HTTPS. Any response to the MoxiWorks Platform API using HTTP will be rejected with a 403 (forbidden) error.

Rate Limiting

To ensure that system resources are not overloaded and response quality degrated, MoxiWorks allows only a limited number of requests every minute.

Over-limit Error Response Example
{
  "status": "fail",
  "errorCode": 4000,
  "message": "'Too many requests. Please try again later."
}

Handling “Rate Limit Exceeded” error In order to prevent abuse and undue stress on the MoxiWorks servers, the API has a rate limiting feature that restricts users to 300 requests per minute per Access Token.

Additionally, requests are accounted by cost. Each endpoint has its own cost based on the overall load put on MoxiWorks systems to generate that response.

If and when the limit is enforced, any requests that exceed this limit will be rejected with an 429 HTTP status code, along with the JSON response body shown to the right

It is recommended that you design your integration to gracefully handle this rate limit error. One way to accomplish this would be to have your integration sleep for 60 seconds when this error is returned from the API, then retry the request. Alternatively, you might choose to use exponential backoff (an error handling strategy whereby you periodically retry a failed request with progressively longer wait times between retries, until either the request succeeds or a specified number of retry attempts is reached).

The MoxiWorks Platform includes rate limiting information in the response headers. The following headers are included in every response:

Response Header Type Description
x-ratelimit-limit Integer Number of request available in each period
x-ratelimit-remaining Integer Requests remaining in current period
x-ratelimit-period Integer Rate limit period length (in seconds)
x-ratelimit-reset Unix Timestamp Timestamp at which the next period begins
x-ratelimit-cost Integer Accounting cost for the provided response.

Session Handling

Set-Cookie Response Example

  
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
content-type: application/json; charset=utf-8
cache-control: no-cache
x-request-id: c953f03d-05d6-43e9-baac-995d9b278004
x-runtime: 0.757307
xerver: Moximus
date: Wed, 22 Jan 2017 18:34:44 GMT
content-length: 132
connection: Keep-Alive
set-cookie: _wms_svc_public_session=Y0pzOEdSOGNlRklWSHVkTDVoeE11OU9xVEhoczZuVXJBWGo2Tzk1L0RKOGRwZVBkUnFWMG9nQ2o1QittT3dwN3lZNGVZQXgzSnJPNUp3RGlDS1dKQkZYT3FJQ0ZBaWFLczZTdFl1TjU5VVpRUEx2c29uUHI0cUFhYkUzbDNYMjR6SWdLZjFqM1pNS1dzYmp3dDhkQWw5cjVzMVVOZW1sTndoazNKeThWakhZPS0tNHZBUjk3aGFPbWs3bk9YQlhSbDBRUT09--7faa50a21bc8e09861bc9637eb828a4ce154a980; path=/; HttpOnly


Cookie Request Example

  
PUT /api/tasks/[partner_task_id] HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded
Cookie: _wms_svc_public_session=QlpZQXFoOSs5TGFXZTZ5OVJvQXZIOUhSYSsrYnhXU1Q3cTJHdEd2enJabVdTbjZiWWtnaVFVbURLVmVOV0hEVURLbjZ0NGIzTnE1Mkg2ZEUwMlBLZDZBYWNBSm5xWUk4MWJLUGFFNEREK05Bd0JxZFZWbVp4SFFLVUVyRTdiTXJQb3doMGxkcjZVa3pCNENHZ3RZVWExQncvYkVnPS0tYy9oelpsbWtFd3lxR3VjWkt2ai9rdz09--b46be7a70083e0f70fea4370554b1f0250b3264c; path=/; HttpOnly


The MoxiWorks Platform utilizes Cookie headers in order to propagate session data between requests. Each request is atomic and the session data is used atomically within the request. The session data itself is used to ensure that connection setup is as efficient as possible and to provide higher throughput to authorized users.

If you fail to include session data in your request, you will notice a far lower number of allowed connections to the MoxiWorks Platform than is advertised in Rate Limiting.

When you successfully connect to the MoxiWorks Platform, you will recieve a set-cookie header. The name of the cookie will be _wms_svc_public_session. You’ll need to send this cookie name - value pair back to The MoxiWorks Platform in a Cookie request header.

Example Requests & Responses

For every API operation in this documentation, we show example requests and an example (JSON) response.

You’ll see the examples displayed in the grey panel to the right of each operation.

To view the sample code in a specific language, select the corresponding language tab at the top of the panel to the right. For more information about using the sample code in this API documentation, see Client Libraries.

As with any REST API, you can also test API requests / responses using a Chrome extension like Advanced REST Client (Chrome App) or Postman.

API Changes

Non-breaking changes: New features, functionality and bug fixes will be added to the API over time; you should expect to see new endpoints or new attributes in the payload for existing endpoints. Non-breaking changes will not result in a new API version. Ensure that your API consumer logic can handle new attributes gracefully. Ensure your API consumer logic does not depend on the order in which records are returned, unless static order is explicitly denoted in this documentation.

Breaking changes: Although we intend to support and maintain the current version of the API indefinitely, if changes that break the current API are made, we will publish the api update with a new version number, in order to ensure that the existing API functionality remains available to API consumers relying on that version. When breaking changes are added, the current version of the API will continue to be available.

Deprecations: MoxiWorks occasionally deprecates APIs to indicate that those APIs should no longer be used in active development. Deprecated APIs typically remain present and usable for a reasonable period of time following the release in which they were deprecated; however, they may be removed entirely from a future version of the API as required. You should never use deprecated APIs in new development, and if you have existing code that uses deprecated APIs, we recommend that you update that code as soon as possible.

Required Headers

Required Headers Example

POST /api/[RESOURCE] HTTP/1.1
Authorization: Basic bpiYWFhYWFycnJycnJy==
Content-Type: application/x-www-form-urlencoded
Accept: application/vnd.moxi-platform+json;version=1
Cookie: _wms_svc_public_session=QlpZQXFoOSs5TGFXZT...
# required headers set automatically by moxiworks_platform library.
# to view, use the following:

MoxiworksPlatform::Resource.headers.inspect
<?php
/* required headers seat automatically by moxiworks_platform library.
to view, use the following:
*/
print_r(MoxiworksPlatform\Resource::headers());
?>

If you are implementing your own MoxiWorks Platform library, you’ll need to ensure that you have the following headers configured in your request:

Authorization Used for platform authorization Basic [base64 encoded Partner ID and Partner Secret]
Accept Used for API version and resource routing application/vnd.moxi-platform+json;version=1
Content-Type Used for handling data in request application/x-www-form-urlencoded
Cookie Used for connection setup and rate limiting _wms_svc_public_session

For more information on the Cookie header, see Session Handling

Authorization

Example Authorization Header: (note that the authorization header platform identifier and platform secret are base64 encoded)

POST /api/[RESOURCE] HTTP/1.1
Authorization: Basic Zm9vb29vb29vb29vbzpiYWFhYWFycnJycnJy==

require 'moxiworks_platform'

platform_identifier = 'abc123' # platorm_identifier provided by MoxiWorks Platform Rep
platform_secret = 'secret' #platform_secret provided by MoxiWorks Platform Rep

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)


<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);
?>

The MoxiWorks API utilizes Authorization HTTP headers for authorization.

To authorize your request, use the API Identifier and Secret combination you have been provided by your MoxiWorks Platform representative.

When composing your basic header, per RFC 2617 you’ll need to base 64 encode your MoxiWorks Platform Identifier and Secret and remember to separate your platform identifier and secret with a colon.

Help with HTTP Basic Auth on your platform

The following links provide helpful information for various platforms on creating HTTP Basic Auth Headers

ColdFusion

Still need more info? Email api@moxiworks.com and let us know what language you’re using to connect to the MoxiWorks Platform.

Request Formatting

Setting Payload Format To Form Data using Content-Type header

POST /api/[RESOURCE] HTTP/1.1
Content-Type: application/x-www-form-urlencoded

moxi_works_agent_id=abc123&partner_contact_id=abc982cdf345&contact_name=Billy+Football

# required headers set automatically by moxiworks_platform library.
# to view, use the following:

MoxiworksPlatform::Resource.content_type_header.inspect
<?php
/* required headers seat automatically by moxiworks_platform library.
to view, use the following: 
*/
print_r(MoxiworksPlatform\Resource::contentTypeHeader());
?>

Setting Payload Format To JSON using Content-Type header

POST /api/[RESOURCE] HTTP/1.1
Content-Type: application/json
# required headers set automatically to x-www-form-urlencoded moxiworks_platform library.

<?php
/* required headers seat automatically to x-www-form-urlencoded by moxiworks_platform library.*/
?>

Your request body payload can either be formatted as JSON or as url encoded form parameters. Whichever method you choose, you’ll need to configure your Content-Type header to match the payload format.

Sending Data

When sending data, your payload should be formatted as a standard encoded form data or JSON.

For GET and DELETE requests, parameters should be embedded in the URL.

For POST, PUT request, the parameters should be included in the entity body of the request.

API Versioning

API Version Embedded In Accept Header

POST /api/[RESOURCE] HTTP/1.1
Accept: application/vnd.moxi-platform+json;version=1
 # accept header api version automatically set by moxiworks_platform in requests
 # to view the version of the API used with your version of  moxiworks_platform Ruby library:

MoxiworksPlatform::Resource.accept_header

 <?php
 /* accept header api version automatically sett by moxiworks_platform in requsts
 to view the version of the API used with your version of moxiworks_platform PHP library:
  */
echo MoxiworksPlatform\Resource::acceptHeader();
?>

MoxiWorks API uses the Accept header to denote the version of the API to be used.

If you are using a MoxiWorks Platform library, this header will already be included with every request.

Accept The MoxiWorks API uses the Accept header to denote the API version to be used ( application/vnd.moxi-platform+json;version=[VERSION NUMBER]).

Error Handling

Error Response Example

{
  "status":"error",
  "messages":["Invalid moxi_works_agent_id"],
  "status_code":1040,
  "request_id":"c1b24426-397d-4855-9389-e39b58b918da"
}

The following table specifies the recommended action for each MoxiWorks API error code.

Use this table to implement error handling logic according to the following guidelines:

• If the error code indicates a permanent error condition, do not retry the request.

• If the error code indicates a problem that can be fixed, do not retry the request until the problem has been fixed.

• If the error code indicates a problem that could be overcome by retrying the request after a period of time, retry the request using exponential backoff.

API Error Code HTTP Status Code Message Recommended Action
1000 400 A required header was missing or invalid: Fix issue, then retry.
1010 400 A required object attribute is missing from your request. Fix issue, then retry.
1020 400 Unable to parse request. Error will be included in response payload. Fix issue, then retry.
1030 400 A required parameter is missing from your request. Fix issue, then retry.
1040 400 The value was not valid for the parameter. Fix issue, then retry.
1050 400 The HTTP request body is required for this Method. Fix issue, then retry.
1060 400 The attribute(s) are not allowed for this operation. Fix issue, then retry.
1200 400 Malformed data in request. Fix issue, then retry.
1210 400 Unsupported operation. Do not retry.
2000 401 Basic Authorization header required. Fix issue, then retry.

Hint: Verify that Authorization header is present and set properly.
2010 401 Your Authorization header is invalid. Fix issue, then retry.

Hint: Verify that the MoxiWorks Platform Identifier and Secret specified in the Authorization header are valid and properly encoded.
2015 401 Unauthorized request. Do not retry.
2020 403 You are forbidden to perform this action. Do not retry.

2025 403 You are forbidden to perform this action. Agent does not have access to requested resource. Do not retry.

3010 404 Version not supported. Fix issue, then retry.
3015 404 Resource not found. Fix issue, then retry.

Hint: Verify that you are using a valid resource path (i.e. /api/contacts/, /api/events/ etc.)
3020 405 HTTP Method not supported. Fix issue, then retry.

Hint: Verify that the proper verb is specified for the request (GET, PUT, POST, or DELETE).
3030 406 Invalid Accept header. Fix issue, then retry.

Hint: Verify that Accept header is set to the proper value (to match the output of the invoked endpoint – typically “application/json”).
3060 415 Invalid Content-Type header. Media type not supported. Fix issue, then retry.

Hint: Verify that Content-Type header is specified and set to the proper value.
4000 429 Rate limit exceeded. Retry using exponential backoff.

Hint: Reduce the rate at which you are sending requests.
5000 500 An unexpected error has occurred. Please contact api@moxiworks.com for assistance. Do not retry.
5010 500 An unexpected error has occurred. Please retry your request. If you encounter this error repeatedly, please contact api@moxiworks.com for assistance. Retry using exponential backoff.
5020 500 Server timeout exceeded. Request has failed. Retry using exponential backoff.
5030 503 api.moxiworks.com is currently offline for system maintenance. Please check back again shortly. Retry using exponential backoff.

Hint: Wait time between retries should measure in minutes (not seconds).
5035 503 Upstream provider overloaded. Please try again shortly. Retry using exponential backoff.

Hint: Wait time between retries should measure in minutes (not seconds).
5045 503 Agent configuration issue. Contact agent to ensure they have provided Moxi Engage correct permissions to access their provider account.
5055 503 Agent configuration issue. Agent has not provided Moxi Engage access to their address book. Contact agent to ensure they provide Moxi Engage permission to access their address book.
5065 503 Agent configuration issue. Agent has not provided Moxi Engage access to their calendar. Contact agetn to ensure that they provide Moxi Engage permission to access their calendar.

Agent Identifiers

The MoxiWorks Platform provides several agent identifiers to support flexibility for differing use-cases.

agent_uuid If you are pulling agent data from The MoxiWorks Platform and integrating with your own system in a managed or automated fashion, then using agent_uuid request attribute is preferable. It is guaranteed to be unique and to never change for the lifetime of the account.

moxi_works_agent_id If you have already existing agent data, agent accounts and your own user interface that agents can use to integrate your account with their MoxiWorks Platform account then you should use the moxi_works_agent_id request attribute. This identifier is guaranteed to be unique, but may be either an alphanumeric string or an email address. It is intended for use cases where integration is managed by end-user interaction..

source_agent_id If you have access to agent data from the same company source that MoxiWorks uses as an upstream data source then you should use the source_agent_id request attribute. This identifier will be unique only within the scope of a given company or parent_company, and must be used in conjunction with the moxi_works_company_id or parent_company_id request attributes. Please email partners@moxiworks.com for clarification about this request attribute.

MoxiCloud API Reference

API Endpoint Usage

Use the following section to determine the request requirements and payload structure for MoxiWorks Platform endpoints.

ActionLog

MoxiWorks ActionLog entries record actions that contacts take that an agent might want to see to increase their effectivity. For example, if a contact sends an email to an agent asking a question, MoxiWorks ActionLog will record that interaction and display it to the agent.

ActionLog Create

ActionLog Create (using agent_uuid) Request Example

{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
  "partner_contact_id":"mySystemsContactId",
  "title":"Contact Called",
  "body":"this contact called you"
}

POST /api/action_logs HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded


agent_uuid=12345678-1234-1234-1234-1234567890ab&partner_contact_id=mySystemsContactId&title=Contact%20Called&body=this%20contact%20called%20you


/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";


var actionLog = new ActionLog();
actionLog.AgentUuid = "12345678-1234-1234-1234-1234567890ab";
actionLog.Title = "Contact Called";
actionLog.Body = "this contact called you";
actionLog.PartnerContactId = "mySystemsContactId";

var service = new ActionLogService(new MoxiWorksClient());
var result = service.CreateActionLogAsync(actionLog).Result;

###### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisites

moxi_works_action_log = MoxiworksPlatform::ActionLog.create(
        agent_uuid: "12345678-1234-1234-1234-1234567890ab",
        partner_contact_id: "mySystemsContactId",
        title: "Contact Called",
        body: "this contact called you"
        )

<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$moxi_works_action_log = MoxiworksPlatform\ActionLog::create([
        'agent_uuid' => '12345678-1234-1234-1234-1234567890ab',
        'partner_contact_id' => 'mySystemsContactId',
        'title' => 'Contact Called',
        'body' => 'this contact called you']);
?>

ActionLog Create (using moxi_works_agent_id) Request Example

{
  "moxi_works_agent_id":"abc123",
  "partner_contact_id":"mySystemsContactId",
  "title":"Contact Called",
  "body":"this contact called you"
}

POST /api/action_logs HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded


moxi_works_agent_id=abc123&partner_contact_id=mySystemsContactId&title=Contact%20Called&body=this%20contact%20called%20you


/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";


var actionLog = ActionLog.new();
actionLog.MoxiWorksAgentId = "abc123";
actionLog.Title = "Contact Called";
actionLog.Body = "this contact called you";
actionLog.PartnerContactId = "mySystemsContactId";

var service = new ActionLogService(new MoxiWorksClient());
var result = service.CreateActionLogAsync(actionLog).Result;

###### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisites

moxi_works_action_log = MoxiworksPlatform::ActionLog.create(
        moxi_works_agent_id: "1234abcd",
        partner_contact_id: "mySystemsContactId",
        title: "Contact Called",
        body: "this contact called you"
        )

<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$moxi_works_action_log = MoxiworksPlatform\ActionLog::create([
        'moxi_works_agent_id' => '1234abcd',
        'partner_contact_id' => 'mySystemsContactId',
        'title' => 'Contact Called',
        'body' => 'this contact called you']);
?>

When creating an ActionLog using the MoxiWorks platform API, format your request using the following parameters.

ActionLog Create Request Attributes
Attribute Type Length Limit
agent_uuid* String 255
moxi_works_agent_id* String 255
source_agent_id* String 255
body String 255
moxi_works_contact_id † String 255
partner_contact_id † String 255
title String 85
moxi_works_company_id String
parent_company_id String 255
agent_action String 255
agent_action_address String 255
agent_action_address2 String 255
agent_action_city String 255
agent_action_state String 255
agent_action_zip String 255

Required Parameters Are In Red

† Either moxi_works_contact_id or partner_contact_id must be supplied.

moxi_works_agent_id or agent_uuid or source_agent_id One of these parameters must be supplied Please reference Agent Identifiers for information about how to construct your agent identifier request params.

moxi_works_company_id A valid MoxiWorks Company ID. Use Company Endpoint to determine what moxi_works_company_id you can use.

parent_company_id This is the numeric_id or moxi_works_company_id of a company that is considered to be a parent company in the MoxiWorks Platform. This request attribute has two functions:

1. It provides for a broad scope by which partners may be afforded permissions to perform MoxiWorks Platform actions, in scenarios where a partner does business with a parent company in the MoxiWorks System.
2. It provides broad scope under which agents may be looked up using the source_agent_id request attribute in many scenarios across different MoxiWorks Platform endpoints and actions.

Please note that this attribute cannot be used as a replacement for the moxi_works_company_id request attribute in scenarios where the moxi_works_company_id request attribute is required by the action.

Please note that this attribute cannot be used to broaden scope of any request where the scope of the request is defined by the moxi_works_company_id request attribute.

Please note that when passed in conjunction with the moxi_works_company_id request attribute, the value of moxi_works_company_id request attribute must be the numeric id form.

Any use of this request attribute must be coordinated with MoxiWorks Platform Partner services. Please reach out to partner services for more information.

body This is a human readable string which would be presented to the Agent as the content of the ActionLog entry. This can be any arbitrary plain-text string which would be practical for the agent to see in the history of events associated with a Contact. It must be greater than 0 and must be less than 5000 characters (including white space).

moxi_works_contact_id This is the MoxiWorks Platform ID of the Contact which this ActionLog object is to be associated with. This will be an RFC 4122 compliant UUID. This data is required and must reference a valid MoxiWorks Contact ID for your ActionLog Create request to be accepted. This is the same as the moxi_works_contact_id attribute of the Contact response.

partner_contact_id This is the unique identifer you use in your system that has been associated with the Contact that you are creating an ActionLog entry about. You should have already created the Contact record on the MoxiWorks Platform using Contact Create before attempting to use the contact ID to create an ActionLog entry about the Contact. Your request will be rejected if the Contact record does not exist.

title This is the human readable plain-text string which will be presented to the Agent as the heading of the ActionLog entry. This can be any short, descriptive sentence which would be practical for the agent to see in the history of events associated with a Contact.

agent_action This is the human readable plain-text string which will be presented to the Agent as the heading of the ActionLog entry. This can be any short, descriptive sentence which would be practical for the agent to see in the history of events associated with a Contact.

agent_action_address If creating an agent_action that has a location component (‘inperson’ ‘other’) use this field to denote the street address of the agent_action.

agent_action_address2 If creating an agent_action that has a location component (‘inperson’ ‘other’) use this field to denote the additonal street address info of the agent_action.

agent_action_city If creating an agent_action that has a location component (‘inperson’ ‘other’) use this field to denote the city or locale of the agent_action.

agent_action_state If creating an agent_action that has a location component (‘inperson’ ‘other’) use this field to denote the state or province of the agent_action.

agent_action_zip If creating an agent_action that has a location component (‘inperson’ ‘other’) use this field to denote the postal code of the agent_action.

ActionLog Create Response Payload

The following attributes make up the payload of the ActionLog response for a Create request.

ActionLog Create (using agent_uuid) Response Payload Example

  {
  "agent_uuid": "12345678-1234-1234-1234-1234567890ab",
  "partner_contact_id": "mySystemsContactId",
  "type": "log_entry_type",
  "timestamp": 1462234227,
  "title": "Contact Called",
  "body": "this contact called you"
}
ActionLog Create (using moxi_works_agent_id and moxi_works_contact_id) Response Payload Example

  {
  "moxi_works_agent_id": "1234abcd",
  "moxi_works_contact_id": "22345678-1234-1234-1234-1234567890ab",
  "type": "log_entry_type",
  "timestamp": 1462234227,
  "title": "Contact Called",
  "body": "this contact called you"
}
ActionLog Create Failure Response
See Error Handling for details about individual error codes.
{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

Create Response Attributes
Attribute Type
agent_uuid* String
moxi_works_agent_id* String
body String
moxi_works_contact_id † String
partner_contact_id † String
timestamp Integer
title String
agent_action String
agent_action_address String
agent_action_address2 String
agent_action_city String
agent_action_state String
agent_action_zip String

* Either agent_uuid or moxi_works_agent_id will be returned depending on whether it is used in the request. The response payload object’s agent identifier key will match the passed parameter.

† Either moxi_works_contact_id or partner_contact_id will be returned depending on whether it is used in the request. The response payload object’s agent identifier key will match the passed parameter.

agent_uuid This is the MoxiWorks Platform ID of the agent which an ActionLog entry is associated with. This will be an RFC 4122 compliant UUID.

moxi_works_agent_id This is the MoxiWorks Platform ID of the agent which an ActionLog entry is associated with. This will be a string that may take the form of an email address, or a unique identification string.

body This is a human readable string which would be presented to the Agent as the content of the ActionLog entry. This can be any arbitrary plain-text string which would be practical for the agent to see in the history of events associated with a Contact. This should be the same as the data sent in the body parameter of the ActionLog Create request.

moxi_works_contact_id This is the MoxiWorks Platform ID of the Contact that you are creating an ActionLog entry about. This will be an RFC 4122 compliant UUID.

partner_contact_id This is the unique identifer you use in your system that has been associated with the Contact that you are creating an ActionLog entry about. You should have already created the Contact record on the MoxiWorks Platform using Contact Create

timestamp This is the Unix timestamp for the creation time of the ActionLog entry.

title This is the human readable plain-text string which will be presented to the Agent as the heading of the ActionLog entry. This may be any short, descriptive sentence which would be practical for the agent to see in the history of events associated with a Contact. This should be the same as the data sent in the title parameter of the ActionLog Create request.

agent_action If creating an agent_action, this field will denote what kind of agent_action is being created. You can create an inperson, mail, email, social, text, voicemail, phone or other

agent_action_address If creating an agent_action that has a location component (‘inperson’ ‘other’) use this field to denote the street address of the agent_action.

agent_action_address2 If creating an agent_action that has a location component (‘inperson’ ‘other’) use this field to denote the additonal street address info of the agent_action.

agent_action_city If creating an agent_action that has a location component (‘inperson’ ‘other’) use this field to denote the city or locale of the agent_action.

agent_action_state If creating an agent_action that has a location component (‘inperson’ ‘other’) use this field to denote the state or province of the agent_action.

agent_action_zip If creating an agent_action that has a location component (‘inperson’ ‘other’) use this field to denote the postal code of the agent_action.

ActionLog Delete

ActionLog Delete (using agent_uuid) Request Example

{
  "moxi_works_action_log_id":"12345678-1234-1234-1234-1234567890ab",
}

POST /api/action_logs HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded


moxi_works_action_log_id=12345678-1234-1234-1234-1234567890ab


/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";


var actionLog = new ActionLog();
actionLog.MoxiWorksActionLogId = "12345678-1234-1234-1234-1234567890ab";

var service = new ActionLogService(new MoxiWorksClient());
var result = service.DeleteActionLogAsync(actionLog).Result;

###### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisites

moxi_works_action_log = MoxiworksPlatform::ActionLog.delete(
    moxi_works_action_log_id: "12345678-1234-1234-1234-1234567890ab"      )

<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$moxi_works_action_log = MoxiworksPlatform\ActionLog::delete([
        'moxi_works_action_log_id' => '12345678-1234-1234-1234-1234567890ab']);
?>

When deleting an ActionLog using the MoxiWorks platform API, format your request using the following parameters.

ActionLog Delete Request Attributes
Attribute Type Length Limit
moxi_works_action_log_id String 255
agent_uuid* String 255
moxi_works_agent_id* String 255
source_agent_id* String 255
moxi_works_company_id String
parent_company_id String 255

Required Parameters Are In Red

moxi_works_action_log_id This is the MoxiWorks Platform ID of the ActionLog entry to be deleted. This will be an RFC 4122 compliant UUID.

moxi_works_agent_id or agent_uuid or source_agent_id One of these parameters must be supplied Please reference Agent Identifiers for information about how to construct your agent identifier request params.

moxi_works_company_id A valid MoxiWorks Company ID. Use Company Endpoint to determine what moxi_works_company_id you can use.

parent_company_id This is the numeric_id or moxi_works_company_id of a company that is considered to be a parent company in the MoxiWorks Platform. This request attribute has two functions:

1. It provides for a broad scope by which partners may be afforded permissions to perform MoxiWorks Platform actions, in scenarios where a partner does business with a parent company in the MoxiWorks System.
2. It provides broad scope under which agents may be looked up using the source_agent_id request attribute in many scenarios across different MoxiWorks Platform endpoints and actions.

Please note that this attribute cannot be used as a replacement for the moxi_works_company_id request attribute in scenarios where the moxi_works_company_id request attribute is required by the action.

Please note that this attribute cannot be used to broaden scope of any request where the scope of the request is defined by the moxi_works_company_id request attribute.

Please note that when passed in conjunction with the moxi_works_company_id request attribute, the value of moxi_works_company_id request attribute must be the numeric id form.

Any use of this request attribute must be coordinated with MoxiWorks Platform Partner services. Please reach out to partner services for more information.

ActionLog Delete Response Payload

The following attributes make up the payload of the ActionLog response for a Delete request.

ActionLog Delete Response Payload Example

{
    "status": "success",
    "deleted": true,
    "messages": [
        "ActionLog entry a0be9654-06df-44f0-af8c-057967cf579a deleted"
    ]
}
ActionLog Delete Failure Response
See Error Handling for details about individual error codes.
{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

Delete Response Attributes
Attribute Type
status String
deleted Boolean
messages Array

status This will indicate what the status of the request is.

deleted This will indicate whether the delete request was successful or not.

messages This is an arrray of strings. Any messages associated with the delete request status will be contained in this array.

ActionLog Index

When searching for ActionLog entities using the MoxiWorks platform API, format your request using the following parameters.

ActionLog Index (using agent_uuid Request Example

{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
  "partner_contact_id":"mySystemsContactId","
  "date_min": 1569860000,
  "date_max": 1569870000
}

GET /api/action_logs?agent_uuid=12345678-1234-1234-1234-1234567890ab&partner_contact_id=mySystemsContactId HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded


/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";


var agentUuid = "12345678-1234-1234-1234-1234567890ab";

var service = new ActionLogService(new MoxiWorksClient());
var results = service.GetActionLogsAsync(agentUuid, AgentIdType.AgentUuid, "mySystemsContactId").Result;

##### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisitesa

moxi_works_action_log_entries = MoxiworksPlatform::ActionLog.search(
        agent_uuid: "12345678-1234-1234-1234-1234567890ab",
        partner_contact_id: "mySystemsContactId")


<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$moxi_works_action_log_entries = MoxiworksPlatform\ActionLog::search([
        'agent_uuid' => '12345678-1234-1234-1234-1234567890ab',
        'partner_contact_id' => 'mySystemsContactId']);

?>

ActionLog Index (using moxi_works_agent_id Request Example

{
  "moxi_works_agent_id":"abc123",
  "partner_contact_id":"mySystemsContactId"
}

GET /api/action_logs?moxi_works_agent_id=abc123&partner_contact_id=mySystemsContactId HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded


/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";


var moxiWorksAgentId = "abcd1234";

var service = new ActionLogService(new MoxiWorksClient());
var results = service.GetActionLogsAsync( moxiWorksAgentId,  AgentIdType.MoxiWorksAgentId,  "mySystemsContactId").Result;

##### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisitesa

moxi_works_action_log_entries = MoxiworksPlatform::ActionLog.search(
        moxi_works_agent_id: "1234abcd",
        partner_contact_id: "mySystemsContactId")


<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$moxi_works_action_log_entries = MoxiworksPlatform\ActionLog::search([
        'moxi_works_agent_id' => '1234abcd',
        'partner_contact_id' => 'mySystemsContactId']);

?>
ActionLog Index Request Attributes
Attribute Type Length Limit
agent_uuid* String 255
moxi_works_agent_id* String 255
source_agent_id* String 255
moxi_works_contact_id † String 255
partner_contact_id † String 255
moxi_works_company_id String
parent_company_id String 255
date_min Integer 255
date_max Integer 255

Required Parameters Are In Red

† Either moxi_works_contact_id or partner_contact_id must be supplied.

moxi_works_agent_id or agent_uuid or source_agent_id One of these parameters must be supplied Please reference Agent Identifiers for information about how to construct your agent identifier request params.

moxi_works_company_id A valid MoxiWorks Company ID. Use Company Endpoint to determine what moxi_works_company_id you can use.

parent_company_id This is the numeric_id or moxi_works_company_id of a company that is considered to be a parent company in the MoxiWorks Platform. This request attribute has two functions:

1. It provides for a broad scope by which partners may be afforded permissions to perform MoxiWorks Platform actions, in scenarios where a partner does business with a parent company in the MoxiWorks System.
2. It provides broad scope under which agents may be looked up using the source_agent_id request attribute in many scenarios across different MoxiWorks Platform endpoints and actions.

Please note that this attribute cannot be used as a replacement for the moxi_works_company_id request attribute in scenarios where the moxi_works_company_id request attribute is required by the action.

Please note that this attribute cannot be used to broaden scope of any request where the scope of the request is defined by the moxi_works_company_id request attribute.

Please note that when passed in conjunction with the moxi_works_company_id request attribute, the value of moxi_works_company_id request attribute must be the numeric id form.

Any use of this request attribute must be coordinated with MoxiWorks Platform Partner services. Please reach out to partner services for more information.

moxi_works_contact_id This is the MoxiWorks Platform ID of the Contact which the ActionLog objects are associated with. This will be an RFC 4122 compliant UUID. This data is required and must reference a valid MoxiWorks Contact ID for your ActionLog Index request to be accepted. This is the same as the moxi_works_contact_id attribute of the Contact response.

partner_contact_id This is the unique identifer you use in your system that has been associated with the Contact that you are creating an ActionLog entry about. You should have already created the Contact record on the MoxiWorks Platform using Contact Create before attempting to use your system’s contact ID to show ActionLog entries for the Contact. Your request will be rejected if the Contact record does not exist.

date_min Only ActionLog records created later than this Unix timestamp will be included in the query. The upper bound of the time slice will be the 90 days higher than date_min value or the value of the the date_max; whichever is lower. If no timestamps are provided, ActionLogs from the last 90 days will be retrieved.

date_max Only ActionLog records created earlier than this Unix timestamp will be included in the query. Should be no higher than 90 days past the date_min attribute if it is provided.

ActionLog Index Response Payload

The following attributes make up the payload of the ActionLog response for a Index request.

ActionLog Index (using agent_uuid) Response Payload Example

{
  "agent_uuid": "1234abcd",
  "partner_contact_id": "11111abe",
  "actions": [
  {
    "moxi_works_action_log_id": "02b918",
    "type": "lead_update_api",
    "log_data": {
      "source": "datplace",
      "timestamp": "1465937163",
      "user_info": {
        "property_info":{},
        "search_criteria":{},
        "contact":{
          "first_name":null,
          "message":"",
          "source":"datplace"
        }
      }
    }
  }
  {
    "moxi_works_action_log_id": "bded1806-3271-11e6-9bb3-5254000f954a",
    "type": "lead_update_api",
    "log_data": {
      "source": "foo.what",
      "timestamp": "1465937477",
      "user_info": {
        "property_info":{
          "PropertyURL":"www.wat.com",
          "MLSNumber":"",
          "StreetAddress":"",
          "City":"",
          "State":"",
          "Zip":"",
          "Beds":"",
          "Baths":"",
          "ListingPrice":"",
          "ListingStatus":"",
          "PhotoURL":""
        },
        "search_criteria":{},
        "contact":{
          "first_name":null,
          "message":"",
          "source":"foo.what"
        }
      }
    }
  }
  ]
}
ActionLog Index Response Payload Example (using moxi_works_agent_id)

{
  "moxi_works_agent_id": "1234abcd",
  "partner_contact_id": "11111abe",
  "actions": [
  {
    "moxi_works_action_log_id": "02b918",
    "type": "lead_update_api",
    "log_data": {
      "source": "datplace",
      "timestamp": "1465937163",
      "user_info": {
        "property_info":{},
        "search_criteria":{},
        "contact":{
          "first_name":null,
          "message":"",
          "source":"datplace"
        }
      }
    }
  }
  {
    "moxi_works_action_log_id": "bded1806-3271-11e6-9bb3-5254000f954a",
    "type": "lead_update_api",
    "log_data": {
      "source": "foo.what",
      "timestamp": "1465937477",
      "user_info": {
        "property_info":{
          "PropertyURL":"www.wat.com",
          "MLSNumber":"",
          "StreetAddress":"",
          "City":"",
          "State":"",
          "Zip":"",
          "Beds":"",
          "Baths":"",
          "ListingPrice":"",
          "ListingStatus":"",
          "PhotoURL":""
        },
        "search_criteria":{},
        "contact":{
          "first_name":null,
          "message":"",
          "source":"foo.what"
        }
      }
    }
  }
  ]
}
ActionLog Index Failure Response
See Error Handling for details about individual error codes.

{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

Index Response Attributes
Attribute Type
agent_uuid* String
moxi_works_agent_id* String
moxi_works_contact_id † String
partner_contact_id † String
actions Array

* Either agent_uuid or moxi_works_agent_id will be returned depending on whether it is used in the request. The response payload object’s agent identifier key will match the passed parameter.

† Either moxi_works_contact_id or partner_contact_id will be returned depending on whether it is used in the request. The response payload object’s agent identifier key will match the passed parameter.

agent_uuid This is the MoxiWorks Platform ID of the Agent which an ActionLog entry is associated with. This will be an RFC 4122 compliant UUID.

moxi_works_agent_id This is the MoxiWorks Platform ID of the Agent which an action log entry is associated with. This will be a string that may take the form of an email address, or a unique alphanumeric identification string.

moxi_works_contact_id This is the MoxiWorks Platform ID of this Contact that this ActionLog entry is about. This will be an RFC 4122 compliant UUID.

partner_contact_id This is the unique identifer you use in your system that has been associated with the Contact that this ActionLog entry is about.

actions This is an Array containing any ActionLog entries found for the Index request.

actions Object

The actions array contains Dictionary objects representing ActionLog entries. The structure of each ActionLog entry is shown below.

Attribute Type
moxi_works_action_log_id String
type String
timestamp Integer
log_data Dictionary

moxi_works_action_log_id This is the unique identifier for the MoxiWorks Platform ActionLog entry.

type This is a string from an enumerated set representing the type of ActionLog entry this is. The string should be formatted in lowercase with an underscore between each word. Individual ActionLog types are outside the scope of this document.

timestamp This is the Unix timestamp for the creation time of the ActionLog entry.

log_data This is the payload data of the ActionLog entry. The structure returned is dependent on the kind of ActionLog entry this is. Use the type attribute to determine what the structure of the ActionLog entry is and how to handle it. Details of various structures contained in ActionLog log_data is outside the scope of this documentation.

Agent

MoxiWorks Agent objects contain data about agents that your organization can use. For example, you can determine an agent’s office address or primary phone number from an Agent object.

Agent Show

Agent Show (using agent_uuid) Example

GET /api/agents/[agent_uuid]&moxi_works_company_id=[moxi_works_company_id] HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded

{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
  "moxi_works_company_id":"the_company"
}


/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";

var service = new AgentService(new MoxiWorksClient());
var result = service.GetAgentAsync( "12345678-1234-1234-1234-1234567890ab",  "the_company").Result;

##### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisites

moxi_works_agent = MoxiworksPlatform::Agent.find(
        agent_uuid: "12345678-1234-1234-1234-1234567890ab",
        moxi_works_company_id: "abc123")

<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$moxi_works_agent = MoxiworksPlatform\Agent::find([
        'agent_uuid' => '12345678-1234-1234-1234-1234567890ab',
        'moxi_works_company_id' => 'abc123']);
?>

Agent Show (using moxi_works_agent_id) Example

GET /api/agents/[moxi_works_agent_id]&moxi_works_company_id=[moxi_works_company_id] HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded

{
  "moxi_works_agent_id":"abc123",
  "moxi_works_company_id":"the_company"
}


/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";

var service = new AgentService(new MoxiWorksClient());
var result = service.GetAgentAsync("some_agent_id","some_company_id").Result;

##### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisites

moxi_works_agent = MoxiworksPlatform::Agent.find(
        moxi_works_agent_id: "1234abcd",
        moxi_works_company_id: "abc123")

<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$moxi_works_agent = MoxiworksPlatform\Agent::find([
        'moxi_works_agent_id' => '1234abcd',
        'moxi_works_company_id' => 'abc123']);
?>
Agent Show Request Attributes

When finding an Agent using the MoxiWorks platform API, format your request using the following parameters.

Attribute Type Length Limit
agent_uuid* String 255
moxi_works_agent_id* String 255
source_agent_id* String 255
moxi_works_company_id String 255
parent_company_id String 255
include_access_level Boolean 255
include_gci_goals Boolean 255
include_partners Boolean 255
include_reviews Boolean 255

Required Parameters Are In Red

moxi_works_agent_id or agent_uuid or source_agent_id One of these parameters must be supplied Please reference Agent Identifiers for information about how to construct your agent identifier request params.

moxi_works_company_id A valid MoxiWorks Company ID. Use Company Endpoint to determine what moxi_works_company_id you can use.

parent_company_id This is the numeric_id or moxi_works_company_id of a company that is considered to be a parent company in the MoxiWorks Platform. This request attribute has two functions:

1. It provides for a broad scope by which partners may be afforded permissions to perform MoxiWorks Platform actions, in scenarios where a partner does business with a parent company in the MoxiWorks System.
2. It provides broad scope under which agents may be looked up using the source_agent_id request attribute in many scenarios across different MoxiWorks Platform endpoints and actions.

Please note that this attribute cannot be used as a replacement for the moxi_works_company_id request attribute in scenarios where the moxi_works_company_id request attribute is required by the action.

Please note that this attribute cannot be used to broaden scope of any request where the scope of the request is defined by the moxi_works_company_id request attribute.

Please note that when passed in conjunction with the moxi_works_company_id request attribute, the value of moxi_works_company_id request attribute must be the numeric id form.

Any use of this request attribute must be coordinated with MoxiWorks Platform Partner services. Please reach out to partner services for more information.

include_access_level To include access level information for the agent in the response, pass true

include_gci_goals Whether to include agent’s GCI goals and commissions data in the response data.

include_partners To include affiliate data associated with the agent in the response, pass true.

include_reviews To include ratings and reviews associated with the agent in the response, pass true.

Agent Show Response Payload

The following attributes make up the payload of the Agent response for a Show request.

Agent Index Response Payload Example
{
  "moxi_works_agent_id": "abc123",
  "client_agent_id":"abc123",
  "mls_agent_id":"MLS_ID",
  "license":"abc123lic",
  "mls_name":"Bob's Better MLS",
  "mls_abbreviation":"BBM",
  "moxi_works_office_id":"8c3f446c-aab9-11e6-9a0f-d0e1408e8026",
  "office_id":"1234",
  "client_office_id":"987123",
  "company_id":"2345",
  "client_company_id":"abc392",
  "agent_id":"67890",
  "office_address_street": "3456 Office Ln.",
  "office_address_street2":"Suite 1234",
  "office_address_city": "Officeville",
  "office_address_state": "AG",
  "office_address_zip": "12345",
  "office_mailing_address_street": "1236 Mailbox Ave.",
  "office_mailing_address_street2":"Box 43",
  "office_mailing_address_city": "Mailtown",
  "office_mailing_address_state": "AG",
  "office_mailing_address_zip": "12348",
  "name": "Buckminster Fuller",
  "first_name": "Buckminster",
  "last_name": "Fuller",
  "main_phone_number": "555) 9101112",
  "mobile_phone_number": "555 333 4567",
  "alt_phone_number": "(555) 567-8910",
  "fax_phone_number": "5557891011",
  "office_phone_number": "(234)456-7890",
  "primary_email_address": "the_agent@agentdomain.com",
  "secondary_email_address": "the_agent_alt@otherdomain.com",
  "email_addresses": {
    "primary": "primary@email.com",
    "display": "display@email.com",
    "alternate": null,
    "moxi_sync": "moxi@email.com",
    "lead_routing": "lead@email.com",
    "zillow": null
  },
  "lead_routing_email_address":"leadrouter@thisdomain.com",
  "title": "Broker",
  "designations": "Realtor, CRS, SRES",
  "uuid":"8675309e9-1234-dead-beef-deadbeefdead",
  "has_engage_access":true,
  "website_base_url": "mymoxi@website.com",
  "twitter": "https://twitter.com/agentguy",
  "google_plus": "https://plus.google.com/1234567891011121314/posts",
  "facebook": "https://www.facebook.com/moxiworks/",
  "home_page": "foo.com",
  "profile_image_url": "http://picturererer.com/pics37/ImageStore.dll?id=852087C5D3A533DD&w=200",
  "profile_thumb_url": "http://picturererer.com/pics37/ImageStore.dll?id=852087C5D3A533DD&w=75",
  "service_area_zip_codes": [
    "98117",
    "98105"
  ],
  "agent_website": {
    "base_url": "http://mymoxi@website.com",
    "bio_page_slug": "/profile/main.profile"
  },
  "company_programs": [
    "Deluxe Listings agent",
    "Very Cool Program Manager"
  ],
  "alternate_offices": [
  {
    "moxi_works_office_id": "abc123",
    "office_id": 1234,
    "office_address_street": "2636 NW Office Street",
    "office_address_street2": null,
    "office_address_city": "Altville",
    "office_address_state": "IN",
    "office_address_zip": "23232",
    "office_phone_number": "813.555.1221"
    },
      {
    "moxi_works_office_id": "xyz789",
    "office_id": 5678,
    "office_address_street": "700 123rd Ave",
    "office_address_street2": "Suite 1234",
    "office_address_city": "Nextus",
    "office_address_state": "AL",
    "office_address_zip": "99899",
    "office_phone_number": "66655544444"
    }
  ],
  "source_metadata": [
    {
      "identifier_source": "moxi",
      "identifier_type": "external_identifier",
      "identifier_key": "abc12345"
    },
    {
      "identifier_source": "moxi",
      "identifier_type": "external_identifier_alt",
      "identifier_key": "xyz99999"
    }
  ],
  "profile_visible_online": true,
  "user_reviews": [
    {
      "source_name": "zillow",
      "agg_rating": 5,
      "reviews_count": 10
    }
  ]
}
Agent Index Response Payload Example when include_gci_goals is `true`
{
  "moxi_works_agent_id": "abc123",
  "client_agent_id":"abc123",
  "mls_agent_id":"MLS_ID",
  "license":"abc123lic",
  "mls_name":"Bob's Better MLS",
  "mls_abbreviation":"BBM",
  "moxi_works_office_id":"8c3f446c-aab9-11e6-9a0f-d0e1408e8026",
  "office_id":"1234",
  "client_office_id":"987123",
  "company_id":"2345",
  "client_company_id":"abc392",
  "agent_id":"67890",
  "office_address_street": "3456 Office Ln.",
  "office_address_street2":"Suite 1234",
  "office_address_city": "Officeville",
  "office_address_state": "AG",
  "office_address_zip": "12345",
  "office_mailing_address_street": "3453 Mailbox Ave.",
  "office_mailing_address_street2":"Box 11",
  "office_mailing_address_city": "Mailtown",
  "office_mailing_address_state": "AG",
  "office_mailing_address_zip": "12342",
  "name": "Buckminster Fuller",
  "first_name": "Buckminster",
  "last_name": "Fuller",
  "main_phone_number": "555) 9101112",
  "mobile_phone_number": "555 333 4567",
  "alt_phone_number": "(555) 567-8910",
  "fax_phone_number": "5557891011",
  "office_phone_number": "(234)456-7890",
  "primary_email_address": "the_agent@agentdomain.com",
  "secondary_email_address": "the_agent_alt@otherdomain.com",
  "email_addresses": {
    "primary": "primary@email.com",
    "display": "display@email.com",
    "alternate": null,
    "moxi_sync": "moxi@email.com",
    "lead_routing": "lead@email.com",
    "zillow": null
  },
  "lead_routing_email_address":"leadrouter@thisdomain.com",
  "title": "Broker",
  "bio": [
    {
      "body": "example1 example1 example1",
      "header": "example1"
    },
    {
      "body": "example2 example2 example2",
      "header": "example2"
    }
  ],
  "designations": "Realtor, CRS, SRES",
  "uuid":"8675309e9-1234-dead-beef-deadbeefdead",
  "has_engage_access":true,
  "access_level":"user",
  "teams":[
    {
      "name":"Major League Broker Team",
      "uuid":"ff083909-4acd-4c20-82f5-c993380c5717",
      "member_category":"LEAD"
    }
  ],
  "has_product_access":true,
  "website_base_url": "mymoxi@website.com",
  "twitter": "https://twitter.com/agentguy",
  "google_plus": "https://plus.google.com/1234567891011121314/posts",
  "facebook": "https://www.facebook.com/moxiworks/",
  "home_page": "foo.com",
  "profile_image_url": "http://picturererer.com/pics37/ImageStore.dll?id=852087C5D3A533DD&w=200",
  "profile_thumb_url": "http://picturererer.com/pics37/ImageStore.dll?id=852087C5D3A533DD&w=75",
  "region":"WESTERN WASHINGTON",
  "service_area_zip_codes": [
    "98117",
    "98105"
  ],
  "agent_website": {
    "base_url": "http://mymoxi@website.com",
    "bio_page_slug": "/profile/main.profile"
  },
  "company_programs": [
    "Deluxe Listings agent",
    "Very Cool Program Manager"
  ],
  "alternate_offices": [
  {
    "moxi_works_office_id": "abc123",
    "office_id": 1234,
    "office_address_street": "2636 NW Office Street",
    "office_address_street2": null,
    "office_address_city": "Altville",
    "office_address_state": "IN",
    "office_address_zip": "23232",
    "office_phone_number": "813.555.1221"
    },
      {
    "moxi_works_office_id": "xyz789",
    "office_id": 5678,
    "office_address_street": "700 123rd Ave",
    "office_address_street2": "Suite 1234",
    "office_address_city": "Nextus",
    "office_address_state": "AL",
    "office_address_zip": "99899",
    "office_phone_number": "66655544444"
    }
  ],
  "source_metadata": [
    {
      "identifier_source": "moxi",
      "identifier_type": "external_identifier",
      "identifier_key": "abc12345"
    },
    {
      "identifier_source": "moxi",
      "identifier_type": "external_identifier_alt",
      "identifier_key": "xyz99999"
    }
  ],
  gci_goal: 122131,
  buyer_commission_rate: 1.25,
  seller_commission_rate: 1.25,
  "profile_visible_online": true,
  "user_reviews": [
    {
      "source_name": "zillow",
      "agg_rating": 5,
      "reviews_count": 10
    }
  ]
}
Agent Show: Failure Response
See Error Handling for details about individual error codes.

{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

Show Response Attributes
Attribute Type
moxi_works_agent_id String
client_agent_id String
mls_agent_id String or null
license String or null
mls_name String or null
mls_abbreviation String or null
agent_id String
moxi_works_office_id String
office_id String
client_office_id String
company_id String
client_company_id String
office_address_street String or null
office_address_street2 String or null
office_address_city String or null
office_address_state String or null
office_address_zip String or null
office_mailing_address_street String or null
office_mailing_address_street2 String or null
office_mailing_address_city String or null
office_mailing_address_state String or null
office_mailing_address_zip String or null
name String or null
first_name String or null
last_name String or null
nickname String or null
main_phone_number String or null
mobile_phone_number String or null
alt_phone_number String or null
fax_phone_number String or null
office_phone_number String or null
primary_email_address String or null
secondary_email_address String or null
email_addresses Hash
lead_routing_email_address String or null
title String or null
bio Array
designations String or null
uuid String
has_product_access Boolean
has_engage_access Boolean
access_level String
view_level String
teams Array
website_base_url String or null
twitter String or null
google_plus String or null
facebook String or null
home_page String or null
profile_image_url String
profile_thumb_url String
region String or null
gci_goal Integer
buyer_commission_rate Float
seller_commission_rate Float
service_area_zip_codes Array
agent_website Array
alternate_offices Array
available_mls Array
partners Array
company_programs Array
source_metadata Array
created_timestamp Integer
deactivated_timestamp Integer or null
profile_visible_online Boolean
user_reviews Array

moxi_works_agent_id This is the MoxiWorks Platform ID of the Agent. This will be a string that may take the form of an email address, or a unique alphanumeric identification string.

client_agent_id This is the ID of the Agent utilized by their company.

mls_agent_id This is the ID of the Agent utilized by their primary MLS.

license This is the number of the license granted to the agent.

mls_name This is the name of the primary MLS for the agent.

mls_abbreviation This is the standard abbreviation of the primary MLS utilized by the agent.

agent_id This is the ID of this Agent. This will be an integer.

moxi_works_office_id This is the MoxiWorks Platform ID of the office for this Agent. This will be an RFC 4122 compliant UUID.

office_id This is the ID of the office for this Agent. This will be an integer.

client_office_id This is the ID of the office for this Agent utilized by their company.

company_id This is the ID of the company for this Agent. This will be an integer.

client_company_id This is the ID of the Company utilized by their company.

office_address_street The street address of the agent’s office. This can be null if there is no data for this attribute.

office_address_street2 The suite or office number of the agent’s office. This can be null if there is no data for this attribute.

office_address_city The city the agent’s office is in. This can be null if there is no data for this attribute.

office_address_state The state or provice the agent’s office is in. This can be null if there is no data for this attribute.

office_address_zip The postal code the agent’s office is in. This can be null if there is no data for this attribute.

office_mailing_address_street The street address of the agent’s office’s mailing address. This can be null if there is no data for this attribute.

office_mailing_address_street2 The suite or office number of the agent’s office’s mailing address. This can be null if there is no data for this attribute.

office_mailing_address_city The city the agent’s office’s mailing address is in. This can be null if there is no data for this attribute.

office_mailing_address_state The state or provice the agent’s office’s mailing address is in. This can be null if there is no data for this attribute.

office_mailing_address_zip The postal code the agent’s office’s mailing address is in. This can be null if there is no data for this attribute.

name The full name of the agent. This can be null if there is no data for this attribute.

first_name The first name of the agent. This can be null if there is no data for this attribute.

last_name The last name of the agent. This can be null if there is no data for this attribute.

nickname The nickname of the agent. This can be null if there is no data for this attribute.

mobile_phone_number Mobile phone number of the agent. main_phone_number should be considered higher priority, if not the same. This can be null if there is no data for this attribute.

alt_phone_number Alternate phone number for the agent. This should be considered second in priority to main_phone_number. This can be null if there is no data for this attribute.

fax_phone_number This is the agent’s fax phone number. This can be null if there is no data for this attribute.

main_phone_number This is the agent’s main phone number. This number should be considered the number the agent would like to be contacted by. This can be null if there is no data for this attribute.

fax_phone_number This is the agent’s fax phone number. This can be null if there is no data for this attribute.

office_phone_number This is the agent’s office phone number. This can be null if there is no data for this attribute.

primary_email_address This is the agent’s main email address. This email address should be considered the email address the agent would prefer to be contacted by. This can be null if there is no data for this attribute.

secondary_email_address This is the agent’s alternate email address. This email address should be considered the email address the agent would want to be contacted by only if the address in primary_email_address is not functional. This can be null if there is no data for this attribute.

lead_routing_email_address This is the agent’s lead routing email address. This can be null if there is no data for this attribute.

title This is the business title of the agent. This can be null if there is no data for this attribute.

bio This is the bio of the agent. Array of key/value pairs. Each has a body and header, both strings, which can be null or blank.

designations This is a string that contains the agent’s designation(s), if any. This can be null if there is no data for this attribute.

uuid This is an RFC 4122 compliant UUID associated with the agent. This UUID can be used as a unique identifier in determining associations between Agent objects and Listing objects.

has_product_access Indicates whether the agent has access to MoxiWorks Products.

has_engage_access Indicates whether the agent has access to MoxiWorks Engage.

access_level The access level of the agent. If include_access_level was passed as true, this can return one of the possible access levels: company-admin, manager, office-admin, office-owner, region-admin, user.

view_level The view level of the agent. This will return one of the possible view levels: COMPANY_ADMIN, OFFICE_ADMIN, USER.

website_base_url The base url of the agent’s MoxiWorks agent website.

twitter Agent’s Twitter URL. This can be null if there is no data available for this attribute.

google_plus Agent’s Google Plus URL. This can be null if there is no data for this attribute.

facebook Agent’s Facebook page url. This can be null if there is no data for this attribute.

home_page Agent’s website domain. This will be returned without the HTTP(S) prefix. You’ll need to prefix the domain with protocol if using this attribute for an href. This can be null if there is no data for this attribute.

profile_image_url This is a valid URL for a larger size image for the agent. If no agent image has been uploaded for this agent a default image url will be provided.

profile_thumb_url This is a valid URL for a thumbnail size image for the agent. If no agent image has been uploaded for this agent a default image url will be provided.

region The region the agent’s office is in. This can be null if there is no data for this attribute.

gci_goal The agent’s stated gross commission income goal.

buyer_commission_rate Percentage commission rate for the agent when acting as a buyer’s agent.

seller_commission_rate Percentage commission rate for the agent when acting as a seller’s agent.

service_area_zip_codes A list of the lead service area zip codes covered by the agent.

agent_website This includes the base_url and bio_page_slug of the agent MoxiWorks website.

company_programs A list of the company specific program names in which the agent participates or is a member.

source_metadata A list of the source-specific user identifiers.

created_timestamp This is the Unix timestamp representing the date that this Agent was created in the MoxiWorks system.

deactivated_timestamp This is the Unix timestamp representing the date that this Agent was deactivated in the MoxiWorks system. This will be returned null if the agent is still active.

profile_visible_online Indicates the “Profile Visible Online” value in Roster for this Agent. True corresponds to Yes (visible online); false corresponds to No (not visible online).

alternate_offices Object

The alternate_offices array contains Dictionary objects representing AlternateOffice entries. The structure of each AlternateOffice entry is shown below.

Attribute Type
moxi_works_office_id String
office_id Integer
office_address_street String
office_address_street2 String
office_address_city String
office_address_state String
office_address_zip String
office_phone_number String

moxi_works_office_id This is the unique identifier for the MoxiWorks Platform AlternateOffice entry.

office_id This is an integer identifier for the MoxiWorks Platform AlternateOffice entry. If you are using MoxiWorks SSO, this will be the ID corresponding to the ID provided there.

office_address_street The street address of the office represented by this AlternateOffice entry.

office_address_street2 The second line of the street address (if required) of the office represented by this AlternateOffice entry.

office_address_city The city portion of the address of the office represented by this AlternateOffice entry.

office_address_state The state portion of the address of the office represented by this AlternateOffice entry.

office_address_zip The postal code portion of the address of the office represented by this AlternateOffice entry.

office_phone_number The phone number of the office represented by this AlternateOffice entry.

available_mls Object

The available_mls Array contains Dictionary objects representing MLS entries. The structure of each MLS entry is shown below.

Attribute Type
name String
display_name String
mls_abbreviation String
agent_id String

name The MoxiWorks internal unique name for the MLS.

display_name The name of the MLS as it is to be displayed to users.

mls_abbreviation The abbreviation of the MLS.

agent_id The agent’s MLS id.

teams Object

The teams array contains Dictionary objects representing Team entries. The structure of each Team entry is shown below.

Attribute Type
name String
uuid String
member_category String

name This is the human readable name identifying the Team entry.

uuid This is the MoxiWorks Platform ID of the Team. This will be an RFC 4122 compliant UUID.

member_category This is the role of the agent in the team.

partners Objects

Existence of objects in the partners data structure is dependent upon external relationships existing between the agent represented by this Agent and the affiliate.

leading_re partner Objects
Attribute Type
salesforce_id String or null
luxury_portfolio Boolean

salesforce_id This is the unique salesforce ID of the company in the LeadingRE system.

luxury_portfolio Indicates whether or not this agent has luxury portfolio association in the LeadingRE system.

email_addresses Object

The email_addresses Hash is a Dictionary object holding the email addresses associated with the Agent record. The structure of the object is shown below.

Attribute Type
primary String or null
display String or null
alternate String or null
moxi_sync String or null
lead_routing String or null
zillow String or null

primary The primary email address associated with the Agent record.

display The display email address associated with the Agent record.

alternate The alternate email address associated with the Agent record.

moxi_sync The moxi_sync email address associated with the Agent record.

lead_routing The lead_routing email address associated with the Agent record.

zillow The zillow email address associated with the Agent record.

user_reviews Object

Existence of objects in the user_reviews data structure is dependent upon external sources, i.e. Zillow, Testimonial Tree.

user_reviews user_reviews Object
Attribute Type
source_name String
agg_rating Float or null
reviews_count Integer

source_name This is the name of the external source, i.e. zillow, testimonial_tree

agg_rating The aggregate rating to one decimal point. If reviews_count is 0 then this will be null

reviews_count This is the number of reviews found on the agent from the source

Agent Index

Agent Index Example

First page of all Agent objects for specified Company updated since a given timestamp

GET /api/agents?moxi_works_company_id=abc123&updated_since=1461108284 HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded

{
  "moxi_works_company_id":"the_company",
  "updated_since":1461108284
}


/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";

var service = new AgentService(new MoxiWorksClient());
var results = service.GetAgentsAsync( "the_company",  1461108284).Result;


##### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisites

one_week =  defined?(Rails) ? 1.week : 604800
company_agents = MoxiworksPlatform::Agent.search(moxi_works_company_id: "abc123", updated_since: Time.now - one_week)

<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$one_week = 604800;
$company_agents = MoxiworksPlatform\Agent::search(['moxi_works_company_id' => 'abc123', 'updated_since' => time() - $one_week]);
?>

Second page of All Agent objects for a specified Company updated since a given timestamp

GET /api/agents?moxi_works_company_id=abc123&updated_since=1461108284&page_number=2 HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded

{
  "moxi_works_company_id":"the_company",
  "updated_since":1461108284,
  "page_number":2
}


/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";

var service = new AgentService(new MoxiWorksClient());
var results = service.GetAgentsAsync("some_cmpany_id",1461108284, 2).Result;

one_week =  defined?(Rails) ? 1.week : 604800
company_agents = MoxiworksPlatform::Agent.search(moxi_works_company_id: "abc123", updated_since: Time.now - one_week, page_number: 2)

<?php
$one_week = 604800;
$company_agents = MoxiworksPlatform\Agent::search(['moxi_works_company_id' => 'abc123', 'updated_since' => time() - $one_week, 'page_number' => 2]);
?>

First page of All Agent objects for a specified Office updated since a given timestamp

GET /api/agents?moxi_works_office_id=8c3f446c-aab9-11e6-9a0f-d0e1408e8026&moxi_works_company_id=abc123&updated_since=1461108284 HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded

{
  "moxi_works_company_id":"the_company",
  "moxi_works_office_id":"8c3f446c-aab9-11e6-9a0f-d0e1408e8026",
  "updated_since":1461108284
}


/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";

var service = new AgentService(new MoxiWorksClient());
var results = service.GetAgentsAsync("some_company_id", 1461108284, "some_office_id").Result;

one_week =  defined?(Rails) ? 1.week : 604800
company_agents = MoxiworksPlatform::Agent.search(moxi_works_company_id: "abc123", updated_since: Time.now - one_week, moxi_works_office_id: "8c3f446c-aab9-11e6-9a0f-d0e1408e8026")

<?php
$one_week = 604800;
$company_agents = MoxiworksPlatform\Agent::search(['moxi_works_company_id' => 'abc123', 'updated_since' => time() - $one_week, 'moxi_works_office_id' => '8c3f446c-aab9-11e6-9a0f-d0e1408e8026']);
?>
Agent Index Request Attributes

When searching for Agent entities using the MoxiWorks platform API, format your data using the following parameters.

Attribute Type Length Limit
moxi_works_company_id String 255
parent_company_id String 255
moxi_works_office_id String 255
updated_since Integer 255
page_number Integer 255
include_access_level Boolean 255
deactivated Boolean 255
deactivated_since Integer 255
include_partners Boolean 255
include_company_programs Boolean 255
include_website Boolean 255
has_company_programs Boolean 255
include_reviews Boolean 255
timestamps_only Boolean 255

Required Parameters Are In Red

moxi_works_company_id A valid MoxiWorks Company ID. Use Company Endpoint to determine what moxi_works_company_id you can use.

parent_company_id This is the numeric_id or moxi_works_company_id of a company that is considered to be a parent company in the MoxiWorks Platform. This request attribute has two functions:

1. It provides for a broad scope by which partners may be afforded permissions to perform MoxiWorks Platform actions, in scenarios where a partner does business with a parent company in the MoxiWorks System.
2. It provides broad scope under which agents may be looked up using the source_agent_id request attribute in many scenarios across different MoxiWorks Platform endpoints and actions.

Please note that this attribute cannot be used as a replacement for the moxi_works_company_id request attribute in scenarios where the moxi_works_company_id request attribute is required by the action.

Please note that this attribute cannot be used to broaden scope of any request where the scope of the request is defined by the moxi_works_company_id request attribute.

Please note that when passed in conjunction with the moxi_works_company_id request attribute, the value of moxi_works_company_id request attribute must be the numeric id form.

Any use of this request attribute must be coordinated with MoxiWorks Platform Partner services. Please reach out to partner services for more information.

moxi_works_office_id A valid MoxiWorks Office ID. Use Office Endpoint to determine what moxi_works_office_id you can use.

updated_since any Agent objects updated after this Unix timestamp will be returned in the response. If no updated_since parameter is included in the request, only Agent objects updated in the last seven days will be returned.

page_number For queries with multi-page responses, use the page_number parameter to return data for specific pages. Data for page 1 is returned if this parameter is not included. Use this parameter if total_pages indicates that there is more than one page of data available.

include_access_level To include access level information for the agent in the response, pass true

deactivated To find Agent accounts deactivated within the specified timeframe, pass true for this boolean parameter.

deactivated_since any Agent objects deactivated after this Unix timestamp will be returned in the response. If no deactivated_since parameter is included in the request, only Agent objects deactivated in the last seven days will be returned.

include_partners To include affiliate data associated with the agent in the response, pass true.

include_company_programs To include company specific programs associated with the agent in the response, pass true.

include_website To include the base url (website_base_url) of the agent’s MoxiWorks website pass true.

has_company_programs To include only Agent objects associated with company specific programs pass true.

include_reviews To include ratings and reviews associated with the agent in the response, pass true.

timestamps_only If supplied then the results will exclude all data except primary identifiers and a unix timestamp (last_updated) & iso8601 timestamp (modification_timestamp) of the last time this record was updated.

Agent Index: Success Response

{
"page_number":9,
"total_pages":9,
"agents":[
{
  "moxi_works_agent_id": "abc123",
  "client_agent_id":"abc123",
  "mls_agent_id":"MLS_ID",
  "license":"abc123lic",
  "mls_name":"Bob's Better MLS",
  "mls_abbreviation":"BBM",
  "moxi_works_office_id":"8c3f446c-aab9-11e6-9a0f-d0e1408e8026",
  "office_id":"1234",
  "client_office_id":"987123",
  "company_id":"2345",
  "client_company_id":"abc392",
  "agent_id":"67890",
  "office_address_street":"3456 Office Ln.",
  "office_address_street2":"Suite 1234",
  "office_address_city": "Officeville",
  "office_address_state": "AG",
  "office_address_zip": "12345",
  "office_mailing_address_street": "1236 Mailbox Ave.",
  "office_mailing_address_street2":"Box 43",
  "office_mailing_address_city": "Mailtown",
  "office_mailing_address_state": "AG",
  "office_mailing_address_zip": "12348",
  "name": "Buckminster Fuller",
  "first_name":"Buckminster",
  "last_name":"Fuller",
  "main_phone_number": "555) 9101112",
  "mobile_phone_number": "555 333 4567",
  "alt_phone_number": "(555) 567-8910",
  "fax_phone_number": "5557891011",
  "office_phone_number": "(234)456-7890",
  "primary_email_address": "the_agent@agentdomain.com",
  "secondary_email_address": "the_agent_alt@otherdomain.com",
  "email_addresses": {
    "primary": "primary@email.com",
    "display": "display@email.com",
    "alternate": null,
    "moxi_sync": "moxi@email.com",
    "lead_routing": "lead@email.com",
    "zillow": null
  },
  "lead_routing_email_address":"leadrouter@thisdomain.com",
  "title": "Broker",
  "bio": [
    {
      "body": "example1 example1 example1",
      "header": "example1"
    },
    {
      "body": "example2 example2 example2",
      "header": "example2"
    }
  ],
  "designations": "Realtor, CRS, SRES",
  "uuid":"8675309e9-1234-dead-beef-deadbeefdead",
  "has_product_access":true,
  "has_engage_access":true,
  "access_level":"user",
  "view_level": "COMPANY_ADMIN",
  "teams":[
    {
      "name":"Major League Broker Team",
      "uuid":"ff083909-4acd-4c20-82f5-c993380c5717",
      "member_category":"LEAD"
    }
  ],
  "website_base_url": "mymoxi@website.com",
  "twitter": "https://twitter.com/agentguy",
  "google_plus": "https://plus.google.com/1234567891011121314/posts",
  "facebook": "https://www.facebook.com/moxiworks/",
  "home_page": "foo.com",
  "profile_image_url": "http://picturererer.com/pics37/ImageStore.dll?id=852087C5D3A533DD&w=200",
  "profile_thumb_url": "http://picturererer.com/pics37/ImageStore.dll?id=852087C5D3A533DD&w=75",
  "region":"WESTERN WASHINGTON",
  "service_area_zip_codes": [
    "98117",
    "98105"
  ],
  "agent_website": {
    "base_url": "http://mymoxi@website.com",
    "bio_page_slug": "/profile/main.profile"
  },
  "company_programs": [
    "Deluxe Listings agent",
    "Very Cool Program Manager"
  ],
  "alternate_offices": [
  {
    "moxi_works_office_id": "abc123",
    "office_id": 1234,
    "office_address_street": "2636 NW Office Street",
    "office_address_street2": null,
    "office_address_city": "Altville",
    "office_address_state": "IN",
    "office_address_zip": "23232",
    "office_phone_number": "813.555.1221"
    },
      {
    "moxi_works_office_id": "xyz789",
    "office_id": 5678,
    "office_address_street": "700 123rd Ave",
    "office_address_street2": "Suite 1234",
    "office_address_city": "Nextus",
    "office_address_state": "AL",
    "office_address_zip": "99899",
    "office_phone_number": "66655544444"
    }
  ],
  "source_metadata": [
    {
      "identifier_source": "moxi",
      "identifier_type": "external_identifier",
      "identifier_key": "abc12345"
    },
    {
      "identifier_source": "moxi",
      "identifier_type": "external_identifier_alt",
      "identifier_key": "xyz99999"
    }
  ],
  "profile_visible_online": true,
  "user_reviews": [
    {
      "source_name": "zillow",
      "agg_rating": 5,
      "reviews_count": 10
    }
  ]
}
]
}
Agent Index: Failure Response
See Error Handling for details about individual error codes.
{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

Agent Index responses are divided into pages of Agent objects. Use response payload attributes total_pages and page_number to determine how many pages of Agent objects there are and whether additional pages need to be requested.

Attribute Type
page_number Integer
total_pages Integer
agents Array
agents Object

The agents array contains Dictionary objects representing Agent entries. The structure of each Agent entry is shown below.

Attribute Type
moxi_works_agent_id String
client_agent_id String
mls_agent_id String or null
license String or null
mls_name String or null
mls_abbreviation String or null
agent_id String
moxi_works_office_id String
office_id String
client_office_id String
company_id String
client_company_id String
office_address_street String or null
office_address_street2 String or null
office_address_city String or null
office_address_state String or null
office_address_zip String or null
office_mailing_address_street String or null
office_mailing_address_street2 String or null
office_mailing_address_city String or null
office_mailing_address_state String or null
office_mailing_address_zip String or null
name String or null
first_name String or null
last_name String or null
nickname String or null
main_phone_number String or null
mobile_phone_number String or null
alt_phone_number String or null
fax_phone_number String or null
office_phone_number String or null
primary_email_address String or null
secondary_email_address String or null
email_addresses Hash
lead_routing_email_address String or null
title String or null
bio Array
designations String or null
uuid String
has_product_access Boolean
has_engage_access Boolean
access_level String
view_level String
teams Array
website_base_url String or null
twitter String or null
google_plus String or null
facebook String or null
home_page String or null
profile_image_url String
profile_thumb_url String
region String or null
service_area_zip_codes Array
agent_website Array
alternate_offices Array
available_mls Array
partners Array
company_programs Array
source_metadata Array
created_timestamp Integer
deactivated_timestamp Integer or null
profile_visible_online Boolean
user_reviews Array

moxi_works_agent_id This is the MoxiWorks Platform ID of the Agent. This will be a string that may take the form of an email address, or a unique alphanumeric identification string.

client_agent_id This is the ID of the Agent utilized by their company.

mls_agent_id This is the ID of the Agent utilized by their primary MLS.

license This is the number of the license granted to the agent.

mls_name This is the name of the primary MLS for the agent.

mls_abbreviation This is the standard abbreviation of the primary MLS utilized by the agent.

agent_id This is the ID of this Agent. This will be an integer.

moxi_works_office_id This is the MoxiWorks Platform ID of the office for this Agent. This will be an RFC 4122 compliant UUID.

office_id This is the ID of the office for this Agent. This will be an integer.

client_office_id This is the ID of the office for this Agent utilized by their company.

company_id This is the ID of the company for this Agent. This will be an integer.

client_company_id This is the ID of the Company utilized by their company.

office_address_street The street address of the agent’s office. This can be null if there is no data for this attribute.

office_address_street2 The suite or office number of the agent’s office. This can be null if there is no data for this attribute.

office_address_city The city the agent’s office is in. This can be null if there is no data for this attribute.

office_address_state The state or provice the agent’s office is in. This can be null if there is no data for this attribute.

office_address_zip The postal code the agent’s office is in. This can be null if there is no data for this attribute.

office_mailing_address_street The street address of the agent’s office’s mailing address. This can be null if there is no data for this attribute.

office_mailing_address_street2 The suite or office number of the agent’s office’s mailing address. This can be null if there is no data for this attribute.

office_mailing_address_city The city the agent’s office’s mailing address is in. This can be null if there is no data for this attribute.

office_mailing_address_state The state or provice the agent’s office’s mailing address is in. This can be null if there is no data for this attribute.

office_mailing_address_zip The postal code the agent’s office’s mailing address is in. This can be null if there is no data for this attribute.

name The full name of the agent. This can be null if there is no data for this attribute.

first_name The first name of the agent. This can be null if there is no data for this attribute.

last_name The last name of the agent. This can be null if there is no data for this attribute.

nickname The nickname of the agent. This can be null if there is no data for this attribute.

mobile_phone_number Mobile phone number of the agent. main_phone_number should be considered higher priority, if not the same. This can be null if there is no data for this attribute.

alt_phone_number Alternate phone number for the agent. This should be considered second in priority to main_phone_number. This can be null if there is no data for this attribute.

fax_phone_number This is the agent’s fax phone number. This can be null if there is no data for this attribute.

main_phone_number This is the agent’s main phone number. This number should be considered the number the agent would like to be contacted by. This can be null if there is no data for this attribute.

fax_phone_number This is the agent’s fax phone number. This can be null if there is no data for this attribute.

office_phone_number This is the agent’s office phone number. This can be null if there is no data for this attribute.

primary_email_address This is the agent’s main email address. This email address should be considered the email address the agent would prefer to be contacted by. This can be null if there is no data for this attribute.

secondary_email_address This is the agent’s alternate email address. This email address should be considered the email address the agent would want to be contacted by only if the address in primary_email_address is not functional. This can be null if there is no data for this attribute.

lead_routing_email_address This is the agent’s lead routing email address. This can be null if there is no data for this attribute.

title This is the business title of the agent. This can be null if there is no data for this attribute.

bio This is the bio of the agent. Array of key/value pairs. Each has a body and header, both strings, which can be null or blank.

designations This is a string that contains the agent’s designation(s), if any. This can be null if there is no data for this attribute.

uuid This is an RFC 4122 compliant UUID associated with the agent. This UUID can be used as a unique identifier in determining associations between Agent objects and Listing objects.

has_product_access Indicates whether the agent has access to MoxiWorks Products.

has_engage_access Indicates whether the agent has access to MoxiWorks Engage.

access_level The access level of the agent. If include_access_level was passed as true, this can return one of the possible access levels: company-admin, manager, office-admin, office-owner, region-admin, user.

view_level The view level of the agent. This will return one of the possible view levels: COMPANY_ADMIN, OFFICE_ADMIN, USER.

website_base_url The base url of the agent’s MoxiWorks agent website.

twitter Agent’s Twitter URL. This can be null if there is no data available for this attribute.

google_plus Agent’s Google Plus URL. This can be null if there is no data for this attribute.

facebook Agent’s Facebook page URL. This can be null if there is no data for this attribute.

home_page Agent’s website domain. This will be returned without the HTTP(S) prefix. You’ll need to prefix the domain with protocol if using this attribute for an href. This can be null if there is no data for this attribute.

profile_image_url This is a valid URL for a larger size image for the agent. If no agent image has been uploaded for this agent a default image url will be provided.

profile_thumb_url This is a valid URL for a thumbnail size image for the agent. If no agent image has been uploaded for this agent a default image url will be provided.

region The region the agent’s office is in. This can be null if there is no data for this attribute.

service_area_zip_codes A list of the lead service area zip codes covered by the agent.

agent_website This includes the base_url and bio_page_slug of the agent MoxiWorks website.

company_programs A list of the company specific program names in which the agent participates or is a member.

source_metadata A list of the source-specific user identifiers.

created_timestamp This is the Unix timestamp representing the date that this Agent was created in the MoxiWorks system.

deactivated_timestamp This is the Unix timestamp representing the date that this Agent was deactivated in the MoxiWorks system. This will be returned null if the agent is still active.

profile_visible_online Indicates the “Profile Visible Online” value in Roster for this Agent. True corresponds to Yes (visible online); false corresponds to No (not visible online).

alternate_offices Object

The alternate_offices array contains Dictionary objects representing AlternateOffice entries. The structure of each AlternateOffice entry is shown below.

Attribute Type
moxi_works_office_id String
office_id Integer
office_address_street String
office_address_street2 String
office_address_city String
office_address_state String
office_address_zip String
office_phone_number String

moxi_works_office_id This is the unique identifier for the MoxiWorks Platform AlternateOffice entry.

office_id This is an integer identifier for the MoxiWorks Platform AlternateOffice entry. If you are using MoxiWorks SSO, this will be the ID corresponding to the ID provided there.

office_address_street The street address of the office represented by this AlternateOffice entry.

office_address_street2 The second line of the street address (if required) of the office represented by this AlternateOffice entry.

office_address_city The city portion of the address of the office represented by this AlternateOffice entry.

office_address_state The state portion of the address of the office represented by this AlternateOffice entry.

office_address_zip The postal code portion of the address of the office represented by this AlternateOffice entry.

office_phone_number The phone number of the office represented by this AlternateOffice entry.

available_mls Object

The available_mls Array contains Dictionary objects representing MLS entries. The structure of each MLS entry is shown below.

Attribute Type
name String
display_name String
mls_abbreviation String
agent_id String

name The MoxiWorks internal unique name for the MLS.

display_name The name of the MLS as it is to be displayed to users.

mls_abbreviation The abbreviation of the MLS.

agent_id The agent’s MLS id.

teams Object

The teams array contains Dictionary objects representing Team entries. The structure of each Team entry is shown below.

Attribute Type
name String
uuid String
member_category String

name This is the human readable name identifying the Team entry.

uuid This is the MoxiWorks Platform ID of the Team. This will be an RFC 4122 compliant UUID.

member_category This is the role of the agent in the team.

partners Objects

Existence of objects in the partners data structure is dependent upon external relationships existing between the agent represented by this Agent and the affiliate.

leading_re partner Objects
Attribute Type
salesforce_id String or null
luxury_portfolio Boolean

salesforce_id This is the unique salesforce ID of the company in the LeadingRE system.

luxury_portfolio Indicates whether or not this agent has luxury portfolio association in the LeadingRE system.

email_addresses Object

The email_addresses Hash is a Dictionary object holding the email addresses associated with the Agent record. The structure of the object is shown below.

Attribute Type
primary String or null
display String or null
alternate String or null
moxi_sync String or null
lead_routing String or null
zillow String or null

primary The primary email address associated with the Agent record.

display The display email address associated with the Agent record.

alternate The alternate email address associated with the Agent record.

moxi_sync The moxi_sync email address associated with the Agent record.

lead_routing The lead_routing email address associated with the Agent record.

zillow The zillow email address associated with the Agent record.

user_reviews Object

Existence of objects in the user_reviews data structure is dependent upon external sources, i.e. Zillow, Testimonial Tree.

user_reviews user_reviews Object
Attribute Type
source_name String
agg_rating Float or null
reviews_count Integer

source_name This is the name of the external source, i.e. zillow, testimonial_tree

agg_rating The aggregate rating to one decimal point. If reviews_count is 0 then this will be null

reviews_count This is the number of reviews found on the agent from the source

Brand

MoxiWorks Brand objects contain data about brand colors & logos associated with a company. For example, you can get a Company’s logo for use within your own product.

Brand Show

Brand Show Example

GET /api/brands/[moxi_works_company_id] HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded

{
  "moxi_works_company_id":"the_company"
}


/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";

var service = new BrandService(new MoxiWorksClient());
var result = service.GetCompanyBrandAsync("some_company_id").Result;

##### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisites

moxi_works_brand = MoxiworksPlatform::Brand.find(
        moxi_works_company_id: "abc123")

<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$moxi_works_brand= MoxiworksPlatform\Brand::find([
        'moxi_works_company_id' => 'abc123']);
?>
Brand Show Request Attributes

When finding an Brand using the MoxiWorks platform API, format your request using the following parameters.

Attribute Type Length Limit
moxi_works_company_id String 255
parent_company_id String 255

Required Parameters Are In Red

moxi_works_company_id A valid MoxiWorks Company ID. Use Company Endpoint to determine what moxi_works_company_id you can use.

parent_company_id This is the numeric_id or moxi_works_company_id of a company that is considered to be a parent company in the MoxiWorks Platform. This request attribute has two functions:

1. It provides for a broad scope by which partners may be afforded permissions to perform MoxiWorks Platform actions, in scenarios where a partner does business with a parent company in the MoxiWorks System.
2. It provides broad scope under which agents may be looked up using the source_agent_id request attribute in many scenarios across different MoxiWorks Platform endpoints and actions.

Please note that this attribute cannot be used as a replacement for the moxi_works_company_id request attribute in scenarios where the moxi_works_company_id request attribute is required by the action.

Please note that this attribute cannot be used to broaden scope of any request where the scope of the request is defined by the moxi_works_company_id request attribute.

Please note that when passed in conjunction with the moxi_works_company_id request attribute, the value of moxi_works_company_id request attribute must be the numeric id form.

Any use of this request attribute must be coordinated with MoxiWorks Platform Partner services. Please reach out to partner services for more information.

Brand Show Response Payload

The following attributes make up the payload of the Brand response for a Show request.

Brand Show Response Payload Example
{
"image_logo": "http://image.url/image.png",
"cma_authoring_color": "#123456",
"background_color": "#123456",
"background_font_color_primary": "#654321",
"button_background_color": "#123456",
"button_font_color": "#654321",
"copyright": "&copy; 2017 <a href="http://embedded.href.url" target="_blank">Company Copyright Holder</a> and Possibly another Company",
"display_name": "Company Display Name",
"email_element_background_color": "#654321",
"email_background_font_color": "#123456",
"image_cma_pdf_logo_header": "http://image.url/pdf_logo@341x110.png",
"image_email_logo_alt": "http://image.url/email_logo@341x110.png",
"image_favicon": "http://favicon.url/favicon.ico",
"image_pres_cover_logo": "http://image.url/pres_cover_logo@341x110.png",
"pres_block_background_color": "#654321",
"pres_block_text_color": "#123456"
}
Brand Show: Failure Response
See Error Handling for details about individual error codes.

{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

Show Response Attributes
Attribute Type
image_logo String
cma_authoring_color String
background_color String
background_font_color_primary String
button_background_color String
button_font_color String
copyright String
display_name String
email_element_background_color String
email_background_font_color String
image_cma_pdf_logo_header String
image_email_logo_alt String
image_favicon String
image_pres_cover_logo String
pres_block_background_color String
pres_block_text_color String

image_logo Company Logo

cma_authoring_color Presentation accent color

background_color background color

background_font_color_primary font color intended to overlay background_color

button_background_color background color of buttons

button_font_color font color intended to overlay button_background_color

copyright copyright notice – this may contain embedded HTML

display_name name of company as displayed to consumer

email_element_background_color background color of email elements outside body

email_background_font_color font color intended to overlay email_background_font_color

image_cma_pdf_logo_header company logo shown in pdf version of presentations

image_email_logo_alt company logo as shown in email header

image_favicon favicon of company

image_pres_cover_logo company logo shown in the online version of presentations

pres_block_background_color block element background color shown in online version of presentations

pres_block_text_color font color intended to overlay pres_block_background_color

Brand Index

Brand Index (using moxi_works_agent_id) Request Example

GET /api/brands?moxi_works_agent_id=abc123 HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded

{
  "moxi_works_agent_id":"xyz098",
  "moxi_works_company_id":"abc123"
}


/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";

var service = new BrandService(new MoxiWorksClient());
var results = service.GetBrandsAsync("some_agent_id", "abc123").Result;

##### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisites

moxi_works_brand = MoxiworksPlatform::Brand.search(
        moxi_works_agent_id: "xyz098", 
        moxi_works_company_id: "abc123")

<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$moxi_works_brand= MoxiworksPlatform\Brand::search([
        'moxi_works_agent_id' => 'xyz098', 
        'moxi_works_company_id' => 'abc123']);
?>

Brand Index (using moxi_works_office_id) Request Example

GET /api/brands?moxi_works_office_id=abc123 HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded

{
  "moxi_works_office_id":"pdq867",
  "moxi_works_company_id":"abc123"
}


/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";

var service = new BrandService(new MoxiWorksClient());
var results = service.GetBrandsAsync("moxi_works_office_id", "pdq867").Result;

##### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisites

moxi_works_brand = MoxiworksPlatform::Brand.search(
        moxi_works_office_id: "pdq867", 
        moxi_works_company_id: "abc123")

<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$moxi_works_brand= MoxiworksPlatform\Brand::search([
        'moxi_works_office_id' => 'pdq867',
        'moxi_works_company_id' => 'abc123']);
?>
Brand Index Request Attributes

When finding an Brand using the MoxiWorks platform API, format your request using the following parameters.

Attribute Type Length Limit
moxi_works_company_id String 255
agent_uuid* String 255
moxi_works_agent_id* String 255
source_agent_id* String 255
moxi_works_office_id† String 255
office_id† String 255
parent_company_id String 255

Required Parameters Are In Red

† Either moxi_works_office_id or office_id can be used when querying by office ID.

moxi_works_agent_id or agent_uuid or source_agent_id One of these parameters may be supplied Please reference Agent Identifiers for information about how to construct your agent identifier request params.

moxi_works_company_id A valid MoxiWorks Company ID. Use Company Endpoint to determine what moxi_works_company_id you can use.

parent_company_id This is the numeric_id or moxi_works_company_id of a company that is considered to be a parent company in the MoxiWorks Platform. This request attribute has two functions:

1. It provides for a broad scope by which partners may be afforded permissions to perform MoxiWorks Platform actions, in scenarios where a partner does business with a parent company in the MoxiWorks System.
2. It provides broad scope under which agents may be looked up using the source_agent_id request attribute in many scenarios across different MoxiWorks Platform endpoints and actions.

Please note that this attribute cannot be used as a replacement for the moxi_works_company_id request attribute in scenarios where the moxi_works_company_id request attribute is required by the action.

Please note that this attribute cannot be used to broaden scope of any request where the scope of the request is defined by the moxi_works_company_id request attribute.

Please note that when passed in conjunction with the moxi_works_company_id request attribute, the value of moxi_works_company_id request attribute must be the numeric id form.

Any use of this request attribute must be coordinated with MoxiWorks Platform Partner services. Please reach out to partner services for more information.

moxi_works_office_id This is the MoxiWorks Platform ID of the Office for the Brand. Use Office Endpoint to determine what moxi_works_office_id you can use (see moxi_works_office_id).

office_id This is the short Platform ID of the Office for the Brand. Use Office Endpoint to determine what office_id you can use (see id).

Brand Index Response Payload

The following attributes make up the payload of the Brand response for a Index request.

Brand Index Response Payload Example
{
  "brands":[
    {
      "name":"brand name",
      "image_logo": "http://image.url/image.png",
      "cma_authoring_color": "#123456",
      "background_color": "#123456",
      "background_font_color_primary": "#654321",
      "button_background_color": "#123456",
      "button_font_color": "#654321",
      "copyright": "&copy; 2017 <a href="http://embedded.href.url" target="_blank">Company Copyright Holder</a> and Possibly another Company",
      "display_name": "Company Display Name",
      "email_element_background_color": "#654321",
      "email_background_font_color": "#123456",
      "image_cma_pdf_logo_header": "http://image.url/pdf_logo@341x110.png",
      "image_email_logo_alt": "http://image.url/email_logo@341x110.png",
      "image_favicon": "http://favicon.url/favicon.ico",
      "image_pres_cover_logo": "http://image.url/pres_cover_logo@341x110.png",
      "pres_block_background_color": "#654321",
      "pres_block_text_color": "#123456"
    }
  ]
}
Brand Index: Failure Response
See Error Handling for details about individual error codes.

{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

Index Response Attributes
Attribute Type
name String
image_logo String
cma_authoring_color String
background_color String
background_font_color_primary String
button_background_color String
button_font_color String
copyright String
display_name String
email_element_background_color String
email_background_font_color String
image_cma_pdf_logo_header String
image_email_logo_alt String
image_favicon String
image_pres_cover_logo String
pres_block_background_color String
pres_block_text_color String

name Human readable string identifying the brand.

image_logo Company Logo

cma_authoring_color Presentation accent color

background_color background color

background_font_color_primary font color intended to overlay background_color

button_background_color background color of buttons

button_font_color font color intended to overlay button_background_color

copyright copyright notice – this may contain embedded HTML

display_name name of company as displayed to consumer

email_element_background_color background color of email elements outside body

email_background_font_color font color intended to overlay email_background_font_color

image_cma_pdf_logo_header company logo shown in pdf version of presentations

image_email_logo_alt company logo as shown in email header

image_favicon favicon of company

image_pres_cover_logo company logo shown in the online version of presentations

pres_block_background_color block element background color shown in online version of presentations

pres_block_text_color font color intended to overlay pres_block_background_color

BuyerTransaction

MoxiWorks Platform BuyerTransaction entities represent buyer-side transactions that agents are working on.

BuyerTransaction Stages

By default, each BuyerTransaction passes through five stages. Each stage represents a different stage in the transaction lifecycle. Every BuyerTransaction response will include the current stage of the BuyerTransaction both in its numeric form as well as a human readable string representation. As the transaction progresses through its lifecycle, you can promote it to the next stage. See Promoting BuyerTransaction Stage for information about promoting a BuyerTransaction object to the next stage.

Each BuyerTransaction created through the MoxiWorks Platform will be created as a stage 3 (active) BuyerTransaction.

Use the table below to determine the mapping between the integer represented in stage and its human readable counterpart.

stage stage_name description
0 inactive This is a discontinued BuyerTransaction. It cannot be edited, or moved to a different stage.
1 initialized This is an empty BuyerTransaction already associated with a Contact and is ready to be configured
2 configured This is an inactive BuyerTransaction that has been configured. This BuyerTransaction is not actively being worked on.
3 active This is a configured and active BuyerTransaction. The agent is actively working on this transaction. Once active, a transaction cannot be regressed to an earlier stage.
4 pending This is an active BuyerTransaction that is in a pending state.
5 complete This is a BuyerTransaction which has been completed.

BuyerTransaction Create

BuyerTransaction Create (using agent_uuid) Example

{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
  "moxi_works_contact_id":"babebead-feed-face-dead-beefbad4babe",
  "transaction_name":"Bob And Linda Tonkanaka",
  "notes":"take care to write notes that are descriptive and helpful",
  "address":"1234 memory lane",
  "city":"hereville",
  "state":"provinceland",
  "zip_code":"18292",
  "min_sqft":1234,
  "max_sqft":2345,
  "min_beds":3,
  "max_beds":12,
  "min_baths":1.75,
  "max_baths":34.5,
  "area_of_interest":"Port Interesting",
  "is_mls_transaction":true,
  "mls_number":"abc123",
  "commission_percentage":null,
  "commission_flat_fee":12345,
  "sales_volume_percentage":null,
  "sales_volume_flat_fee":null,
  "target_price":null,
  "min_price":292929,
  "max_price":2323223,
  "stage": 'active'
}


POST /api/buyer_transactions HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded

agent_uuid=12345678-1234-1234-1234-1234567890ab&moxi_works_contact_id=babebead-feed-face-dead-beefbad4babe&min_beds=12&max_beds=34&min_baths=1.75&max_baths=34.5&area_of_interest=Port%20Interesting&notes=take%20care%20to%20write%20notes%20that%20are%20descriptive%20and%20helpful&transaction_name=Bob%20And%20Linda%20Tonkanaka&address=1234%20memory%20lane&city=hereville&state=provinceland&zip_code=18292&sqft=2345&is_mls_transaction=true&commission_flat_fee=12345&target_price=&max_price=2323223&min_price=232323&mls_number=abc123


/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";

var transaction = new BuyerTransaction();
transaction.AgentUuid = "12345678-1234-1234-1234-1234567890ab";
transaction.MoxiWorksContactId = "babebead-feed-face-dead-beefbad4babe";
transaction.TransactionName = "Bob And Linda Tonkanaka";
transaction.Notes = "take care to write notes that are descriptive and helpful";
transaction.Address = "1234 memory lane";
transaction.City = "hereville";
transaction.State = "provinceland";
transaction.ZipCode = "18292";
transaction.MinSqft = 1234;
transaction.MaxSqft = 2345;
transaction.MinBeds = 3;
transaction.MaxBeds = 12;
transaction.MinBaths = 1.75;
transaction.MaxBaths = 34.5;
transaction.AreaOfInterest = "Port Interesting";
transaction.IsMlsTransaction = true;
transaction.MlsNumber = "abc123";
transaction.CommissionPercentage = null;
transaction.CommissionFlatFee = 12345;
transaction.TargetPrice = null;
transaction.MinPrice = 292929;
transaction.MaxPrice = 2323223;

var service = new BuyerTransactionService(new MoxiWorksClient());
var result = service.CreateBuyerTransactionAsync(buyerTransaction).Result;

##### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisites

moxi_works_transaction = MoxiworksPlatform::BuyerTransaction.create(
      agent_uuid:"12345678-1234-1234-1234-1234567890ab",
      moxi_works_contact_id:"babebead-feed-face-dead-beefbad4babe",
      transaction_name:"Bob And Linda Tonkanaka",
      notes:"take care to write notes that are descriptive and helpful",
      address:"1234 memory lane",
      city:"hereville",
      state:"provinceland",
      zip_code:"18292",
      min_sqft:1234,
      max_sqft:2345,
      min_beds:3,
      max_beds:12,
      min_baths:1.75,
      max_baths:34.5,
      area_of_interest:"Port Interesting",
      is_mls_transaction:true,
      mls_number:"abc123",
      commission_flat_fee:12345,
      min_price:292929,
      max_price:2323223
      )

<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$moxi_works_transaction = MoxiworksPlatform\BuyerTransaction::create([
      "agent_uuid" => "12345678-1234-1234-1234-1234567890ab",
      "moxi_works_contact_id" => "babebead-feed-face-dead-beefbad4babe",
      "transaction_name" => "Bob And Linda Tonkanaka",
      "notes" => "take care to write notes that are descriptive and helpful",
      "address" => "1234 memory lane",
      "city" => "hereville",
      "state" => "provinceland",
      "zip_code" => "18292",
      "min_sqft" => 1234,
      "max_sqft" => 2345,
      "min_beds" => 3,
      "max_beds" => 12,
      "min_baths" => 1.75,
      "max_baths" => 34.5,
      "area_of_interest":"Port Interesting",
      "is_mls_transaction" => true,
      "mls_number" => "abc123",
      "commission_flat_fee" => 12345,
      "min_price" => 292929,
      "max_price" => 2323223
       ]);
?>

BuyerTransaction Create (using moxi_works_agent_id) Example

{
  "moxi_works_agent_id":"abc123",
  "moxi_works_contact_id":"babebead-feed-face-dead-beefbad4babe",
  "transaction_name":"Bob And Linda Tonkanaka",
  "notes":"take care to write notes that are descriptive and helpful",
  "address":"1234 memory lane",
  "city":"hereville",
  "state":"provinceland",
  "zip_code":"18292",
  "min_sqft":1234,
  "max_sqft":2345,
  "min_beds":3,
  "max_beds":12,
  "min_baths":1.75,
  "max_baths":34.5,
  "area_of_interest":"Port Interesting",
  "is_mls_transaction":true,
  "mls_number":"abc123",
  "commission_percentage":null,
  "commission_flat_fee":12345,
  "sales_volume_percentage":null,
  "sales_volume_flat_fee":null,
  "target_price":null,
  "min_price":292929,
  "max_price":2323223
}


POST /api/buyer_transactions HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded

moxi_works_agent_id=abc123&moxi_works_contact_id=babebead-feed-face-dead-beefbad4babe&min_beds=12&max_beds=34&min_baths=1.75&max_baths=34.5&area_of_interest=Port%20Interesting&notes=take%20care%20to%20write%20notes%20that%20are%20descriptive%20and%20helpful&transaction_name=Bob%20And%20Linda%20Tonkanaka&address=1234%20memory%20lane&city=hereville&state=provinceland&zip_code=18292&sqft=2345&is_mls_transaction=true&commission_flat_fee=12345&target_price=&max_price=2323223&min_price=232323&mls_number=abc123


/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";

var transaction = new BuyerTransaction;
transaction.MoxiWorksAgentId = "abc123";
transaction.MoxiWorksContactId = "babebead-feed-face-dead-beefbad4babe";
transaction.TransactionName = "Bob And Linda Tonkanaka";
transaction.Notes = "take care to write notes that are descriptive and helpful";
transaction.Address = "1234 memory lane";
transaction.City = "hereville";
transaction.State = "provinceland";
transaction.ZipCode = "18292";
transaction.MinSqft = 1234;
transaction.MaxSqft = 2345;
transaction.MinBeds = 3;
transaction.MaxBeds = 12;
transaction.MinBaths = 1.75;
transaction.MaxBaths = 34.5;
transaction.AreaOfInterest = "Port Interesting";
transaction.IsMlsTransaction = true;
transaction.MlsNumber = "abc123";
transaction.CommissionPercentage = null;
transaction.CommissionFlatFee = 12345;
transaction.TargetPrice = null;
transaction.MinPrice = 292929;
transaction.MaxPrice = 2323223;

var service = new BuyerTransactionService(new MoxiWorksClient());
var result = service.CreateBuyerTransactionAsync( buyerTransaction).Result;

##### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisites

moxi_works_transaction = MoxiworksPlatform::BuyerTransaction.create(
      moxi_works_agent_id:"abc123",
      moxi_works_contact_id:"babebead-feed-face-dead-beefbad4babe",
      transaction_name:"Bob And Linda Tonkanaka",
      notes:"take care to write notes that are descriptive and helpful",
      address:"1234 memory lane",
      city:"hereville",
      state:"provinceland",
      zip_code:"18292",
      min_sqft:1234,
      max_sqft:2345,
      min_beds:3,
      max_beds:12,
      min_baths:1.75,
      max_baths:34.5,
      area_of_interest:"Port Interesting",
      is_mls_transaction:true,
      mls_number:"abc123",
      commission_flat_fee:12345,
      min_price:292929,
      max_price:2323223
      )

<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$moxi_works_transaction = MoxiworksPlatform\BuyerTransaction::create([
      "moxi_works_agent_id" => "abc123",
      "moxi_works_contact_id" => "babebead-feed-face-dead-beefbad4babe",
      "transaction_name" => "Bob And Linda Tonkanaka",
      "notes" => "take care to write notes that are descriptive and helpful",
      "address" => "1234 memory lane",
      "city" => "hereville",
      "state" => "provinceland",
      "zip_code" => "18292",
      "min_sqft" => 1234,
      "max_sqft" => 2345,
      "min_beds" => 3,
      "max_beds" => 12,
      "min_baths" => 1.75,
      "max_baths" => 34.5,
      "area_of_interest":"Port Interesting",
      "is_mls_transaction" => true,
      "mls_number" => "abc123",
      "commission_flat_fee" => 12345,
      "min_price" => 292929,
      "max_price" => 2323223
       ]);
?>

Non MLS BuyerTransaction Create (using agent_uuid) Example

{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
  "moxi_works_contact_id":"babebead-feed-face-dead-beefbad4babe",
  "transaction_name":"Bob And Linda Tonkanaka",
  "notes":"take care to write notes that are descriptive and helpful",
  "address":"1234 memory lane",
  "city":"hereville",
  "state":"provinceland",
  "zip_code":"18292",
  "min_sqft":1234,
  "max_sqft":2345,
  "min_beds":3,
  "max_beds":12,
  "min_baths":1.75,
  "max_baths":34.5,
  "area_of_interest":"Port Interesting",
  "is_mls_transaction":false,
  "start_timestamp":1480536319,
  "commission_percentage":null,
  "commission_flat_fee":12345,
  "sales_volume_percentage":null,
  "sales_volume_flat_fee":null,
  "target_price":null,
  "min_price":292929,
  "max_price":2323223,
  "stage": 3
}


POST /api/buyer_transactions HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded

agent_uuid=12345678-1234-1234-1234-1234567890ab&moxi_works_contact_id=babebead-feed-face-dead-beefbad4babe&min_beds=12&max_beds=34&min_baths=1.75&max_baths=34.5&area_of_interest=Port%20Interesting&notes=take%20care%20to%20write%20notes%20that%20are%20descriptive%20and%20helpful&transaction_name=Bob%20And%20Linda%20Tonkanaka&address=1234%20memory%20lane&city=hereville&state=provinceland&zip_code=18292&sqft=2345&is_mls_transaction=false&commission_flat_fee=12345&target_price=&max_price=2323223&min_price=232323


/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";

var transaction = new BuyerTransaction;
transaction.AgentUuid = "12345678-1234-1234-1234-1234567890ab";
transaction.MoxiWorksContactId = "babebead-feed-face-dead-beefbad4babe";
transaction.TransactionName = "Bob And Linda Tonkanaka";
transaction.Notes = "take care to write notes that are descriptive and helpful";
transaction.Address = "1234 memory lane";
transaction.City = "hereville";
transaction.State = "provinceland";
transaction.ZipCode = "18292";
transaction.MinSqft = 1234;
transaction.MaxSqft = 2345;
transaction.MinBeds = 3;
transaction.MaxBeds = 12;
transaction.MinBaths = 1.75;
transaction.MaxBaths = 34.5;
transaction.AreaOfInterest = "Port Interesting";
transaction.IsMlsTransaction = false;
transaction.CommissionPercentage = null;
transaction.CommissionFlatFee = 12345;
transaction.TargetPrice = null;
transaction.MinPrice = 292929;
transaction.MaxPrice = 2323223;

var service = new BuyerTransactionService(new MoxiWorksClient());
var result = service.CreateBuyerTransactionAsync( buyerTransaction).Result;

##### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisites

moxi_works_transaction = MoxiworksPlatform::BuyerTransaction.create(
      agent_uuid:"12345678-1234-1234-1234-1234567890ab",
      moxi_works_contact_id:"babebead-feed-face-dead-beefbad4babe",
      transaction_name:"Bob And Linda Tonkanaka",
      notes:"take care to write notes that are descriptive and helpful",
      address:"1234 memory lane",
      city:"hereville",
      state:"provinceland",
      zip_code:"18292",
      min_sqft:1234,
      max_sqft:2345,
      min_beds:3,
      max_beds:12,
      min_baths:1.75,
      max_baths:34.5,
      is_mls_transaction:false,
      start_timestamp:1480536319,
      commission_flat_fee:12345,
      min_price:292929,
      max_price:2323223
      )

<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$moxi_works_transaction = MoxiworksPlatform\BuyerTransaction::create([
      "agent_uuid" => "12345678-1234-1234-1234-1234567890ab",
      "moxi_works_contact_id" => "babebead-feed-face-dead-beefbad4babe",
      "transaction_name" => "Bob And Linda Tonkanaka",
      "notes" => "take care to write notes that are descriptive and helpful",
      "address" => "1234 memory lane",
      "city" => "hereville",
      "state" => "provinceland",
      "zip_code" => "18292",
      "min_sqft" => 1234,
      "max_sqft" => 2345,
      "min_beds" => 3,
      "max_beds" => 12,
      "min_baths" => 1.75,
      "max_baths" => 34.5,
      "is_mls_transaction" => true,
      "start_timestamp" => 1480536319,
      "commission_flat_fee" => 12345,
      "min_price" => 292929,
      "max_price" => 2323223
       ]);
?>

When creating an transaction using the MoxiWorks platform API, format your data using the following parameters.

BuyerTransaction Create Request Attributes
Attribute Type Length Limit
agent_uuid* String 255
moxi_works_agent_id* String 255
source_agent_id* String 255
moxi_works_contact_id † String 255
partner_contact_id † String 255
transaction_name String 255
moxi_works_company_id String
parent_company_id String 255
notes String
address String 255
city String 255
state String 255
zip_code String 255
min_sqft Integer 255
max_sqft Integer 255
min_beds Integer 255
max_beds Integer 255
min_baths Float 255
max_baths Float 255
area_of_interest Integer 255
is_mls_transaction Boolean 255
mls_number String 255
start_timestamp Integer 255
commission_percentage Float 255
commission_flat_fee Integer 255
sales_volume_percentage Float 255
sales_volume_flat_fee Integer 255
target_price Integer 255
min_price Integer 255
max_price Integer 255
stage Integer or String 255

Required Parameters Are In Red

† Either moxi_works_contact_id or partner_contact_id must be supplied.

moxi_works_agent_id or agent_uuid or source_agent_id One of these parameters must be supplied Please reference Agent Identifiers for information about how to construct your agent identifier request params.

moxi_works_company_id A valid MoxiWorks Company ID. Use Company Endpoint to determine what moxi_works_company_id you can use.

parent_company_id This is the numeric_id or moxi_works_company_id of a company that is considered to be a parent company in the MoxiWorks Platform. This request attribute has two functions:

1. It provides for a broad scope by which partners may be afforded permissions to perform MoxiWorks Platform actions, in scenarios where a partner does business with a parent company in the MoxiWorks System.
2. It provides broad scope under which agents may be looked up using the source_agent_id request attribute in many scenarios across different MoxiWorks Platform endpoints and actions.

Please note that this attribute cannot be used as a replacement for the moxi_works_company_id request attribute in scenarios where the moxi_works_company_id request attribute is required by the action.

Please note that this attribute cannot be used to broaden scope of any request where the scope of the request is defined by the moxi_works_company_id request attribute.

Please note that when passed in conjunction with the moxi_works_company_id request attribute, the value of moxi_works_company_id request attribute must be the numeric id form.

Any use of this request attribute must be coordinated with MoxiWorks Platform Partner services. Please reach out to partner services for more information.

moxi_works_contact_id This is the MoxiWorks Platform ID of the Contact which this BuyerTransaction object is to be associated with. This will be an RFC 4122 compliant UUID. This data is required and must reference a valid MoxiWorks Contact ID for your BuyerTransaction Create request to be accepted. This is the same as the moxi_works_contact_id attribute of the Contact response.

partner_contact_id This is the unique identifer you use in your system that has been associated with the Contact that this BuyerTransaction regards. If the referenced contact was not created by you, then this should not be used, instead use moxi_works_contact_id.

transaction_name A brief, human readable title that will be shown to the agent as the subject of the BuyerTransaction that you are creating.

notes Brief, human readable content that will be shown to the agent as notes about the BuyerTransaction that you are creating.

address The street address of the property being purchased. This should be populated if this BuyerTransaction is_mls_transaction is false.

city The city or township of the property being purchased. This should be populated if this BuyerTransaction is_mls_transaction is false.

state The state or province of the property being purchased. This should be populated if this BuyerTransaction is_mls_transaction is false.

zip_code The postal code of the property being purchased. This should be populated if this BuyerTransaction is_mls_transaction is false.

min_sqft The minimum desired living area for prospective properties.

max_sqft The maximum desired living area for prospective properties.

min_beds The minimum number of bedrooms for prospective properties.

max_beds The maximum number of bedrooms for prospective properties.

min_baths The minimum number of bathrooms for prospective properties.

max_baths The maximum number of bathrooms for prospective properties.

area_of_interest The name of a locality representing an area of interest for prospective properties.

is_mls_transaction Whether the property being purchased is being listed on an MLS. This should be false for paperwork-only, for sale by owner, off-market, or pocket listing type transactions or any transactions that will not be tracked through an MLS.

mls_number The MLS number of the the property being purchased.

start_timestamp This is the Unix timestamp representing the date that the agent initiated transaction discussions with the client.

commission_percentage Commission for the transaction. If the commission for the transaction is based on a percentage of the purchase amount, use this attribute. If no commission (either commission_percentage or commission_flat_fee) is supplied during creation, commission_percentage is set to the default commission_percentage for the associated Agent.

commission_flat_fee Commission for the transaction. If the commission for the transaction is based on a flat dollar amount, use this attribute.

sales_volume_percentage If the payment for the transaction is based on percentage of sales volume, use this attribute.

sales_volume_flat_fee If payment for the transaction is based on a flat fee derived from sales volume, use this attribute.

target_price The desired purchase price for a property if using target rather than range.

min_price The minimum price range for a property if using a price range rather than target price.

max_price The maximum price range for a property if using a price range rather than target price.

stage The stage that the BuyerTransaction should be placed into (see section header).

BuyerTransaction Create Response Payload Example (using agent_uuid)
{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
  "moxi_works_transaction_id": "facefeed-beef-daff-dead-cad4edd1e4d",
  "moxi_works_contact_id":"babebead-feed-face-dead-beefbad4babe",
  "partner_contact_id":"MySystemsContactIDForTheContactAssociatedWithThisBuyerTransaction",
  "transaction_name":"Bob And Linda Tonkanaka",
  "notes":"take care to write notes that are descriptive and helpful",
  "stage": 2,
  "stage_name":"initialized",
  "address":"1234 memory lane",
  "city":"hereville",
  "state":"provinceland",
  "zip_code":"18292",
  "min_sqft":1234,
  "max_sqft":2345,
  "min_beds":3,
  "max_beds":12,
  "min_baths":1.75,
  "max_baths":34.5,
  "area_of_interest":"Port Interesting",
  "is_mls_transaction":true,
  "mls_number":"abc123",
  "commission_percentage":null,
  "commission_flat_fee":12345,
  "sales_volume_percentage":null,
  "sales_volume_flat_fee":null,
  "target_price":null,
  "min_price":292929,
  "max_price":2323223,
  "closing_price":null,
  "closing_timestamp":null,
  "start_timestamp":null
}
BuyerTransaction Create Response Payload Example (using moxi_works_agent_id)
{
  "moxi_works_agent_id":"abc123",
  "moxi_works_transaction_id": "facefeed-beef-daff-dead-cad4edd1e4d",
  "moxi_works_contact_id":"babebead-feed-face-dead-beefbad4babe",
  "partner_contact_id":"MySystemsContactIDForTheContactAssociatedWithThisBuyerTransaction",
  "transaction_name":"Bob And Linda Tonkanaka",
  "notes":"take care to write notes that are descriptive and helpful",
  "stage": 2,
  "stage_name":"initialized",
  "address":"1234 memory lane",
  "city":"hereville",
  "state":"provinceland",
  "zip_code":"18292",
  "min_sqft":1234,
  "max_sqft":2345,
  "min_beds":3,
  "max_beds":12,
  "min_baths":1.75,
  "max_baths":34.5,
  "area_of_interest":"Port Interesting",
  "is_mls_transaction":true,
  "mls_number":"abc123",
  "commission_percentage":null,
  "commission_flat_fee":12345,
  "sales_volume_percentage":null,
  "sales_volume_flat_fee":null,
  "target_price":null,
  "min_price":292929,
  "max_price":2323223,
  "closing_price":null,
  "closing_timestamp":null,
  "start_timestamp":null
}
BuyerTransaction Create Failure Response Example
See Error Handling for details about individual error codes.
{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

BuyerTransaction Create Response Payload

The following attributes make up the payload of the BuyerTransaction response for a Create request.

Attribute Type
agent_uuid* String
moxi_works_agent_id* String
moxi_works_transaction_id String
moxi_works_contact_id String
partner_contact_id String
transaction_name String or null
notes String or null
stage Integer
stage_name String
address String or null
city String or null
state String or null
zip_code String or null
min_sqft Integer or null
max_sqft Integer or null
min_beds Integer or null
max_beds Integer or null
min_baths Float or null
max_baths Float or null
area_of_interest String or null
is_mls_transaction Boolean
mls_number String or null
start_timestamp Integer or null
commission_percentage Float or null
commission_flat_fee Integer or null
sales_volume_percentage Float or null
sales_volume_flat_fee Integer or null
target_price Integer or null
min_price String or null
max_price Integer or null
closing_price Integer or null
closing_timestamp Integer or null
state_changed_at Integer or null

* Either agent_uuid or moxi_works_agent_id will be returned depending on whether it is used in the request. The response payload object’s agent identifier key will match the passed parameter.

agent_uuid This is the MoxiWorks Platform ID of the agent which an BuyerTransaction entry is associated with. This will be an RFC 4122 compliant UUID.

moxi_works_agent_id This is the MoxiWorks Platform ID of the Agent which this BuyerTransaction is associated with. This will be a string that may take the form of an email address, or a unique alphanumeric identification string.

moxi_works_transaction_id This is the MoxiWorks Platform ID of the BuyerTransaction which you have created. This will be an RFC 4122 compliant UUID. This ID should be recorded on response as it is the key ID for updating the BuyerTransaction.

moxi_works_contact_id This is the MoxiWorks Platform ID of the Contact which this BuyerTransaction has been associated with. This will be an RFC 4122 compliant UUID.

partner_contact_id If this Contact was created by your sytem in the MoxiWorks Platform, then this is the unique identifer you use in your system that has been associated with the Contact that you are creating this BuyerTransaction for. If the Contact was not created by you, then partner_contact_id will be empty.

transaction_name A brief, human readable title that is shown to the agent as the subject of the BuyerTransaction.

notes Brief, human readable content that is shown to the agent as notes about the BuyerTransaction. Use this attribute to store and display data to the agent that is not otherwise explicitly available via attributes for the entity.

stage Each BuyerTransaction has five stages (1-5). stage displays the stage number that the BuyerTransaction is currently in. For more information about BuyerTransaction stages, see BuyerTransaction Stages.

stage_name This attribute displays a human readable stage name that is associated with the current stage attribute. When created through the MoxiWorks Platform BuyerTransaction objects will automatically be configured as active transactions. For more information about BuyerTransaction stages, see BuyerTransaction Stages.

address The street address for the property being purchased.

city The city or township of the property being purchased.

state The state or province of the property being purchased.

zip_code The postal code of the property being purchased.

min_sqft The minimum desired living area for prospective properties.

max_sqft The maximum desired living area for prospective properties.

min_beds The minimum number of bedrooms for prospective properties.

max_beds The maximum number of bedrooms for prospective properties.

min_baths The minimum number of bathrooms for prospective properties.

max_baths The maximum number of bathrooms for prospective properties.

area_of_interest A the name of a locality representing an area of interest for prospective properties.

is_mls_transaction Whether the property being purchased is being listed on an MLS.

mls_number If this is an MLS transaction, then this is the MLS number for the BuyerTransaction.

start_timestamp For non-MLS transactions, this is the Unix timestamp representing the date that the property search began. This should be null if the BuyerTransaction is an MLS sale.

commission_percentage If the agent is to receive commission based on percentage of purchase price for the transaction associated with this BuyerTransaction, then this will represent the commission that the agent is to receive.This should be null if the BuyerTransaction uses commission_flat_fee or sales_volume_flat_fee or sales_volume_commission.

commission_flat_fee If the agent is to receive a flat-rate commission for the transaction associated with this BuyerTransaction, then this will represent the commission that the agent is to receive. This should be null if the BuyerTransaction uses commission_percentage or sales_volume_flat_fee or sales_volume_percentage.

sales_volume_percentage If the agent is to receive compensation based on percentage of sales volume, then this will represent the percentage that the agent is to receive.This should be null if the BuyerTransaction uses commission_flat_fee or sales_volume_flat_fee or commission_percentage.

sales_volume_flat_fee If the agent is to receive a flat-rate compensation based on sales volume, then this will represent the compensation that the agent is to receive. This should be null if the BuyerTransaction uses commission_percentage or commission_flat_fee or sales_volume_commission.

target_price The desired purchase price for a property if using target rather than range.

min_price The minimum price range for a property if using a price range rather than target price.

max_price The maximum price range for a property if using a price range rather than target price.

closing_price This is the closing price for the transaction . This should be null if the BuyerTransaction is not yet in complete state.

closing_timestamp A Unix timestamp representing the point in time when the transaction for this BuyerTransaction object was completed. This should be null if the BuyerTransaction is not yet in complete state.

state_changed_at A Unix timestamp representing the point in time when the transaction for this BuyerTransaction object entered into its current state.

BuyerTransaction Update

BuyerTransaction Update (using agent_uuid) Example

{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
  "moxi_works_transaction_id":"babebead-feed-face-dead-beefbad4babe",
  "transaction_name":"Bob And Linda Tonkanaka",
  "notes":"take care to write notes that are descriptive and helpful",
  "address":"1234 memory lane",
  "city":"hereville",
  "state":"provinceland",
  "zip_code":"18292",
  "min_sqft":1234,
  "max_sqft":2345,
  "min_beds":3,
  "max_beds":12,
  "min_baths":1.75,
  "max_baths":34.5,
  "area_of_interest":"Port Interesting",
  "is_mls_transaction":true,
  "mls_number":"abc123",
  "commission_percentage":null,
  "commission_flat_fee":12345,
  "sales_volume_percentage":null,
  "sales_volume_flat_fee":null,
  "target_price":null,
  "min_price":292929,
  "max_price":2323223,
  "promote_transaction":true
}


PUT /api/buyer_transactions/[moxi_works_transaction_id] HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded

agent_uuid=12345678-1234-1234-1234-1234567890ab&min_beds=12&max_beds=34&min_baths=1.75&max_baths=34.5&area_of_interest=Port%20Interesting&notes=take%20care%20to%20write%20notes%20that%20are%20descriptive%20and%20helpful&transaction_name=Bob%20And%20Linda%20Tonkanaka&address=1234%20memory%20lane&city=hereville&state=provinceland&zip_code=18292&sqft=2345&is_mls_transaction=true&commission_flat_fee=12345&target_price=&max_price=2323223&min_price=232323&mls_number=abc123


/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";

var agentUuid = "12345678-1234-1234-1234-1234567890ab";
var moxiWorksTransactionId = "babebead-feed-face-dead-beefbad4babe";

var service = new BuyerTransactionService(new MoxiWorksClient());
var transaction = service.GetBuyerTransactionAsync( agentUuid, AgentIdType.AgentUuid,moxiWorksTransactionId).Result;

transaction.TransactionName = "Bob And Linda Tonkanaka";
transaction.Notes = "take care to write notes that are descriptive and helpful";
transaction.Address = "1234 memory lane";
transaction.City = "hereville";
transaction.State = "provinceland";
transaction.ZipCode = "18292";
transaction.MinSqft = 1234;
transaction.MaxSqft = 2345;
transaction.MinBeds = 3;
transaction.MaxBeds = 12;
transaction.MinBaths = 1.75;
transaction.MaxBaths = 34.5;
transaction.AreaOfInterest = "Port Interesting";
transaction.IsMlsTransaction = true;
transaction.MlsNumber = "abc123";
transaction.CommissionPercentage = null;
transaction.CommissionFlatFee = 12345;
transaction.TargetPrice = null;
transaction.MinPrice = 292929;
transaction.MaxPrice = 2323223;

var result = service.UpdateBuyerTransactionAsync(buyerTransaction).Result;

##### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisites

moxi_works_transaction = MoxiworksPlatform::BuyerTransaction.update(
      agent_uuid:"12345678-1234-1234-1234-1234567890ab",
      moxi_works_transaction_id:"babebead-feed-face-dead-beefbad4babe",
      transaction_name:"Bob And Linda Tonkanaka",
      notes:"take care to write notes that are descriptive and helpful",
      address:"1234 memory lane",
      city:"hereville",
      state:"provinceland",
      zip_code:"18292",
      min_sqft:1234,
      max_sqft:2345,
      min_beds:3,
      max_beds:12,
      min_baths:1.75,
      max_baths:34.5,
      area_of_interest:"Port Interesting",
      is_mls_transaction:true,
      mls_number:"abc123",
      commission_flat_fee:12345,
      min_price:292929,
      max_price:2323223,
      promote_transaction:true
      )

<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$moxi_works_transaction = MoxiworksPlatform\BuyerTransaction::update([
      "agent_uuid" => "12345678-1234-1234-1234-1234567890ab",
      "moxi_works_transaction_id" => "babebead-feed-face-dead-beefbad4babe",
      "transaction_name" => "Bob And Linda Tonkanaka",
      "notes" => "take care to write notes that are descriptive and helpful",
      "address" => "1234 memory lane",
      "city" => "hereville",
      "state" => "provinceland",
      "zip_code" => "18292",
      "min_sqft" => 1234,
      "max_sqft" => 2345,
      "min_beds" => 3,
      "max_beds" => 12,
      "min_baths" => 1.75,
      "max_baths" => 34.5,
      "area_of_interest":"Port Interesting",
      "is_mls_transaction" => true,
      "mls_number" => "abc123",
      "commission_flat_fee" => 12345,
      "min_price" => 292929,
      "max_price" => 2323223,
      "promote_transaction" => true
       ]);
?>

BuyerTransaction Update (using moxi_works_agent_id) Example

{
  "moxi_works_agent_id":"abc123",
  "moxi_works_transaction_id":"babebead-feed-face-dead-beefbad4babe",
  "transaction_name":"Bob And Linda Tonkanaka",
  "notes":"take care to write notes that are descriptive and helpful",
  "address":"1234 memory lane",
  "city":"hereville",
  "state":"provinceland",
  "zip_code":"18292",
  "min_sqft":1234,
  "max_sqft":2345,
  "min_beds":3,
  "max_beds":12,
  "min_baths":1.75,
  "max_baths":34.5,
  "area_of_interest":"Port Interesting",
  "is_mls_transaction":true,
  "mls_number":"abc123",
  "commission_percentage":null,
  "commission_flat_fee":12345,
  "sales_volume_percentage":null,
  "sales_volume_flat_fee":null,
  "target_price":null,
  "min_price":292929,
  "max_price":2323223,
  "promote_transaction":true
}


PUT /api/buyer_transactions/[moxi_works_transaction_id] HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded

moxi_works_agent_id=abc123&min_beds=12&max_beds=34&min_baths=1.75&max_baths=34.5&area_of_interest=Port%20Interesting&notes=take%20care%20to%20write%20notes%20that%20are%20descriptive%20and%20helpful&transaction_name=Bob%20And%20Linda%20Tonkanaka&address=1234%20memory%20lane&city=hereville&state=provinceland&zip_code=18292&sqft=2345&is_mls_transaction=true&commission_flat_fee=12345&target_price=&max_price=2323223&min_price=232323&mls_number=abc123


/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";

var moxiWorksAgentId = "abc123";
var moxiWorksTransactionId = "babebead-feed-face-dead-beefbad4babe";

var transaction = service.GetBuyerTransactionAsync( moxiWorksAgentId,  AgentIdType.MoxiWorksAgentId,  moxiWorksTransactionId).Result;

transaction.TransactionName = "Bob And Linda Tonkanaka";
transaction.Notes = "take care to write notes that are descriptive and helpful";
transaction.Address = "1234 memory lane";
transaction.City = "hereville";
transaction.State = "provinceland";
transaction.ZipCode = "18292";
transaction.MinSqft = 1234;
transaction.MaxSqft = 2345;
transaction.MinBeds = 3;
transaction.MaxBeds = 12;
transaction.MinBaths = 1.75;
transaction.MaxBaths = 34.5;
transaction.AreaOfInterest = "Port Interesting";
transaction.IsMlsTransaction = true;
transaction.MlsNumber = "abc123";
transaction.CommissionPercentage = null;
transaction.CommissionFlatFee = 12345;
transaction.TargetPrice = null;
transaction.MinPrice = 292929;
transaction.MaxPrice = 2323223;

var service = new BuyerTransactionService(new MoxiWorksClient());
var result = service.UpdateBuyerTransactionAsync( buyerTransaction).Result;

##### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisites

moxi_works_transaction = MoxiworksPlatform::BuyerTransaction.update(
      moxi_works_agent_id:"abc123",
      moxi_works_transaction_id:"babebead-feed-face-dead-beefbad4babe",
      transaction_name:"Bob And Linda Tonkanaka",
      notes:"take care to write notes that are descriptive and helpful",
      address:"1234 memory lane",
      city:"hereville",
      state:"provinceland",
      zip_code:"18292",
      min_sqft:1234,
      max_sqft:2345,
      min_beds:3,
      max_beds:12,
      min_baths:1.75,
      max_baths:34.5,
      area_of_interest:"Port Interesting",
      is_mls_transaction:true,
      mls_number:"abc123",
      commission_flat_fee:12345,
      min_price:292929,
      max_price:2323223,
      promote_transaction:true
      )

<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$moxi_works_transaction = MoxiworksPlatform\BuyerTransaction::update([
      "moxi_works_agent_id" => "abc123",
      "moxi_works_transaction_id" => "babebead-feed-face-dead-beefbad4babe",
      "transaction_name" => "Bob And Linda Tonkanaka",
      "notes" => "take care to write notes that are descriptive and helpful",
      "address" => "1234 memory lane",
      "city" => "hereville",
      "state" => "provinceland",
      "zip_code" => "18292",
      "min_sqft" => 1234,
      "max_sqft" => 2345,
      "min_beds" => 3,
      "max_beds" => 12,
      "min_baths" => 1.75,
      "max_baths" => 34.5,
      "area_of_interest":"Port Interesting",
      "is_mls_transaction" => true,
      "mls_number" => "abc123",
      "commission_flat_fee" => 12345,
      "min_price" => 292929,
      "max_price" => 2323223,
      "promote_transaction" => true
       ]);
?>

Non MLS BuyerTransaction Update (using agent_uuid) Example

{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
  "moxi_works_transaction_id":"babebead-feed-face-dead-beefbad4babe",
  "transaction_name":"Bob And Linda Tonkanaka",
  "notes":"take care to write notes that are descriptive and helpful",
  "address":"1234 memory lane",
  "city":"hereville",
  "state":"provinceland",
  "zip_code":"18292",
  "min_sqft":1234,
  "max_sqft":2345,
  "min_beds":3,
  "max_beds":12,
  "min_baths":1.75,
  "max_baths":34.5,
  "area_of_interest":"Port Interesting",
  "is_mls_transaction":false,
  "start_timestamp":1480536319,
  "commission_percentage":null,
  "commission_flat_fee":12345,
  "sales_volume_percentage":null,
  "sales_volume_flat_fee":null,
  "target_price":null,
  "min_price":292929,
  "max_price":2323223
}


PUT /api/buyer_transactions/[moxi_works_transaction_id] HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded

agent_uuid=12345678-1234-1234-1234-1234567890ab&min_beds=12&max_beds=34&min_baths=1.75&max_baths=34.5&area_of_interest=Port%20Interesting&notes=take%20care%20to%20write%20notes%20that%20are%20descriptive%20and%20helpful&transaction_name=Bob%20And%20Linda%20Tonkanaka&address=1234%20memory%20lane&city=hereville&state=provinceland&zip_code=18292&sqft=2345&is_mls_transaction=true&commission_flat_fee=12345&target_price=&max_price=2323223&min_price=232323&mls_number=abc123



/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";

var agentUuid = "12345678-1234-1234-1234-1234567890ab";
var moxiWorksTransactionId = "babebead-feed-face-dead-beefbad4babe";

var transaction = service.GetBuyerTransactionAsync( agentUuid,  AgentIdType.AgentUuid,  moxiWorksTransactionId).Result;

transaction.TransactionName = "Bob And Linda Tonkanaka";
transaction.Notes = "take care to write notes that are descriptive and helpful";
transaction.Address = "1234 memory lane";
transaction.City = "hereville";
transaction.State = "provinceland";
transaction.ZipCode = "18292";
transaction.MinSqft = 1234;
transaction.MaxSqft = 2345;
transaction.MinBeds = 3;
transaction.MaxBeds = 12;
transaction.MinBaths = 1.75;
transaction.MaxBaths = 34.5;
transaction.AreaOfInterest = "Port Interesting";
transaction.IsMlsTransaction = false;
transaction.CommissionPercentage = null;
transaction.CommissionFlatFee = 12345;
transaction.TargetPrice = null;
transaction.MinPrice = 292929;
transaction.MaxPrice = 2323223;

var service = new BuyerTransactionService(new MoxiWorksClient());
var result = service.UpdateBuyerTransactionAsync( buyerTransaction).Result;

##### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisites

moxi_works_transaction = MoxiworksPlatform::BuyerTransaction.update(
      agent_uuid:"12345678-1234-1234-1234-1234567890ab",
      moxi_works_transaction_id:"babebead-feed-face-dead-beefbad4babe",
      transaction_name:"Bob And Linda Tonkanaka",
      notes:"take care to write notes that are descriptive and helpful",
      address:"1234 memory lane",
      city:"hereville",
      state:"provinceland",
      zip_code:"18292",
      min_sqft:1234,
      max_sqft:2345,
      min_beds:3,
      max_beds:12,
      min_baths:1.75,
      max_baths:34.5,
      area_of_interest:"Port Interesting",
      is_mls_transaction:false,
      start_timestamp:1480536319,
      commission_flat_fee:12345,
      min_price:292929,
      max_price:2323223
      )

<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$moxi_works_transaction = MoxiworksPlatform\BuyerTransaction::update([
      "agent_uuid" => "12345678-1234-1234-1234-1234567890ab",
      "moxi_works_transaction_id" => "babebead-feed-face-dead-beefbad4babe",
      "transaction_name" => "Bob And Linda Tonkanaka",
      "notes" => "take care to write notes that are descriptive and helpful",
      "address" => "1234 memory lane",
      "city" => "hereville",
      "state" => "provinceland",
      "zip_code" => "18292",
      "min_sqft" => 1234,
      "max_sqft" => 2345,
      "min_beds" => 3,
      "max_beds" => 12,
      "min_baths" => 1.75,
      "max_baths" => 34.5,
      "area_of_interest":"Port Interesting",
      "is_mls_transaction" => true,
      "start_timestamp" => 1480536319,
      "commission_flat_fee" => 12345,
      "min_price" => 292929,
      "max_price" => 2323223
       ]);
?>

When updating a BuyerTransaction using the MoxiWorks platform API, format your data using the following parameters.

BuyerTransaction Update Request Attributes
Attribute Type Length Limit
agent_uuid* String 255
moxi_works_agent_id* String 255
source_agent_id* String 255
moxi_works_transaction_id String 255
transaction_name String 255
moxi_works_company_id String
parent_company_id String 255
notes String
address String 255
city String 255
state String 255
zip_code String 255
min_sqft Integer 255
max_sqft Integer 255
min_beds Integer 255
max_beds Integer 255
min_baths Float 255
max_baths Float 255
area_of_interest Integer 255
is_mls_transaction Boolean 255
mls_number String 255
start_timestamp Integer 255
commission_percentage Float 255
commission_flat_fee Integer 255
sales_volume_percentage Float 255
sales_volume_flat_fee Integer 255
target_price Integer 255
min_price Integer 255
max_price Integer 255
closing_price Integer 255
closing_timestamp Integer 255
promote_transaction Boolean 255

Required Parameters Are In Red

moxi_works_agent_id or agent_uuid or source_agent_id One of these parameters must be supplied Please reference Agent Identifiers for information about how to construct your agent identifier request params.

moxi_works_company_id A valid MoxiWorks Company ID. Use Company Endpoint to determine what moxi_works_company_id you can use.

parent_company_id This is the numeric_id or moxi_works_company_id of a company that is considered to be a parent company in the MoxiWorks Platform. This request attribute has two functions:

1. It provides for a broad scope by which partners may be afforded permissions to perform MoxiWorks Platform actions, in scenarios where a partner does business with a parent company in the MoxiWorks System.
2. It provides broad scope under which agents may be looked up using the source_agent_id request attribute in many scenarios across different MoxiWorks Platform endpoints and actions.

Please note that this attribute cannot be used as a replacement for the moxi_works_company_id request attribute in scenarios where the moxi_works_company_id request attribute is required by the action.

Please note that this attribute cannot be used to broaden scope of any request where the scope of the request is defined by the moxi_works_company_id request attribute.

Please note that when passed in conjunction with the moxi_works_company_id request attribute, the value of moxi_works_company_id request attribute must be the numeric id form.

Any use of this request attribute must be coordinated with MoxiWorks Platform Partner services. Please reach out to partner services for more information.

moxi_works_transaction_id This is the MoxiWorks Platform ID of the BuyerTransaction object that you are updating. This will be an RFC 4122 compliant UUID. This data is required and must reference a valid MoxiWorks BuyerTransaction ID for your BuyerTransaction Update request to be accepted. You can determine UUIDs of existing BuyerTransaction objects by using the BuyerTransactionIndex request.

transaction_name A brief, human readable title that will be shown to the agent as the subject of the BuyerTransaction that you are updating.

notes Brief, human readable content that will be shown to the agent as notes about the BuyerTransaction that you are updating.

address The street address of the property being purchased. This should be populated if this BuyerTransaction is_mls_transaction is false.

city The city or township of the property being purchased. This should be populated if this BuyerTransaction is_mls_transaction is false.

state The state or province of the property being purchased. This should be populated if this BuyerTransaction is_mls_transaction is false.

zip_code The postal code of the property being purchased. This should be populated if this BuyerTransaction is_mls_transaction is false.

min_sqft The minimum desired living area for prospective properties.

max_sqft The maximum desired living area for prospective properties.

min_beds The minimum number of bedrooms for prospective properties.

max_beds The maximum number of bedrooms for prospective properties.

min_baths The minimum number of bathrooms for prospective properties.

max_baths The maximum number of bathrooms for prospective properties.

area_of_interest The name of a locality representing an area of interest for prospective properties.

is_mls_transaction Whether the property being purchased is being listed on an MLS. This should be false for paperwork-only, for sale by owner, off-market, or pocket listing type transactions or any transactions that will not be tracked through an MLS.

mls_number The MLS number of the the property being purchased.

start_timestamp For non-MLS transactions, this is the Unix timestamp representing the date that the agent initiated transaction discussions with the client.

commission_percentage Commission for the transaction. If the commission for the transaction is based on a percentage of the purchase amount, use this attribute.

commission_flat_fee Commission for the transaction. If the commission for the transaction is based on a flat dollar amount, use this attribute.

sales_volume_percentage If the payment for the transaction is based on percentage of sales volume, use this attribute.

sales_volume_flat_fee If payment for the transaction is based on a flat fee derived from sales volume, use this attribute.

target_price The desired purchase price for a property if using target rather than range.

min_price The minimum price range for a property if using a price range rather than target price.

max_price The maximum price range for a property if using a price range rather than target price.

closing_price This is the Unix timestamp representing the date the sale of the property associated with the BuyerTransaction was closed.

closing_timestamp A Unix timestamp representing the point in time when the transaction for this BuyerTransaction object was completed. This should be null if the BuyerTransaction is not yet in complete state or you are not promoting the BuyerTransaction to complete.

promote_transaction If this is set to true then The MoxiWorks Platform will promote this transaction to the next stage.

stage The stage that the BuyerTransaction should be placed into (see section header). This should not be used in conjunction with the promote_transaction attribute.

Promoting BuyerTransaction Stage

In order to promote a BuyerTransaction to the next stage, include the promote_transaction parameter in your Update request and set it to true. For more information about BuyerTransaction stages, see BuyerTransaction Stages.

BuyerTransaction Update (using agent_uuid) Response Payload Example
{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
  "moxi_works_transaction_id": "facefeed-beef-daff-dead-cad4edd1e4d",
  "moxi_works_contact_id":"babebead-feed-face-dead-beefbad4babe",
  "partner_contact_id":"MySystemsContactIDForTheContactAssociatedWithThisBuyerTransaction",
  "transaction_name":"Bob And Linda Tonkanaka",
  "notes":"take care to write notes that are descriptive and helpful",
  "stage": 2,
  "stage_name":"initialized",
  "address":"1234 memory lane",
  "city":"hereville",
  "state":"provinceland",
  "zip_code":"18292",
  "min_sqft":1234,
  "max_sqft":2345,
  "min_beds":3,
  "max_beds":12,
  "min_baths":1.75,
  "max_baths":34.5,
  "area_of_interest":"Port Interesting",
  "is_mls_transaction":true,
  "mls_number":"abc123",
  "commission_percentage":null,
  "commission_flat_fee":12345,
  "target_price":null,
  "min_price":292929,
  "max_price":2323223,
  "closing_price":null,
  "closing_timestamp":null,
  "start_timestamp":null
}
BuyerTransaction Update (using moxi_works_agent_id) Response Payload Example
{
  "moxi_works_agent_id":"abc123",
  "moxi_works_transaction_id": "facefeed-beef-daff-dead-cad4edd1e4d",
  "moxi_works_contact_id":"babebead-feed-face-dead-beefbad4babe",
  "partner_contact_id":"MySystemsContactIDForTheContactAssociatedWithThisBuyerTransaction",
  "transaction_name":"Bob And Linda Tonkanaka",
  "notes":"take care to write notes that are descriptive and helpful",
  "stage": 2,
  "stage_name":"initialized",
  "address":"1234 memory lane",
  "city":"hereville",
  "state":"provinceland",
  "zip_code":"18292",
  "min_sqft":1234,
  "max_sqft":2345,
  "min_beds":3,
  "max_beds":12,
  "min_baths":1.75,
  "max_baths":34.5,
  "area_of_interest":"Port Interesting",
  "is_mls_transaction":true,
  "mls_number":"abc123",
  "commission_percentage":null,
  "commission_flat_fee":12345,
  "target_price":null,
  "min_price":292929,
  "max_price":2323223,
  "closing_price":null,
  "closing_timestamp":null,
  "start_timestamp":null
}
BuyerTransaction Update Failure Response Example
See Error Handling for details about individual error codes.
{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

BuyerTransaction Update Response Payload

The following attributes make up the payload of the BuyerTransaction response for a Update request.

Attribute Type
agent_uuid* String
moxi_works_agent_id* String
moxi_works_transaction_id String
moxi_works_contact_id String
partner_contact_id String
transaction_name String or null
notes String or null
stage Integer
stage_name String
address String or null
city String or null
state String or null
zip_code String or null
min_sqft Integer or null
max_sqft Integer or null
min_beds Integer or null
max_beds Integer or null
min_baths Float or null
max_baths Float or null
area_of_interest String or null
is_mls_transaction Boolean
mls_number String or null
start_timestamp Integer or null
commission_percentage Float or null
commission_flat_fee Integer or null
target_price Integer or null
min_price String or null
max_price Integer or null
closing_price Integer or null
closing_timestamp Integer or null
state_changed_at Integer or null

* Either agent_uuid or moxi_works_agent_id will be returned depending on whether it is used in the request. The response payload object’s agent identifier key will match the passed parameter.

agent_uuid This is the MoxiWorks Platform ID of the Agent which this BuyerTransaction is associated with. This will be an RFC 4122 compliant UUID.

moxi_works_agent_id This is the MoxiWorks Platform ID of the Agent which this BuyerTransaction is associated with. This will be a string that may take the form of an email address, or a unique alphanumeric identification string.

moxi_works_transaction_id This is the MoxiWorks Platform ID of the BuyerTransaction. This will be an RFC 4122 compliant UUID.

moxi_works_contact_id This is the MoxiWorks Platform ID of the Contact which this BuyerTransaction has been associated with. This will be an RFC 4122 compliant UUID.

partner_contact_id If the Contact was created by your sytem in the MoxiWorks Platform, then this is the unique identifer you use in your system that has been associated with the Contact that you are updating this BuyerTransaction for. If the Contact was not created by you, then partner_contact_id will be empty.

transaction_name A brief, human readable title that is shown to the agent as the subject of the BuyerTransaction.

notes Brief, human readable content that is shown to the agent as notes about the BuyerTransaction. Use this attribute to store and display data to the agent that is not otherwise explicitly available via attributes for the entity.

stage Each BuyerTransaction has five stages (1-5). stage displays the stage number that the BuyerTransaction is currently in. For more information about BuyerTransaction stages, see BuyerTransaction Stages.

stage_name This attribute displays a human readable stage name that is associated with the current stage attribute. For more information about BuyerTransaction stages, see BuyerTransaction Stages.

address The street address for the property being purchased.

city The city or township of the property being purchased.

state The state or province of the property being purchased.

zip_code The postal code of the property being purchased.

min_sqft The minimum desired living area for prospective properties.

max_sqft The maximum desired living area for prospective properties.

min_beds The minimum number of bedrooms for prospective properties.

max_beds The maximum number of bedrooms for prospective properties.

min_baths The minimum number of bathrooms for prospective properties.

max_baths The maximum number of bathrooms for prospective properties.

area_of_interest A the name of a locality representing an area of interest for prospective properties.

is_mls_transaction Whether the property being purchased is being listed on an MLS.

mls_number If this is an MLS transaction, then this is the MLS number for the BuyerTransaction.

start_timestamp For non-MLS transactions, this is the Unix timestamp representing the date that the agent initiated transaction discussions with the client. This should be null if the BuyerTransaction is an MLS sale.

commission_percentage If the agent is to receive commission based on percentage of purchase price for the transaction associated with this BuyerTransaction, then this will represent the commission that the agent is to receive.This should be null if the BuyerTransaction uses commission_flat_fee or sales_volume_flat_fee or sales_volume_commission.

commission_flat_fee If the agent is to receive a flat-rate commission for the transaction associated with this BuyerTransaction, then this will represent the commission that the agent is to receive. This should be null if the BuyerTransaction uses commission_percentage or sales_volume_flat_fee or sales_volume_percentage.

sales_volume_percentage If the agent is to receive compensation based on percentage of sales volume, then this will represent the percentage that the agent is to receive.This should be null if the BuyerTransaction uses commission_flat_fee or sales_volume_flat_fee or commission_percentage.

sales_volume_flat_fee If the agent is to receive a flat-rate compensation based on sales volume, then this will represent the compensation that the agent is to receive. This should be null if the BuyerTransaction uses commission_percentage or commission_flat_fee or sales_volume_commission.

target_price The desired purchase price for a property if using target rather than range.

min_price The minimum price range for a property if using a price range rather than target price.

max_price The maximum price range for a property if using a price range rather than target price.

closing_price This is the closing price for the transaction . This should be null if the BuyerTransaction is not yet in complete state.

closing_timestamp A Unix timestamp representing the point in time when the transaction for this BuyerTransaction object was completed. This should be null if the BuyerTransaction is not yet in complete state.

state_changed_at A Unix timestamp representing the point in time when the transaction for this BuyerTransaction object entered into its current state.

BuyerTransaction Show

BuyerTransaction Show (using agent_uuid) Example

{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
  "moxi_works_transaction_id":"babebead-feed-face-dead-beefbad4babe"
}


GET /api/buyer_transactions/[moxi_works_transaction_id] HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded

moxi_works_agent_id=abc123


/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";


var agentUuid = "12345678-1234-1234-1234-1234567890ab";
var moxiWorksTransactionId = "babebead-feed-face-dead-beefbad4babe";

var service = new BuyerTransactionService(new MoxiWorksClient());
var results = service.GetBuyerTransactionAsync(agentUuid,AgentIdType.AgentUuid,moxiWorksTransactionId).Result;

##### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisites

moxi_works_transaction = MoxiworksPlatform::BuyerTransaction.find(
      agent_uuid:"12345678-1234-1234-1234-1234567890ab",
      moxi_works_transaction_id:"babebead-feed-face-dead-beefbad4babe"
      )

<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$moxi_works_transaction = MoxiworksPlatform\BuyerTransaction::find([
      "agent_uuid" => "12345678-1234-1234-1234-1234567890ab",
      "moxi_works_transaction_id" => "babebead-feed-face-dead-beefbad4babe"
       ]);
?>

BuyerTransaction Show (using moxi_works_agent_id) Example

{
  "moxi_works_agent_id":"abc123",
  "moxi_works_transaction_id":"babebead-feed-face-dead-beefbad4babe"
}


GET /api/buyer_transactions/[moxi_works_transaction_id] HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded

moxi_works_agent_id=abc123


/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";


var moxiWorksAgentId = "abc123";
var moxiWorksTransactionId = "babebead-feed-face-dead-beefbad4babe";

var service = new BuyerTransactionService(new MoxiWorksClient());
var results = service.GetBuyerTransactionAsync( moxiWorksAgentId,  AgentIdType.MoxiWorksAgentId,  moxiWorksTransactionId).Result;

##### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisites

moxi_works_transaction = MoxiworksPlatform::BuyerTransaction.find(
      moxi_works_agent_id:"abc123",
      moxi_works_transaction_id:"babebead-feed-face-dead-beefbad4babe"
      )

<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$moxi_works_transaction = MoxiworksPlatform\BuyerTransaction::find([
      "moxi_works_agent_id" => "abc123",
      "moxi_works_transaction_id" => "babebead-feed-face-dead-beefbad4babe"
       ]);
?>

Non MLS BuyerTransaction Show (using agent_uuid) Example

{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
  "moxi_works_transaction_id":"babebead-feed-face-dead-beefbad4babe"
}


GET /api/buyer_transactions/[moxi_works_transaction_id] HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded

agent_uuid=12345678-1234-1234-1234-1234567890ab


/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";


var agentUuid = "12345678-1234-1234-1234-1234567890ab";
var moxiWorksTransactionId = "babebead-feed-face-dead-beefbad4babe";

var service = new ActionLogService(new MoxiWorksClient());
var results = service.GetBuyerTransactionAsync( agentUuid,  AgentIdType.AgentUuid,  moxiWorksTransactionId).Result;

##### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisites

moxi_works_transaction = MoxiworksPlatform::BuyerTransaction.find(
      agent_uuid:"12345678-1234-1234-1234-1234567890ab",
      moxi_works_transaction_id:"babebead-feed-face-dead-beefbad4babe"
      )

<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$moxi_works_transaction = MoxiworksPlatform\BuyerTransaction::find([
      "agent_uuid" => "12345678-1234-1234-1234-1234567890ab",
      "moxi_works_transaction_id" => "babebead-feed-face-dead-beefbad4babe"
       ]);
?>

When showing a BuyerTransaction using the MoxiWorks platform API, format your data using the following parameters.

BuyerTransaction Show Request Attributes
Attribute Type Length Limit
agent_uuid* String 255
moxi_works_agent_id* String 255
source_agent_id* String 255
moxi_works_transaction_id String 255
moxi_works_company_id String
parent_company_id String 255

Required Parameters Are In Red

moxi_works_agent_id or agent_uuid or source_agent_id One of these parameters must be supplied Please reference Agent Identifiers for information about how to construct your agent identifier request params.

moxi_works_company_id A valid MoxiWorks Company ID. Use Company Endpoint to determine what moxi_works_company_id you can use.

parent_company_id This is the numeric_id or moxi_works_company_id of a company that is considered to be a parent company in the MoxiWorks Platform. This request attribute has two functions:

1. It provides for a broad scope by which partners may be afforded permissions to perform MoxiWorks Platform actions, in scenarios where a partner does business with a parent company in the MoxiWorks System.
2. It provides broad scope under which agents may be looked up using the source_agent_id request attribute in many scenarios across different MoxiWorks Platform endpoints and actions.

Please note that this attribute cannot be used as a replacement for the moxi_works_company_id request attribute in scenarios where the moxi_works_company_id request attribute is required by the action.

Please note that this attribute cannot be used to broaden scope of any request where the scope of the request is defined by the moxi_works_company_id request attribute.

Please note that when passed in conjunction with the moxi_works_company_id request attribute, the value of moxi_works_company_id request attribute must be the numeric id form.

Any use of this request attribute must be coordinated with MoxiWorks Platform Partner services. Please reach out to partner services for more information.

moxi_works_transaction_id This is the MoxiWorks Platform ID of the BuyerTransaction. This will be an RFC 4122 compliant UUID.

BuyerTransaction Show (using agent_uuid) Response Payload Example
{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
  "moxi_works_transaction_id": "facefeed-beef-daff-dead-cad4edd1e4d",
  "moxi_works_contact_id":"babebead-feed-face-dead-beefbad4babe",
  "partner_contact_id":"MySystemsContactIDForTheContactAssociatedWithThisBuyerTransaction",
  "transaction_name":"Bob And Linda Tonkanaka",
  "notes":"take care to write notes that are descriptive and helpful",
  "stage": 2,
  "stage_name":"initialized",
  "address":"1234 memory lane",
  "city":"hereville",
  "state":"provinceland",
  "zip_code":"18292",
  "min_sqft":1234,
  "max_sqft":2345,
  "min_beds":3,
  "max_beds":12,
  "min_baths":1.75,
  "max_baths":34.5,
  "area_of_interest":"Port Interesting",
  "is_mls_transaction":true,
  "mls_number":"abc123",
  "commission_percentage":null,
  "commission_flat_fee":12345,
  "sales_volume_percentage":null,
  "sales_volume_flat_fee":null,
  "target_price":null,
  "min_price":292929,
  "max_price":2323223,
  "closing_price":null,
  "closing_timestamp":null,
  "start_timestamp":null
}
BuyerTransaction Show (using moxi_works_agent_id) Response Payload Example
{
  "moxi_works_agent_id":"abc123",
  "moxi_works_transaction_id": "facefeed-beef-daff-dead-cad4edd1e4d",
  "moxi_works_contact_id":"babebead-feed-face-dead-beefbad4babe",
  "partner_contact_id":"MySystemsContactIDForTheContactAssociatedWithThisBuyerTransaction",
  "transaction_name":"Bob And Linda Tonkanaka",
  "notes":"take care to write notes that are descriptive and helpful",
  "stage": 2,
  "stage_name":"initialized",
  "address":"1234 memory lane",
  "city":"hereville",
  "state":"provinceland",
  "zip_code":"18292",
  "min_sqft":1234,
  "max_sqft":2345,
  "min_beds":3,
  "max_beds":12,
  "min_baths":1.75,
  "max_baths":34.5,
  "area_of_interest":"Port Interesting",
  "is_mls_transaction":true,
  "mls_number":"abc123",
  "commission_percentage":null,
  "commission_flat_fee":12345,
  "sales_volume_percentage":null,
  "sales_volume_flat_fee":null,
  "target_price":null,
  "min_price":292929,
  "max_price":2323223,
  "closing_price":null,
  "closing_timestamp":null,
  "start_timestamp":null
}
BuyerTransaction Show Failure Response Example
See Error Handling for details about individual error codes.
{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

BuyerTransaction Show Response Payload

The following attributes make up the payload of the BuyerTransaction response for a Show request.

Attribute Type
agent_uuid* String
moxi_works_agent_id* String
moxi_works_transaction_id String
moxi_works_contact_id String
partner_contact_id String
transaction_name String or null
notes String or null
stage Integer
stage_name String
address String or null
city String or null
state String or null
zip_code String or null
min_sqft Integer or null
max_sqft Integer or null
min_beds Integer or null
max_beds Integer or null
min_baths Float or null
max_baths Float or null
area_of_interest String or null
is_mls_transaction Boolean
mls_number String or null
start_timestamp Integer or null
commission_percentage Float or null
commission_flat_fee Integer or null
sales_volume_percentage Float or null
sales_volume_flat_fee Integer or null
target_price Integer or null
min_price String or null
max_price Integer or null
closing_price Integer or null
closing_timestamp Integer or null
state_changed_at Integer or null

* Either agent_uuid or moxi_works_agent_id will be returned depending on whether it is used in the request. The response payload object’s agent identifier key will match the passed parameter.

agent_uuid This is the MoxiWorks Platform ID of the Agent which this BuyerTransaction is associated with. This will be an RFC 4122 compliant UUID.

moxi_works_agent_id This is the MoxiWorks Platform ID of the Agent which this BuyerTransaction is associated with. This will be a string that may take the form of an email address, or a unique alphanumeric identification string.

moxi_works_transaction_id This is the MoxiWorks Platform ID of the BuyerTransaction. This will be an RFC 4122 compliant UUID.

moxi_works_contact_id This is the MoxiWorks Platform ID of the Contact which this BuyerTransaction has been associated with. This will be an RFC 4122 compliant UUID.

partner_contact_id If this Contact was created by your sytem in the MoxiWorks Platform, then this is the unique identifer you use in your system that has been associated with the Contact that you are creating this BuyerTransaction for. If the Contact was not created by you, then partner_contact_id will be empty.

transaction_name A brief, human readable title that is shown to the agent as the subject of the BuyerTransaction.

notes Brief, human readable content that is shown to the agent as notes about the BuyerTransaction. Use this attribute to store and display data to the agent that is not otherwise explicitly available via attributes for the entity.

stage Each BuyerTransaction has five stages (1-5). stage displays the stage number that the BuyerTransaction is currently in. For more information about BuyerTransaction stages, see BuyerTransaction Stages.

stage_name This attribute displays a human readable stage name that is associated with the current stage attribute. When created through the MoxiWorks Platform BuyerTransaction objects will automatically be configured as active transactions. For more information about BuyerTransaction stages, see BuyerTransaction Stages.

address The street address for the property being purchased.

city The city or township of the property being purchased.

state The state or province of the property being purchased.

zip_code The postal code of the property being purchased.

min_sqft The minimum desired living area for prospective properties.

max_sqft The maximum desired living area for prospective properties.

min_beds The minimum number of bedrooms for prospective properties.

max_beds The maximum number of bedrooms for prospective properties.

min_baths The minimum number of bathrooms for prospective properties.

max_baths The maximum number of bathrooms for prospective properties.

area_of_interest A the name of a locality representing an area of interest for prospective properties.

is_mls_transaction Whether the property being purchased is being listed on an MLS.

mls_number If this is an MLS transaction, then this is the MLS number for the BuyerTransaction.

start_timestamp For non-MLS transactions, this is the Unix timestamp representing the date that the agent initiated transaction discussions with the client. This should be null if the BuyerTransaction is an MLS sale.

commission_percentage If the agent is to receive commission based on percentage of purchase price for the transaction associated with this BuyerTransaction, then this will represent the commission that the agent is to receive.This should be null if the BuyerTransaction uses commission_flat_fee or sales_volume_flat_fee or sales_volume_commission.

commission_flat_fee If the agent is to receive a flat-rate commission for the transaction associated with this BuyerTransaction, then this will represent the commission that the agent is to receive. This should be null if the BuyerTransaction uses commission_percentage or sales_volume_flat_fee or sales_volume_percentage.

sales_volume_percentage If the agent is to receive compensation based on percentage of sales volume, then this will represent the percentage that the agent is to receive.This should be null if the BuyerTransaction uses commission_flat_fee or sales_volume_flat_fee or commission_percentage.

sales_volume_flat_fee If the agent is to receive a flat-rate compensation based on sales volume, then this will represent the compensation that the agent is to receive. This should be null if the BuyerTransaction uses commission_percentage or commission_flat_fee or sales_volume_commission.

target_price The desired purchase price for a property if using target rather than range.

min_price The minimum price range for a property if using a price range rather than target price.

max_price The maximum price range for a property if using a price range rather than target price.

closing_price This is the closing price for the transaction . This should be null if the BuyerTransaction is not yet in complete state.

closing_timestamp A Unix timestamp representing the point in time when the transaction for this BuyerTransaction object was completed. This should be null if the BuyerTransaction is not yet in complete state.

state_changed_at A Unix timestamp representing the point in time when the transaction for this BuyerTransaction object entered into its current state.

BuyerTransaction Index

BuyerTransaction Index (using agent_uuid) Example

{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
}


GET /api/buyer_transactions HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded

agent_uuid=abc123


/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";


var agentUuid = "12345678-1234-1234-1234-1234567890ab";

var service = new BuyerTransactionService(new MoxiWorksClient());
var results = service.GetBuyerTransactionsAsync( agentUuid,  AgentIdType.AgentUuid).Result;

##### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisites

moxi_works_transaction = MoxiworksPlatform::BuyerTransaction.search(
      agent_uuid:"12345678-1234-1234-1234-1234567890ab"
      )

<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$moxi_works_transaction = MoxiworksPlatform\BuyerTransaction::search([
      "agent_uuid" => "12345678-1234-1234-1234-1234567890ab"
       ]);
?>

BuyerTransaction Index (using moxi_works_agent_id) Example

{
  "moxi_works_agent_id":"abc123"
}


GET /api/buyer_transactions HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded

moxi_works_agent_id=abc123


/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";


var moxiWorksAgentId = "abc123";

var service = new BuyerTransactionService(new MoxiWorksClient());
var results = service.GetBuyerTransactionsAsync(moxiWorksAgentId,AgentIdType.MoxiWorksAgentId).Result;

##### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisites

moxi_works_transaction = MoxiworksPlatform::BuyerTransaction.search(
      moxi_works_agent_id:"abc123"
      )

<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$moxi_works_transaction = MoxiworksPlatform\BuyerTransaction::search([
      "moxi_works_agent_id" => "abc123"
       ]);
?>

Non MLS BuyerTransaction Index Example

{
  "moxi_works_agent_id":"abc123"
}


GET /api/buyer_transactions HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded

moxi_works_agent_id=abc123


/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";


var agentUuid = "12345678-1234-1234-1234-1234567890ab";

var service = new ActionLogService(new MoxiWorksClient());
var results = service.GetBuyerTransactionsAsync( agentUuid,  AgentIdType.AgentUuid).Result;

##### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisites

moxi_works_transaction = MoxiworksPlatform::BuyerTransaction.search(
      moxi_works_agent_id:"abc123"
      )

<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$moxi_works_transaction = MoxiworksPlatform\BuyerTransaction::search([
      "moxi_works_agent_id" => "abc123"
       ]);
?>

When searching for BuyerTransaction objects using the MoxiWorks platform API, format your data using the following parameters.

BuyerTransaction Index Request Attributes
Attribute Type Length Limit
agent_uuid* String 255
moxi_works_agent_id* String 255
source_agent_id* String 255
moxi_works_company_id String
parent_company_id String 255
moxi_works_contact_id † String 255
partner_contact_id † String 255
page_number Integer 255
timestamps_only Boolean 255

Required Parameters Are In Red

† Either moxi_works_contact_id or partner_contact_id may be supplied, but not both.

moxi_works_agent_id or agent_uuid or source_agent_id One of these parameters must be supplied Please reference Agent Identifiers for information about how to construct your agent identifier request params.

moxi_works_company_id A valid MoxiWorks Company ID. Use Company Endpoint to determine what moxi_works_company_id you can use.

parent_company_id This is the numeric_id or moxi_works_company_id of a company that is considered to be a parent company in the MoxiWorks Platform. This request attribute has two functions:

1. It provides for a broad scope by which partners may be afforded permissions to perform MoxiWorks Platform actions, in scenarios where a partner does business with a parent company in the MoxiWorks System.
2. It provides broad scope under which agents may be looked up using the source_agent_id request attribute in many scenarios across different MoxiWorks Platform endpoints and actions.

Please note that this attribute cannot be used as a replacement for the moxi_works_company_id request attribute in scenarios where the moxi_works_company_id request attribute is required by the action.

Please note that this attribute cannot be used to broaden scope of any request where the scope of the request is defined by the moxi_works_company_id request attribute.

Please note that when passed in conjunction with the moxi_works_company_id request attribute, the value of moxi_works_company_id request attribute must be the numeric id form.

Any use of this request attribute must be coordinated with MoxiWorks Platform Partner services. Please reach out to partner services for more information.

moxi_works_contact_id This is the MoxiWorks Platform ID of the Contact for which you are searching associated BuyerTransaction objects. This will be an RFC 4122 compliant UUID. You can use either moxi_works_contact_id or partner_contact_id when searching for BuyerTransaction objects associated with a specific Contact.

partner_contact_id This is the unique identifer you use in your system that has been associated with the Contact you want to find BuyerTransaction objects for. You can use either moxi_works_contact_id or partner_contact_id when searching for BuyerTransaction objects associated with a specific Contact.

page_number Page of BuyerTransaction records to return. Use if total_pages indicates that there is more than one page of data available.

timestamps_only If supplied then the results will exclude all data except primary identifiers and a unix timestamp (last_updated) & iso8601 timestamp (modification_timestamp) of the last time this record was updated.

BuyerTransaction Index (using agent_uuid) Response Payload Example
{
  "page_number":1,
  "total_pages":5,
  "transactions":[
    {
      "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
      "moxi_works_transaction_id": "facefeed-beef-daff-dead-cad4edd1e4d",
      "moxi_works_contact_id":"babebead-feed-face-dead-beefbad4babe",
      "partner_contact_id":"MySystemsContactIDForTheContactAssociatedWithThisBuyerTransaction",
      "transaction_name":"Bob And Linda Tonkanaka",
      "notes":"take care to write notes that are descriptive and helpful",
      "stage": 2,
      "stage_name":"initialized",
      "address":"1234 memory lane",
      "city":"hereville",
      "state":"provinceland",
      "zip_code":"18292",
      "min_sqft":1234,
      "max_sqft":2345,
      "min_beds":3,
      "max_beds":12,
      "min_baths":1.75,
      "max_baths":34.5,
      "area_of_interest":"Port Interesting",
      "is_mls_transaction":true,
      "mls_number":"abc123",
      "commission_percentage":null,
      "commission_flat_fee":12345,
      "sales_volume_percentage":null,
      "sales_volume_flat_fee":null,
      "target_price":null,
      "min_price":292929,
      "max_price":2323223,
      "closing_price":null,
      "closing_timestamp":null,
      "start_timestamp":null
    }
  ]
}
BuyerTransaction Index Response Payload Example (using moxi_works_agent_id)
{
  "page_number":1,
  "total_pages":5,
  "transactions":[
    {
      "moxi_works_agent_id":"abc123",
      "moxi_works_transaction_id": "facefeed-beef-daff-dead-cad4edd1e4d",
      "moxi_works_contact_id":"babebead-feed-face-dead-beefbad4babe",
      "partner_contact_id":"MySystemsContactIDForTheContactAssociatedWithThisBuyerTransaction",
      "transaction_name":"Bob And Linda Tonkanaka",
      "notes":"take care to write notes that are descriptive and helpful",
      "stage": 2,
      "stage_name":"initialized",
      "address":"1234 memory lane",
      "city":"hereville",
      "state":"provinceland",
      "zip_code":"18292",
      "min_sqft":1234,
      "max_sqft":2345,
      "min_beds":3,
      "max_beds":12,
      "min_baths":1.75,
      "max_baths":34.5,
      "area_of_interest":"Port Interesting",
      "is_mls_transaction":true,
      "mls_number":"abc123",
      "commission_percentage":null,
      "commission_flat_fee":12345,
      "sales_volume_percentage":null,
      "sales_volume_flat_fee":null,
      "target_price":null,
      "min_price":292929,
      "max_price":2323223,
      "closing_price":null,
      "closing_timestamp":null,
      "start_timestamp":null
    }
  ]
}
BuyerTransaction Index Failure Response Example
See Error Handling for details about individual error codes.
{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

BuyerTransaction Index Response Payload

The following attributes make up the payload of the BuyerTransaction response for a Index request.

Attribute Type
page_number Integer
total_pages Integer
transactions Array

page_number If there is more than one page of BuyerTransaction objects to return, page_number will denote which page of responses has been returned. If this is less than the value of total_pages, there are more pages that can be returned by including the page_number parameter in your API request.

total_pages If there is more than one page of BuyerTransaction objects to return, total_pages will denote how many pages of BuyerTransaction objects there are to be returned fo the current query. Subsequent pages can be returned by including the page_number parameter in your API request.

transactions This array contains the payload from the request query. Any found BuyerTransaction objects matching the query will be returned as BuyerTransaction objects in the response.

transactions BuyerTransaction Objects
Attribute Type
agent_uuid* String
moxi_works_agent_id* String
moxi_works_transaction_id String
moxi_works_contact_id String
partner_contact_id String
transaction_name String or null
notes String or null
stage Integer
stage_name String
address String or null
city String or null
state String or null
zip_code String or null
min_sqft Integer or null
max_sqft Integer or null
min_beds Integer or null
max_beds Integer or null
min_baths Float or null
max_baths Float or null
area_of_interest String or null
is_mls_transaction Boolean
mls_number String or null
start_timestamp Integer or null
commission_percentage Float or null
commission_flat_fee Integer or null
sales_volume_percentage Float or null
sales_volume_flat_fee Integer or null
target_price Integer or null
min_price String or null
max_price Integer or null
closing_price Integer or null
closing_timestamp Integer or null
state_changed_at Integer or null

* Either agent_uuid or moxi_works_agent_id will be returned depending on whether it is used in the request. The response payload object’s agent identifier key will match the passed parameter.

agent_uuid This is the MoxiWorks Platform ID of the Agent which this BuyerTransaction is associated with. This will be an RFC 4122 compliant UUID.

moxi_works_agent_id This is the MoxiWorks Platform ID of the Agent which this BuyerTransaction is associated with. This will be a string that may take the form of an email address, or a unique alphanumeric identification string.

moxi_works_transaction_id This is the MoxiWorks Platform ID of the BuyerTransaction which you have created. This will be an RFC 4122 compliant UUID.

moxi_works_contact_id This is the MoxiWorks Platform ID of the Contact which this BuyerTransaction has been associated with. This will be an RFC 4122 compliant UUID.

partner_contact_id If this Contact was created by your sytem in the MoxiWorks Platform, then this is the unique identifer you use in your system that has been associated with the Contact that you are creating this BuyerTransaction for. If the Contact was not created by you, then partner_contact_id will be empty.

transaction_name A brief, human readable title that is shown to the agent as the subject of the BuyerTransaction.

notes Brief, human readable content that is shown to the agent as notes about the BuyerTransaction. Use this attribute to store and display data to the agent that is not otherwise explicitly available via attributes for the entity.

stage Each BuyerTransaction has five stages (1-5). stage displays the stage number that the BuyerTransaction is currently in. For more information about BuyerTransaction stages, see BuyerTransaction Stages.

stage_name This attribute displays a human readable stage name that is associated with the current stage attribute. When created through the MoxiWorks Platform BuyerTransaction objects will automatically be configured as active transactions. For more information about BuyerTransaction stages, see BuyerTransaction Stages.

address The street address for the property being purchased.

city The city or township of the property being purchased.

state The state or province of the property being purchased.

zip_code The postal code of the property being purchased.

min_sqft The minimum desired living area for prospective properties.

max_sqft The maximum desired living area for prospective properties.

min_beds The minimum number of bedrooms for prospective properties.

max_beds The maximum number of bedrooms for prospective properties.

min_baths The minimum number of bathrooms for prospective properties.

max_baths The maximum number of bathrooms for prospective properties.

area_of_interest A the name of a locality representing an area of interest for prospective properties.

is_mls_transaction Whether the property being purchased is being listed on an MLS.

mls_number If this is an MLS transaction, then this is the MLS number for the BuyerTransaction.

start_timestamp For non-MLS transactions, this is the Unix timestamp representing the date that the agent initiated transaction discussions with the client. This should be null if the BuyerTransaction is an MLS sale.

commission_percentage If the agent is to receive commission based on percentage of purchase price for the transaction associated with this BuyerTransaction, then this will represent the commission that the agent is to receive.This should be null if the BuyerTransaction uses commission_flat_fee or sales_volume_flat_fee or sales_volume_commission.

commission_flat_fee If the agent is to receive a flat-rate commission for the transaction associated with this BuyerTransaction, then this will represent the commission that the agent is to receive. This should be null if the BuyerTransaction uses commission_percentage or sales_volume_flat_fee or sales_volume_percentage.

sales_volume_percentage If the agent is to receive compensation based on percentage of sales volume, then this will represent the percentage that the agent is to receive.This should be null if the BuyerTransaction uses commission_flat_fee or sales_volume_flat_fee or commission_percentage.

sales_volume_flat_fee If the agent is to receive a flat-rate compensation based on sales volume, then this will represent the compensation that the agent is to receive. This should be null if the BuyerTransaction uses commission_percentage or commission_flat_fee or sales_volume_commission.

target_price The desired purchase price for a property if using target rather than range.

min_price The minimum price range for a property if using a price range rather than target price.

max_price The maximum price range for a property if using a price range rather than target price.

closing_price This is the closing price for the transaction . This should be null if the BuyerTransaction is not yet in complete state.

closing_timestamp A Unix timestamp representing the point in time when the transaction for this BuyerTransaction object was completed. This should be null if the BuyerTransaction is not yet in complete state.

state_changed_at A Unix timestamp representing the point in time when the transaction for this BuyerTransaction object entered into its current state.

Company

MoxiWorks Plaform Company entities are your entry-point for determining the established relationships for your organization to companies on the MoxiWorks Platform and for accessing data about those companies. Many requests require a moxi_works_company_id, which you’ll need to derive from the Company Index endpoint.

The company response attribute numeric_id can be used anywhere that moxi_works_company_id is used.

Company Show

Company Show Example

GET /api/companies/[moxi_works_company_id] HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded

{
  "moxi_works_company_id":"abc123"
}


/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";


var companyId = "company_id";

var service = new CompanyService(new MoxiWorksClient());
var results = service.GetCompanyAsync(companyId).Result;

##### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisites

moxi_works_company = MoxiworksPlatform::Company.find(moxi_works_company_id: "1234abcd")

<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$moxi_works_company = MoxiworksPlatform\Company::find([
        'moxi_works_company_id' => '1234abcd']);
?>
Company Show Request Attributes

When finding an Company using the MoxiWorks platform API, format your request using the following parameters.

Attribute Type Length Limit
moxi_works_company_id String 255

Required Parameters Are In Red

moxi_works_company_id A valid MoxiWorks Company ID. You can pass either the alphanumeric key (similar to the company name in most cases) or the numeric identifier (numeric_id in the company response).

Company Show Response Payload Example

{
    "moxi_works_company_id":"bobs_brokerage",
    "name":"Bob's Brokerage",
    "numeric_id": "1234567",
    "client_company_id":"some_external_identifier",
    "public_partner_attrs": {
      "is_nrt": false
    }
}
Company Show Failure Response
See Error Handling for details about individual error codes.

{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

Company Show Response Payload

The following attributes make up the payload of the Company response for a Show request.

Show Response Attributes
Attribute Type
moxi_works_company_id String
name String
numeric_id String
client_company_id String
partners Array
public_partner_attrs Hash or null

moxi_works_company_id This is the MoxiWorks Platform ID of the Company. This will be an alphanumeric identification string which will be similar to the company name.

name This is a human readable name of the company which this Company object represents.

numeric_id This is the numeric company id that is interchangeable with the moxi_works_agent_id in all request scenarios

client_company_id This is a client-specified identifier of the company which this Company object represents, or null if absent.

partners Partner data associated with this company

public_partner_attrs Exposed company attributes

partners Objects

Existence of objects in the partners data structure is dependent upon external relationships existing between the company represented by this Company and the affiliate.

leading_re partner Objects
Attribute Type
id String or null
salesforce_id String or null

id This is the unique ID of this company in the LeadingRE system.

salesforce_id This is the unique salesforce ID of the company in the LeadingRE system.

Company Index

The Company Index endpoint will return all Company entities your organization is associated with. When searching for Company entities using the MoxiWorks platform API, format your request using the following parameters.

Company Index Request Example

GET /api/companies HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded

{}


/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";


var service = new CompanyService(new MoxiWorksClient());
var results = service.GetCompaniesAsync().Result;

companies = MoxiworksPlatform::Company.search

<?php
$companies = MoxiworksPlatform\Company::search();
?>
Company Index Request Attributes
Attribute Type Length Limit
Company Index Response Payload

Company Index returns an array of objects representing companies that your organization has access to. The following attributes make up the payload of each Company object returned in an Index request.

Company Index Response Payload Example

[
{
  "moxi_works_company_id":"bobs_brokerage",
  "name":"Bob's Brokerage",
  "numeric_id": "1234567",
  "client_company_id":"some_external_identifier",
  "public_partner_attrs": {
    "is_nrt": false
  }
},
{
  "moxi_works_company_id":"real_estate_two_bajillion",
  "name":"Real Estate Two-Bajillion",
  "numeric_id": "12345678",
  "client_company_id":"someOtherExternalIdentifier",
  "public_partner_attrs": {
    "is_nrt": true
  }
}
]
Company Index Failure Response
See Error Handling for details about individual error codes.

{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

Index Response Attributes
Attribute Type
moxi_works_company_id String
name String
numeric_id String
client_company_id String
public_partner_attrs Hash or null

moxi_works_company_id This is the MoxiWorks Platform ID of the Company. This will be an alphanumeric identification string which will be similar to the company name.

numeric_id This is the numeric company id that is interchangeable with the moxi_works_agent_id in all request scenarios

name This is a human readable name of the company which this Company object represents.

client_company_id This is a client-specified identifier of the company which this Company object represents, or null if absent.

public_partner_attrs Exposed company attributes

The Company Search endpoint will return Company entities matching the provided search parameters and that your organization is associated with.

Global permission or parent company permissions are required to use this endpoint.

GET /api/companies/search?per_page=10&page_number=1&parent_company_id=1 HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded

{
  "per_page":10,
  "page_number":1,
  "parent_company_id":1,
  "show_paging_totals":false,
}


/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";


var companyId = "company_id";

var service = new CompanyService(new MoxiWorksClient());
var results = service.GetCompanyAsync(companyId).Result;

##### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisites

moxi_works_companies = MoxiworksPlatform::Company.search(parent_company_id: "1234abcd")

<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$moxi_works_company = MoxiworksPlatform\Company::search([
        'parent_company_id' => '1234abcd']);
?>
Company Search Request Attributes

When searching Company using the MoxiWorks platform API, format your request using the following parameters.

Attribute Type Length Limit
per_page Integer 255
page_number Integer 255
parent_company_id String 255
show_paging_totals Boolean 255

Required Parameters Are In Red

per_page Number of companies records to return per page.

page_number Page of companies records to return.

parent_company_id The numeric company id as returned in the Company#search response entry corresponding to a known parent company.

show_paging_totals Displays two additional attributes on response payload. Use for troubleshooting purposes only. Paging should be performed again the provided paging_complete attribute.

Company Search Response Payload Example

{
    "name":"Bob's Brokerage",
    "numeric_id": "1234567",
    "client_company_id":"some_external_identifier",
    "public_partner_attrs": {
      "is_nrt": false
    }
}
Company Search Failure Response
See Error Handling for details about individual error codes.

{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

Company Search Response Payload

Company Search returns an array of objects matching the request attributes representing companies that your organization has access to. The following attributes make up the payload of each Company object returned in an Search request.

Company Search Response Payload Example

[
{
  "name":"Bob's Brokerage",
  "numeric_id": "1234567",
  "client_company_id":"some_external_identifier",
  "public_partner_attrs": {
    "is_nrt": false
  }
},
{
  "name":"Real Estate Two-Bajillion",
  "numeric_id": "12345678",
  "client_company_id":"someOtherExternalIdentifier",
   "public_partner_attrs": {
    "is_nrt": true
  }
}
]
Company Search Failure Response
See Error Handling for details about individual error codes.

{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

Search Response Attributes
Attribute Type
name String
numeric_id String
client_company_id String
public_partner_attrs Hash or null

numeric_id This is the numeric company id that is interchangeable with the moxi_works_agent_id in all request scenarios

name This is a human readable name of the company which this Company object represents.

client_company_id This is a client-specified identifier of the company which this Company object represents, or null if absent.

public_partner_attrs Exposed company attributes

Contact

MoxiWorks Platform Contact entities represent an agent’s contacts in the MoxiWorks Platform.

Contact Create

Contact Create (using agent_uuid) Example

{
"agent_uuid":"12345678-1234-1234-1234-1234567890ab",
"partner_contact_id":"booyuh",
"moxi_works_lead_source_id": "some_lead_source_id",
"original_lead_source": "Some Lead Source String",
"contact_name":"Firstname Middlenyme Larstnam",
"gender":"m",
"label_name":"Mr. and Mrs. Oo-De-Lally Golly What a Day",
"primary_email_address":"primary@email.com",
"secondary_email_address":"secondary@email.com",
"primary_phone_number":"1234567890",
"secondary_phone_number":"1234567898",
"home_street_address":"1234 Sesame St.",
"home_city":"Cityville",
"home_state":"Stateland",
"home_zip":"12345-6789",
"home_country":"Ottoman Empire",
"job_title":"Junior Bacon Burner",
"occupation":"chef",
"property_url":"http://my.property.website.is/here",
"property_mls_id":"abc123",
"property_street_address":"2345 67th place",
"property_city":"Townland",
"property_state":"Statesville",
"property_zip":"98765-4321",
"property_beds":"18",
"property_baths":"12.5",
"property_list_price":"123456789",
"property_listing_status":"Active",
"property_photo_url":"http://property.photo.is/here.jpg",
"search_city":"Searchland",
"search_state":"Searchsylvania",
"search_zip":"12345-6789",
"search_min_beds":"2",
"search_min_baths":"3.25",
"search_min_price":"1234567",
"search_max_price":"1234569",
"search_min_sq_ft":"1234",
"search_max_sq_ft":"1235",
"search_min_lot_size":"3234",
"search_max_lot_size":"3235",
"search_min_year_built":"1388",
"search_max_year_built":"2044",
"search_property_types":"Condo, Single Family, Townhouse",
"note":"whatevers2009",
"websites": [
      {
        "rank": 1,
        "value": "https://blep.com"
      },
      {
        "rank": 2,
        "value": "https://blep.com"
      }
    ],
"home_purchase_anniversaries": "1484088442,1484088443",
"birthday": 1484088443,
"company": "Blep Ltd.",
"spouse_or_partner": "Rick Sanchez"
}
POST /api/contacts HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded


agent_uuid=12345678-1234-1234-1234-1234567890ab&partner_contact_id=abc982cdf345&contact_name=Billy+Football&gender=m&label_name=Mr.+and+Mrs.+Oo-De-Lally+Golly+What+a+Day&primary_email_address=johnny%40football.foo&secondary_email_address=fooball%40johnnyshead.lost&primary_phone_number=123123213&secondary_phone_number=2929292922&home_street_address=1234+Winterfell+Way&home_city=Cityville&home_state=Stateland&home_zip=12345&home_country=Westeros&job_title=Junior+Bacon+Burner&occupation=Chef&property_url=http%3A%2F%2Fteh.property.is%2Fhere&property_mls_id=123abc&property_street_address=1234+here+ave.&property_city=anywhereville&property_state=anystate&property_zip=918928&property_beds=21&property_baths=12.75&property_list_price=1231213&property_listing_status=Active&property_photo_url=http%3A%2F%2Fthis.is%2Fthe%2Fphoto.jpg&search_city=searchville&search_state=ofconfusion&search_zip=92882&search_min_beds=12&search_min_baths=4&search_min_price=1234&search_max_price=22324&search_min_sq_ft=1234&search_max_sq_ft=23455&search_min_lot_size=29299&search_max_lot_size=292929&search_min_year_built=1999&search_max_year_built=2004&search_property_types=Condo%2C+Single-Family&note=whatevers2009

/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";


var contact = new Contact();
contact.AgentUuid = "12345678-1234-1234-1234-1234567890ab";
contact.PartnerContactId = "booyuh";
contact.ContactName = "Firstname Middlenyme Larstnam";
contact.Gender = "m";
contact.LabelName = "Mr. and Mrs. Oo-De-Lally Golly What a Day";
contact.PrimaryEmailAddress = "me@justabout.right.here";
contact.SecondaryEmailAddress = "me.too@justabout.right.here";
contact.PrimaryPhoneNumber = "9995551212";
contact.SecondaryPhoneNumber = "(333) 555-1185";
contact.HomeStreetAddress = "1234 Sesame St.";
contact.HomeCity = "Cityville";
contact.HomeState = "Stateland";
contact.HomeZip = "12345-6789";
contact.HomeCountry = "Ottoman Empire";
contact.JobTitle = "Junior Bacon Burner";
contact.Occupation = "chef";
contact.PropertyUrl = "http://my.property.website.is/here";
contact.PropertyMlsId = "abc123";
contact.PropertyStreetAddress = "2345 67th place";
contact.PropertyCity = "Townland";
contact.PropertyState = "Statesville";
contact.PropertyZip = "98765-4321";
contact.PropertyBeds = "18";
contact.PropertyBaths = "12.5";
contact.PropertyListPrice = "123456789";
contact.PropertyListingStatus = "Active";
contact.PropertyPhotoUrl = "http://property.photo.is/here.jpg";
contact.SearchCity = "Searchland";
contact.SearchState = "Searchsylvania";
contact.SearchZip = "12345-6789";
contact.SearchMinBeds = "2";
contact.SearchMinBaths = "3.25";
contact.SearchMinPrice = "1234567";
contact.SearchMaxPrice = "1234569";
contact.SearchMinSqFt = "1234";
contact.SearchMaxSqFt = "1235";
contact.SearchMinLotSize = "3234";
contact.SearchMaxLotSize = "3235";
contact.SearchMinYearBuilt = "1388";
contact.SearchMaxYearBuilt = "2044";
contact.SearchPropertyTypes = "Condo, Single Family, Townhouse";
contact.Note = "whatevers2009";


var service = new ContactService(new MoxiWorksClient());
var results = service.CreateContactAsync(contact).Result;

##### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisites

moxi_works_contact = MoxiworksPlatform::Contact.create(
        agent_uuid: "12345678-1234-1234-1234-1234567890ab",
        partner_contact_id: "booyuh",
        contact_name: "Firstname Middlenyme Larstnam",
        gender: "m",
        label_name: "Mr. and Mrs. Oo-De-Lally Golly What a Day",
        primary_email_address: "me@justabout.right.here",
        secondary_email_address: "me.too@justabout.right.here",
        primary_phone_number: "9995551212",
        secondary_phone_number: "(333) 555-1185",
        home_street_address: "1234 Sesame St.",
        home_city: "Cityville",
        home_state: "Stateland",
        home_zip: "12345-6789",
        home_country: "Ottoman Empire",
        job_title: "Junior Bacon Burner",
        occupation: "chef",
        property_url: "http://my.property.website.is/here",
        property_mls_id: "abc123",
        property_street_address: "2345 67th place",
        property_city: "Townland",
        property_state: "Statesville",
        property_zip: "98765-4321",
        property_beds: "18",
        property_baths: "12.5",
        property_list_price: "123456789",
        property_listing_status: "Active",
        property_photo_url: "http://property.photo.is/here.jpg",
        search_city: "Searchland",
        search_state: "Searchsylvania",
        search_zip: "12345-6789",
        search_min_beds: "2",
        search_min_baths: "3.25",
        search_min_price: "1234567",
        search_max_price: "1234569",
        search_min_sq_ft: "1234",
        search_max_sq_ft: "1235",
        search_min_lot_size: "3234",
        search_max_lot_size: "3235",
        search_min_year_built: "1388",
        search_max_year_built: "2044",
        search_property_types: "Condo, Single Family, Townhouse",
        note: "whatevers2009")

<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$moxi_works_contact = MoxiworksPlatform\Contact::create([
        'agent_uuid' => '12345678-1234-1234-1234-1234567890ab',
        'partner_contact_id' => 'booyuh',
        'contact_name' => 'Firstname Middlenyme Larstnam',
        'gender' => 'm',
        'label_name' => 'Mr. and Mrs. Oo-De-Lally Golly What a Day',
        'primary_email_address' => 'me@justabout.right.here',
        'secondary_email_address' => 'me.too@justabout.right.here',
        'primary_phone_number' => '9995551212',
        'secondary_phone_number' => '(333) 555-1185',
        'home_street_address' => '1234 Sesame St.',
        'home_city' => 'Cityville',
        'home_state' => 'Stateland',
        'home_zip' => '12345-6789',
        'home_country' => 'Ottoman Empire',
        'job_title' => 'Junior Bacon Burner',
        'occupation' => 'chef',
        'property_url' => 'http://my.property.website.is/here',
        'property_mls_id' => 'abc123',
        'property_street_address' => '2345 67th place',
        'property_city' => 'Townland',
        'property_state' => 'Statesville',
        'property_zip' => '98765-4321',
        'property_beds' => '18',
        'property_baths' => '12.5',
        'property_list_price' => '123456789',
        'property_listing_status' => 'Active',
        'property_photo_url' => 'http://property.photo.is/here.jpg',
        'search_city' => 'Searchland',
        'search_state' => 'Searchsylvania',
        'search_zip' => '12345-6789',
        'search_min_beds' => '2',
        'search_min_baths' => '3.25',
        'search_min_price' => '1234567',
        'search_max_price' => '1234569',
        'search_min_sq_ft' => '1234',
        'search_max_sq_ft' => '1235',
        'search_min_lot_size' => '3234',
        'search_max_lot_size' => '3235',
        'search_min_year_built' => '1388',
        'search_max_year_built' => '2044',
        'search_property_types' => 'Condo, Single Family, Townhouse',
        'note' => 'whatevers2009']);
?>

Contact Create (using moxi_works_agent_id) Example

{
"moxi_works_agent_id":"1234abcd",
"partner_contact_id":"booyuh",
"moxi_works_lead_source_id": "some_lead_source_id",
"original_lead_source": "Some Lead Source String",
"contact_name":"Firstname Middlenyme Larstnam",
"gender":"m",
"label_name":"Mr. and Mrs. Oo-De-Lally Golly What a Day",
"primary_email_address":"primary@email.com",
"secondary_email_address":"secondary@email.com",
"primary_phone_number":"1234567890",
"secondary_phone_number":"1234567898",
"home_street_address":"1234 Sesame St.",
"home_city":"Cityville",
"home_state":"Stateland",
"home_zip":"12345-6789",
"home_country":"Ottoman Empire",
"job_title":"Junior Bacon Burner",
"occupation":"chef",
"property_url":"http://my.property.website.is/here",
"property_mls_id":"abc123",
"property_street_address":"2345 67th place",
"property_city":"Townland",
"property_state":"Statesville",
"property_zip":"98765-4321",
"property_beds":"18",
"property_baths":"12.5",
"property_list_price":"123456789",
"property_listing_status":"Active",
"property_photo_url":"http://property.photo.is/here.jpg",
"search_city":"Searchland",
"search_state":"Searchsylvania",
"search_zip":"12345-6789",
"search_min_beds":"2",
"search_min_baths":"3.25",
"search_min_price":"1234567",
"search_max_price":"1234569",
"search_min_sq_ft":"1234",
"search_max_sq_ft":"1235",
"search_min_lot_size":"3234",
"search_max_lot_size":"3235",
"search_min_year_built":"1388",
"search_max_year_built":"2044",
"search_property_types":"Condo, Single Family, Townhouse",
"note":"whatevers2009",
"websites": [
      {
        "rank": 1,
        "value": "https://blep.com"
      },
      {
        "rank": 2,
        "value": "https://blep.com"
      }
    ],
"home_purchase_anniversaries": "1484088442,1484088443",
"birthday": 1484088443,
"company": "Blep Ltd.",
"spouse_or_partner": "Rick Sanchez",
"category_names": "blep1,blep2,blep3",
"groups":[
  "blep1",
  "blep2",
  "blep3"
]
}
POST /api/contacts HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded


moxi_works_agent_id=abc123&partner_contact_id=abc982cdf345&contact_name=Billy+Football&gender=m&label_name=Mr.+and+Mrs.+Oo-De-Lally+Golly+What+a+Day&primary_email_address=johnny%40football.foo&secondary_email_address=fooball%40johnnyshead.lost&primary_phone_number=123123213&secondary_phone_number=2929292922&home_street_address=1234+Winterfell+Way&home_city=Cityville&home_state=Stateland&home_zip=12345&home_country=Westeros&job_title=Junior+Bacon+Burner&occupation=Chef&property_url=http%3A%2F%2Fteh.property.is%2Fhere&property_mls_id=123abc&property_street_address=1234+here+ave.&property_city=anywhereville&property_state=anystate&property_zip=918928&property_beds=21&property_baths=12.75&property_list_price=1231213&property_listing_status=Active&property_photo_url=http%3A%2F%2Fthis.is%2Fthe%2Fphoto.jpg&search_city=searchville&search_state=ofconfusion&search_zip=92882&search_min_beds=12&search_min_baths=4&search_min_price=1234&search_max_price=22324&search_min_sq_ft=1234&search_max_sq_ft=23455&search_min_lot_size=29299&search_max_lot_size=292929&search_min_year_built=1999&search_max_year_built=2004&search_property_types=Condo%2C+Single-Family&note=whatevers2009

/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";


var contact = new Contact;
contact.MoxiWorksAgentId = "1234abcd";
contact.PartnerContactId = "booyuh";
contact.ContactName = "Firstname Middlenyme Larstnam";
contact.Gender = "m";
contact.LabelName = "Mr. and Mrs. Oo-De-Lally Golly What a Day";
contact.PrimaryEmailAddress = "me@justabout.right.here";
contact.SecondaryEmailAddress = "me.too@justabout.right.here";
contact.PrimaryPhoneNumber = "9995551212";
contact.SecondaryPhoneNumber = "(333) 555-1185";
contact.HomeStreetAddress = "1234 Sesame St.";
contact.HomeCity = "Cityville";
contact.HomeState = "Stateland";
contact.HomeZip = "12345-6789";
contact.HomeCountry = "Ottoman Empire";
contact.JobTitle = "Junior Bacon Burner";
contact.Occupation = "chef";
contact.PropertyUrl = "http://my.property.website.is/here";
contact.PropertyMlsId = "abc123";
contact.PropertyStreetAddress = "2345 67th place";
contact.PropertyCity = "Townland";
contact.PropertyState = "Statesville";
contact.PropertyZip = "98765-4321";
contact.PropertyBeds = "18";
contact.PropertyBaths = "12.5";
contact.PropertyListPrice = "123456789";
contact.PropertyListingStatus = "Active";
contact.PropertyPhotoUrl = "http://property.photo.is/here.jpg";
contact.SearchCity = "Searchland";
contact.SearchState = "Searchsylvania";
contact.SearchZip = "12345-6789";
contact.SearchMinBeds = "2";
contact.SearchMinBaths = "3.25";
contact.SearchMinPrice = "1234567";
contact.SearchMaxPrice = "1234569";
contact.SearchMinSqFt = "1234";
contact.SearchMaxSqFt = "1235";
contact.SearchMinLotSize = "3234";
contact.SearchMaxLotSize = "3235";
contact.SearchMinYearBuilt = "1388";
contact.SearchMaxYearBuilt = "2044";
contact.SearchPropertyTypes = "Condo, Single Family, Townhouse";
contact.Note = "whatevers2009";


var service = new ContactService(new MoxiWorksClient());
var results = service.CreateContactAsync(contact: contact).Result;

##### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisites

moxi_works_contact = MoxiworksPlatform::Contact.create(
        moxi_works_agent_id: "1234abcd",
        partner_contact_id: "booyuh",
        contact_name: "Firstname Middlenyme Larstnam",
        gender: "m",
        label_name: "Mr. and Mrs. Oo-De-Lally Golly What a Day",
        primary_email_address: "me@justabout.right.here",
        secondary_email_address: "me.too@justabout.right.here",
        primary_phone_number: "9995551212",
        secondary_phone_number: "(333) 555-1185",
        home_street_address: "1234 Sesame St.",
        home_city: "Cityville",
        home_state: "Stateland",
        home_zip: "12345-6789",
        home_country: "Ottoman Empire",
        job_title: "Junior Bacon Burner",
        occupation: "chef",
        property_url: "http://my.property.website.is/here",
        property_mls_id: "abc123",
        property_street_address: "2345 67th place",
        property_city: "Townland",
        property_state: "Statesville",
        property_zip: "98765-4321",
        property_beds: "18",
        property_baths: "12.5",
        property_list_price: "123456789",
        property_listing_status: "Active",
        property_photo_url: "http://property.photo.is/here.jpg",
        search_city: "Searchland",
        search_state: "Searchsylvania",
        search_zip: "12345-6789",
        search_min_beds: "2",
        search_min_baths: "3.25",
        search_min_price: "1234567",
        search_max_price: "1234569",
        search_min_sq_ft: "1234",
        search_max_sq_ft: "1235",
        search_min_lot_size: "3234",
        search_max_lot_size: "3235",
        search_min_year_built: "1388",
        search_max_year_built: "2044",
        search_property_types: "Condo, Single Family, Townhouse",
        note: "whatevers2009")

<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$moxi_works_contact = MoxiworksPlatform\Contact::create([
        'moxi_works_agent_id' => '1234abcd',
        'partner_contact_id' => 'booyuh',
        'contact_name' => 'Firstname Middlenyme Larstnam',
        'gender' => 'm',
        'label_name' => 'Mr. and Mrs. Oo-De-Lally Golly What a Day',
        'primary_email_address' => 'me@justabout.right.here',
        'secondary_email_address' => 'me.too@justabout.right.here',
        'primary_phone_number' => '9995551212',
        'secondary_phone_number' => '(333) 555-1185',
        'home_street_address' => '1234 Sesame St.',
        'home_city' => 'Cityville',
        'home_state' => 'Stateland',
        'home_zip' => '12345-6789',
        'home_country' => 'Ottoman Empire',
        'job_title' => 'Junior Bacon Burner',
        'occupation' => 'chef',
        'property_url' => 'http://my.property.website.is/here',
        'property_mls_id' => 'abc123',
        'property_street_address' => '2345 67th place',
        'property_city' => 'Townland',
        'property_state' => 'Statesville',
        'property_zip' => '98765-4321',
        'property_beds' => '18',
        'property_baths' => '12.5',
        'property_list_price' => '123456789',
        'property_listing_status' => 'Active',
        'property_photo_url' => 'http://property.photo.is/here.jpg',
        'search_city' => 'Searchland',
        'search_state' => 'Searchsylvania',
        'search_zip' => '12345-6789',
        'search_min_beds' => '2',
        'search_min_baths' => '3.25',
        'search_min_price' => '1234567',
        'search_max_price' => '1234569',
        'search_min_sq_ft' => '1234',
        'search_max_sq_ft' => '1235',
        'search_min_lot_size' => '3234',
        'search_max_lot_size' => '3235',
        'search_min_year_built' => '1388',
        'search_max_year_built' => '2044',
        'search_property_types' => 'Condo, Single Family, Townhouse',
        'note' => 'whatevers2009']);
?>
Contact Create Request Attributes

The agent_uuid or moxi_works_agent_id parameter will determine what Agent entity the Contact record is associated with. For guidance on which Agent identifier better fits your use-case, see Agent Identifiers.

To create a new Contact record for the Agent with agent_uuid 12345678-1234-1234-1234-1234567890ab, you’d pass 12345678-1234-1234-1234-1234567890ab as the agent_uuid parameter and that new Contact record would be added to the agent’s contacts.

To create a new Contact record for the Agent with moxi_works_agent_id agent@moxiworks.com, you’d pass agent@moxiworks.com as the moxi_works_agent_id parameter and that new Contact record would be added to the agent’s contacts.

When creating an Contact using the MoxiWorks platform API, format your request using the following parameters.

Attribute Type Length Limit
agent_uuid* String 255
moxi_works_agent_id* String 255
source_agent_id* String 255
partner_contact_id String 255
contact_name † String 255
primary_email_address † String 255
secondary_email_address † String 255
primary_phone_number † String 255
secondary_phone_number † String 255
moxi_works_company_id String
parent_company_id String 255
moxi_works_lead_source_id String 255
original_lead_source String 255
gender String 255
label_name String 255
home_street_address String 255
home_city String 255
home_state String 255
home_zip String 255
home_country String 255
is_not_lead Boolean 255
skip_agent_notification Boolean 255
job_title String 255
occupation String 255
property_url String 255
property_mls_id String 255
property_street_address String 255
property_city String 255
property_state String 255
property_zip String 255
property_beds Integer 255
property_baths Float 255
property_list_price Integer 255
property_listing_status String 255
property_photo_url String 255
search_city String 255
search_state String 255
search_zip String 255
search_min_baths Float 255
search_min_beds Integer 255
search_min_price Integer 255
search_max_price Integer 255
search_min_sq_ft Integer 255
search_max_sq_ft Integer 255
search_min_lot_size Integer 255
search_max_lot_size Integer 255
search_min_year_built Integer 255
search_max_year_built Integer 255
search_property_types String 255
note String
websites Array
birthday Integer
home_purchase_anniversaries String
company String
spouse_or_partner String
category_names String

Required Parameters Are In Red

† One of these pieces of contact data must be submitted in order to create a contact on the MoxiWorks Platform.

moxi_works_agent_id or agent_uuid or source_agent_id One of these parameters must be supplied Please reference Agent Identifiers for information about how to construct your agent identifier request params.

moxi_works_company_id A valid MoxiWorks Company ID. Use Company Endpoint to determine what moxi_works_company_id you can use.

parent_company_id This is the numeric_id or moxi_works_company_id of a company that is considered to be a parent company in the MoxiWorks Platform. This request attribute has two functions:

1. It provides for a broad scope by which partners may be afforded permissions to perform MoxiWorks Platform actions, in scenarios where a partner does business with a parent company in the MoxiWorks System.
2. It provides broad scope under which agents may be looked up using the source_agent_id request attribute in many scenarios across different MoxiWorks Platform endpoints and actions.

Please note that this attribute cannot be used as a replacement for the moxi_works_company_id request attribute in scenarios where the moxi_works_company_id request attribute is required by the action.

Please note that this attribute cannot be used to broaden scope of any request where the scope of the request is defined by the moxi_works_company_id request attribute.

Please note that when passed in conjunction with the moxi_works_company_id request attribute, the value of moxi_works_company_id request attribute must be the numeric id form.

Any use of this request attribute must be coordinated with MoxiWorks Platform Partner services. Please reach out to partner services for more information.

partner_contact_id This is the unique identifer you use in your system that will be associated with the Contact that you are creating. This data is required and must be a unique ID for your Contact Create request to be accepted.

contact_name This is the full name of the contact you are creating a Contact record for. You should format this information as first middle last.

moxi_works_lead_source_id The Contact will be created in MoxiEngage as a lead sourced from the LeadSource associated with this moxi_works_lead_source_id. Send a LeadSource index request to determine which lead sources your organization has permission to impersonate during lead generation.

original_lead_source This is used to keep track of the original lead source for this Contact record, if different than the lead source associated with the moxi_works_lead_source_id.

gender The gender of the contact. This can be male, female, m or f. No matter what is provided in the request, the response payload will return m or f.

label_name This is the name used to address the contact when creating mailing labels for the contact associated with this Contact record. It should be a human readable string.

primary_email_address This is the email address that should be used first. If provided, the address must conform to RFC 3696.

secondary_email_address This is the email address that should be used as an alternate. If provided, the address must conform to RFC 3696.

primary_phone_number This is the phone number that should be used first. It should be a 10 digit phone number.

secondary_phone_number This is the phone number that should be used as an alternate. It should be a 10 digit phone number.

home_street_address The contact’s home address street, including number and any suite / apartment number information.

home_city The city of the contact’s home address.

home_state The state of the contact’s home address.

home_zip The zip code of the contact’s home address.

home_country The country of the contact’s home address.

is_not_lead If the created Contact record is not for a lead set this to true. By default this is false.

skip_agent_notification If the created Contact record should be treated as a lead but it is not desired that the agent should receive an email or text that they have received a lead.

job_title The contact’s professional job title.

occupation The contact’s profession.

property_url This should be a valid URL for a property of interest in your system that can be viewed by the agent.

property_mls_id Use this if you have data about a property that this contact has shown interest in (property of interest); this should be the MLS ID of the property of interest.

property_street_address Use this if you have data about a property that this contact has shown interest in (property of interest); this should be the street address of the property of interest, including number and suite/apartment number information.

property_city Use this if you have data about a property that this contact has shown interest in (property of interest); this should be the city in which the property of interest exists.

property_state Use this if you have data about a property that this contact has shown interest in (property of interest); this should be the state or province in which the property of interest exists.

property_zip Use this if you have data about a property that this contact has shown interest in (property of interest); this should be the postal code in which the property of interest exists.

property_beds Use this if you have data about a property that this contact has shown interest in (property of interest); this should be the number of bedrooms in the property of interest.

property_baths Use this if you have data about a property that this contact has shown interest in (property of interest); this should be the number of bathrooms in the property of interest.

property_list_price Use this if you have data about a property that this contact has shown interest in (property of interest); this should be the list price of the property of interest.

property_listing_status Use this if you have data about a property that this contact has shown interest in (property of interest); this should be the listing status of the property of interest. This can be any arbitrary string, but for best results, this should be a state like Active, Pending, Sold, Cancelled or any other human readable state that would be useful when presented to the agent.

property_photo_url Use this if you have data about a property that this contact has shown interest in (property of interest); this should be a valid URL to an image of the property of interest.

search_city Use this if you have data about listing searches that this contact has performed; this should be the city / locale used in the listing search criteria.

search_state Use this if you have data about listing searches that this contact has performed; this should be the state / region used in the listing search criteria.

search_zip Use this if you have data about listing searches that this contact has performed; this should be the zip / postal code used in the listing search criteria.

search_min_baths Use this if you have data about listing searches that this contact has performed; this should be the minimum bathrooms used in the listing search criteria.

search_min beds Use this if you have data about listing searches that this contact has performed; this should be the minimum bedrooms used in the listing search criteria.

search_min_price Use this if you have data about listing searches that this contact has performed; this should be the minimum price used in the listing search criteria.

search_max_price Use this if you have data about listing searches that this contact has performed; this should be the maximum price used in the listing search criteria.

search_min_sq_ft Use this if you have data about listing searches that this contact has performed; this should be the minimum square feet of the total living area used in the listing search criteria.

search_max_sq_ft Use this if you have data about listing searches that this contact has performed; this should be the maximum square feet of the total living area used in the listing search criteria.

search_min_lot_size Use this if you have data about listing searches that this contact has performed; this should be the minimum lot size used in the listing search criteria.

search_max_lot_size Use this if you have data about listing searches that this contact has performed; this should be the maximum lot size used in the listing search criteria.

search_min_year_built Use this if you have data about listing searches that this contact has performed; this should be the minimum allowable year built used in the listing search criteria.

search_property_types Use this if you have data about listing searches that this contact has performed; this should be the property types used in the listing search criteria. This can be any arbitrary human readable string, but using recognized property types such as Condo, Single-Family, Townhouse, Land, Multifamily will provide more value to the agent.

note This is an arbitrary string giving the agent more details about the contact which would not otherwise fit into the Contact record. Any HTML formatting included will be stripped from the note attribute’s data.

websites Websites should be submitted as a json array of objects. Each object should include website prioritized ‘rank’ and ‘value’. The number of website fields available for update for a given Contact record depends on the agent email client type.

birthday A unix timestamps representing the birthday for the Contact record.

home_purchase_anniversaries A comma separated list of unix timestamps representing the house-iversary dates for the Contact record.

company The name of the company to be associated with the Contact record.

spouse_or_partner The spouse or partner name to be associated with the Contact record.

category_names A comma separated string of the agent’s mail server categories / groups into which the Contact will be placed. If a supplied group / category name doesn’t already exist for the Agent record, a new category / group will be created and the contact will be added to it.

Contact Create Response Payload

The following attributes make up the payload of the Contact response for a Create request.

Contact Create (using agent_uuid) Response Payload Example
{
  "agent_uuid": "12345678-1234-1234-1234-1234567890ab",
  "partner_contact_id": "booyuh",
  "moxi_works_contact_id":"deadbeef-feed-face-2bad4daddead",
  "moxi_works_lead_source_id": "some_lead_source_id",
  "original_lead_source": "Some Lead Source String",
  "is_deleted": false,
  "contact_name":"Firstname Middlenyme Larstnam",
  "first_name":"Firstname",
  "middle_name":"Middlenyme",
  "last_name":"Larstnam",
  "suffix":null,
  "gender": "m",
  "label_name":"Mr. and Mrs. Oo-De-Lally Golly What a Day",
  "primary_email_address":"primary@email.com",
  "secondary_email_address":"secondary@email.com",
  "primary_phone_number":"3603603608",
  "secondary_phone_number":"3603603609",
  "email_addresses": [
    {
      "key": "email_address1",
      "address": "primary@email.com"
    },
    {
      "key": "email_address2",
      "address": "secondary@email.com"
    },
    {
      "key": "email_address3",
      "address": "also@this.com"
    }
  ],
  "phone_numbers": [
    {
      "key": "mobile_phone",
      "number": "3603603608"
    },
    {
      "key": "home_phone",
      "number": "3603603609"
    },
    {
      "key": "business_phone",
      "number": "3603603610"
    },
  ],
  "home_street_address": "1234 Sesame St.",
  "home_city": "Cityville",
  "home_state": "Stateland",
  "home_zip": "12345-6789",
  "home_country": "Ottoman Empire",
  "job_title": "Junior Bacon Burner",
  "occupation": "chef",
  "is_new_contact": true,
  "birthday": 1496310636,
  "anniversary": 1495199540,
  "home_purchase_anniversary": 1484088442,
  "social_media_profiles": [
    {
  "key": "facebook",
  "url": null
  },
    {
  "key": "linkedin",
  "url": null
  },
    {
  "key": "twitter",
  "url": null
  },
    {
  "key": "googleplus",
  "url": null
  }
  ],
  "property_url": "http://my.property.website.is/here",
  "property_mls_id": "abc123",
  "property_street_address": "2345 67th place",
  "property_city": "Townland",
  "property_state": "Statesville",
  "property_zip": "98765-4321",
  "property_beds": "18",
  "property_baths": "12.5",
  "property_list_price": "123456789",
  "property_listing_status": "Active",
  "property_photo_url": "http://property.photo.is/here.jpg",
  "search_city": "Searchland",
  "search_state": "Searchsylvania",
  "search_zip": "12345-6789",
  "search_min_beds": "2",
  "search_min_baths": "3.25",
  "search_min_price": "1234567",
  "search_max_price": "1234569",
  "search_min_sq_ft": "1234",
  "search_max_sq_ft": "1235",
  "search_min_lot_size": "3234",
  "search_max_lot_size": "3235",
  "search_min_year_built": "1388",
  "search_max_year_built": "2044",
  "search_property_types": "Condo, Single Family, Townhouse",
  "note": "whatevers2009",
  "websites": [
      {
        "rank": 1,
        "key": "website_key_1",
        "value": "https://blep.com"
      },
      {
        "rank": 2,
        "key": "website_key_2",
        "value": "https://blep.com"
      }
    ],
   "home_purchase_anniversaries": [
      1484088442
   ],
   "company": "Blep Ltd.",
   "spouse_or_partner": "Rick Sanchez",
   "category_names": "blep1,blep2,blep3",
   "groups":[
      "blep1",
      "blep2",
      "blep3"
   ]
  }
}
Contact Create (using moxi_works_agent_id) Response Payload Example
{
  "moxi_works_agent_id": "1234abcd",
  "partner_contact_id": "booyuh",
  "moxi_works_contact_id":"deadbeef-feed-face-2bad4daddead",
  "moxi_works_lead_source_id": "some_lead_source_id",
  "original_lead_source": "Some Lead Source String",
  "is_deleted": false,
  "contact_name":"Firstname Middlenyme Larstnam",
  "first_name":"Firstname",
  "middle_name":"Middlenyme",
  "last_name":"Larstnam",
  "suffix":null,
  "gender": "m",
  "label_name":"Mr. and Mrs. Oo-De-Lally Golly What a Day",
  "primary_email_address":"primary@email.com",
  "secondary_email_address":"secondary@email.com",
  "primary_phone_number":"3603603608",
  "secondary_phone_number":"3603603609",
  "email_addresses": [
    {
      "key": "email_address1",
      "address": "primary@email.com"
    },
    {
      "key": "email_address2",
      "address": "secondary@email.com"
    },
    {
      "key": "email_address3",
      "address": "also@this.com"
    }
  ],
  "phone_numbers": [
    {
      "key": "mobile_phone",
      "number": "3603603608"
    },
    {
      "key": "home_phone",
      "number": "3603603609"
    },
    {
      "key": "business_phone",
      "number": "3603603610"
    },
  ],
  "home_street_address": "1234 Sesame St.",
  "home_city": "Cityville",
  "home_state": "Stateland",
  "home_zip": "12345-6789",
  "home_country": "Ottoman Empire",
  "job_title": "Junior Bacon Burner",
  "occupation": "chef",
  "is_new_contact": true,
  "birthday": 1496310636,
  "anniversary": 1495199540,
  "home_purchase_anniversary": 1484088442,
  "social_media_profiles": [
    {
  "key": "facebook",
  "url": null
  },
    {
  "key": "linkedin",
  "url": null
  },
    {
  "key": "twitter",
  "url": null
  },
    {
  "key": "googleplus",
  "url": null
  }
  ],
  "property_url": "http://my.property.website.is/here",
  "property_mls_id": "abc123",
  "property_street_address": "2345 67th place",
  "property_city": "Townland",
  "property_state": "Statesville",
  "property_zip": "98765-4321",
  "property_beds": "18",
  "property_baths": "12.5",
  "property_list_price": "123456789",
  "property_listing_status": "Active",
  "property_photo_url": "http://property.photo.is/here.jpg",
  "search_city": "Searchland",
  "search_state": "Searchsylvania",
  "search_zip": "12345-6789",
  "search_min_beds": "2",
  "search_min_baths": "3.25",
  "search_min_price": "1234567",
  "search_max_price": "1234569",
  "search_min_sq_ft": "1234",
  "search_max_sq_ft": "1235",
  "search_min_lot_size": "3234",
  "search_max_lot_size": "3235",
  "search_min_year_built": "1388",
  "search_max_year_built": "2044",
  "search_property_types": "Condo, Single Family, Townhouse",
  "note": "whatevers2009",
  "websites": [],
   "home_purchase_anniversaries": [],
   "company": null,
   "spouse_or_partner":  null
  }
}
Contact Create Failure Response Example
See Error Handling for details about individual error codes.
{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

Create Response Attributes
Attribute Type
agent_uuid* String
moxi_works_agent_id* String
moxi_works_lead_source_id String
original_lead_source String or null
is_deleted Boolean
partner_contact_id String
moxi_works_contact_id String
contact_name String or null
first_name String or null
middle_name String or null
last_name String or null
suffix String or null
gender String or null
label_name String or null
primary_email_address String or null
secondary_email_address String or null
email_addresses Array
primary_phone_number String or null
secondary_phone_number String or null
phone_numbers Array
home_city String or null
home_state String or null
home_zip String or null
home_country String or null
job_title String or null
occupation String or null
is_new_contact Boolean
birthday Integer or null
anniversary Integer or null
home_purchase_anniversary Integer or null
social_media_profiles Array
property_url String or null
property_mls_id String or null
property_street_address String or null
property_city String or null
property_state String or null
property_zip String or null
property_beds String or null
property_baths String or null
property_list_price String or null
property_listing_status String or null
property_photo_url String or null
search_city String or null
search_state String or null
search_zip String or null
search_min_baths String or null
search_min_beds String or null
search_min_price String or null
search_max_price String or null
search_min_sq_ft String or null
search_max_sq_ft String or null
search_min_lot_size String or null
search_max_lot_size String or null
search_min_year_built String or null
search_max_year_built String or null
search_property_types String or null
note String or null
websites Array
home_purchase_anniversaries Array
company String or null
spouse_or_partner String or null
category_names String or null
groups Array

* Either agent_uuid or moxi_works_agent_id will be returned depending on whether it is used in the request. The response payload object’s agent identifier key will match the passed parameter.

agent_uuid This is the MoxiWorks Platform ID of the Agent which this Contact is associated with. This will be an RFC 4122 compliant UUID.

moxi_works_agent_id This is the MoxiWorks Platform ID of the Agent to whom this Contact is associated. This will be a string that may take the form of an email address, or a unique alphanumeric identification string.

partner_contact_id This is the unique identifer you use in your system that has been associated with the Contact that you are creating.

moxi_works_contact_id This is the MoxiWorks Platform ID of this Contact. This will be an RFC 4122 compliant UUID.

moxi_works_lead_source_id This is the unique MoxiWorks Platform ID of the LeadSource that generated this Contact.

original_lead_source This is used to keep track of the original lead source for this Contact record, if different than the lead source associated with the moxi_works_lead_source_id.

is_deleted Will be true if this Contact has been deleted from the Agents contacts.

contact_name This is the full name of the contact you are creating a Contact record for. You should format this information as first middle last. This value will be null if no data is available for this attribute.

first_name This is the first name of the contact associated with this Contact record. This value will be null if no data is available for this attribute.

middle_name This is the middle name of the contact associated with this Contact record. This value will be null if no data is available for this attribute.

last_name This is the last name of the contact associated with this Contact record. This value will be null if no data is available for this attribute.

suffix This is the generational suffix of the name of the contact associated with this Contact record. This value will be null if no data is available for this attribute. Supported suffixes are II III IV JR JR.. SR SR.

gender The gender of the contact. This can be male, female, m or f. No matter what is provided in the request, the response payload will return m or f. This value will be null if no data is available for this attribute.

label_name This is the name used to address the contact when creating mailing labels for the contact associated with this Contact record. This value will be null if no data is available for this attribute.

primary_email_address This is the email address that should be used first. If provided, the address must conform to RFC 3696. This value will be null if no data is available for this attribute.

secondary_email_address This is the email address that should be used as an alternate. If provided, the address must conform to RFC 3696. This value will be null if no data is available for this attribute.

email_addresses Objects

These email addresses correspond to agent created Contact entities. Only phone fields present in this Contact record will be returned.

Each object in the email_addresses array will have the following structure:

Attribute Type
key String
address String

key The key identifier of the email field. The appropriate email keys are determined by the email server type associated with the Agent. The key identifiers for Agent entities synced to MoxiEngage via a Microsoft Exchange account are: email_address1, email_address2, email_address3. The key identifiers for Agent entities synced to MoxiEngage via a Google account are: home, work, other.

address The email address field value.

primary_phone_number This is the phone number that should be used first. It should be a 10 digit phone number. This attribute should not be used in conjunction with the phone_numbers attribute.

secondary_phone_number This is the phone number that should be used as an alternate. It should be a 10 digit phone number. This attribute should not be used in conjunction with the phone_numbers attribute.

phone_numbers Objects

These phone numbers correspond to agent created Contact entities. Only phone fields present in this Contact record will be returned.

Each object in the phone_numbers array will have the following structure:

Attribute Type
key String
number String

key The key identifier of the phone field. The appropriate phone keys are determined by the email server type associated with the Agent. The key identifiers for Agent entities synced to MoxiEngage via a Microsoft Exchange account are: mobile_phone, home_phone, home_phone2, business_phone, business_phone2, assistant_phone, home_fax, business_fax, car_phone, company_main_phone, other_fax, other_telephone, callback, isdn, pager. The key identifiers for Agent entities synced to MoxiEngage via a Google account are: mobile, home, work, assistant, home_fax, tty_tdd, radio, main, work_fax, car, other, pager, isdn, callback, telex.

number The phone number field value.

home_street_address The contact’s home address street, including number and any suite / apartment number information. This value will be null if no data is available for this attribute.

home_city The city of the contact’s home address. This value will be null if no data is available for this attribute. This value will be null if no data is available for this attribute.

home_state The state of the contact’s home address. This value will be null if no data is available for this attribute.

home_zip The zip code of the contact’s home address. This value will be null if no data is available for this attribute.

home_country The country of the contact’s home address. This value will be null if no data is available for this attribute.

job_title The contact’s professional job title. This value will be null if no data is available for this attribute.

occupation The contact’s profession. This value will be null if no data is available for this attribute.

company The name of the company associated with the contact.

is_new_contact Whether the contact was recently added to the Agent’s database.

birthday Birthday of the contact represented as a Unix Timestamp.

anniversary Wedding anniversary of the contact represented as a Unix Timestamp.

home_purchase_anniversary Anniversary of the contact’s home purchase represented as a Unix Timestamp.

home_purchase_anniversaries A list of Unix Timestamps representing the contact’s home purchase anniversaries.

company The name of the company associated with the contact.

spouse_or_partner The spouse or partner of the contact.

category_names A comma separated list of the agent’s mail server groups / categories to which this contact belongs.

groups An array of the agent’s mail server groups / categories to which this contact belongs.

websites Objects

Each object in the websites array will have the following structure.

Attribute Type
rank Integer
key String
value String

rank The website’s priority in the contact record.

key The key identifier of the website for use in digesting websites added to the contact record via MoxiEngage

key The url of the website.

social_media_profiles Objects

Each object in the social_media_profiles array will have the following structure.

Attribute Type
key String
url String

key The key identifier of the social media url. Defined keys are ‘facebook,’ ‘linkedin,’ ‘twitter,’ and ‘googleplus’

property_url This will be a valid URL for a property of interest in your system that can be viewed by the agent. This value will be null if no data is available for this attribute.

property_mls_id This will be the MLS ID of the property of interest. This value will be null if no data is available for this attribute.

property_street_address This will be the street address of the property of interest, including number and suite/apartment number information. This value will be null if no data is available for this attribute.

property_city This will be the city in which the property of interest exists. This value will be null if no data is available for this attribute.

property_state This will be the state or province in which the property of interest exists. This value will be null if no data is available for this attribute.

property_zip This will be the postal code in which the property of interest exists. This value will be null if no data is available for this attribute.

property_beds This will be the number of bedrooms in the property of interest. This value will be null if no data is available for this attribute.

property_baths This will be the number of bathrooms in the property of interest. This value will be null if no data is available for this attribute.

property_list_price This will be the list price of the property of interest. This value will be null if no data is available for this attribute.

property_listing_status This will be the listing status of the property of interest. This can be any arbitrary string, but for best results, this should be a state like Active, Pending, Sold, Cancelled or any other human readable state that would be useful when presented to the agent. This value will be null if no data is available for this attribute.

property_photo_url This will be a valid URL to an image of the property of interest. This value will be null if no data is available for this attribute.

search_city This will be the city / locale used in the listing search criteria. This value will be null if no data is available for this attribute.

search_state This will be the state / region used in the listing search criteria. This value will be null if no data is available for this attribute.

search_zip This will be the zip / postal code used in the listing search criteria. This value will be null if no data is available for this attribute.

search_min_baths This will be the minimum bathrooms used in the listing search criteria. This value will be null if no data is available for this attribute.

search_min beds This will be the minimum bedrooms used in the listing search criteria. This value will be null if no data is available for this attribute.

search_min_price This will be the minimum price used in the listing search criteria. This value will be null if no data is available for this attribute.

search_max_price This will be the maximum price used in the listing search criteria. This value will be null if no data is available for this attribute.

search_min_sq_ft This will be the minimum square feet of the total living area used in the listing search criteria. This value will be null if no data is available for this attribute.

search_max_sq_ft This will be the maximum square feet of the total living area used in the listing search criteria. This value will be null if no data is available for this attribute.

search_min_lot_size This will be the minimum lot size used in the listing search criteria. This value will be null if no data is available for this attribute.

search_max_lot_size This will be the maximum lot size used in the listing search criteria. This value will be null if no data is available for this attribute.

search_min_year_built This will be the minimum allowable year built used in the listing search criteria. This value will be null if no data is available for this attribute.

search_property_types This will be the property types used in the listing search criteria. This can be any arbitrary human readable string, but using recognized property types such as Condo, Single-Family, Townhouse, Land, Multifamily will provide more value to the agent. This value will be null if no data is available for this attribute.

note This is an arbitrary string giving the agent more details about the contact which would not otherwise fit into the Contact record. Any Notes added here will be displayed to the agent in an Activity Log record. Any HTML formatting included will be stripped from the note attribute’s data. This value will be null if no data is available for this attribute.

Contact Update

Contact Update (using agent_uuid) Example

{
"agent_uuid":"12345678-1234-1234-1234-1234567890ab",
"partner_contact_id":"booyuh",
"contact_name":"Firstname Middlenyme Larstnam",
"gender":"m",
"label_name":"Mr. and Mrs. Oo-De-Lally Golly What a Day",
"primary_email_address":"primary@email.com",
"secondary_email_address":"secondary@email.com",
"primary_phone_number":"3603603608",
"secondary_phone_number":"3603603609",
"home_street_address":"1234 Sesame St.",
"home_city":"Cityville",
"home_state":"Stateland",
"home_zip":"12345-6789",
"home_country":"Ottoman Empire",
"job_title":"Junior Bacon Burner",
"occupation":"chef",
"property_url":"http://my.property.website.is/here",
"property_mls_id":"abc123",
"property_street_address":"2345 67th place",
"property_city":"Townland",
"property_state":"Statesville",
"property_zip":"98765-4321",
"property_beds":"18",
"property_baths":"12.5",
"property_list_price":"123456789",
"property_listing_status":"Active",
"property_photo_url":"http://property.photo.is/here.jpg",
"search_city":"Searchland",
"search_state":"Searchsylvania",
"search_zip":"12345-6789",
"search_min_beds":"2",
"search_min_baths":"3.25",
"search_min_price":"1234567",
"search_max_price":"1234569",
"search_min_sq_ft":"1234",
"search_max_sq_ft":"1235",
"search_min_lot_size":"3234",
"search_max_lot_size":"3235",
"search_min_year_built":"1388",
"search_max_year_built":"2044",
"search_property_types":"Condo, Single Family, Townhouse",
"note":"whatevers2009",
"websites": [
      {
        "rank": 1,
        "value": "https://blep.com"
      },
      {
        "rank": 2,
        "value": "https://blep.com"
      }
    ],
"home_purchase_anniversaries": "1484088442,1484088443",
"birthday": 1484088443,
"company": "Blep Ltd.",
"spouse_or_partner": "Rick Sanchez",
"category_names": "blep1,blep2,blep3",
"groups":[
  "blep1",
  "blep2",
  "blep3"
]
}
PUT /api/contacts/[partner_contact_id] HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded


agent_uuid=12345678-1234-1234-1234-1234567890ab&partner_contact_id=abc982cdf345&contact_name=Billy+Football&gender=m&label_name=Mr.+and+Mrs.Oo-De-Lally+Golly+What+a+Day&primary_email_address=johnny%40football.foo&secondary_email_address=fooball%40johnnyshead.lost&primary_phone_number=123123213&secondary_phone_number=2929292922&home_street_address=1234+Winterfell+Way&home_city=Cityville&home_state=Stateland&home_zip=12345&home_country=Westeros&job_title=Junior+Bacon+Burner&occupation=Chef&property_url=http%3A%2F%2Fteh.property.is%2Fhere&property_mls_id=123abc&property_street_address=1234+here+ave.&property_city=anywhereville&property_state=anystate&property_zip=918928&property_beds=21&property_baths=12.75&property_list_price=1231213&property_listing_status=Active&property_photo_url=http%3A%2F%2Fthis.is%2Fthe%2Fphoto.jpg&search_city=searchville&search_state=ofconfusion&search_zip=92882&search_min_beds=12&search_min_baths=4&search_min_price=1234&search_max_price=22324&search_min_sq_ft=1234&search_max_sq_ft=23455&search_min_lot_size=29299&search_max_lot_size=292929&search_min_year_built=1999&search_max_year_built=2004&search_property_types=Condo%2C+Single-Family&note=whatevers2009

/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";

var agentUuid = "12345678-1234-1234-1234-1234567890ab";

var service = new ContactService(new MoxiWorksClient());
var result = service.GetContactAsync(agentUuid, AgentIdType.AgentUuid, "booyuh").Result;
var contact = result.Item
contact.ContactName = "Firstname Middlenyme Larstnam";
contact.Gender = "m";
contact.LabelName = "Mr. and Mrs. Oo-De-Lally Golly What a Day";
contact.PrimaryEmailAddress = "me@justabout.right.here";
contact.SecondaryEmailAddress = "me.too@justabout.right.here";
contact.PrimaryPhoneNumber = "9995551212";
contact.SecondaryPhoneNumber = "(333) 555-1185";
contact.HomeStreetAddress = "1234 Sesame St.";
contact.HomeCity = "Cityville";
contact.HomeState = "Stateland";
contact.HomeZip = "12345-6789";
contact.HomeCountry = "Ottoman Empire";
contact.JobTitle = "Junior Bacon Burner";
contact.Occupation = "chef";
contact.PropertyUrl = "http://my.property.website.is/here";
contact.PropertyMlsId = "abc123";
contact.PropertyStreetAddress = "2345 67th place";
contact.PropertyCity = "Townland";
contact.PropertyState = "Statesville";
contact.PropertyZip = "98765-4321";
contact.PropertyBeds = "18";
contact.PropertyBaths = "12.5";
contact.PropertyListPrice = "123456789";
contact.PropertyListingStatus = "Active";
contact.PropertyPhotoUrl = "http://property.photo.is/here.jpg";
contact.SearchCity = "Searchland";
contact.SearchState = "Searchsylvania";
contact.SearchZip = "12345-6789";
contact.SearchMinBeds = "2";
contact.SearchMinBaths = "3.25";
contact.SearchMinPrice = "1234567";
contact.SearchMaxPrice = "1234569";
contact.SearchMinSqFt = "1234";
contact.SearchMaxSqFt = "1235";
contact.SearchMinLotSize = "3234";
contact.SearchMaxLotSize = "3235";
contact.SearchMinYearBuilt = "1388";
contact.SearchMaxYearBuilt = "2044";
contact.SearchPropertyTypes = "Condo, Single Family, Townhouse";
contact.Note = "whatevers2009";


var results = service.UpdateContactAsync(contact).Result;

##### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisites

moxi_works_contact = MoxiworksPlatform::Contact.update(
        agent_uuid: "12345678-1234-1234-1234-1234567890ab",
        partner_contact_id: "booyuh",
        contact_name: "Firstname Middlenyme Larstnam",
        gender: "m",
        label_name: "Mr. and Mrs. Oo-De-Lally Golly What a Day",
        primary_email_address: "me@justabout.right.here",
        secondary_email_address: "me.too@justabout.right.here",
        primary_phone_number: "9995551212",
        secondary_phone_number: "(333) 555-1185",
        home_street_address: "1234 Sesame St.",
        home_city: "Cityville",
        home_state: "Stateland",
        home_zip: "12345-6789",
        home_country: "Ottoman Empire",
        job_title: "Junior Bacon Burner",
        occupation: "chef",
        property_url: "http://my.property.website.is/here",
        property_mls_id: "abc123",
        property_street_address: "2345 67th place",
        property_city: "Townland",
        property_state: "Statesville",
        property_zip: "98765-4321",
        property_beds: "18",
        property_baths: "12.5",
        property_list_price: "123456789",
        property_listing_status: "Active",
        property_photo_url: "http://property.photo.is/here.jpg",
        search_city: "Searchland",
        search_state: "Searchsylvania",
        search_zip: "12345-6789",
        search_min_beds: "2",
        search_min_baths: "3.25",
        search_min_price: "1234567",
        search_max_price: "1234569",
        search_min_sq_ft: "1234",
        search_max_sq_ft: "1235",
        search_min_lot_size: "3234",
        search_max_lot_size: "3235",
        search_min_year_built: "1388",
        search_max_year_built: "2044",
        search_property_types: "Condo, Single Family, Townhouse",
        note: "whatevers2009")

<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$moxi_works_contact = 12345678-1234-1234-1234-1234567890ab\Contact::update([
        'agent_uuid'  => '1234abcd',
        'partner_contact_id'  => 'booyuh',
        'contact_name'  => 'Firstname Middlenyme Larstnam',
        'gender'  => 'm',
        'label_name' => 'Mr. and Mrs. Oo-De-Lally Golly What a Day',
        'primary_email_address'  => 'me@justabout.right.here',
        'secondary_email_address'  => 'me.too@justabout.right.here',
        'primary_phone_number'  => '9995551212',
        'secondary_phone_number'  => '(333) 555-1185',
        'home_street_address'  => '1234 Sesame St.',
        'home_city'  => 'Cityville',
        'home_state'  => 'Stateland',
        'home_zip'  => '12345-6789',
        'home_country'  => 'Ottoman Empire',
        'job_title'  => 'Junior Bacon Burner',
        'occupation'  => 'chef',
        'property_url'  => 'http://my.property.website.is/here',
        'property_mls_id'  => 'abc123',
        'property_street_address'  => '2345 67th place',
        'property_city'  => 'Townland',
        'property_state'  => 'Statesville',
        'property_zip'  => '98765-4321',
        'property_beds'  => '18',
        'property_baths'  => '12.5',
        'property_list_price'  => '123456789',
        'property_listing_status'  => 'Active',
        'property_photo_url'  => 'http://property.photo.is/here.jpg',
        'search_city'  => 'Searchland',
        'search_state'  => 'Searchsylvania',
        'search_zip'  => '12345-6789',
        'search_min_beds'  => '2',
        'search_min_baths'  => '3.25',
        'search_min_price'  => '1234567',
        'search_max_price'  => '1234569',
        'search_min_sq_ft'  => '1234',
        'search_max_sq_ft'  => '1235',
        'search_min_lot_size'  => '3234',
        'search_max_lot_size'  => '3235',
        'search_min_year_built'  => '1388',
        'search_max_year_built'  => '2044',
        'search_property_types'  => 'Condo, Single Family, Townhouse',
        'note'  => 'whatevers2009']);
?>

Contact Update (using moxi_works_agent_id) Example

{
"moxi_works_agent_id":"1234abcd",
"partner_contact_id":"booyuh",
"contact_name":"Firstname Middlenyme Larstnam",
"gender":"m",
"label_name":"Mr. and Mrs. Oo-De-Lally Golly What a Day",
"primary_email_address":"primary@email.com",
"secondary_email_address":"secondary@email.com",
"primary_phone_number":"3603603608",
"secondary_phone_number":"3603603609",
"home_street_address":"1234 Sesame St.",
"home_city":"Cityville",
"home_state":"Stateland",
"home_zip":"12345-6789",
"home_country":"Ottoman Empire",
"job_title":"Junior Bacon Burner",
"occupation":"chef",
"property_url":"http://my.property.website.is/here",
"property_mls_id":"abc123",
"property_street_address":"2345 67th place",
"property_city":"Townland",
"property_state":"Statesville",
"property_zip":"98765-4321",
"property_beds":"18",
"property_baths":"12.5",
"property_list_price":"123456789",
"property_listing_status":"Active",
"property_photo_url":"http://property.photo.is/here.jpg",
"search_city":"Searchland",
"search_state":"Searchsylvania",
"search_zip":"12345-6789",
"search_min_beds":"2",
"search_min_baths":"3.25",
"search_min_price":"1234567",
"search_max_price":"1234569",
"search_min_sq_ft":"1234",
"search_max_sq_ft":"1235",
"search_min_lot_size":"3234",
"search_max_lot_size":"3235",
"search_min_year_built":"1388",
"search_max_year_built":"2044",
"search_property_types":"Condo, Single Family, Townhouse",
"note":"whatevers2009",
"websites": [
      {
        "rank": 1,
        "value": "https://blep.com"
      },
      {
        "rank": 2,
        "value": "https://blep.com"
      }
    ],
"home_purchase_anniversaries": "1484088442,1484088443",
"birthday": 1484088443,
"company": "Blep Ltd.",
"spouse_or_partner": "Rick Sanchez",
"category_names": "blep1,blep2,blep3",
"groups":[
  "blep1",
  "blep2",
  "blep3"
]
}
PUT /api/contacts/[partner_contact_id] HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded


moxi_works_agent_id=abc123&partner_contact_id=abc982cdf345&contact_name=Billy+Football&gender=m&label_name=Mr.+and+Mrs.+Oo-De-Lally+Golly+What+a+Day&primary_email_address=johnny%40football.foo&secondary_email_address=fooball%40johnnyshead.lost&primary_phone_number=123123213&secondary_phone_number=2929292922&home_street_address=1234+Winterfell+Way&home_city=Cityville&home_state=Stateland&home_zip=12345&home_country=Westeros&job_title=Junior+Bacon+Burner&occupation=Chef&property_url=http%3A%2F%2Fteh.property.is%2Fhere&property_mls_id=123abc&property_street_address=1234+here+ave.&property_city=anywhereville&property_state=anystate&property_zip=918928&property_beds=21&property_baths=12.75&property_list_price=1231213&property_listing_status=Active&property_photo_url=http%3A%2F%2Fthis.is%2Fthe%2Fphoto.jpg&search_city=searchville&search_state=ofconfusion&search_zip=92882&search_min_beds=12&search_min_baths=4&search_min_price=1234&search_max_price=22324&search_min_sq_ft=1234&search_max_sq_ft=23455&search_min_lot_size=29299&search_max_lot_size=292929&search_min_year_built=1999&search_max_year_built=2004&search_property_types=Condo%2C+Single-Family&note=whatevers2009

/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";

var moxiWorksAgentId = "1234abcd";

var service = new ContactService(new MoxiWorksClient());
var result = service.GetContactAsync( moxiWorksAgentId,  AgentIdType.MoxiWorksAgentId,  "booyuh").Result;
var contact = result.Item 

contact.ContactName = "Firstname Middlenyme Larstnam";
contact.Gender = "m";
contact.Gender = "Mr. and Mrs. Oo-De-Lally Golly What a Day",
contact.PrimaryEmailAddress = "me@justabout.right.here";
contact.SecondaryEmailAddress = "me.too@justabout.right.here";
contact.PrimaryPhoneNumber = "9995551212";
contact.SecondaryPhoneNumber = "(333) 555-1185";
contact.HomeStreetAddress = "1234 Sesame St.";
contact.HomeCity = "Cityville";
contact.HomeState = "Stateland";
contact.HomeZip = "12345-6789";
contact.HomeCountry = "Ottoman Empire";
contact.JobTitle = "Junior Bacon Burner";
contact.Occupation = "chef";
contact.PropertyUrl = "http://my.property.website.is/here";
contact.PropertyMlsId = "abc123";
contact.PropertyStreetAddress = "2345 67th place";
contact.PropertyCity = "Townland";
contact.PropertyState = "Statesville";
contact.PropertyZip = "98765-4321";
contact.PropertyBeds = "18";
contact.PropertyBaths = "12.5";
contact.PropertyListPrice = "123456789";
contact.PropertyListingStatus = "Active";
contact.PropertyPhotoUrl = "http://property.photo.is/here.jpg";
contact.SearchCity = "Searchland";
contact.SearchState = "Searchsylvania";
contact.SearchZip = "12345-6789";
contact.SearchMinBeds = "2";
contact.SearchMinBaths = "3.25";
contact.SearchMinPrice = "1234567";
contact.SearchMaxPrice = "1234569";
contact.SearchMinSqFt = "1234";
contact.SearchMaxSqFt = "1235";
contact.SearchMinLotSize = "3234";
contact.SearchMaxLotSize = "3235";
contact.SearchMinYearBuilt = "1388";
contact.SearchMaxYearBuilt = "2044";
contact.SearchPropertyTypes = "Condo, Single Family, Townhouse";
contact.Note = "whatevers2009";


var results = service.UpdateContactAsync(contact: contact).Result;

##### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisites

moxi_works_contact = MoxiworksPlatform::Contact.update(
        moxi_works_agent_id: "1234abcd",
        partner_contact_id: "booyuh",
        contact_name: "Firstname Middlenyme Larstnam",
        gender: "m",
        label_name: "Mr. and Mrs. Oo-De-Lally Golly What a Day",
        primary_email_address: "me@justabout.right.here",
        secondary_email_address: "me.too@justabout.right.here",
        primary_phone_number: "9995551212",
        secondary_phone_number: "(333) 555-1185",
        home_street_address: "1234 Sesame St.",
        home_city: "Cityville",
        home_state: "Stateland",
        home_zip: "12345-6789",
        home_country: "Ottoman Empire",
        job_title: "Junior Bacon Burner",
        occupation: "chef",
        property_url: "http://my.property.website.is/here",
        property_mls_id: "abc123",
        property_street_address: "2345 67th place",
        property_city: "Townland",
        property_state: "Statesville",
        property_zip: "98765-4321",
        property_beds: "18",
        property_baths: "12.5",
        property_list_price: "123456789",
        property_listing_status: "Active",
        property_photo_url: "http://property.photo.is/here.jpg",
        search_city: "Searchland",
        search_state: "Searchsylvania",
        search_zip: "12345-6789",
        search_min_beds: "2",
        search_min_baths: "3.25",
        search_min_price: "1234567",
        search_max_price: "1234569",
        search_min_sq_ft: "1234",
        search_max_sq_ft: "1235",
        search_min_lot_size: "3234",
        search_max_lot_size: "3235",
        search_min_year_built: "1388",
        search_max_year_built: "2044",
        search_property_types: "Condo, Single Family, Townhouse",
        note: "whatevers2009")

<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$moxi_works_contact = MoxiworksPlatform\Contact::update([
        'moxi_works_agent_id'  => '1234abcd',
        'partner_contact_id'  => 'booyuh',
        'contact_name'  => 'Firstname Middlenyme Larstnam',
        'gender'  => 'm',
        'label_name' => 'Mr. and Mrs. Oo-De-Lally Golly What a Day',
        'primary_email_address'  => 'me@justabout.right.here',
        'secondary_email_address'  => 'me.too@justabout.right.here',
        'primary_phone_number'  => '9995551212',
        'secondary_phone_number'  => '(333) 555-1185',
        'home_street_address'  => '1234 Sesame St.',
        'home_city'  => 'Cityville',
        'home_state'  => 'Stateland',
        'home_zip'  => '12345-6789',
        'home_country'  => 'Ottoman Empire',
        'job_title'  => 'Junior Bacon Burner',
        'occupation'  => 'chef',
        'property_url'  => 'http://my.property.website.is/here',
        'property_mls_id'  => 'abc123',
        'property_street_address'  => '2345 67th place',
        'property_city'  => 'Townland',
        'property_state'  => 'Statesville',
        'property_zip'  => '98765-4321',
        'property_beds'  => '18',
        'property_baths'  => '12.5',
        'property_list_price'  => '123456789',
        'property_listing_status'  => 'Active',
        'property_photo_url'  => 'http://property.photo.is/here.jpg',
        'search_city'  => 'Searchland',
        'search_state'  => 'Searchsylvania',
        'search_zip'  => '12345-6789',
        'search_min_beds'  => '2',
        'search_min_baths'  => '3.25',
        'search_min_price'  => '1234567',
        'search_max_price'  => '1234569',
        'search_min_sq_ft'  => '1234',
        'search_max_sq_ft'  => '1235',
        'search_min_lot_size'  => '3234',
        'search_max_lot_size'  => '3235',
        'search_min_year_built'  => '1388',
        'search_max_year_built'  => '2044',
        'search_property_types'  => 'Condo, Single Family, Townhouse',
        'note'  => 'whatevers2009']);
?>
Contact Update Request Attributes

When updating an Contact using the MoxiWorks platform API, format your request using the following parameters.

Attribute Type Length Limit
agent_uuid* String 255
moxi_works_agent_id* String 255
source_agent_id* String 255
partner_contact_id String 255
moxi_works_company_id String
parent_company_id String 255
contact_name String 255
gender String 255
label_name String 255
primary_email_address String 255
secondary_email_address String 255
primary_phone_number String 255
secondary_phone_number String 255
home_street_address String 255
home_city String 255
home_state String 255
home_zip String 255
home_country String 255
job_title String 255
occupation String 255
property_url String 255
property_mls_id String 255
property_street_address String 255
property_city String 255
property_state String 255
property_zip String 255
property_beds Integer 255
property_baths Float 255
property_list_price Integer 255
property_listing_status String 255
property_photo_url String 255
search_city String 255
search_state String 255
search_zip String 255
search_min_baths Float 255
search_min_beds Integer 255
search_min_price Integer 255
search_max_price Integer 255
search_min_sq_ft Integer 255
search_max_sq_ft Integer 255
search_min_lot_size Integer 255
search_max_lot_size Integer 255
search_min_year_built Integer 255
search_max_year_built Integer 255
search_property_types String 255
note String
websites Array
birthday Integer
home_purchase_anniversaries String
company String
spouse_or_partner String
category_names String

Required Parameters Are In Red

moxi_works_agent_id or agent_uuid or source_agent_id One of these parameters must be supplied Please reference Agent Identifiers for information about how to construct your agent identifier request params.

moxi_works_company_id A valid MoxiWorks Company ID. Use Company Endpoint to determine what moxi_works_company_id you can use.

parent_company_id This is the numeric_id or moxi_works_company_id of a company that is considered to be a parent company in the MoxiWorks Platform. This request attribute has two functions:

1. It provides for a broad scope by which partners may be afforded permissions to perform MoxiWorks Platform actions, in scenarios where a partner does business with a parent company in the MoxiWorks System.
2. It provides broad scope under which agents may be looked up using the source_agent_id request attribute in many scenarios across different MoxiWorks Platform endpoints and actions.

Please note that this attribute cannot be used as a replacement for the moxi_works_company_id request attribute in scenarios where the moxi_works_company_id request attribute is required by the action.

Please note that this attribute cannot be used to broaden scope of any request where the scope of the request is defined by the moxi_works_company_id request attribute.

Please note that when passed in conjunction with the moxi_works_company_id request attribute, the value of moxi_works_company_id request attribute must be the numeric id form.

Any use of this request attribute must be coordinated with MoxiWorks Platform Partner services. Please reach out to partner services for more information.

partner_contact_id This is the unique identifer you use in your system that has been associated with the Contact that you are creating.

contact_name This is the full name of the contact you are creating a Contact record for. You should format this information as first middle last.

gender The gender of the contact. This can be male, female, m or f. No matter what is provided in the request, the response payload will return m or f.

label_name This is the name used to address the contact when creating mailing labels for the contact associated with this Contact record. It should be a human readable string.

primary_email_address This is the email address that should be used first. If provided, the address must conform to RFC 3696. This attribute should not be used in conjunction with the email_addresses attribute.

secondary_email_address This is the email address that should be used as an alternate. If provided, the address must conform to RFC 3696. This attribute should not be used in conjunction with the email_addresses attribute.

primary_phone_number This is the phone number that should be used first. It should be a 10 digit phone number. This attribute should not be used in conjunction with the phone_numbers attribute.

secondary_phone_number This is the phone number that should be used as an alternate. It should be a 10 digit phone number. This attribute should not be used in conjunction with the phone_numbers attribute.

home_street_address The contact’s home address street, including number and any suite / apartment number information.

home_city The city of the contact’s home address.

home_state The state of the contact’s home address.

home_zip The zip code of the contact’s home address.

home_country The country of the contact’s home address.

job_title The contact’s professional job title.

occupation The contact’s profession.

property_url This should be a valid URL for a property of interest in your system that can be viewed by the agent.

property_mls_id Use this if you have data about a property that this contact has shown interest in (property of interest); this should be the MLS ID of the property of interest.

property_street_address Use this if you have data about a property that this contact has shown interest in (property of interest); this should be the street address of the property of interest, including number and suite/apartment number information.

property_city Use this if you have data about a property that this contact has shown interest in (property of interest); this should be the city in which the property of interest exists.

property_state Use this if you have data about a property that this contact has shown interest in (property of interest); this should be the state or province in which the property of interest exists.

property_zip Use this if you have data about a property that this contact has shown interest in (property of interest); this should be the postal code in which the property of interest exists.

property_beds Use this if you have data about a property that this contact has shown interest in (property of interest); this should be the number of bedrooms in the property of interest.

property_baths Use this if you have data about a property that this contact has shown interest in (property of interest); this should be the number of bathrooms in the property of interest.

property_list_price Use this if you have data about a property that this contact has shown interest in (property of interest); this should be the list price of the property of interest.

property_listing_status Use this if you have data about a property that this contact has shown interest in (property of interest); this should be the listing status of the property of interest. This can be any arbitrary string, but for best results, this should be a state like Active, Pending, Sold, Cancelled or any other human readable state that would be useful when presented to the agent.

property_photo_url Use this if you have data about a property that this contact has shown interest in (property of interest); this should be a valid URL to an image of the property of interest.

search_city Use this if you have data about listing searches that this contact has performed; this should be the city / locale used in the listing search criteria.

search_state Use this if you have data about listing searches that this contact has performed; this should be the state / region used in the listing search criteria.

search_zip Use this if you have data about listing searches that this contact has performed; this should be the zip / postal code used in the listing search criteria.

search_min_baths Use this if you have data about listing searches that this contact has performed; this should be the minimum bathrooms used in the listing search criteria.

search_min beds Use this if you have data about listing searches that this contact has performed; this should be the minimum bedrooms used in the listing search criteria.

search_min_price Use this if you have data about listing searches that this contact has performed; this should be the minimum price used in the listing search criteria.

search_max_price Use this if you have data about listing searches that this contact has performed; this should be the maximum price used in the listing search criteria.

search_min_sq_ft Use this if you have data about listing searches that this contact has performed; this should be the minimum square feet of the total living area used in the listing search criteria.

search_max_sq_ft Use this if you have data about listing searches that this contact has performed; this should be the maximum square feet of the total living area used in the listing search criteria.

search_min_lot_size Use this if you have data about listing searches that this contact has performed; this should be the minimum lot size used in the listing search criteria.

search_max_lot_size Use this if you have data about listing searches that this contact has performed; this should be the maximum lot size used in the listing search criteria.

search_min_year_built Use this if you have data about listing searches that this contact has performed; this should be the minimum allowable year built used in the listing search criteria.

search_property_types Use this if you have data about listing searches that this contact has performed; this should be the property types used in the listing search criteria. This can be any arbitrary human readable string, but using recognized property types such as Condo, Single-Family, Townhouse, Land, Multifamily will provide more value to the agent.

note This is an arbitrary string giving the agent more details about the contact which would not otherwise fit into the Contact record. Any Notes added here will be displayed to the agent in an Activity Log record. Any HTML formatting included will be stripped from the note attribute’s data.

websites Websites should be submitted as a json array of objects. Each object should include website prioritized ‘rank’ and ‘value’. The number of website fields available for update for a given Contact record depends on the agent email client type.

birthday A unix timestamps representing the birthday for the Contact record.

home_purchase_anniversaries A comma separated list of unix timestamps representing the house-iversary dates for the Contact record.

company The name of the company to be associated with the Contact record.

spouse_or_partner The spouse or partner name to be associated with the Contact record.

category_names A comma separated string of the agent’s mail server categories / groups into which the Contact will be placed. If a supplied group / category name doesn’t already exist for the Agent record, a new category / group will be created and the contact will be added to it.

Contact Update Response Payload

The following attributes make up the payload of the Contact response for a Update request.

Contact Update (using agent_uuid) Response Payload Example
{
  "agent_uuid": "12345678-1234-1234-1234-1234567890ab",
  "partner_contact_id": "booyuh",
  "moxi_works_contact_id":"deadbeef-feed-face-bad4dad22dead",
  "moxi_works_lead_source_id": "some_lead_source_id",
  "moxi_works_origin_lead_source_id": "some_other_lead_source_id",
  "is_deleted": false,
  "contact_name":"Firstname Middlenyme Larstnam",
  "first_name":"Firstname",
  "middle_name":"Middlenyme",
  "last_name":"Larstnam",
  "suffix":null,
  "gender": "m",
  "label_name": "Mr. and Mrs. Oo-De-Lally Golly What a Day",
  "primary_email_address":"primary@email.com",
  "secondary_email_address":"secondary@email.com",
  "primary_phone_number":"3603603608",
  "secondary_phone_number":"3603603609",
  "email_addresses": [
    {
      "key": "email_address1",
      "address": "primary@email.com"
    },
    {
      "key": "email_address2",
      "address": "secondary@email.com"
    },
    {
      "key": "email_address3",
      "address": "also@this.com"
    }
  ],
  "phone_numbers": [
    {
      "key": "mobile_phone",
      "number": "3603603608"
    },
    {
      "key": "home_phone",
      "number": "3603603609"
    },
    {
      "key": "business_phone",
      "number": "3603603610"
    },
  ],
  "home_street_address": "1234 Sesame St.",
  "home_city": "Cityville",
  "home_state": "Stateland",
  "home_zip": "12345-6789",
  "home_country": "Ottoman Empire",
  "job_title": "Junior Bacon Burner",
  "occupation": "chef",
  "is_new_contact": true,
  "birthday": 1496310636,
  "anniversary": 1495199540,
  "home_purchase_anniversary": 1484088442,
  "social_media_profiles": [
    {
  "key": "facebook",
  "url": null
  },
    {
  "key": "linkedin",
  "url": null
  },
    {
  "key": "twitter",
  "url": null
  },
    {
  "key": "googleplus",
  "url": null
  }
  ],
  "property_url": "http://my.property.website.is/here",
  "property_mls_id": "abc123",
  "property_street_address": "2345 67th place",
  "property_city": "Townland",
  "property_state": "Statesville",
  "property_zip": "98765-4321",
  "property_beds": "18",
  "property_baths": "12.5",
  "property_list_price": "123456789",
  "property_listing_status": "Active",
  "property_photo_url": "http://property.photo.is/here.jpg",
  "search_city": "Searchland",
  "search_state": "Searchsylvania",
  "search_zip": "12345-6789",
  "search_min_beds": "2",
  "search_min_baths": "3.25",
  "search_min_price": "1234567",
  "search_max_price": "1234569",
  "search_min_sq_ft": "1234",
  "search_max_sq_ft": "1235",
  "search_min_lot_size": "3234",
  "search_max_lot_size": "3235",
  "search_min_year_built": "1388",
  "search_max_year_built": "2044",
  "search_property_types": "Condo, Single Family, Townhouse",
  "note": "whatevers2009",
  "websites": [
      {
        "rank": 1,
        "key": "website_key_1",
        "value": "https://blep.com"
      },
      {
        "rank": 2,
        "key": "website_key_2",
        "value": "https://blep.com"
      }
    ],
  "home_purchase_anniversaries": [
      1484088442
   ],
  "company": "Blep Ltd.",
  "spouse_or_partner": "Rick Sanchez",
  "category_names": "blep1,blep2,blep3",
  "groups":[
     "blep1",
     "blep2",
     "blep3"
  ]
}
Contact Update (using moxi_works_agent_id) Response Payload Example
{
  "moxi_works_agent_id": "1234abcd",
  "partner_contact_id": "booyuh",
  "moxi_works_contact_id":"deadbeef-feed-face-bad4dad22dead",
  "moxi_works_lead_source_id": "some_lead_source_id",
  "moxi_works_origin_lead_source_id": "some_other_lead_source_id",
  "is_deleted": false,
  "contact_name":"Firstname Middlenyme Larstnam",
  "first_name":"Firstname",
  "middle_name":"Middlenyme",
  "last_name":"Larstnam",
  "suffix":null,
  "gender": "m",
  "label_name": "Mr. and Mrs. Oo-De-Lally Golly What a Day",
  "primary_email_address":"primary@email.com",
  "secondary_email_address":"secondary@email.com",
  "primary_phone_number":"3603603608",
  "secondary_phone_number":"3603603609",
  "email_addresses": [
    {
      "key": "email_address1",
      "address": "primary@email.com"
    },
    {
      "key": "email_address2",
      "address": "secondary@email.com"
    },
    {
      "key": "email_address3",
      "address": "also@this.com"
    }
  ],
  "phone_numbers": [
    {
      "key": "mobile_phone",
      "number": "3603603608"
    },
    {
      "key": "home_phone",
      "number": "3603603609"
    },
    {
      "key": "business_phone",
      "number": "3603603610"
    },
  ],
  "home_street_address": "1234 Sesame St.",
  "home_city": "Cityville",
  "home_state": "Stateland",
  "home_zip": "12345-6789",
  "home_country": "Ottoman Empire",
  "job_title": "Junior Bacon Burner",
  "occupation": "chef",
  "is_new_contact": true,
  "birthday": 1496310636,
  "anniversary": 1495199540,
  "home_purchase_anniversary": 1484088442,
  "social_media_profiles": [
    {
  "key": "facebook",
  "url": null
  },
    {
  "key": "linkedin",
  "url": null
  },
    {
  "key": "twitter",
  "url": null
  },
    {
  "key": "googleplus",
  "url": null
  }
  ],
  "property_url": "http://my.property.website.is/here",
  "property_mls_id": "abc123",
  "property_street_address": "2345 67th place",
  "property_city": "Townland",
  "property_state": "Statesville",
  "property_zip": "98765-4321",
  "property_beds": "18",
  "property_baths": "12.5",
  "property_list_price": "123456789",
  "property_listing_status": "Active",
  "property_photo_url": "http://property.photo.is/here.jpg",
  "search_city": "Searchland",
  "search_state": "Searchsylvania",
  "search_zip": "12345-6789",
  "search_min_beds": "2",
  "search_min_baths": "3.25",
  "search_min_price": "1234567",
  "search_max_price": "1234569",
  "search_min_sq_ft": "1234",
  "search_max_sq_ft": "1235",
  "search_min_lot_size": "3234",
  "search_max_lot_size": "3235",
  "search_min_year_built": "1388",
  "search_max_year_built": "2044",
  "search_property_types": "Condo, Single Family, Townhouse",
  "note": "whatevers2009",
  "websites": [],
  "home_purchase_anniversaries": [],
  "company": null,
  "spouse_or_partner": null,
  "category_names": "blep1,blep2,blep3",
  "groups":[
     "blep1",
     "blep2",
     "blep3"
  ]
}
Contact Update Failure Response Example
See Error Handling for details about individual error codes.
{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

Update Response Attributes
Attribute Type
agent_uuid* String
moxi_works_agent_id* String
partner_contact_id String
moxi_works_contact_id String
moxi_works_lead_source_id String
moxi_works_origin_lead_source_id String
is_deleted Boolean
contact_name String or null
first_name String or null
middle_name String or null
last_name String or null
suffix String or null
gender String or null
label_name String or null
primary_email_address String or null
secondary_email_address String or null
email_addresses Array
primary_phone_number String or null
secondary_phone_number String or null
phone_numbers Array
home_street_address String or null
home_city String or null
home_state String or null
home_zip String or null
home_country String or null
job_title String or null
occupation String or null
is_new_contact Boolean
birthday Integer or null
anniversary Integer or null
home_purchase_anniversary Integer or null
social_media_profiles Array
property_url String or null
property_mls_id String or null
property_street_address String or null
property_city String or null
property_state String or null
property_zip String or null
property_beds String or null
property_baths String or null
property_list_price String or null
property_listing_status String or null
property_photo_url String or null
search_city String or null
search_state String or null
search_zip String or null
search_min_baths String or null
search_min_beds String or null
search_min_price String or null
search_max_price String or null
search_min_sq_ft String or null
search_max_sq_ft String or null
search_min_lot_size String or null
search_max_lot_size String or null
search_min_year_built String or null
search_max_year_built String or null
search_property_types String or null
note String or null
websites Array
home_purchase_anniversaries Array
company String or null
spouse_or_partner String or null
category_names String or null
groups Array

* Either agent_uuid or moxi_works_agent_id will be returned depending on whether it is used in the request. The response payload object’s agent identifier key will match the passed parameter.

agent_uuid This is the MoxiWorks Platform ID of the Agent which this Contact is associated with. This will be an RFC 4122 compliant UUID.

moxi_works_agent_id This is the MoxiWorks Platform ID of the Agent. This will be a string that may take the form of an email address, or a unique alphanumeric identification string.

partner_contact_id This is the unique identifer you use in your system that has been associated with the Contact that you are creating.

moxi_works_contact_id This is the MoxiWorks Platform ID of this Contact. This will be an RFC 4122 compliant UUID.

moxi_works_lead_source_id This is the unique MoxiWorks Platform ID of the LeadSource that generated this Contact.

moxi_works_origin_lead_source_id This is used to keep track of the original lead source for this Contact record. This field will not be displayed in MoxiEngage, and is for the parter’s own tracking purposes. This key will be associated with valid moxi_works_lead_source_id. Send a LeadSource index request for a full list of applicable lead sources and their ids.

is_deleted Will be true if this Contact has been deleted from the Agents contacts.

contact_name This is the full name of the contact you are creating a Contact record for. You should format this information as first middle last. This value will be null if no data is available for this attribute.

first_name This is the first name of the contact associated with this Contact record. This value will be null if no data is available for this attribute.

middle_name This is the middle name of the contact associated with this Contact record. This value will be null if no data is available for this attribute.

last_name This is the last name of the contact associated with this Contact record. This value will be null if no data is available for this attribute.

suffix This is the generational suffix of the name of the contact associated with this Contact record. This value will be null if no data is available for this attribute. Supported suffixes are II III IV JR JR..

gender The gender of the contact. This can be male, female, m or f. No matter what is provided in the request, the response payload will return m or f. This value will be null if no data is available for this attribute.

label_name This is the name used to address the contact when creating mailing labels for the contact associated with this Contact record. This value will be null if no data is available for this attribute.

primary_email_address This is the email address that should be used first. If provided, the address must conform to RFC 3696. This value will be null if no data is available for this attribute.

secondary_email_address This is the email address that should be used as an alternate. If provided, the address must conform to RFC 3696. This value will be null if no data is available for this attribute.

email_addresses Objects

These email addresses correspond to agent created Contact entities. Only phone fields present in this Contact record will be returned.

Each object in the email_addresses array will have the following structure:

Attribute Type
key String
address String

key The key identifier of the email field. The appropriate email keys are determined by the email server type associated with the Agent. The key identifiers for Agent entities synced to MoxiEngage via a Microsoft Exchange account are: email_address1, email_address2, email_address3. The key identifiers for Agent entities synced to MoxiEngage via a Google account are: home, work, other.

address The email address field value..

primary_phone_number This is the phone number that should be used first. It should be a 10 digit phone number. This attribute should not be used in conjunction with the phone_numbers attribute.

secondary_phone_number This is the phone number that should be used as an alternate. It should be a 10 digit phone number. This attribute should not be used in conjunction with the phone_numbers attribute.

phone_numbers Objects

These phone numbers correspond to agent created Contact entities. Only phone fields present in this Contact record will be returned.

Each object in the phone_numbers array will have the following structure:

Attribute Type
key String
number String

key The key identifier of the phone field. The appropriate phone keys are determined by the email server type associated with the Agent. The key identifiers for Agent entities synced to MoxiEngage via a Microsoft Exchange account are: mobile_phone, home_phone, home_phone2, business_phone, business_phone2, assistant_phone, home_fax, business_fax, car_phone, company_main_phone, other_fax, other_telephone, callback, isdn, pager. The key identifiers for Agent entities synced to MoxiEngage via a Google account are: mobile, home, work, assistant, home_fax, tty_tdd, radio, main, work_fax, car, other, pager, isdn, callback, telex.

number The phone number field value.

home_street_address The contact’s home address street, including number and any suite / apartment number information. This value will be null if no data is available for this attribute.

home_city The city of the contact’s home address. This value will be null if no data is available for this attribute. This value will be null if no data is available for this attribute.

home_state The state of the contact’s home address. This value will be null if no data is available for this attribute.

home_zip The zip code of the contact’s home address. This value will be null if no data is available for this attribute.

home_country The country of the contact’s home address. This value will be null if no data is available for this attribute.

job_title The contact’s professional job title. This value will be null if no data is available for this attribute.

occupation The contact’s profession. This value will be null if no data is available for this attribute.

is_new_contact Whether the contact was recently added to the Agent’s database.

birthday Birthday of the contact represented as a Unix Timestamp.

anniversary Wedding anniversary of the contact represented as a Unix Timestamp.

home_purchase_anniversary Anniversary of the contact’s home purchase represented as a Unix Timestamp.

home_purchase_anniversaries A list of Unix Timestamps representing the contact’s home purchase anniversaries.

company The name of the company associated with the contact.

spouse_or_partner The spouse or partner of the contact.

category_names A comma separated list of the agent’s mail server groups / categories to which this contact belongs.

groups An array of the agent’s mail server groups / categories to which this contact belongs.

websites Objects

Each object in the websites array will have the following structure.

Attribute Type
rank Integer
key String
value String

rank The website’s priority in the contact record.

key The key identifier of the website for use in digesting websites added to the contact record via MoxiEngage

key The url of the website.

social_media_profiles Objects

Each object in the social_media_profiles array will have the following structure.

Attribute Type
key String
url String

key The key identifier of the social media url. Defined keys are ‘facebook,’ ‘linkedin,’ ‘twitter,’ and ‘googleplus’

property_url This will be a valid URL for a property of interest in your system that can be viewed by the agent. This value will be null if no data is available for this attribute.

property_mls_id This will be the MLS ID of the property of interest. This value will be null if no data is available for this attribute.

property_street_address This will be the street address of the property of interest, including number and suite/apartment number information. This value will be null if no data is available for this attribute.

property_city This will be the city in which the property of interest exists. This value will be null if no data is available for this attribute.

property_state This will be the state or province in which the property of interest exists. This value will be null if no data is available for this attribute.

property_zip This will be the postal code in which the property of interest exists. This value will be null if no data is available for this attribute.

property_beds This will be the number of bedrooms in the property of interest. This value will be null if no data is available for this attribute.

property_baths This will be the number of bathrooms in the property of interest. This value will be null if no data is available for this attribute.

property_list_price This will be the list price of the property of interest. This value will be null if no data is available for this attribute.

property_listing_status This will be the listing status of the property of interest. This can be any arbitrary string, but for best results, this should be a state like Active, Pending, Sold, Cancelled or any other human readable state that would be useful when presented to the agent. This value will be null if no data is available for this attribute.

property_photo_url This will be a valid URL to an image of the property of interest. This value will be null if no data is available for this attribute.

search_city This will be the city / locale used in the listing search criteria. This value will be null if no data is available for this attribute.

search_state This will be the state / region used in the listing search criteria. This value will be null if no data is available for this attribute.

search_zip This will be the zip / postal code used in the listing search criteria. This value will be null if no data is available for this attribute.

search_min_baths This will be the minimum bathrooms used in the listing search criteria. This value will be null if no data is available for this attribute.

search_min beds This will be the minimum bedrooms used in the listing search criteria. This value will be null if no data is available for this attribute.

search_min_price This will be the minimum price used in the listing search criteria. This value will be null if no data is available for this attribute.

search_max_price This will be the maximum price used in the listing search criteria. This value will be null if no data is available for this attribute.

search_min_sq_ft This will be the minimum square feet of the total living area used in the listing search criteria. This value will be null if no data is available for this attribute.

search_max_sq_ft This will be the maximum square feet of the total living area used in the listing search criteria. This value will be null if no data is available for this attribute.

search_min_lot_size This will be the minimum lot size used in the listing search criteria. This value will be null if no data is available for this attribute.

search_max_lot_size This will be the maximum lot size used in the listing search criteria. This value will be null if no data is available for this attribute.

search_min_year_built This will be the minimum allowable year built used in the listing search criteria. This value will be null if no data is available for this attribute.

search_property_types This will be the property types used in the listing search criteria. This can be any arbitrary human readable string, but using recognized property types such as Condo, Single-Family, Townhouse, Land, Multifamily will provide more value to the agent. This value will be null if no data is available for this attribute.

note This is an arbitrary string giving the agent more details about the contact which would not otherwise fit into the Contact record. Any HTML formatting included will be stripped from the note attribute’s data. This value will be null if no data is available for this attribute.

Contact Show

Contact Show (using agent_uuid) Example

GET /api/contacts/my_contact_id?agent_uuid=12345678-1234-1234-1234-1234567890ab HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded

{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab"
}

/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";

var agentUuid = "12345678-1234-1234-1234-1234567890ab";

var service = new ContactService(new MoxiWorksClient());
var results = service.GetContactAsync(agentUuid, AgentIdType.AgentUuid, "booyuh").Result;

##### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisites

moxi_works_contact = MoxiworksPlatform::Contact.find(
        agent_uuid: "12345678-1234-1234-1234-1234567890ab",
        partner_contact_id: "booyuh")

<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$moxi_works_contact = MoxiworksPlatform\Contact::find([
        'agent_uuid' => '12345678-1234-1234-1234-1234567890ab',
        'partner_contact_id' => 'booyuh']);
?>

Contact Show (using moxi_works_agent_id) Example

GET /api/contacts/my_contact_id?moxi_works_agent_id=abc123 HTTP/1.1
Host: api.moxiworks.com
Accept: application/vnd.moxi-platform+json;version=1
Authorization: Basic XNNeXAAAUZaQlF0dA==
Content-Type: application/x-www-form-urlencoded

{
  "moxi_works_agent_id":"abc123"
}

/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";

var moxiWorksAgentId = "1234abcd";

var service = new ContactService(new MoxiWorksClient());
var results = service.GetContactAsync( moxiWorksAgentId,  AgentIdType.MoxiWorksAgentId,  "booyuh").Result;

##### set up prerequisites once
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

MoxiworksPlatform::Credentials.new(platform_identifier, platform_secret)
##### end prerequisites

moxi_works_contact = MoxiworksPlatform::Contact.find(
        moxi_works_agent_id: "1234abcd",
        partner_contact_id: "booyuh")

<?php
$platform_identifier = 'abc123'; // platorm_identifier provided by MoxiWorks Platform Rep
$platform_secret = 'secret'; //platform_secret provided by MoxiWorks Platform Rep

$credentials = new MoxiworksPlatform\Credentials($platform_identifier, $platform_secret);

$moxi_works_contact = MoxiworksPlatform\Contact::find([
        'moxi_works_agent_id' => '1234abcd',
        'partner_contact_id' => 'booyuh']);
?>

When showing a contact using the MoxiWorks platform API, format your data using the following parameters.

Contact Show Request Attributes
Attribute Type Length Limit
agent_uuid* String 255
moxi_works_agent_id* String 255
source_agent_id* String 255
partner_contact_id † String 255
moxi_works_contact_id † String 255
moxi_works_company_id String
parent_company_id String 255

Required Parameters Are In Red

† Either moxi_works_contact_id or partner_contact_id must be supplied.

moxi_works_agent_id or agent_uuid or source_agent_id One of these parameters must be supplied Please reference Agent Identifiers for information about how to construct your agent identifier request params.

moxi_works_company_id A valid MoxiWorks Company ID. Use Company Endpoint to determine what moxi_works_company_id you can use.

parent_company_id This is the numeric_id or moxi_works_company_id of a company that is considered to be a parent company in the MoxiWorks Platform. This request attribute has two functions:

1. It provides for a broad scope by which partners may be afforded permissions to perform MoxiWorks Platform actions, in scenarios where a partner does business with a parent company in the MoxiWorks System.
2. It provides broad scope under which agents may be looked up using the source_agent_id request attribute in many scenarios across different MoxiWorks Platform endpoints and actions.

Please note that this attribute cannot be used as a replacement for the moxi_works_company_id request attribute in scenarios where the moxi_works_company_id request attribute is required by the action.

Please note that this attribute cannot be used to broaden scope of any request where the scope of the request is defined by the moxi_works_company_id request attribute.

Please note that when passed in conjunction with the moxi_works_company_id request attribute, the value of moxi_works_company_id request attribute must be the numeric id form.

Any use of this request attribute must be coordinated with MoxiWorks Platform Partner services. Please reach out to partner services for more information.

moxi_works_contact_id This is the MoxiWorks Platform ID of the Contact which this Contact entry is associated with. This will be an RFC 4122 compliant UUID. This data is required and must reference a valid MoxiWorks Contact ID for your Contact Show request to be accepted. This is the same as the moxi_works_contact_id attribute of the Contact response.

partner_contact_id This is the unique identifer you use in your system that has been associated with the Contact that you are finding.

Contact Show Response Payload

The following attributes make up the payload of the Contact response for a Show request.

Contact Show (using agent_uuid) Response Payload Example
{
  "agent_uuid": "12345678-1234-1234-1234-1234567890ab",
  "partner_contact_id": "booyuh",
  "moxi_works_contact_id":"deadbeef-feed-face-bad4dad22dead",
  "moxi_works_lead_source_id": "some_lead_source_id",
  "moxi_works_origin_lead_source_id": "some_other_lead_source_id",
  "is_deleted": false,
  "contact_name":"Firstname Middlenyme Larstnam",
  "first_name":"Firstname",
  "middle_name":"Middlenyme",
  "last_name":"Larstnam",
  "suffix":null,
  "gender": "m",
  "label_name": "Mr. and Mrs. Oo-De-Lally Golly What a Day",
  "primary_email_address":"primary@email.com",
  "secondary_email_address":"secondary@email.com",
  "primary_phone_number":"3603603608",
  "secondary_phone_number":"3603603609",
  "email_addresses": [
    {
      "key": "email_address1",
      "address": "primary@email.com"
    },
    {
      "key": "email_address2",
      "address": "secondary@email.com"
    },
    {
      "key": "email_address3",
      "address": "also@this.com"
    }
  ],
  "phone_numbers": [
    {
      "key": "mobile_phone",
      "number": "3603603608"
    },
    {
      "key": "home_phone",
      "number": "3603603609"
    },
    {
      "key": "business_phone",
      "number": "3603603610"
    },
  ],
  "home_street_address": "1234 Sesame St.",
  "home_city": "Cityville",
  "home_state": "Stateland",
  "home_zip": "12345-6789",
  "home_country": "Ottoman Empire",
  "job_title": "Junior Bacon Burner",
  "occupation": "chef",
  "is_new_contact": true,
  "birthday": 1496310636,
  "anniversary": 1495199540,
  "home_purchase_anniversary": 1484088442,
  "social_media_profiles": [
    {
  "key": "facebook",
  "url": null
  },
    {
  "key": "linkedin",
  "url": null
  },
    {
  "key": "twitter",
  "url": null
  },
    {
  "key": "googleplus",
  "url": null
  }
  ],
  "groups":[
    "this group",
    "that group",
    "the other group"
  ],
  "property_url": "http://my.property.website.is/here",
  "property_mls_id": "abc123",
  "property_street_address": "2345 67th place",
  "property_city": "Townland",
  "property_state": "Statesville",
  "property_zip": "98765-4321",
  "property_beds": "18",
  "property_baths": "12.5",
  "property_list_price": "123456789",
  "property_listing_status": "Active",
  "property_photo_url": "http://property.photo.is/here.jpg",
  "search_city": "Searchland",
  "search_state": "Searchsylvania",
  "search_zip": "12345-6789",
  "search_min_beds": "2",
  "search_min_baths": "3.25",
  "search_min_price": "1234567",
  "search_max_price": "1234569",
  "search_min_sq_ft": "1234",
  "search_max_sq_ft": "1235",
  "search_min_lot_size": "3234",
  "search_max_lot_size": "3235",
  "search_min_year_built": "1388",
  "search_max_year_built": "2044",
  "search_property_types": "Condo, Single Family, Townhouse",
  "websites": [
      {
        "rank": 1,
        "key": "website_key_1",
        "value": "https://blep.com"
      },
      {
        "rank": 2,
        "key": "website_key_2",
        "value": "https://blep.com"
      }
    ],
  "home_purchase_anniversaries": [
      1484088442
   ],
  "company": "Blep Ltd.",
  "spouse_or_partner": "Rick Sanchez"
}
Contact Show (using moxi_works_agent_id) Response Payload Example
{
  "moxi_works_agent_id": "1234abcd",
  "partner_contact_id": "booyuh",
  "moxi_works_contact_id":"deadbeef-feed-face-bad4dad22dead",
  "moxi_works_lead_source_id": "some_lead_source_id",
  "moxi_works_origin_lead_source_id": "some_other_lead_source_id",
  "is_deleted": false,
  "contact_name":"Firstname Middlenyme Larstnam",
  "first_name":"Firstname",
  "middle_name":"Middlenyme",
  "last_name":"Larstnam",
  "suffix":null,
  "gender": "m",
  "label_name": "Mr. and Mrs. Oo-De-Lally Golly What a Day",
  "primary_email_address":"primary@email.com",
  "secondary_email_address":"secondary@email.com",
  "primary_phone_number":"3603603608",
  "secondary_phone_number":"3603603609",
  "email_addresses": [
    {
      "key": "email_address1",
      "address": "primary@email.com"
    },
    {
      "key": "email_address2",
      "address": "secondary@email.com"
    },
    {
      "key": "email_address3",
      "address": "also@this.com"
    }
  ],
  "phone_numbers": [
    {
      "key": "mobile_phone",
      "number": "3603603608"
    },
    {
      "key": "home_phone",
      "number": "3603603609"
    },
    {
      "key": "business_phone",
      "number": "3603603610"
    },
  ],
  "home_street_address": "1234 Sesame St.",
  "home_city": "Cityville",
  "home_state": "Stateland",
  "home_zip": "12345-6789",
  "home_country": "Ottoman Empire",
  "job_title": "Junior Bacon Burner",
  "occupation": "chef",
  "is_new_contact": true,
  "birthday": 1496310636,
  "anniversary": 1495199540,
  "home_purchase_anniversary": 1484088442,
  "social_media_profiles": [
    {
  "key": "facebook",
  "url": null
  },
    {
  "key": "linkedin",
  "url": null
  },
    {
  "key": "twitter",
  "url": null
  },
    {
  "key": "googleplus",
  "url": null
  }
  ],
  "groups":[
    "this group",
    "that group",
    "the other group"
  ],
  "property_url": "http://my.property.website.is/here",
  "property_mls_id": "abc123",
  "property_street_address": "2345 67th place",
  "property_city": "Townland",
  "property_state": "Statesville",
  "property_zip": "98765-4321",
  "property_beds": "18",
  "property_baths": "12.5",
  "property_list_price": "123456789",
  "property_listing_status": "Active",
  "property_photo_url": "http://property.photo.is/here.jpg",
  "search_city": "Searchland",
  "search_state": "Searchsylvania",
  "search_zip": "12345-6789",
  "search_min_beds": "2",
  "search_min_baths": "3.25",
  "search_min_price":