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
include_bio 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.

include_bio To include bio associated with the agent in the response, pass true.

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 a string which reflects the partner created notes. Agent created notes are not reflected in this attribute. 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. This text field is limited to 3k.

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 a string which reflects the partner created notes. Agent created notes are not reflected in this attribute. 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. This text field is limited to 3k.

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 a string which reflects the partner created notes. Agent created notes are not reflected in this attribute. 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. This text field is limited to 3k.

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 a string which reflects the partner created notes. Agent created notes are not reflected in this attribute. 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. This text field is limited to 3k.

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",
  "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"
}
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": "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 Show Failure Response Example
See Error Handling for details about individual error codes.
{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

Show 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
company String or null
websites Array
spouse_or_partner 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
groups 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 finding.

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 finding 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. 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 value will be null if no data is available for this attribute. This attribute should not be used in conjunction with the email_addresses 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’

groups Any Agent groups which the contact by name.

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 a string which reflects the partner created notes. Agent created notes are not reflected in this attribute. 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. This text field is limited to 3k.

Contact Index

Contact Index (using agent_uuid) Example

{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
  "contact_name":"buckminster fuller"
}

GET /api/contacts?agent_uuid=12345678-1234-1234-1234-1234567890ab&contact_name=buckminster%20fuller 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 ContactService(new MoxiWorksClient());
var results = service.GetContactsAsync(agentUuid, AgentIdType.AgentUuid, "buckminster fuller").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.search(
        agent_uuid: "12345678-1234-1234-1234-1234567890ab",
        contact_name: "buckminster fuller")

<?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::search([
        'agent_uuid' => '12345678-1234-1234-1234-1234567890ab',
        'contact_name' => 'buckminster fuller']);
?>

Contact Index (using moxi_works_agent_id) Example

{
  "moxi_works_agent_id":"abc123",
  "contact_name":"buckminster fuller"
}

GET /api/contacts?moxi_works_agent_id=abc123&contact_name=buckminster%20fuller 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 moxi = "abc123";

var service = new ContactService(new MoxiWorksClient());
var results = service.GetContactsAsync( agentUuid,  AgentIdType.MoxiWorksAgentId,  "buckminster fuller").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.search(
        moxi_works_agent_id: "1234abcd",
        contact_name: "buckminster fuller")

<?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::search([
        'moxi_works_agent_id' => '1234abcd',
        'contact_name' => 'buckminster fuller']);
?>

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

Contact 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
contact_name String 255
email_address String 255
phone_number String 255
updated_since Integer 255
page_number Integer 255
only_business_contacts Boolean
timestamps_only 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.

contact_name The full name of the contact which you are trying to find the Contact record for.

email_address An email address associated with the Contact record.

phone_number A phone number associated with the Contact record.

updated_since Paged responses of all Contact objects updated after this Unix timestamp will be returned in the response.

page_number Page of Contact records to return. Use if total_pages indicates that there is more than one page of data available.

only_business_contacts Whether to only include Contact records for contacts that are neither considered personal contacts nor work collaborators in the payload response.

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.

Contact Index (using agent_uuid) Response Payload Example

{
"page_number":6,
"total_pages":6,
"contacts":[{
  "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",
  "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",
  "email_addresses": [
    {
      "key": "email_address1",
      "address": "this@one.com"
    },
    {
      "key": "email_address2",
      "address": "also@this.com"
    }
  ],
  "phone_numbers": [
    {
      "key": "mobile_phone",
      "number": "3603603608"
    },
    {
      "key": "home_phone",
      "number": "3603603608"
    }
  ],
  "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",
  "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",
  "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"
  ]
},
{
  "agent_uuid": "12345678-1234-1234-1234-1234567890ab",
  "partner_contact_id": "fooyuh",
  "moxi_works_contact_id":"deadbeef-feed-face-2baddadbdead",
  "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": "buckminster fuller",
  "first_name":"buckminster",
  "middle_name":null,
  "last_name":"fuller",
  "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"
    },
  ],
  "primary_phone_number": "202 123-4567",
  "secondary_phone_number": "(444) 555-6666",
  "home_street_address": "1234 Pecan Dr.",
  "home_city": "Cityville",
  "home_state": "Stateland",
  "home_zip": "12345-6789",
  "home_country": "Brovilee",
  "job_title": "Junior Cheese Head",
  "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"
  ],
  "occupation": "football fan",
  "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 Index (using moxi_works_agent_id) Response Payload Example

{
"page_number":6,
"total_pages":6,
"contacts":[{
  "moxi_works_agent_id": "1234abcd",
  "partner_contact_id": "booyuh",
  "moxi_works_contact_id":"deadbeef-feed-face-2bad4daddead",
  "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": "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",
  "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",
  "note": "whatevers2009",
},
{
  "moxi_works_agent_id": "1234abcd",
  "partner_contact_id": "fooyuh",
  "moxi_works_contact_id":"deadbeef-feed-face-2baddadbdead",
  "contact_name": "buckminster fuller",
  "first_name":"buckminster",
  "middle_name":null,
  "last_name":"fuller",
  "suffix":null,
  "gender": "m",
  "label_name": "Mr. and Mrs. Oo-De-Lally Golly What a Day",
  "primary_email_address": "whatever@whatevers.right.here",
  "secondary_email_address": "me.2009@2009.whatevers.here",
  "primary_phone_number": "202 123-4567",
  "secondary_phone_number": "(444) 555-6666",
  "home_street_address": "1234 Pecan Dr.",
  "home_city": "Cityville",
  "home_state": "Stateland",
  "home_zip": "12345-6789",
  "home_country": "Brovilee",
  "job_title": "Junior Cheese Head",
  "occupation": "football fan",
  "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",
  "note": "whatevers2009",
}]
}
Contact Index Failure Response Example
See Error Handling for details about individual error codes.

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

Contact Index Response Payload

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

Attribute Type
page_number Integer
total_pages Integer
contacts Array

page_number If there is more than one page of Contact 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 Contact objects to return, total_pages will denote how many pages of Contact 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.

contacts This array contains the payload from the request query. Any found Contact objects matching the query will be returned as Contact objects in the response.

contacts Contact Objects
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
groups 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. (Note: deleted contacts are currently not returned using this method.)

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. 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 value will be null if no data is available for this attribute. This attribute should not be used in conjunction with the email_addresses 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.

groups Any Agent groups which the contact by name.

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 a string which reflects the partner created notes. Agent created notes are not reflected in this attribute. 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. This text field is limited to 3k.

Contact Delete

Contact Delete (using agent_uuid) Example

{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
  "partner_contact_id":"MySystemsUniqueContactID"
}

DELETE /api/contacts/partner_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

Contact Delete (using moxi_works_agent_id) Example

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

DELETE /api/contacts/partner_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

When deleting an Contact object using the MoxiWorks platform API, format your data using the following parameters.

Contact Delete 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_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.

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 Delete Response
{
  "status": "success",
  "deleted": true,
  "messages": [
    "contact MySystemsUniqueContactID deleted from account 12345678-1234-1234-1234-1234567890ab"
  ],
  "result": {
    "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": true,
    "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 Delete Failure Response
See Error Handling for details about individual error codes.

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

Contact Delete Response Payload

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

Attribute Type
status String
deleted Boolean
messages Array
result Hash

status This indicates whether the request was successfully processed.

deleted This is the result of the action – whether the Contact object was actually deleted.

messages Messages communicating more information about the result of the Contact delete request.

result The resulting Contact object associated with this Delete request.

contact Objects
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_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.

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.. 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.

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 a string which reflects the partner created notes. Agent created notes are not reflected in this attribute. 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. This text field is limited to 3k.

EmailCampaign

MoxiWorks Platform EmailCampign entities represent email campaigns established between agents and contacts via MoxiWorks.

EmailCampaign Index

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

EmailCampaign Index (using agent_uuid) Request Example

{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
  "partner_contact_id":"mySystemsContactId"
}

GET /api/email_campaigns?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 partnerContactID = "mySystemsContactId";
var agentUuid = "12345678-1234-1234-1234-1234567890ab";

var service = new EmailCampaignService(new MoxiWorksClient());
var results = service.GetEmailCampaignsAsync(agentUuid, AgentIdType.AgentUuid,partnerContactID).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_email_campaigns = MoxiworksPlatform::EmailCampaign.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_email_campaigns = MoxiworksPlatform\EmailCampaign::search([
        'agent_uuid' => '12345678-1234-1234-1234-1234567890ab',
        'partner_contact_id' => 'mySystemsContactId']);

?>

EmailCampaign Index (using moxi_works_agent_id) Request Example

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

GET /api/email_campaigns?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
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

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

moxi_works_email_campaigns = MoxiworksPlatform::EmailCampaign.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_email_campaigns = MoxiworksPlatform\EmailCampaign::search([
        'moxi_works_agent_id' => '1234abcd',
        'partner_contact_id' => 'mySystemsContactId']);

?>
EmailCampaign 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

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 which this EmailCompaign object is to be associated with. This will be an RFC 4122 compliant UUID. This data must reference a valid MoxiWorks Contact ID for your EmailCampaign 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 searching for an EmailCampaign 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 EmailCampaign entries for the Contact. Your request will be rejected if the Contact record does not exist.

EmailCampaign Index Response Payload

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

EmailCampaign Index (using agent_uuid) Response Payload Example
[
{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
  "subscription_type":"EmailSubscriptionType",
  "email_address":"subscriber@here.com",
  "subscribed_at":1467409224,
  "created_by":"agent",
  "area":"98225",
  "last_sent":0,
  "next_scheduled":0,
  "partner_contact_id":"my_contact_id",
  "moxi_works_contact_id":"babebead-feed-face-dead-beefbad4babe"
},
{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
  "subscription_type":"OtherEmailSubscriptionType",
  "email_address":"subscriber@there.com",
  "subscribed_at":1467409442,
  "created_by":"agent",
  "area":"12344",
  "last_sent":1468878269,
  "next_scheduled":1471470286,
  "partner_contact_id":"my_contact_id",
  "moxi_works_contact_id":"babebead-feed-face-dead-beefbad4babe"

}
]

EmailCampaign Index (using moxi_works_agent_id) Response Payload Example
[
{
  "moxi_works_agent_id":"abc123",
  "subscription_type":"EmailSubscriptionType",
  "email_address":"subscriber@here.com",
  "subscribed_at":1467409224,
  "created_by":"agent",
  "area":"98225",
  "last_sent":0,
  "next_scheduled":0,
  "partner_contact_id":"my_contact_id",
  "moxi_works_contact_id":"babebead-feed-face-dead-beefbad4babe"
},
{
  "moxi_works_agent_id":"abc123",
  "subscription_type":"OtherEmailSubscriptionType",
  "email_address":"subscriber@there.com",
  "subscribed_at":1467409442,
  "created_by":"agent",
  "area":"12344",
  "last_sent":1468878269,
  "next_scheduled":1471470286,
  "partner_contact_id":"my_contact_id",
  "moxi_works_contact_id":"babebead-feed-face-dead-beefbad4babe"
}
]

EmailCampaign Index Failure Response
See Error Handling for details about individual error codes.

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

Attribute Type
agent_uuid* String
moxi_works_agent_id* String
subscription_type String
email_address String
subscribed_at Integer
created_by String
area String
last_sent Integer
next_scheduled Integer
created_at String
unsubscribed_at String
unsubscribed_by String
listed Boolean
sold Boolean
zipcode String
nn_subscription_type String
nn_min_price Integer
nn_max_price Integer
nn_min_beds Integer
nn_max_beds Integer
nn_min_baths Integer
nn_min_sqft Integer
nn_max_sqft Integer
nn_property_type 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.

agent_uuid This is the MoxiWorks Platform ID of the Agent which this EmailCampaign 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.

subscription_type A string representing the type of EmailSubscription is associated with the Contact for the supplied partner_contact_id. This is a unique, internally defined string per EmailSubscription type. Documentation of available subscription_type responses is outside the scope of this documentation. If you need help determining available types, please email partners@moxiworks.com.

email_address The email address for the EmailSubscription.

subscribed_at Unix timestamp representing when the EmailSubscription that is associated with the Contact for the supplied partner_contact_id was initiated.

created_by This is a string representing the actor responsible for the subscription initiation.

area A string representing a geographic area that the EmailSubscription regards.

last_sent This is a Unix timestamp representing the point in time that the last EmailSubscription message was sent.

next_scheduled This is a Unix timestamp representing the point in time that the next EmailSubscription message will be sent.

created_at Unix timestamp representing when the EmailSubscription was created.

unsubscribed_at Unix timestamp representing when the EmailSubscription that is associated with the Contact for the supplied partner_contact_id was unsubscribed.

listed boolean representing whether email subscription is a listing announcement for listed homes

sold boolean representing whether email subscription is a listing announcement for sold homes

nn_subscription_type type of neighborhood email subscription. This can either be “quick” or “custom”

nn_min_price for “custom” neighborhood email subscription , search filter with min price

nn_max_price for “custom” neighborhood email subscription , search filter with max price

nn_min_beds for “custom” neighborhood email subscription , search filter with min number of bedrooms

nn_max_beds for “custom” neighborhood email subscription , search filter with max number of bedrooms

nn_min_baths or “custom” neighborhood email subscription , search filter with min number of bathrooms

nn_max_baths for “custom” neighborhood email subscription , search filter with max number of bathrooms

nn_min_sqft for “custom” neighborhood email subscription , search filter with min square feet

nn_max_sqft for “custom” neighborhood email subscription , search filter with max square feet

property_type for “custom” neighborhood email subscription, property_tye selected in the search filter. This value can be either Residential, Condominium, Manufactured Homes, Multi-family, Townhouse

Event

MoxiWorks Platform Event entities represent appointments, meetings or other events scheduled for an agent.

Event Create

Event Create (using agent_uuid) Example

{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
  "partner_event_id":"8675309e9",
  "event_subject":"meeting at Joe Seller's house",
  "event_location":"1234 Joe Seller Way Sellerville, WY 82372",
  "all_day":false,
  "send_reminder":true,
  "remind_minutes_before":15,
  "event_start":1462234227,
  "event_end":1462241468,
  "attendees":"contactIDForContactIAlreadyCreated,otherContactIDForContactIAlreadyCreated",
  "note":"noteworthy stuff that's shown to the agent"
}

POST /api/events 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_event_id=abc98df345&event_subject=subject&event_location=a%20location&all_day=false&event_start=1462234227&event_end=1462241468&attendees=&note=here%20is%20the%20note


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


var event = new Event();
List<string> attendees = new List<string>(){"contact1ID", "contact2ID"};

event.AgentUuid = "12345678-1234-1234-1234-1234567890ab";
event.PartnerEventId = "booyuh";
event.EventSubject = "the subject";
event.EventLocation = "the location";
event.AllDay = false;
event.SendReminder = true;
event.RemindMinutesBefore = 15;
event.EventStart = 1462234227;
event.EventEnd = 1462241468;
event.Attendees = attendees;
event.Note = "notable stuff";

var service = new EventService(new MoxiWorksClient());
var results = service.CreateEventAsync(event).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_event = MoxiworksPlatform::Event.create(
        agent_uuid: "12345678-1234-1234-1234-1234567890ab",
        partner_event_id: "booyuh",
        event_subject: "the subject",
        event_location: "the location",
        all_day: false,
        send_reminder: true,
        remind_minutes_before: 15,
        event_start: 1462234227,
        event_end: 1462241468,
        attendees: [contact1ID, contact2ID],
        note: 'notable stuff'
        )

<?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_event = MoxiworksPlatform\Event::create([
        'agent_uuid'  => '12345678-1234-1234-1234-1234567890ab',
        'partner_event_id'  => 'booyuh',
        'event_subject'  => 'the subject',
        'event_location'  => 'the location',
        'all_day'  => false,
        'send_reminder' => true,
        'remind_minutes_before' => 15,
        'event_start'  => 1462234227,
        'event_end'  => 1462241468,
        'attendees'  => null,
        'note'  => 'notable stuff']);
?>

Event Create (using moxi_works_agent_id) Example

{
  "moxi_works_agent_id":"abc123",
  "partner_event_id":"8675309e9",
  "event_subject":"meeting at Joe Seller's house",
  "event_location":"1234 Joe Seller Way Sellerville, WY 82372",
  "all_day":false,
  "send_reminder":true,
  "remind_minutes_before":15,
  "event_start":1462234227,
  "event_end":1462241468,
  "attendees":"contactIDForContactIAlreadyCreated,otherContactIDForContactIAlreadyCreated",
  "note":"noteworthy stuff that's shown to the agent"
}

POST /api/events 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_event_id=abc98df345&event_subject=subject&
event_location=a%20location&
all_day=false&event_start=1462234227&event_end=1462241468&
attendees=&note=here%20is%20the%20note

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

platform_identifier = 'abc123'

platform_secret = 'secret'

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

moxi_works_event = MoxiworksPlatform::Event.create(
        moxi_works_agent_id: "1234abcd",
        partner_event_id: "booyuh",
        event_subject: "the subject",
        event_location: "the location",
        all_day: false,
        send_reminder: true,
        remind_minutes_before: 15,
        event_start: 1462234227,
        event_end: 1462241468,
        attendees: [contact1ID, contact2ID],
        note: 'notable stuff'
        )

<?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_event = MoxiworksPlatform\Event::create([
        'moxi_works_agent_id'  => '1234abcd',
        'partner_event_id'  => 'booyuh',
        'event_subject'  => 'the subject',
        'event_location'  => 'the location',
        'all_day'  => false,
        'send_reminder' => true,
        'remind_minutes_before' => 15,
        'event_start'  => 1462234227,
        'event_end'  => 1462241468,
        'attendees'  => null,
        'note'  => 'notable stuff']);
?>
Event Create Request Attributes

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

Attribute Type Length Limit
partner_event_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
event_subject String 255
event_location String 255
note String
send_reminder Boolean 255
remind_minutes_before Integer 255
event_start Integer 255
event_end Integer 255
all_day Boolean 255
attendees 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_event_id This is the unique identifer you use in your system that has been associated with the Event that you are creating. This data is required and must be a unique key.

event_subject This is a short, descriptive, human readable phrase to be displayed to the agent which lets them know what this Event regards.

event_location This is a human readable locatition reference regarding where the event is located that will be meaningful to the agent.

send_reminder Whether to send a reminder about the event to attendees before the event starts.

remind_minutes_before If send_reminder is true, this is how many minutes before the start of the event to send the reminder. Default is 15 minutes before.

event_start This is the Unix timestamp representing the start time of the Event that you are creating. This data is required and must be a valid Unix timestamp.

event_end This is the Unix timestamp representing the end time of the Event that you are creating. This data is required and must be a valid Unix timestamp.

all_day Whether the event is an all day event.

attendees This is a comma separated list of contacts that have already been added through the MoxiWorks Platform API who will be present at the referenced event. (Use IDs from your system – i.e. partner_contact_id from Contact Create ).

event_location This is a human readable details about the event that will be meaningful to the agent or any details that are not otherwise represented in the structure of the Event object. Any HTML formatting included will be stripped from this attribute.

Event Create Response Payload

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

Event Create (using agent_uuid) Response Payload Example

{
  "partner_event_id": "booyuh",
  "agent_uuid": "12345678-1234-1234-1234-1234567890ab",
  "event_subject": "event subject",
  "event_location": "event location",
  "note": "notable stuff",
  "send_reminder": true,
  "remind_minutes_before": 15,
  "event_start": 1462234227,
  "event_end": 1462241468,
  "all_day": false,
  "attendees": "Contact1ID,Contact2ID"
}
Event Create (using moxi_works_agent_id) Response Payload Example

{
  "partner_event_id": "booyuh",
  "moxi_works_agent_id": "1234abcd",
  "event_subject": "event subject",
  "event_location": "event location",
  "note": "notable stuff",
  "send_reminder": true,
  "remind_minutes_before": 15,
  "event_start": 1462234227,
  "event_end": 1462241468,
  "all_day": false,
  "attendees": "Contact1ID,Contact2ID"
}
Event Create Failure Response
See Error Handling for details about individual error codes.

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

Create Response Attributes
Attribute Type
partner_event_id String
agent_uuid* String
moxi_works_agent_id* String
event_subject String
event_location String
note String
send_reminder Boolean
remind_minutes_before Integer
note String
all_day Boolean
event_start Integer
event_end Integer
attendees 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.

partner_event_id This is the unique identifer you use in your system that has been associated with the Event.

agent_uuid This is the MoxiWorks Platform ID of the Agent which this Event 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 Event is associated with. This will be a string that may take the form of an email address, or a unique identification string.

event_subject This is a short, descriptive, human readable phrase to be displayed to the agent which lets them know what this Event regards.

event_location This is a human readable locatition reference regarding where the event is located that will be meaningful to the agent.

send_reminder Whether to send a reminder to attendees before the start of the event.

remind_minutes_before Number of minutes prior to the start of the event that attendees should be notified.

note This is a human readable note about the event that will be meaningful to the agent.

event_start This is the Unix timestamp representing the start time of the Event.

event_end This is the Unix timestamp representing the end time of the Event.

attendees This is a comma separated list of contacts that have already been added through the MoxiWorks Platform API who will be present at the referenced event. (Use IDs from your system – i.e. partner_contact_id from Contact Create ).

Event Update

Event Update (using agent_uuid) Example

{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
  "partner_event_id":"8675309e9",
  "event_subject":"meeting at Joe Seller's house",
  "event_location":"1234 Joe Seller Way Sellerville, WY 82372",
  "all_day":false,
  "event_start":1462234227,
  "event_end":1462241468,
  "attendees":"contactIDForContactIAlreadyCreated,otherContactIDForContactIAlreadyCreated",
  "note":"noteworthy stuff that's shown to the agent",
  "send_reminder": true,
  "remind_minutes_before": 15
}

PUT /api/events/[partner_event_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_event_id=abc98df345&
event_subject=subject&event_location=a%20location&all_day=false&
event_start=1462234227&event_end=1462241468&required_attendees=&optional_attendees=&
note=here%20is%20the%20note


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


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

var service = new EventService(new MoxiWorksClient());
var event = service.GetEventAsync( agentUuid,  AgentIdType.AgentUuid, : partnerEventId).Result;

List<string> attendees = new List<string>() {"contact1ID", "contact2ID"};


event.EventSubject = "the subject";
event.EventLocation = "the location";
event.AllDay = false;
event.SendReminder = true;
event.RemindMinutesBefore = 15;
event.EventStart = 1462234227;
event.EventEnd = 1462241468;
event.Attendees = attendees;
event.Note = "notable stuff";

var service = new EventService(new MoxiWorksClient());
var results = service.UpdateEventAsync(event).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_event = MoxiworksPlatform::Event.update(
        agent_uuid: "12345678-1234-1234-1234-1234567890ab",
        partner_event_id: "booyuh",
        event_subject: "the subject",
        event_location: "the location",
        all_day: false,
        event_start: 1462234227,
        event_end: 1462241468,
        required_attendees: nil,
        optional_attendees: ['Contact1ID', 'Contact2ID']
        note: 'notable stuff',
        send_reminder: true,
        remind_minutes_before: 15
        )

<?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_event = MoxiworksPlatform\Event::update([
        'agent_uuid' => '12345678-1234-1234-1234-1234567890ab',
        'partner_event_id' => 'booyuh',
        'event_subject' => 'the subject',
        'event_location' => 'the location',
        'all_day' => false,
        'event_start' => 1462234227,
        'event_end' => 1462241468,
        'required_attendees' => null,
        'optional_attendees' => null,
        'note' => 'notable stuff',
        'send_reminder' => true,
        'remind_minutes_before' => 15]);
?>

Event Update (using moxi_works_agent_id) Example

{
  "moxi_works_agent_id":"abc123",
  "partner_event_id":"8675309e9",
  "event_subject":"meeting at Joe Seller's house",
  "event_location":"1234 Joe Seller Way Sellerville, WY 82372",
  "all_day":false,
  "event_start":1462234227,
  "event_end":1462241468,
  "attendees":"contactIDForContactIAlreadyCreated,otherContactIDForContactIAlreadyCreated",
  "note":"noteworthy stuff that's shown to the agent",
  "send_reminder": true,
  "remind_minutes_before": 15
}

PUT /api/events/[partner_event_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_event_id=abc98df345&event_subject=subject&
event_location=a%20location&
all_day=false&event_start=1462234227&event_end=1462241468&
required_attendees=&optional_attendees=&note=here%20is%20the%20note


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


var moxiWorksAgentID = "1234abcd";
var partnerEventId = "booyuh";

var service = new EventService(new MoxiWorksClient());
var event = service.GetEventAsync( moxiWorksAgentID, AgentIdType.MoxiWorksAgentId, partnerEventId).Result;

List<string> attendees = new List<string>() {"contact1ID", "contact2ID"};


event.EventSubject = "the subject";
event.EventLocation = "the location";
event.AllDay = false;
event.SendReminder = true;
event.RemindMinutesBefore = 15;
event.EventStart = 1462234227;
event.EventEnd = 1462241468;
event.Attendees = attendees;
event.Note = "notable stuff";

var service = new EventService(new MoxiWorksClient());
var results = service.UpdateEventAsync(event).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_event = MoxiworksPlatform::Event.update(
        moxi_works_agent_id: "1234abcd",
        partner_event_id: "booyuh",
        event_subject: "the subject",
        event_location: "the location",
        all_day: false,
        event_start: 1462234227,
        event_end: 1462241468,
        required_attendees: nil,
        optional_attendees: ['Contact1ID', 'Contact2ID']
        note: 'notable stuff',
        send_reminder: true,
        remind_minutes_before: 15
        )

<?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_event = MoxiworksPlatform\Event::update([
        'moxi_works_agent_id' => '1234abcd',
        'partner_event_id' => 'booyuh',
        'event_subject' => 'the subject',
        'event_location' => 'the location',
        'all_day' => false,
        'event_start' => 1462234227,
        'event_end' => 1462241468,
        'required_attendees' => null,
        'optional_attendees' => null,
        'note' => 'notable stuff',
        'send_reminder' => true,
        'remind_minutes_before' => 15]);
?>

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

Event Update Request Attributes
Attribute Type Length Limit
partner_event_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
event_subject String 255
event_location String 255
note String
send_reminder Boolean 255
remind_minutes_before Integer 255
event_start Integer 255
event_end Integer 255
all_day Boolean 255
attendees 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_event_id This is the unique identifer you use in your system that has been associated with the Event that you are updating.

event_subject This is a short, descriptive, human readable phrase to be displayed to the agent which lets them know what this Event regards.

event_location This is a human readable locatition reference regarding where the event is located that will be meaningful to the agent.

send_reminder Whether to send a reminder about the event to attendees before the event starts.

remind_minutes_before If send_reminder is true, this is how many minutes before the start of the event to send the reminder. Default is 15 minutes before.

event_start This is the Unix timestamp representing the start time of the Event that you are creating. This data is required and must be a valid Unix timestamp.

event_end This is the Unix timestamp representing the end time of the Event that you are creating. This data is required and must be a valid Unix timestamp.

all_day Whether the event is an all day event.

attendees This is a comma separated list of contacts that have already been added through the MoxiWorks Platform API who will be present at the referenced event. (Use IDs from your system – i.e. partner_contact_id from Contact Create ).

event_location This is a human readable details about the event that will be meaningful to the agent or any details that are not otherwise represented in the structure of the Event object. Any HTML formatting included will be stripped from this attribute.

Event Update Response Payload

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

Event Update (using agent_uuid) Response Payload Example

{
  "agent_uuid": "12345678-1234-1234-1234-1234567890ab",
  "partner_event_id": "booyuh",
  "event_subject": "the subject",
  "event_location": "the location",
  "all_day": false,
  "event_start": 1462234227,
  "event_end": 1462241468,
  "attendees": "Contact1ID, Contact2ID",
  "note": "notable stuff",
  "send_reminder": true,
  "remind_minutes_before": 15
}
Event Update (using moxi_works_agent_id) Response Payload Example

{
  "moxi_works_agent_id": "1234abcd",
  "partner_event_id": "booyuh",
  "event_subject": "the subject",
  "event_location": "the location",
  "all_day": false,
  "event_start": 1462234227,
  "event_end": 1462241468,
  "attendees": "Contact1ID, Contact2ID",
  "note": "notable stuff",
  "send_reminder": true,
  "remind_minutes_before": 15
}
Event Update Failure Response
See Error Handling for details about individual error codes.

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

Update Response Attributes
Attribute Type
partner_event_id String
agent_uuid* String
moxi_works_agent_id* String
event_subject String
event_location String
note String
send_reminder Boolean
remind_minutes_before Integer
note String
all_day Boolean
event_start Integer
event_end Integer
attendees 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.

partner_event_id This is the unique identifer you use in your system that has been associated with the Event.

agent_uuid This is the MoxiWorks Platform ID of the Agent which this Event 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 Event is associated with. This will be a string that may take the form of an email address, or a unique identification string.

event_subject This is a short, descriptive, human readable phrase to be displayed to the agent which lets them know what this Event regards.

event_location This is a human readable locatition reference regarding where the event is located that will be meaningful to the agent.

send_reminder Whether to send a reminder to attendees before the start of the event.

remind_minutes_before Number of minutes prior to the start of the event that attendees should be notified.

note This is a human readable note about the event that will be meaningful to the agent.

event_start This is the Unix timestamp representing the start time of the Event.

event_end This is the Unix timestamp representing the end time of the Event.

attendees This is a comma separated list of contacts that have already been added through the MoxiWorks Platform API who will be present at the referenced event. (Use IDs from your system – i.e. partner_contact_id from Contact Create ).

Event Show

Event Show (using agent_uuid) Example

{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
  "partner_event_id":"8675309e9"
}

GET /api/events/[partner_event_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


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

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

var service = new EventService(new MoxiWorksClient());
var results = service.GetEventAsync( agentUuid,  AgentIdType.AgentUuid, partnerEventId).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_event = MoxiworksPlatform::Event.find(
        agent_uuid: "12345678-1234-1234-1234-1234567890ab",
        partner_event_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_event = MoxiworksPlatform\Event::find([
        'agent_uuid' => '12345678-1234-1234-1234-1234567890ab',
        'partner_event_id' => 'booyuh']);
?>

Event Show (using agent_uuid) Example

{
  "moxi_works_agent_id":"abc123",
  "partner_event_id":"8675309e9"
}

GET /api/events/[partner_event_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


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

var moxiWorksAgentId = "1234abcd";
var partnerEventId = "booyuh";

var service = new EventService(new MoxiWorksClient());
var results = service.GetEventAsync( moxiWorksAgentId, AgentIdType.MoxiWorksAgentId, partnerEventId).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_event = MoxiworksPlatform::Event.find(
        moxi_works_agent_id: "1234abcd",
        partner_event_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_event = MoxiworksPlatform\Event::find([
        'moxi_works_agent_id' => '1234abcd',
        'partner_event_id' => 'booyuh']);
?>
Event Show Request Attributes
Attribute Type Length Limit
agent_uuid* String 255
moxi_works_agent_id* String 255
source_agent_id* String 255
partner_event_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.

partner_event_id This is the unique identifer you use in your system that has been associated with the Event that you are searching for.

Event Show Response Payload

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

Event Show (using agent_uuid) Response Payload Example

{
  "partner_event_id": "booyuh",
  "agent_uuid": "12345678-1234-1234-1234-1234567890ab",
  "event_subject": "event subject",
  "event_location": "event location",
  "note": "notable stuff",
  "send_reminder": true,
  "remind_minutes_before": 15,
  "event_start": 1462234227,
  "event_end": 1462241468,
  "all_day": false,
  "attendees": "Contact1ID,Contact2ID"
}
Event Show (using moxi_works_agent_id) Response Payload Example

{
  "partner_event_id": "booyuh",
  "moxi_works_agent_id": "1234abcd",
  "event_subject": "event subject",
  "event_location": "event location",
  "note": "notable stuff",
  "send_reminder": true,
  "remind_minutes_before": 15,
  "event_start": 1462234227,
  "event_end": 1462241468,
  "all_day": false,
  "attendees": "Contact1ID,Contact2ID"
}
Event Show Failure Response
See Error Handling for details about individual error codes.

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

Show Response Attributes
Attribute Type
partner_event_id String
agent_uuid* String
moxi_works_agent_id* String
event_subject String
event_location String
note String
send_reminder Boolean
remind_minutes_before Integer
note String
all_day Boolean
event_start Integer
event_end Integer
attendees 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.

partner_event_id This is the unique identifer you use in your system that has been associated with the Event.

agent_uuid This is the MoxiWorks Platform ID of the Agent which this Event 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 Event is associated with. This will be a string that may take the form of an email address, or a unique identification string.

event_subject This is a short, descriptive, human readable phrase to be displayed to the agent which lets them know what this Event regards.

event_location This is a human readable locatition reference regarding where the event is located that will be meaningful to the agent.

send_reminder Whether to send a reminder to attendees before the start of the event.

remind_minutes_before Number of minutes prior to the start of the event that attendees should be notified.

note This is a human readable note about the event that will be meaningful to the agent.

event_start This is the Unix timestamp representing the start time of the Event.

event_end This is the Unix timestamp representing the end time of the Event.

attendees This is a comma separated list of contacts that have already been added through the MoxiWorks Platform API who will be present at the referenced event. (Use IDs from your system – i.e. partner_contact_id from Contact Create ).

Event Index

Event Index (using agent_uuid) Example

{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
  "date_start":1461108284,
  "date_end":1462317907
}

GET /api/events?agent_uuid=12345678-1234-1234-1234-1234567890ab&date_start=1461108284&date_end=1462317907%20fuller 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 EventService(new MoxiWorksClient());
var results = service.GetEventsByDateAsync(agentUuid,AgentIdType.AgentUuid, 1462317907,1461108284).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_event = MoxiworksPlatform::Event.search(
        agent_uuid: "12345678-1234-1234-1234-1234567890ab",
        date_start: 1462317907,
        date_end: 1461108284)

<?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_event = MoxiworksPlatform\Event::search([
        'agent_uuid' => '12345678-1234-1234-1234-1234567890ab',
        'date_start' => 1462317907,
        'date_end' => 1461108284]);
?>

Event Index (using agent_uuid) Example

{
  "moxi_works_agent_id":"abc123",
  "date_start":1461108284,
  "date_end":1462317907
}

GET /api/events?moxi_works_agent_id=abc123&date_start=1461108284&date_end=1462317907%20fuller 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 = "1234bcd;

var service = new EventService(new MoxiWorksClient());
var results = service.GetEventsByDateAsync(moxiWorksAgentID, AgentIdType.MoxiWorksAgentId, 1462317907, 1461108284).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_event = MoxiworksPlatform::Event.search(
        moxi_works_agent_id: "1234abcd",
        date_start: 1462317907,
        date_end: 1461108284)

<?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_event = MoxiworksPlatform\Event::search([
        'moxi_works_agent_id' => '1234abcd',
        'date_start' => 1462317907,
        'date_end' => 1461108284]);
?>

When searching for Event objects using the MoxiWorks platform API, format your data using the following parameters.

Event Index Request Attributes
Attribute Type Length Limit
agent_uuid* String 255
moxi_works_agent_id* String 255
source_agent_id* String 255
date_start Integer 255
date_end Integer 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.

date_start This is the earliest time that you are searching for an Event to be in. This data is required and must be a Unix timestamp before date_end.

date_end This is the latest time that you are searching for an Event to be in. This data is required and must be a Unix timestamp after date_start.

Event Index (using agent_uuid) Response Payload Example

[{"date":"04/19/2016",
"events": [
{
  "agent_uuid": "12345678-1234-1234-1234-1234567890ab",
  "partner_event_id": "waat",
  "event_subject": "dis subject",
  "event_location": "the location",
  "send_reminder": true,
  "remind_minutes_before": 15,
  "all_day": true,
  "event_start": null,
  "event_end": null,
  "attendees": "Contact1ID, Contact2ID, Contact3ID",
  "note": "more notable stuff"
},
{
  "agent_uuid": "12345678-1234-1234-1234-1234567890ab",
  "partner_event_id": "abcd",
  "event_subject": "mah subject",
  "event_location": "_the_ location",
  "send_reminder": true,
  "remind_minutes_before": 15,
  "all_day": false,
  "event_start": 1462234327,
  "event_end": 1462241468,
  "attendees": null,
  "note": "more notable stuff"
}
]},
{"date":"04/20/2016",
"events":[{
  "agent_uuid": "12345678-1234-1234-1234-1234567890ab",
  "partner_event_id": "booyuh",
  "event_subject": "dat subject",
  "event_location": "the other location",
  "send_reminder": false,
  "remind_minutes_before": 0,
  "all_day": false,
  "event_start": 1462234227,
  "event_end": 1462241468,
  "attendees": null,
  "note": "even more notable stuff"
}]
},
{"date":"04/21/2016",
"events":[]
}]
Event Index (using moxi_works_agent_id) Response Payload Example

[{"date":"04/19/2016",
"events": [
{
  "moxi_works_agent_id": "1234abcd",
  "partner_event_id": "waat",
  "event_subject": "dis subject",
  "event_location": "the location",
  "send_reminder": true,
  "remind_minutes_before": 15,
  "all_day": true,
  "event_start": null,
  "event_end": null,
  "attendees": "Contact1ID, Contact2ID, Contact3ID",
  "note": "more notable stuff"
},
{
  "moxi_works_agent_id": "1234abcd",
  "partner_event_id": "abcd",
  "event_subject": "mah subject",
  "event_location": "_the_ location",
  "send_reminder": true,
  "remind_minutes_before": 15,
  "all_day": false,
  "event_start": 1462234327,
  "event_end": 1462241468,
  "attendees": null,
  "note": "more notable stuff"
}
]},
{"date":"04/20/2016",
"events":[{
  "moxi_works_agent_id": "1234abcd",
  "partner_event_id": "booyuh",
  "event_subject": "dat subject",
  "event_location": "the other location",
  "send_reminder": false,
  "remind_minutes_before": 0,
  "all_day": false,
  "event_start": 1462234227,
  "event_end": 1462241468,
  "attendees": null,
  "note": "even more notable stuff"
}]
},
{"date":"04/21/2016",
"events":[]
}]
Event Index Failure Response
See Error Handling for details about individual error codes.

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

The Event Index response is made up of an array of objects representing dates that span the range requested. Each object contains the following attributes.

Event Index Response Payload
Attribute Type
date String
events Array

date This is a string representing a date in MM/DD/YYYY format. Any event Event whose duration spans or falls within this day will be included in the results for this day.

events This is the payload of Event objects that fall on this day. If no Event objects span this duration, then the events array will be emtpy.

events Response Attributes

Each Event in the events array will have the following structure.

Attribute Type
partner_event_id String
agent_uuid* String
moxi_works_agent_id* String
event_subject String
event_location String
note String
send_reminder Boolean
remind_minutes_before Integer
note String
all_day Boolean
event_start Integer
event_end Integer
attendees 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.

partner_event_id This is the unique identifer you use in your system that has been associated with the Event.

agent_uuid This is the MoxiWorks Platform ID of the Agent which this Event 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 Event is associated with. This will be a string that may take the form of an email address, or a unique identification string.

event_subject This is a short, descriptive, human readable phrase to be displayed to the agent which lets them know what this Event regards.

event_location This is a human readable locatition reference regarding where the event is located that will be meaningful to the agent.

send_reminder Whether to send a reminder to attendees before the start of the event.

remind_minutes_before Number of minutes prior to the start of the event that attendees should be notified.

note This is a human readable note about the event that will be meaningful to the agent.

event_start This is the Unix timestamp representing the start time of the Event.

event_end This is the Unix timestamp representing the end time of the Event.

attendees This is a comma separated list of contacts that have already been added through the MoxiWorks Platform API who will be present at the referenced event. (Use IDs from your system – i.e. partner_contact_id from Contact Create ).

Event Delete

Event Delete (using agent_uuid) Example

{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
  "partner_event_id":"MySystemsUniqueEventID"
}

DELETE /api/events/my_event_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


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

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

var service = new EventService(new MoxiWorksClient());
var results = service.DeleteEventAsync( agentUuid, AgentIdType.AgentUuid, eventID).Result;

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

platform_identifier = 'abc123'

platform_secret = 'secret'

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

success = MoxiworksPlatform::Event.delete(
        agent_uuid: "12345678-1234-1234-1234-1234567890ab",
        partner_event_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);

$success = MoxiworksPlatform\Event::delete([
        'agent_uuid' => '12345678-1234-1234-1234-1234567890ab',
        'partner_event_id' => 'booyuh']);
?>

Event Delete (using moxi_works_agent_id) Example

{
  "moxi_works_agent_id":"abc123",
  "partner_event_id":"MySystemsUniqueEventID"
}

DELETE /api/events/my_event_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


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

var eventID = "abc123";
var moxiWorksAgentID = "1234abcd";

var service = new EventService(new MoxiWorksClient());
var results = service.DeleteEventAsync( agentUuid,  AgentIdType.MoxiWorksAgentId, eventId: eventID).Result;

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

platform_identifier = 'abc123'

platform_secret = 'secret'

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

success = MoxiworksPlatform::Event.delete(
        moxi_works_agent_id: "1234abcd",
        partner_event_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);

$success = MoxiworksPlatform\Event::delete([
        'moxi_works_agent_id' => '1234abcd',
        'partner_event_id' => 'booyuh']);
?>

When deleting an Event object using the MoxiWorks platform API, format your data using the following parameters.

Event Delete Request Attributes
Attribute Type Length Limit
agent_uuid* String 255
moxi_works_agent_id* String 255
source_agent_id* String 255
partner_event_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.

partner_event_id This is the unique identifer you use in your system that has been associated with the Event. This data is required and must reference a previously created Event you have created on The MoxiWorks Platform.

Event Delete Response
{
  "status": "success",
  "deleted": true
}
Event Delete Failure Response
See Error Handling for details about individual error codes.

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

Event Delete Response Payload

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

Attribute Type
status String
deleted Boolean

status This indicates whether the request was successfully processed.

deleted This is the result of the action – whether the Eventobject was actually deleted.

MoxiWorks Platform Gallery entities are groups of photos an agent has associated with a listing.

Gallery Show (using agent_uuid) Example

{
  "moxi_works_company_id":"abc123",
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab"  
}
GET /api/galleries/[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


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

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

var service = new GalleryService(new MoxiWorksClient());
var results = service.GetGalleryAsync(agentUuid, AgentIdType.AgentUuid, moxiWorksCompanyId).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_gallery = MoxiworksPlatform::Gallery.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_gallery = MoxiworksPlatform\Gallery::find([
        'agent_uuid' => '12345678-1234-1234-1234-1234567890ab',
        'moxi_works_company_id' => 'foo']);
?>

Gallery Show (using moxi_works_agent_id) Example

{
  "moxi_works_company_id":"abc123",
  "moxi_works_agent_id":"abc1234"
}
GET /api/galleries/[moxi_works_agent_id]?moxi_works_company_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


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

var agentId = "1234abcd";
var moxiWorksCompanyId = "abc123";

var service = new GalleryService(new MoxiWorksClient());
var results = service.GetGalleryAsync(agentId, AgentIdType.MoxiWorksAgentId, moxiWorksCompanyId).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_gallery = MoxiworksPlatform::Gallery.find(
        moxi_works_agent_id: "1234abcd",
        moxi_works_company_id: "foo")

<?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_gallery = MoxiworksPlatform\Gallery::find([
        'moxi_works_agent_id' => '1234abcd',
        'moxi_works_company_id' => 'foo']);
?>
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

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.

Gallery Show Response Payload Example
{
    "galleries": [
        {
            "ListingID": "233606",
            "ListOfficeAOR": "PSM",
            "ListingImages": [
                {
            "FullURL": "http://media.moxiworks.com/img/0_3_full.jpg",
            "GalleryURL": "http://media.moxiworks.com/img/0_3_gallery.jpg",
            "RawURL": "http://media.moxiworks.com/img/0_3_raw.jpg",
            "SmallURL": "http://media.moxiworks.com/img/0_3_small.jpg",
            "ThumbURL": "http://media.moxiworks.com/img/0_3_thumb.jpg",
            "EmbededHTMLContent": "",
            "Title": "Image Title",
            "IsMainListingImage": true,
            "Caption": "LIVING / DINING ROOM",
            "Description": "This image sure shows something special!",
            "Width": 3456,
            "Height": 2303,
            "MimeType": "image/jpeg"
        }
    ]
}
Gallery Show Failure Response
See Error Handling for details about individual error codes.

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

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

Attribute Type
ListingID String
ListOfficeAOR String or null
ListingImages Array

ListingID The MLS number for the listing.

ListOfficeAOR The name of the MLS which this listing is listed with.

ListingImages Any images in the gallery.

ListingImages Objects

Each object in the ListingImages array will have the following structure.

Attribute Type
FullURL String or null
GalleryURL String or null
RawURL String or null
SmallURL String or null
ThumbURL String or null
Title String or null
IsMainListingImage Boolean
Caption String or null
Description String or null
Width Integer or null
Height Integer or null
MimeType String
EmbededHTMLContent String

FullURL This is a valid URL that can be used for img src to a medium sized representation of the image. This is the medium size image returned in each object in the ListingImages array.

GalleryURL This is a valid URL that can be used for img src to a large sized representation of the image. This is the large size image returned in each object in the ListingImages array.

RawURL This is a valid URL to the raw image as uploaded. This is the largest size image returned in each object in the ListingImages array. Due to variation in size, this image should not be considered for use when displaying images rendered in a browser.

SmallURL This is a valid URL that can be used for img src to a small sized representation of the image. This is the small size image returned in each object in the ListingImages array.

ThumbURL This is a valid URL that can be used for img src to a thumbnail sized representation of the image. This is the smallest size image returned in each object in the ListingImages array.

Title Human readable title of image.

IsMainListingImage Whether this image is considered the primary image for the listing.

Caption Human readable caption for the image.

Description Human readable description of image.

Width Width of the raw image.

Height Height of the raw image.

MimeType MIME or media type of the image.

EmbededHTMLContent Embedded HTML that can be placed into a webpage – this will be used for embedded movies.

Group

MoxiWorks Platform Group entities represent groupings of an agent’s contacts.

Group Create

Group Create (using agent_uuid) Example

{
"agent_uuid":"12345678-1234-1234-1234-1234567890ab",
"name": "some group name",
"partner_group_id": "your_internal_group_id",
"contacts": "partner_contact_id_1,partner_contact_id_2,partner_contact_id_3,partner_contact_id_4"
}
POST /api/groups 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_group_id=your_internal_group_id&name=some+group+name&contacts=partner_contact_id_1,partner_contact_id_2,partner_contact_id_3,partner_contact_id_4

Group Create (using moxi_works_agent_id) Example

{
"moxi_works_agent_id": "abc123",
"name": "some group name",
"partner_group_id": "your_internal_group_id",
"contacts": "partner_contact_id_1,partner_contact_id_2,partner_contact_id_3,partner_contact_id_4"
}
POST /api/groups 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_group_id=your_internal_group_id&name=some+group+name&contacts=partner_contact_id_1,partner_contact_id_2,partner_contact_id_3,partner_contact_id_4
Group Group Request Attributes

The agent_uuid or moxi_works_agent_id parameter will determine what Agent entity the Group record is associated with. For guidance on which Agent identifier better fits your use-case, see Agent Identifiers.

To create a new Group 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 Group record would be added to the agent’s groups.

To create a new Group 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 Group record would be added to the agent’s groups.

When creating an Group 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_group_id String 255
name String 255
contacts String
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.

partner_group_id This is the unique identifer you use in your system that will be associated with the Group that you are creating. This data is required and must be a unique ID for your Group Create request to be accepted.

name This is the name of the group you are creating a Group record for. This name must be unique for the associated Agent record.

contacts This is a comma separated list of parter_contact_ids. Only ids associated with the requesting partner AND the associated Agent will be added to the Group. Contacts found to already exist in the group will be ignored.

Group Create Response Payload

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

Group Create (using agent_uuid) Response Payload Example
{
  "agent_uuid": "23acd353-939d-40cb-b58b-c88d8a8d8ccc",
  "moxi_works_group_name": "Group name",
  "moxi_works_group_id": "{4B86F74F-B8B9-4E84-AFA8-1B2BBEEF41D6}",
  "partner_group_id": "partner_group_id_1554159703",
  "transient": true,
  "is_contact_removal": false,
  "updated_contacts": [
    {
      "moxi_works_contact_id": "deadbeef-feed-face-2bad4daddea1",
      "partner_contact_id": "partner_contact_id_1"
    },
    {
      "moxi_works_contact_id": "deadbeef-feed-face-2bad4daddea2",
      "partner_contact_id": "partner_contact_id_2"
    },
    {
      "moxi_works_contact_id": "deadbeef-feed-face-2bad4daddea3",
      "partner_contact_id": "partner_contact_id_3"
    }
  ]
}
Group Create (using moxi_works_agent_id) Response Payload Example
{
  "moxi_works_agent_id": "1234abcd",
  "moxi_works_group_name": "Group name",
  "moxi_works_group_id": "{4B86F74F-B8B9-4E84-AFA8-1B2BBEEF41D6}",
  "partner_group_id": "partner_group_id_1554159703",
  "transient": true,
  "is_contact_removal": false,
  "updated_contacts": [
    {
      "moxi_works_contact_id": "deadbeef-feed-face-2bad4daddea1",
      "partner_contact_id": "partner_contact_id_1"
    },
    {
      "moxi_works_contact_id": "deadbeef-feed-face-2bad4daddea2",
      "partner_contact_id": "partner_contact_id_2"
    },
    {
      "moxi_works_contact_id": "deadbeef-feed-face-2bad4daddea3",
      "partner_contact_id": "partner_contact_id_3"
    }
  ]
}
Group 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_group_name String
moxi_works_group_id String
partner_group_id String
transient Boolean
is_contact_removal Boolean
updated_contacts 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 Group 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 Group is associated. This will be a string that may take the form of an email address, or a unique alphanumeric identification string.

moxi_works_group_name This is a human readable string meaningful to the agent about what kind of Contact objects are in this Group.

moxi_works_group_id This is the unique identifier for this Group.

partner_group_id This is the unique identifier you use in your system that has been associated with the Group that you are creating.

transient Whether the group ID exists beyond name change.

is_contact_removal How to determine if contacts were removed or added in this request (always false for create requests)

updated_contacts This is a list of contact id hashes representing Contact objects that were successfully added to the Group during creation. The contact hash will be composed of the partner_contact_id and moxi_works_contact_id associated with the contact.

Group Update

Group Update (using agent_uuid and partner_group_id) Example

{
"agent_uuid":"12345678-1234-1234-1234-1234567890ab",
"partner_group_id": "your_internal_group_id",
"is_contact_removal": false,
"contacts": "partner_contact_id_1,partner_contact_id_2,partner_contact_id_3,partner_contact_id_4"
}
PUT /api/groups/[partner_group_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_group_id=your_internal_group_id&contacts=partner_contact_id_1,partner_contact_id_2,partner_contact_id_3,partner_contact_id_4&is_contact_removal=false

Group Update (using moxi_works_agent_id and moxi_works_group_name) Example

{
"moxi_works_agent_id": "abc123",
"moxi_works_group_name": "some group name",
"is_contact_removal": true,
"contacts": "partner_contact_id_1,partner_contact_id_2,partner_contact_id_3,partner_contact_id_4"
}
PUT /api/group/[moxi_works_group_name] 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_group_name=some+group+name&contacts=partner_contact_id_1,partner_contact_id_2,partner_contact_id_3,partner_contact_id_4&is_contact_removal=true
Group Group Request Attributes

When creating an Group 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_group_id* String 255
moxi_works_group_name* String 255
moxi_works_company_id String
parent_company_id String 255
is_contact_removal Boolean 255
contacts String

Required Parameters Are In Red

* Either partner_group_id or moxi_works_group_name 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.

partner_group_id This is the unique identifer you use in your system that will be associated with the Group that you are updating. This data is required and must be a unique ID for your Group for your Update request to be accepted.

moxi_works_group_name This is the name of the group you are updating the Group record for. This will match the name attribute supplied for Group Create requests.

is_contact_removal Pass a value of true to remove contacts from the Group with this Update request.

contacts This is a comma separated list of parter_contact_ids. Only ids associated with the requesting partner AND the associated Agent will be added to / removed from the Group. Contacts found to already exist in the group will be ignored when attempting to add contacts. Contacts not found in the group will be ignored when attempting to remove contacts.

Group Update Response Payload

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

Group Update (using agent_uuid) Response Payload Example
{
  "agent_uuid": "23acd353-939d-40cb-b58b-c88d8a8d8ccc",
  "moxi_works_group_name": "Group name",
  "moxi_works_group_id": "{4B86F74F-B8B9-4E84-AFA8-1B2BBEEF41D6}",
  "partner_group_id": "partner_group_id_1554159703",
  "transient": true,
  "is_contact_removal": false,
  "updated_contacts": [
    {
      "moxi_works_contact_id": "deadbeef-feed-face-2bad4daddea1",
      "partner_contact_id": "partner_contact_id_1"
    },
    {
      "moxi_works_contact_id": "deadbeef-feed-face-2bad4daddea2",
      "partner_contact_id": "partner_contact_id_2"
    },
    {
      "moxi_works_contact_id": "deadbeef-feed-face-2bad4daddea3",
      "partner_contact_id": "partner_contact_id_3"
    }
  ]
}
Group Update (using moxi_works_agent_id) Response Payload Example
{
  "moxi_works_agent_id": "1234abcd",
  "moxi_works_group_name": "Group name",
  "moxi_works_group_id": "{4B86F74F-B8B9-4E84-AFA8-1B2BBEEF41D6}",
  "partner_group_id": "partner_group_id_1554159703",
  "transient": true,
  "is_contact_removal": true,
  "updated_contacts": [
    {
      "moxi_works_contact_id": "deadbeef-feed-face-2bad4daddea1",
      "partner_contact_id": "partner_contact_id_1"
    },
    {
      "moxi_works_contact_id": "deadbeef-feed-face-2bad4daddea2",
      "partner_contact_id": "partner_contact_id_2"
    },
    {
      "moxi_works_contact_id": "deadbeef-feed-face-2bad4daddea3",
      "partner_contact_id": "partner_contact_id_3"
    }
  ]
}
Group 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
moxi_works_group_name String
moxi_works_group_id String
partner_group_id String
transient Boolean
is_contact_removal Boolean
updated_contacts 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 Group 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 Group is associated. This will be a string that may take the form of an email address, or a unique alphanumeric identification string.

moxi_works_group_name This is a human readable string meaningful to the agent about what kind of Contact objects are in this Group.

moxi_works_group_id This is the unique identifier for this Group.

partner_group_id This is the unique identifier you use in your system that has been associated with the Group that you are updating.

transient Whether the group ID exists beyond name change.

is_contact_removal How to determine if contacts were removed or added in this request

updated_contacts This is a list of contact id hashes representing Contact objects that were successfully added to / removed from the Group. The contact hash will be composed of the partner_contact_id and moxi_works_contact_id associated with the contact.

Group Show

Group Show (using agent_uuid) Example

{
  "moxi_works_group_id":"abc123",
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab"
}
GET /api/groups/[moxi_works_group_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


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

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

var service = new GroupService(new MoxiWorksClient());
var results = service.GetGroupAsync(agentUuid,  AgentIdType.AgentUuid, moxiWorksGroupId).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_group = MoxiworksPlatform::Group.find(
        agent_uuid: "12345678-1234-1234-1234-1234567890ab",
        moxi_works_group_id: "foo")

<?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_group = MoxiworksPlatform\Group::find([
        'agent_uuid' => '12345678-1234-1234-1234-1234567890ab',
        'moxi_works_group_id' => 'foo']);
?>

Group Show (using moxi_works_agent_id) Example

{
  "moxi_works_group_id":"abc123",
  "moxi_works_agent_id":"abc1234"
}
GET /api/groups/[moxi_works_group_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


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

var moxiWorksAgentId = "1234abcd";
var moxiWorksGroupId = "booyuh";

var service = new GroupService(new MoxiWorksClient());
var results = service.GetGroupAsync( moxiWorksAgentId,  AgentIdType.MoxiWorksAgentId, moxiWorksGroupId).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_group = MoxiworksPlatform::Group.find(
        moxi_works_agent_id: "1234abcd",
        moxi_works_group_id: "foo")

<?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_group = MoxiworksPlatform\Group::find([
        'moxi_works_agent_id' => '1234abcd',
        'moxi_works_group_id' => 'foo']);
?>
Group Show Request Attributes
Attribute Type Length Limit
agent_uuid* String 255
moxi_works_agent_id* String 255
source_agent_id* String 255
partner_group_id* String 255
moxi_works_group_name* String 255
moxi_works_company_id String
parent_company_id String 255
page_number Integer 255

Required Parameters Are In Red

* Either partner_group_id or moxi_works_group_name 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_group_name This is the name of a Group to be shown

partner_group_id This is the unique identifer you use in your system that will be associated with the Group that you are updating. This data is required and must be a unique ID for your Group for your Update request to be accepted.

page_number Page of contacts objects to return. Use if total_pages indicates that there is more than one page of data available.

Group Show (using agent_uuid) Response Payload Example
{
    "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
    "moxi_works_group_name":"foo",
    "moxi_works_group_id": "{4B86F74F-B8B9-4E84-AFA8-1B2BBEEF41D6}",
    "partner_group_id": "partner_group_id_1",
    "transient": true,
    "page_number":1,
    "total_pages":1,
    "contacts":[
      {
      "moxi_works_contact_id":"74284ec4-51aa-39b5-a47c-bd4a11f8ee9a",
      "contact_name":"Firstname Middlenyme Larstnam",
      "first_name":"Firstname",
      "middle_name":"Middlenyme",
      "last_name":"Larstnam",
      "suffix":null,
      "gender":"M",
      "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",
      "note": "notable stuff about Mr. Larstnam",
      "occupation":"chef"
    }
  ]
}
Group Show (using moxi_works_agent_id) Response Payload Example
{
    "moxi_works_agent_id":"1234abcd",
    "moxi_works_group_name":"foo",
    "moxi_works_group_id": "{4B86F74F-B8B9-4E84-AFA8-1B2BBEEF41D6}",
    "partner_group_id": "partner_group_id_1",
    "transient": true,
    "page_number":1,
    "total_pages":1,
    "contacts":[
      {
      "moxi_works_contact_id":"74284ec4-51aa-39b5-a47c-bd4a11f8ee9a",
      "contact_name":"Firstname Middlenyme Larstnam",
      "first_name":"Firstname",
      "middle_name":"Middlenyme",
      "last_name":"Larstnam",
      "suffix":null,
      "gender":"M",
      "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",
      "note": "notable stuff about Mr. Larstnam",
      "occupation":"chef"
    }
  ]
}
Group Show Failure Response
See Error Handling for details about individual error codes.

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

Group Show Response Payload

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

Attribute Type
agent_uuid* String
moxi_works_agent_id* String
moxi_works_group_name String
partner_group_id String
moxi_works_group_id String
transient Boolean
page_number Integer
total_pages Integer
contacts 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 Group 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 Group 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_group_name This is a human readable string meaningful to the agent about what kind of Contact objects are in this Group.

partner_group_id This is the unique identifier you use in your system that has been associated with the Group.

moxi_works_group_id This is the unique identifier for this Group.

transient Whether the group ID exists beyond name change.

page_number The page number of this response set.

total_pages The total number of pages in this response set.

contacts The Contact objects in this page.

contacts Response Attributes

Each contact represented in the events array will have the following structure.

Attribute Type
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
primary_email_address String or null
secondary_email_address String or null
primary_phone_number String or null
secondary_phone_number String or null
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
note String or null
occupation String or null

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

contact_name This is the full name of the contact associated with this Contact record. 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.

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.

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.

note This is an arbitrary string giving the agent more details about the contact which would not otherwise fit into the Contact record. This value will be null if no data is available for this attribute.

Group Index

Group Index (using agent_uuid) Example

{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
  "name":"foo",
  "updated_since":"1518049148"
}
GET /api/groups?agent_uuid=12345678-1234-1234-1234-1234567890ab&name=foo 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 groupName = "group abc123";

var service = new GroupsService(new MoxiWorksClient());
var results = service.GetGroupsAsync(agentUuid, AgentIdType.AgentUuid, groupName).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_groups = MoxiworksPlatform::Group.search(
        agent_uuid: "12345678-1234-1234-1234-1234567890ab",
        name: "foo")

# or for a list of all available groups:
moxi_works_groups = MoxiworksPlatform::Group.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_groups = MoxiworksPlatform\Group::search([
        'agent_uuid' => '12345678-1234-1234-1234-1234567890ab',
        'name' => 'foo']);

# or for a list of all available groups
$moxi_works_groups = MoxiworksPlatform\Group::search([
        $agent_uuid => "12345678-1234-1234-1234-1234567890ab"]);

?>

Group Index (using moxi_works_agent_id) Example

{
  "moxi_works_agent_id":"abc123",
  "name":"foo"
}
GET /api/groups?moxi_works_agent_id=abc123&name=foo 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 = "1234bcd;
var groupName = "group abc123";

var service = new GroupsService(new MoxiWorksClient());
var results = service.GetGroupsAsync(moxiWorksAgentID, AgentIdType.MoxiWorksAgentId, groupName).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_groups = MoxiworksPlatform::Group.search(
        moxi_works_agent_id: "1234abcd",
        name: "foo")

# or for a list of all available groups:
moxi_works_groups = MoxiworksPlatform::Group.search(
        moxi_works_agent_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_groups = MoxiworksPlatform\Group::search([
        'moxi_works_agent_id' => '1234abcd',
        'name' => 'foo']);

# or for a list of all available groups
$moxi_works_groups = MoxiworksPlatform\Group::search([
        $moxi_works_agent_id => "1234abcd"]);

?>

When searching for Group objects using the MoxiWorks platform API, format your data using the following parameters.

Group Index Request Attributes
Attribute Type Length Limit
agent_uuid* String 255
moxi_works_agent_id* String 255
source_agent_id* String 255
name String 255
updated_since Integer 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.

name This is the name of a Group to be searched for.

updated_since When a Unix timestamp is passed in this parameter, only Group objects that contain contacts that have been updated since this Unix timestamp will be returned. This update references contacts, not any changes with the group itself.

Group Index Response Payload

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

Group Index Response Payload Example

[
 {
"moxi_works_group_name": "Christmas Cards",
"moxi_works_group_id": "Christmas Cards",
"partner_group_id": "partner_group_id_1",
"transient": true
},
 {
"moxi_works_group_name": "foo",
"moxi_works_group_id": "foo",
"partner_group_id": "partner_group_id_1",
"transient": true
},
 {
"moxi_works_group_name": "Friends",
"moxi_works_group_id": "Friends",
"partner_group_id": "partner_group_id_1",
"transient": true
},
]
Group Index Failure Response
See Error Handling for details about individual error codes.
{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

Group Response Attributes

The Group Index response is made up of an array of Group objects. Each Group object contains the following attributes.

Attribute Type
moxi_works_group_name String
moxi_works_group_id String
partner_group_id String
transient Boolean

moxi_works_group_name This is a human readable string meaningful to the agent about what kind of Contact objects are in this Group.

moxi_works_group_id This is the unique identifier for this Group.

partner_group_id This is the unique identifier you use in your system that has been associated with the Group.

transient Whether the group ID exists beyond name change.

LeadSource

MoxiWorks Platform LeadSource are the lead sources that may be used to generate leads in the MoxiWorks Platform API.

LeadSource Index

The LeadSource Index endpoint will return all LeadSource entities under whose alias your organization may generate leads. When searching for LeadSource entities using the MoxiWorks platform API, format your request using the following parameters.

LeadSource Index Request Example

GET /api/lead_sources 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

{}

LeadSource Index Request Attributes
Attribute Type Length Limit
LeadSource Index Response Payload

LeadSource Index returns an array of objects representing lead sources available for association with Contact records in MoxiEngage and MoxiWorks platform API. The following attributes make up the payload of each LeadSource object returned in an Index request.

LeadSource Index Response Payload Example

[
{
  "moxi_works_lead_source_id":"some_lead_source_id",
  "name":"Some Lead Source Name",
  "is_partner_default": true
},
{
  "moxi_works_lead_source_id":"some_other_lead_source_id",
  "name":"Some Other Lead Source Name",
  "is_partner_default": false
}
]
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_lead_source_id String
name String
is_partner_alias Boolean
is_partner_default Boolean

moxi_works_lead_source_id This is the MoxiWorks Platform ID of the LeadSource. This will be an alphanumeric identification string which will be similar to the LeadSource name.

name This is the common name of the lead source.

is_partner_alias Is true if this LeadSource may be used as a lead source alias for the requesting partner.

is_partner_default Is true for the LeadSource entity used as a default for this partner. This should always be true for exactly one of each partner’s available lead sources in the Index Response Payload.

Listing

MoxiWorks Platform Listing entities represent a Brokerage’s listings.

Listing Update

Listing Update Example

{
  "moxi_works_listing_id":"abc123",
  "moxi_works_company_id":"bobs_better_houses",
  "VirtualTourURL":"http://here.com",
  "SharedPartnerData":{
    "attribute_1":"value_1",
    "attribute_2":"value_2"
  }
}

PUT /api/listings/[moxi_works_listing_id]?moxi_works_company_id=bobs_better_houses 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
require 'moxiworks_platform'

platform_identifier = 'abc123'

platform_secret = 'secret'

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

moxi_works_listing = MoxiworksPlatform::Listing.update(
        moxi_works_listing_id: "1234abcd",
        moxi_works_company_id: "abc123",
        VirtualTourURL: "http://virtualtourdomainurlthing.com",
        SharedPartnerData: {
          attribute_1: "value_1",
          attribute_2: "value_2"
        }
      )


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

var service = new Platform.ListingService(new MoxiWorksClient());

var updatable = new ListingUpdatableData
{
    VirtualTourURL = "http://tour.example.com"
};

var update = new ListingUpdate
{
    MoxiWorksCompanyId = "foo",
    MoxWorksListingId = "bar",
    Listing = updatable
};

var result = service.UpdateListingDataAsync(update).Result;
var listing = result.Item.Listings[0];

<?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_listing = MoxiworksPlatform\Listing::update([
        'moxi_works_listing_id' => '1234abcd',
        'moxi_works_company_id' => 'abc123',
        'VirtualTourURL' => 'http://virtualtourdomainurlthing.com'
        ]);
?>

When updating Listing objects using the MoxiWorks platform API, format your data using the following parameters.

Listing Update Request Attributes
Attribute Type Length Limit
moxi_works_listing_id String 255
moxi_works_company_id String 255
parent_company_id String 255
underscore_response 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_listing_id This is the MoxiWorks Platform ID of the Listing which you are requesting to Update. This data is required and must reference a valid MoxiWorks Listing ID for your Update request to be accepted.

underscore_response When this attribute is passed as true, the json keys of the response will be underscored. The default json key format for listing responses is camel casing.

Listing Update Response Payload Example

{
  "LotSizeAcres":0.0,
  "BathroomsFull":3,
  "BathroomsHalf":0,
  "BathroomsOneQuarter":null,
  "BathroomsPartial":null,
  "BathroomsThreeQuarter":null,
  "BathroomsTotalInteger":3,
  "BathroomsTotal":3.0,
  "BedroomsTotal":8,
  "PublicTitle":"Amazingly Remarkable!",
  "PublicRemarks":"Publicalistically Remarkabalistically! REMARKABLE!!",
  "ModificationTimestamp":"2018-03-20T11:04:55.659-07:00",
  "InternetAddressDisplayYN":true,
  "DaysOnMarket":0,
  "ListingContractDate":"07/27/2016",
  "CreatedDate":"11/01/2016",
  "ElementarySchool":"Elementary My Dear School",
  "GarageSpaces":4,
  "WaterfrontYN":false,
  "HighSchool":"Higher Than Junior",
  "AssociationFee":null,
  "ListOfficeName":"Realty Valley United",
  "ListPrice":599000,
  "ListingID":"12323",
  "ListAgentFullName":"Bob Agentson",
  "ListAgentUUID":"8675309e9-1234-dead-beef-deadbeefdead",
  "ListAgentOfficeID":"abc123",
  "ListAgentMoxiWorksOfficeID":"abcd1234",
  "SecondaryListAgentFullName":"Richard Agent",
  "SecondaryListAgentUUID":"8675309e9-2345-dead-beef-deadbeefdead",
  "SchoolDistrict":"Hilltop District",
  "Address":"97 Hilltop Road",
  "Address2":null,
  "City":"Montecarlo",
  "CountyOrParish":"Counting Parishes",
  "Latitude":"47.723251",
  "Longitude":"-122.171745",
  "StateOrProvince":"NV",
  "PostalCode":"87654",
  "Community":"Shady Acres",
  "LotSizeSquareFeet":null,
  "InternetEntireListingDisplayYN":true,
  "MiddleOrJuniorSchool":"*The* Junior High" ,
  "ListOfficeAOR":"WHATEVERS MLS",
  "ListOfficeAORArea":"Area 51",
  "PoolYN":false,
  "PropertyType":"Residential",
  "TaxAnnualAmount":13652,
  "TaxYear":2015,
  "SingleStory":false,
  "LivingArea":3640,
  "ViewYN":false,
  "YearBuilt":1989,
  "OnMarket":true,
  "Status":"active",
  "MoxiWorksListingId":"abc123",
  "AgentCreatedListing":false,
  "VirtualTourURL":"http://the.virtual.tour.url",
  "SharedPartnerData":{
     "attribute_1": "value_1",
     "attribute_2": "value_2"
  },
  "ListingURL":"http://the.listing.url",
  "PropertyFeatures":[
    {
      "PropertyFeatureName": "Kitchen Information",
      "PropertyFeatureValues": [
        "Dishwasher",
        "Microwave",
        "Oven/Range Freestanding"
      ]
      },
      {
      "PropertyFeatureName": "Roof Description",
      "PropertyFeatureValues": [
        "Comp Shingle"
      ]
      },
      {
      "PropertyFeatureName": "Number Of Stories",
      "PropertyFeatureValues": [
        "Two Story"
      ]
      },
        {
      "PropertyFeatureName": "Interior Features",
      "PropertyFeatureValues": [
        "Bath Master",
        "Broadband Internet",
        "Cable/Satellite Tv",
        "Dishwasher",
        "Microwave",
        "Oven/Range Freestanding"
      ]
    }
  ],
  "CompanyListingAttributes": [
    {
      "AttributeId": "the collection",
      "AttributeName": "The Collection"
    },
      {
        "AttributeId": "destination",
        "AttributeName": "Destination"
    }
  ],
  "OpenHouse":[
    {
      "Date":"2018-01-06",
      "StartTime":"13:00:00",
      "EndTime":"15:00:00",
      "VirtualOpenHouseYN":false,
      "VirtualOpenHouseURL":null,
      "Comment":null
    }
  ],
  "ImagesLastModified":"01/22/2018",
  "ListingImages":[
    {
      "FullURL":"http://images.moxiworks.com/static/images/br/imagoo/default_property_image_wre-326x250.png",
      "GalleryURL":"http://images.moxiworks.com/static/images/br/imagoo/default_property_image_wre-326x250.png",
      "RawURL":"http://images.moxiworks.com/static/images/br/imagoo/default_property_image_wre-326x250.png",
      "SmallURL":"http://images.moxiworks.com/static/images/br/imagoo/default_property_image_wre-326x250.png",
      "ThumbURL":"http://images.moxiworks.com/static/images/br/imagoo/default_property_image_wre-326x250.png",
      "Title":"Image Title",
      "IsMainListingImage":true,
      "Caption":"Image Caption",
      "Description":"Image Description",
      "Width":1024,
      "Height":768,
      "MimeType":"image/jpeg"
      }
  ],
  "BuyerCommissionType": "percent",
  "BuyerCommissionValue": "2.5"
}
Listing Update Failure Response Example
See Error Handling for details about individual error codes.


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

Listing Update Response Payload

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

Attribute Type
LotSizeAcres Float or null
BathroomsFull Integer or null
BathroomsHalf Integer or null
BathroomsOneQuarter Integer or null
BathroomsPartial Integer or null
BathroomsThreeQuarter Integer or Null
BathroomsTotalInteger Integer or null
BathroomsTotal Float or null
BedroomsTotal Integer or null
PublicTitle String or null
PublicRemarks String or null
ModificationTimestamp String
InternetAddressDisplayYN Boolean or null
DaysOnMarket Integer
ListingContractDate String
CreatedDate String
ElementarySchool String or null
GarageSpaces Integer or null
WaterfrontYN Boolean or null
HighSchool String or null
AssociationFee Integer or null
ListOfficeName String or null
ListPrice Integer or null
ListingID String
ListAgentFullName String
ListAgentUUID String
ListAgentOfficeID String
ListAgentMoxiWorksOfficeID String
SecondaryListAgentFullName String or null
SecondaryListAgentUUID String or null
SchoolDistrict String or null
Address String or null
Address2 String or null
City String or null
CountyOrParish String or null
Latitude String or null
Longitude String or null
StateOrProvince String or null
PostalCode String or null
Community String or null
LotSizeSquareFeet Integer or Null
InternetEntireListingDisplayYN Boolean
MiddleOrJuniorSchool String or null
ListOfficeAOR String or null
ListOfficeAORArea String or null
PoolYN Boolean or null
PropertyType String or null
TaxAnnualAmount Integer or null
TaxYear Integer or null
SingleStory Boolean or null
LivingArea Integer or null
ViewYN Boolean or null
YearBuilt Integer or null
OnMarket Boolean or null
Status String or null
MoxiWorksListingId String
AgentCreatedListing Boolean
VirtualTourURL String or null
SharedPartnerData Hash
ListingURL String or null
PropertyFeatures Array
CompanyListingAttributes Array
OpenHouse Array
ImagesLastModified String or null
ListingImages Array
BuyerCommissionType String or null
BuyerCommissionValue String or null

LotSizeAcres This is the property size of the listing land in acres. If no data is available for this attribute, it will be null.

BathroomsFull This is the number of full bathrooms in the property. If no data is available for this attribute, it will be null.

BathroomsHalf This is the number of half bathrooms in the property. If no data is available for this attribute, it will be null.

BathroomsOneQuarter This is the number of quarter-sized bathrooms in the property. If no data is available for this attribute, it will be null.

BathroomsPartial This is the number of partial bathrooms in the property. If no data is available for this attribute, it will be null.

BathroomsThreeQuarter This is the number of three-quarter bathrooms in the property. If no data is available for this attribute, it will be null.

BathroomsTotalInteger This is the number of rooms that are bathrooms in the property. This is not a summary count of bathrooms by size. If no data is available for this attribute, it will be null.

BathroomsTotal This is the summary count of bathrooms in the property. This will be the number of quarter-bathrooms plus half-bathrooms plus three-quarter bathrooms plus full bathrooms. If no data is available for this attribute, it will be null.

BedroomsTotal This is the number of bedrooms in the property. If no data is available for this attribute, it will be null.

PublicTitle The human-readable title for the listing generated by the property agent. If no data is available for this attribute, it will be null.

PublicRemarks These are human-readable notes about the property generated by the property agent. If no data is available for this attribute, it will be null.

ModificationTimestamp This is a string representing a date on which the listing data was last updated in ISO 8601 format. If no data is available for this attribute, it will be null.

InternetAddressDisplayYN This denotes whether the property should be displayed on a public facing website. If no data is available for this attribute, it will be null.

DaysOnMarket The number of days the listing has been on market.

ListingContractDate This is a string representing a date on which the listing contract was initiated. The string format is MM/DD/YYYY.

CreatedDate This is a string representing a date on which the Listing object was created. The string format is MM/DD/YYYY.

ElementarySchool The elementary school for the property.

GarageSpaces The number of garage spaces that are available at the property.

WaterfrontYN Whether the property is waterfront.

HighSchool The high school for the property.

AssociationFee The home owner’s association fee for the property.

ListOfficeName The name of the listing office.

ListPrice The listed price for the listing.

ListingID The MLS number for the listing.

ListAgentFullName The name of the listing agent.

ListAgentUUID A unique identifier for the listing agent. This will correspond to the uuid field of an Agent.

ListAgentOfficeID A unique identifier for the listing agent’s office. This will correspond to the office_id field of an Office.

ListAgentMoxiWorksOfficeID A unique identifier for the listing agent’s office. This will correspond to the moxi_works_office_id field of an Office.

SecondaryListAgentFullName If there is a second listing agent, the name of the second listing agent.

SecondaryListAgentUUID If there is a second listing agent, the unique identifier for the second listing agent. This will correspond to the uuid field of an Agent.

SchoolDistrict The school district the listing property is in.

Address The street address of the property.

Address2 Additional street address information, for example, suite number.

City City or township the property is located in.

State State or province the property is located in.

PostalCode The zip code or postal code the property is located in.

Community The community the property is located in.

LotSizeSquareFeet Total area of the lot.

InternetEntireListingDisplayYN Whether to display information about this listing publicly. If this is false, then the information about this listing should not be visible to the Internet.

MiddleOrJuniorSchool The middle school for the property.

ListOfficeAOR The name of the MLS which this listing is listed with.

ListOfficeAORArea The MLS Area which this listing is in.

PoolYN Whether the property has a pool.

PropertyType The type of property being listed. This can be one of Residential, Condo-Coop, Townhouse, Land, Multifamily

TaxAnnualAmount The total annual property tax.

TaxYear The tax year that the property tax in TaxAnnualAmount was assessed.

SingleStory Whether the building has one story or is multi-story.

LivingArea Total square footage of the building(s) on the property.

ViewYN Whether the property has a view.

YearBuilt The year the living building(s) on the property were built.

OnMarket Whether the listing is currently on-market.

Status Detailed status of the listing; whether it’s active pending contingent coming soon short sale

MoxiWorksListingID The unique Identifier for the listing in The MoxiWorks Platform.

AgentCreatedListing Whether the agent created this listing.

VirtualTourURL Virtual tour URL for this listing.

SharedPartnerData A hash containing data shared between MoxiWorks affiliates.

ListingURL Details URL for this listing.

PropertyFeatures Any defined features about the property.

CompanyListingAttributes Company specific attributes associated with the listing. These will be defined by the company & should not be expected to be uniform across companies.

OpenHouse Open house data.

ImagesLastModified The date when the images of the property were last modified, or null if the property has no images.

ListingImages Any images of the property.

BuyerCommissionType The type of buyer broker compensation value set for the listing. The two types of broker compensation values are percent or flat_rate.

BuyerCommissionValue Buyer broker compensation value for the listing.

PropertyFeature Objects

Each object in the PropertyFeatures array will have the following structure.

Attribute Type
PropertyFeatureName String
PropertyFeatureValues Array

PropertyFeatureName Human readable name associated with the feature.

PropertyFeatureValues An array of strings which are human readable values associated with the feature.

CompanyListingAttributes Objects

Each object in the CompanyListingAttributes array will have the following structure.

Attribute Type
AttributeId String
AttributeName String

AttributeId Unique ID for the attribute.

AttributeName Human readable name of the company specific listing attribute.

OpenHouse Objects

Each object in the OpenHouse array will have the following structure.

Attribute Type
Date String
StartTime String
EndTime String
VirtualOpenHouseYN Boolean
VirtualOpenHouseURL String
Comment String

Date YYYY-MM-DD formatted string representing the date of the open house

StartTime HH:MM:SS formatted string representing the time when the open house starts. This is expressed in the local time where the listing is located.

EndTime HH:MM:SS formatted string representing the time when the open house ends. This is expressed in the local time where the listing is located.

VirtualOpenHouseYN Whether the Open House is a Virtual Open House.

VirtualOpenHouseURL If the Open House is a Virtual Open House, the URL that the Virtual Open House is available.

Comment Comments related to the specific Open House showing.

ListingImages Objects

Each object in the ListingImages array will have the following structure.

Attribute Type
FullURL String or null
GalleryURL String or null
RawURL String or null
SmallURL String or null
ThumbURL String or null
Title String or null
IsMainListingImage Boolean
Caption String or null
Description String or null
Width Integer or null
Height Integer or null
MimeType String
EmbededHTMLContent String

FullURL This is a valid URL that can be used for img src to a medium sized representation of the image. This is the medium size image returned in each object in the ListingImages array.

GalleryURL This is a valid URL that can be used for img src to a large sized representation of the image. This is the large size image returned in each object in the ListingImages array.

RawURL This is a valid URL to the raw image as uploaded. This is the largest size image returned in each object in the ListingImages array. Due to variation in size, this image should not be considered for use when displaying images rendered in a browser.

SmallURL This is a valid URL that can be used for img src to a small sized representation of the image. This is the small size image returned in each object in the ListingImages array.

ThumbURL This is a valid URL that can be used for img src to a thumbnail sized representation of the image. This is the smallest size image returned in each object in the ListingImages array.

Title Human readable title of image.

IsMainListingImage Whether this image is considered the primary image for the listing.

Caption Human readable caption for the image.

Description Human readable description of image.

Width Width of the raw image.

Height Height of the raw image.

MimeType MIME or media type of the image.

EmbededHTMLContent Embedded HTML that can be placed into a webpage – this will be used for embedded movies.

Listing Show

Listing Show Example

{
  "moxi_works_listing_id":"abc123",
  "moxi_works_company_id":"bobs_better_houses"
}

GET /api/listings/[moxi_works_listing_id]?moxi_works_company_id=bobs_better_houses 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 moxiWorksListingId = "12345678-1234-1234-1234-1234567890ab";
var moxiWorksCompanyId = "abc123";

var service = new ListingService(new MoxiWorksClient());
var results = service.GetListingAsync(moxiWorksListingId, moxiWorksCompanyId).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_listing = MoxiworksPlatform::Listing.find(
        moxi_works_listing_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_listing = MoxiworksPlatform\Listing::find([
        'moxi_works_listing_id' => '1234abcd',
        'moxi_works_company_id' => 'abc123']);
?>

When showing Listing objects using the MoxiWorks platform API, format your data using the following parameters.

Listing Show Request Attributes
Attribute Type Length Limit
moxi_works_listing_id String 255
moxi_works_company_id String 255
parent_company_id String 255
underscore_response 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_listing_id This is the MoxiWorks Platform ID of the Listing which you are requesting to Show. This data is required and must reference a valid MoxiWorks Listing ID for your Show request to be accepted.

underscore_response When this attribute is passed as true, the json keys of the response will be underscored. The default json key format for listing responses is camel casing.

Listing Show Response Payload Example

{
  "LotSizeAcres":0.0,
  "BathroomsFull":3,
  "BathroomsHalf":0,
  "BathroomsOneQuarter":null,
  "BathroomsPartial":null,
  "BathroomsThreeQuarter":null,
  "BathroomsTotalInteger":3,
  "BathroomsTotal":3.0,
  "BedroomsTotal":8,
  "PublicTitle":"Amazingly Remarkable!",
  "PublicRemarks":"Publicalistically Remarkabalistically! REMARKABLE!!",
  "ModificationTimestamp":"2018-03-20T11:04:55.659-07:00",
  "StatusChangeDate": "2020-09-08T00:00:00.000-07:00",
  "InternetAddressDisplayYN":true,
  "DaysOnMarket":0,
  "ListingContractDate":"07/27/2016",
  "CreatedDate":"11/01/2016",
  "ElementarySchool":"Elementary My Dear School",
  "GarageSpaces":4,
  "WaterfrontYN":false,
  "HighSchool":"Higher Than Junior",
  "AssociationFee":null,
  "ListOfficeName":"Realty Valley United",
  "ListPrice":599000,
  "ListingID":"12323",
  "ListAgentFullName":"Bob Agentson",
  "ListAgentUUID":"8675309e9-1234-dead-beef-deadbeefdead",
  "ListAgentOfficeID":"abc123",
  "ListAgentMoxiWorksOfficeID":"abcd1234",
  "SecondaryListAgentFullName":"Richard Agent",
  "SecondaryListAgentUUID":"8675309e9-2345-dead-beef-deadbeefdead",
  "SchoolDistrict":"Hilltop District",
  "Address":"97 Hilltop Road",
  "Address2":null,
  "City":"Montecarlo",
  "CountyOrParish":"Counting Parishes",
  "Latitude":"47.723251",
  "Longitude":"-122.171745",
  "StateOrProvince":"NV",
  "PostalCode":"87654",
  "Community":"Shady Acres",
  "LotSizeSquareFeet":null,
  "InternetEntireListingDisplayYN":true,
  "MiddleOrJuniorSchool":"*The* Junior High" ,
  "ListOfficeAOR":"WHATEVERS MLS",
  "ListOfficeAORArea":"Area 51",
  "PoolYN":false,
  "PropertyType":"Residential",
  "TaxAnnualAmount":13652,
  "TaxYear":2015,
  "SingleStory":false,
  "LivingArea":3640,
  "ViewYN":false,
  "YearBuilt":1989,
  "OnMarket":true,
  "Status":"active",
  "MoxiWorksListingId":"abc123",
  "AgentCreatedListing":false,
  "VirtualTourURL":"http://the.virtual.tour.url",
  "SharedPartnerData":{
     "attribute_1": "value_1",
     "attribute_2": "value_2"
  },
  "TaxParcelId": "9831200160",
  "ListingURL":"http://the.listing.url",
  "PropertyFeatures":[
    {
      "PropertyFeatureName": "Kitchen Information",
      "PropertyFeatureValues": [
        "Dishwasher",
        "Microwave",
        "Oven/Range Freestanding"
      ]
      },
      {
      "PropertyFeatureName": "Roof Description",
      "PropertyFeatureValues": [
        "Comp Shingle"
      ]
      },
      {
      "PropertyFeatureName": "Number Of Stories",
      "PropertyFeatureValues": [
        "Two Story"
      ]
      },
        {
      "PropertyFeatureName": "Interior Features",
      "PropertyFeatureValues": [
        "Bath Master",
        "Broadband Internet",
        "Cable/Satellite Tv",
        "Dishwasher",
        "Microwave",
        "Oven/Range Freestanding"
      ]
    }
  ],
  "CompanyListingAttributes": [
    {
      "AttributeId": "the collection",
      "AttributeName": "The Collection"
    },
      {
        "AttributeId": "destination",
        "AttributeName": "Destination"
    }
  ],
  "OpenHouse":[
    {
      "Date":"2018-01-06",
      "StartTime":"13:00:00",
      "EndTime":"15:00:00",
      "VirtualOpenHouseYN":false,
      "VirtualOpenHouseURL":null,
      "Comment":null
      }
  ],
  "ImagesLastModified":"01/22/2018",
  "ListingImages":[
    {
      "FullURL":"http://images.moxiworks.com/static/images/br/imagoo/default_property_image_wre-326x250.png",
      "GalleryURL":"http://images.moxiworks.com/static/images/br/imagoo/default_property_image_wre-326x250.png",
      "RawURL":"http://images.moxiworks.com/static/images/br/imagoo/default_property_image_wre-326x250.png",
      "SmallURL":"http://images.moxiworks.com/static/images/br/imagoo/default_property_image_wre-326x250.png",
      "ThumbURL":"http://images.moxiworks.com/static/images/br/imagoo/default_property_image_wre-326x250.png",
      "Title":"Image Title",
      "IsMainListingImage":true,
      "Caption":"Image Caption",
      "Description":"Image Description",
      "Width":1024,
      "Height":768,
      "MimeType":"image/jpeg"
      }
  ],
  "BuyerCommissionType": "percent",
  "BuyerCommissionValue": "2.5"
}
Listing Show Failure Response Example
See Error Handling for details about individual error codes.


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

Listing Show Response Payload

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

Attribute Type
LotSizeAcres Float or null
BathroomsFull Integer or null
BathroomsHalf Integer or null
BathroomsOneQuarter Integer or null
BathroomsPartial Integer or null
BathroomsThreeQuarter Integer or Null
BathroomsTotalInteger Integer or null
BathroomsTotal Float or null
BedroomsTotal Integer or null
PublicTitle String or null
PublicRemarks String or null
ModificationTimestamp String
StatusChangeDate String
InternetAddressDisplayYN Boolean or null
DaysOnMarket Integer
ListingContractDate String
CreatedDate String
ElementarySchool String or null
GarageSpaces Integer or null
WaterfrontYN Boolean or null
HighSchool String or null
AssociationFee Integer or null
ListOfficeName String or null
ListPrice Integer or null
ListingID String
ListAgentFullName String
ListAgentUUID String
ListAgentOfficeID String
ListAgentMoxiWorksOfficeID String
SecondaryListAgentFullName String or null
SecondaryListAgentUUID String or null
SchoolDistrict String or null
Address String or null
Address2 String or null
City String or null
CountyOrParish String or null
Latitude String or null
Longitude String or null
StateOrProvince String or null
PostalCode String or null
Community String or null
LotSizeSquareFeet Integer or Null
InternetEntireListingDisplayYN Boolean
MiddleOrJuniorSchool String or null
ListOfficeAOR String or null
ListOfficeAORArea String or null
PoolYN Boolean or null
PropertyType String or null
TaxAnnualAmount Integer or null
TaxYear Integer or null
SingleStory Boolean or null
LivingArea Integer or null
ViewYN Boolean or null
YearBuilt Integer or null
OnMarket Boolean or null
Status String or null
MoxiWorksListingId String
AgentCreatedListing Boolean
VirtualTourURL String
SharedPartnerData Hash
TaxParcelId String or null
ListingURL String or null
PropertyFeatures Array
CompanyListingAttributes Array
OpenHouse Array
ImagesLastModified String or null
ListingImages Array
BuyerCommissionType String or null
BuyerCommissionValue String or null

LotSizeAcres This is the property size of the listing land in acres. If no data is available for this attribute, it will be null.

BathroomsFull This is the number of full bathrooms in the property. If no data is available for this attribute, it will be null.

BathroomsHalf This is the number of half bathrooms in the property. If no data is available for this attribute, it will be null.

BathroomsOneQuarter This is the number of quarter-sized bathrooms in the property. If no data is available for this attribute, it will be null.

BathroomsPartial This is the number of partial bathrooms in the property. If no data is available for this attribute, it will be null.

BathroomsThreeQuarter This is the number of three-quarter bathrooms in the property. If no data is available for this attribute, it will be null.

BathroomsTotalInteger This is the number of rooms that are bathrooms in the property. This is not a summary count of bathrooms by size. If no data is available for this attribute, it will be null.

BathroomsTotal This is the summary count of bathrooms in the property. This will be the number of quarter-bathrooms plus half-bathrooms plus three-quarter bathrooms plus full bathrooms. If no data is available for this attribute, it will be null.

BedroomsTotal This is the number of bedrooms in the property. If no data is available for this attribute, it will be null.

PublicTitle The human-readable title for the listing generated by the property agent. If no data is available for this attribute, it will be null.

PublicRemarks These are human-readable notes about the property generated by the property agent. If no data is available for this attribute, it will be null.

ModificationTimestamp This is a string representing a date on which the listing data was last updated in ISO 8601 format. If no data is available for this attribute, it will be null.

StatusChangeDate Date the listing status changed to its current value.

InternetAddressDisplayYN This denotes whether the property should be displayed on a public facing website. If no data is available for this attribute, it will be null.

DaysOnMarket The number of days the listing has been on market.

ListingContractDate This is a string representing a date on which the listing contract was initiated. The string format is MM/DD/YYYY.

CreatedDate This is a string representing a date on which the Listing object was created. The string format is MM/DD/YYYY.

ElementarySchool The elementary school for the property.

GarageSpaces The number of garage spaces that are available at the property.

WaterfrontYN Whether the property is waterfront.

HighSchool The high school for the property.

AssociationFee The home owner’s association fee for the property.

ListOfficeName The name of the listing office.

ListPrice The listed price for the listing.

ListingID The MLS number for the listing.

ListAgentFullName The name of the listing agent.

ListAgentUUID A unique identifier for the listing agent. This will correspond to the uuid field of an Agent.

ListAgentOfficeID A unique identifier for the listing agent’s office. This will correspond to the office_id field of an Office.

ListAgentMoxiWorksOfficeID A unique identifier for the listing agent’s office. This will correspond to the moxi_works_office_id field of an Office.

SecondaryListAgentFullName If there is a second listing agent, the name of the second listing agent.

SecondaryListAgentUUID If there is a second listing agent, the unique identifier for the second listing agent. This will correspond to the uuid field of an Agent.

SchoolDistrict The school district the listing property is in.

Address The street address of the property.

Address2 Additional street address information, for example, suite number.

City City or township the property is located in.

State State or province the property is located in.

PostalCode The zip code or postal code the property is located in.

Community The community the property is located in.

LotSizeSquareFeet Total area of the lot.

InternetEntireListingDisplayYN Whether to display information about this listing publicly. If this is false, then the information about this listing should not be visible to the Internet.

MiddleOrJuniorSchool The middle school for the property.

ListOfficeAOR The name of the MLS which this listing is listed with.

ListOfficeAORArea The MLS Area which this listing is in.

PoolYN Whether the property has a pool.

PropertyType The type of property being listed. This can be one of Residential, Condo-Coop, Townhouse, Land, Multifamily

TaxAnnualAmount The total annual property tax.

TaxYear The tax year that the property tax in TaxAnnualAmount was assessed.

SingleStory Whether the building has one story or is multi-story.

LivingArea Total square footage of the building(s) on the property.

ViewYN Whether the property has a view.

YearBuilt The year the living building(s) on the property were built.

OnMarket Whether the listing is currently on-market.

Status Detailed status of the listing; whether it’s active pending contingent coming soon short sale

MoxiWorksListingID The unique Identifier for the listing in The MoxiWorks Platform.

AgentCreatedListing Whether the agent created this listing.

VirtualTourURL Virtual tour URL for this listing.

SharedPartnerData A hash containing data shared between MoxiWorks affiliates.

TaxParcelId The Tax ID / Parcel ID for the property. If no data is available for this attribute, it will be null.

ListingURL Details URL for this listing.

PropertyFeatures Any defined features about the property.

CompanyListingAttributes Company specific attributes associated with the listing. These will be defined by the company & should not be expected to be uniform across companies.

OpenHouse Open house data.

ImagesLastModified The date when the images of the property were last modified, or null if the property has no images.

ListingImages Any images of the property.

BuyerCommissionType The type of buyer broker compensation value set for the listing. The two types of broker compensation values are percent or flat_rate.

BuyerCommissionValue Buyer broker compensation value for the listing.

PropertyFeature Objects

Each object in the PropertyFeatures array will have the following structure.

Attribute Type
PropertyFeatureName String
PropertyFeatureValues Array

PropertyFeatureName Human readable name associated with the feature.

PropertyFeatureValues An array of strings which are human readable values associated with the feature.

CompanyListingAttributes Objects

Each object in the CompanyListingAttributes array will have the following structure.

Attribute Type
AttributeId String
AttributeName String

AttributeId Unique ID for the attribute.

AttributeName Human readable name of the company specific listing attribute.

OpenHouse Objects

Each object in the OpenHouse array will have the following structure.

Attribute Type
Date String
StartTime String
EndTime String
VirtualOpenHouseYN Boolean
VirtualOpenHouseURL String
Comment String

Date YYYY-MM-DD formatted string representing the date of the open house

StartTime HH:MM:SS formatted string representing the time when the open house starts. This is expressed in the local time where the listing is located.

EndTime HH:MM:SS formatted string representing the time when the open house ends. This is expressed in the local time where the listing is located.

VirtualOpenHouseYN Whether the Open House is a Virtual Open House.

VirtualOpenHouseURL If the Open House is a Virtual Open House, the URL that the Virtual Open House is available.

Comment Comments related to the specific Open House showing.

ListingImages Objects

Each object in the ListingImages array will have the following structure.

Attribute Type
FullURL String or null
GalleryURL String or null
RawURL String or null
SmallURL String or null
ThumbURL String or null
Title String or null
IsMainListingImage Boolean
Caption String or null
Description String or null
Width Integer or null
Height Integer or null
MimeType String
EmbededHTMLContent String

FullURL This is a valid URL that can be used for img src to a medium sized representation of the image. This is the medium size image returned in each object in the ListingImages array.

GalleryURL This is a valid URL that can be used for img src to a large sized representation of the image. This is the large size image returned in each object in the ListingImages array.

RawURL This is a valid URL to the raw image as uploaded. This is the largest size image returned in each object in the ListingImages array. Due to variation in size, this image should not be considered for use when displaying images rendered in a browser.

SmallURL This is a valid URL that can be used for img src to a small sized representation of the image. This is the small size image returned in each object in the ListingImages array.

ThumbURL This is a valid URL that can be used for img src to a thumbnail sized representation of the image. This is the smallest size image returned in each object in the ListingImages array.

Title Human readable title of image.

IsMainListingImage Whether this image is considered the primary image for the listing.

Caption Human readable caption for the image.

Description Human readable description of image.

Width Width of the raw image.

Height Height of the raw image.

MimeType MIME or media type of the image.

EmbededHTMLContent Embedded HTML that can be placed into a webpage – this will be used for embedded movies.

Listing Index

Index will return a paged response of listings that have been updated since a given timestamp for a specified company. For a list of company IDs that you can request listings for, use the Company Endpoint.

Listing Index Example

Listing Objects Updated Since A Given Timestamp

{
  "moxi_works_company_id":"abc123",
  "updated_since":"1461108284"
}
GET /api/listings?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


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

var agentUuid = "12345678-1234-1234-1234-1234567890ab";
var moxiWorksCompanyId = "abc123";
var updatedSince = 1462317907;

var service = new ListingService(new MoxiWorksClient());
var results = service.GetListingsUpdatedSinceAsync( agentUuid, AgentIdType.AgentUuid, moxiWorksCompanyId, updatedSince ).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_listings = MoxiworksPlatform::Listing.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_listings = MoxiworksPlatform\Listing::search(['moxi_works_company_id' => 'abc123', 'updated_since' => time() - $one_week]);
?>

Requesting Next Page of Listing Objects Updated Since A Given Timestamp

{
  "moxi_works_company_id":"abc123",
  "updated_since":"1461108284",
  "last_moxi_works_listing_id":"abc12345"
}

GET /api/listings?moxi_works_company_id=abc123&updated_since=1461108284&last_moxi_works_listing_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


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

var moxiWorksAgentID = "1234bcd;
var moxiWorksCompanyId = "abc123";
var updatedSince = 1462317907;

var service = new ListingService(new MoxiWorksClient());
var results = service.GetListingsUpdatedSinceAsync(moxiWorksAgentID, AgentIdType.MoxiWorksAgentId,  moxiWorksCompanyId, updatedSince, idOfLastListingReturned).Result;

one_week =  defined?(Rails) ? 1.week : 604800

first_page = MoxiworksPlatform::Listing.search(moxi_works_company_id: "abc123", updated_since: Time.now - one_week)

unless first_page['final_page']
  last_listing = first_page['listings'].last
  last_listing_id = (last_listing.nil?) ? nil : last_listing.moxi_works_listing_id

  next_page = MoxiworksPlatform::Listing.search(moxi_works_company_id: "abc123",
    updated_since: Time.now - one_week, last_moxi_works_listing_id: last_listing_id)
end


# or run a block on all pages of listings with a single call

MoxiworksPlatform::Listing.search(
  moxi_works_company_id: 'abc123',
  updated_since: Time.now.to_i - one_week) { |page_of_listings| puts page_of_listings.count }


<?php
$one_week = 604800;

$first_page = MoxiworksPlatform\Listing::search(['moxi_works_company_id' => 'abc123', 'updated_since' => time() - $one_week]);

if(!$first_page['final_page']) {
  $last_listing = end(array_values($first_page['listings']));
  $last_listing_id = $last_listing->$moxi_works_listing_id;
  MoxiworksPlatform\Listing::search(['moxi_works_company_id' => 'abc123', 'updated_since' => time() - $one_week], 'last_moxi_works_listing_id' => $last_listing_id);
}

?>

When searching for Listing objects using the MoxiWorks platform API, format your data using the following parameters.

Listing Index Request Attributes
Attribute Type Length Limit
moxi_works_company_id String 255
parent_company_id String 255
updated_since Integer 255
agent_uuid † String 255
moxi_works_agent_id † String 255
source_agent_id † String 255
moxi_works_office_id String 255
last_moxi_works_listing_id String 255
shared_partner_data_updated_since Integer 255
market_status String 255
property_types String 255
only_agent_created Boolean 255
coming_soon Boolean 255
underscore_response Boolean 255
timestamps_only Boolean 255

Required Parameters Are In Red

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.

updated_since Paged responses of all Listing objects updated after this Unix timestamp will be returned in the response. If no updated_since parameter is included in the request, only Listing objects updated in the last seven days will be returned.

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

moxi_works_agent_id Use this parameter when searching for Listing objects associated with a specific Agent. This will be a string that may take the form of an email address, or a unique identification string. This data must reference a valid MoxiWorks Agent ID for your Listing Index request to be accepted.

moxi_works_office_id Use this parameter when searching for Listing objects associated with a specific Office. This data must reference a valid MoxiWorks Office ID for your Listing Index request to be accepted.

last_moxi_works_listing_id If fetching a multi-page response, this should be the MoxiWorksListingId found in the last Listing object of the previously fetched page.

shared_partner_data_updated_since Include additional listings using this unix timestamp representing the date since partner data has been updated. This attribute should be used in conjuncion with the updated_since attribute.

market_status

When filtering by market_status use one of the following options:

Value Description
on-market The default value for market_status. This listing set includes ‘Active,’ ‘Pending’ and ‘Contingent’ listings.
off-market If market_status is set to this value, only off-market listings will be returned.
all When market_status is set to this value, both off-market and on-market listings will be returned.

property_types When filtering by property_types pass a comma separated string of integers associated with various property types. When property_types is not inlcuded, all property types will be included in the response.

Use this legend to determine which integer values to include in property_types.

Number Property Type
-1 Not Found
1 Residential
2 Condo
3 Land
4 Mfghome
5 Farm/Ranch
6 Rental
7 Multifamily
8 Co-op
9 Townhouse
10 Commerical
11 Business Opportunity
12 Commercial Res Income
13 Commercial Hotel
14 Commercial Mobile Home Park
15 Commercial Lease
16 Commercial Land
17 Moorage
18 Timeshare
19 Commercial Industrial
20 Multifamily2_4
21 Multifamily5up
22 Apartment
23 Highrise

only_agent_created When this filter parameter is passed as true, the response will be restricted to listings created by agents (non-mls listings).

coming_soon When this attribute is passed as true only listings with status “ComingSoon” will be returned.

underscore_response When this attribute is passed as true, the json keys of the response will be underscored. The default json key format for listing responses is camel casing.

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.

Listing Index Response Payload Example

{
"FinalPage":true,
"Listings": [
{
  "LotSizeAcres":0.0,
  "BathroomsFull":3,
  "BathroomsHalf":0,
  "BathroomsOneQuarter":null,
  "BathroomsPartial":null,
  "BathroomsThreeQuarter":null,
  "BathroomsTotalInteger":3,
  "BathroomsTotal":3.0,
  "BedroomsTotal":8,
  "PublicTitle":"Amazingly Remarkable!",
  "PublicRemarks":"Publicalistically Remarkabalistically! REMARKABLE!!",
  "ModificationTimestamp":"2018-03-20T11:04:55.659-07:00",
  "StatusChangeDate": "2020-09-08T00:00:00.000-07:00",
  "InternetAddressDisplayYN":true,
  "DaysOnMarket":0,
  "ListingContractDate":"07/27/2016",
  "CreatedDate":"11/01/2016",
  "ElementarySchool":"Elementary My Dear School",
  "GarageSpaces":4,
  "WaterfrontYN":false,
  "HighSchool":"Higher Than Junior",
  "AssociationFee":null,
  "ListOfficeName":"Realty Valley United",
  "ListPrice":599000,
  "ListingID":"12323",
  "ListAgentFullName":"Bob Agentson",
  "ListAgentUUID":"8675309e9-1234-dead-beef-deadbeefdead",
  "ListAgentOfficeID":"abc123",
  "ListAgentMoxiWorksOfficeID":"abcd1234",
  "SecondaryListAgentFullName":"Richard Agent",
  "SecondaryListAgentUUID":"8675309e9-2345-dead-beef-deadbeefdead",
  "SchoolDistrict":"Hilltop District",
  "Address":"97 Hilltop Road",
  "Address2":null,
  "City":"Montecarlo",
  "CountyOrParish":"Counting Parishes",
  "Latitude":"47.723251",
  "Longitude":"-122.171745",
  "StateOrProvince":"NV",
  "PostalCode":"87654",
  "Community":"Shady Acres",
  "LotSizeSquareFeet":null,
  "InternetEntireListingDisplayYN":true,
  "MiddleOrJuniorSchool":"*The* Junior High" ,
  "ListOfficeAOR":"WHATEVERS MLS",
  "ListOfficeAORArea":"Area 51",
  "NewConstructionYN":false,
  "PoolYN":false,
  "PropertyType":"Residential",
  "TaxAnnualAmount":13652,
  "TaxYear":2015,
  "SingleStory":false,
  "LivingArea":3640,
  "ViewYN":false,
  "YearBuilt":1989,
  "OnMarket":true,
  "Status":"active",
  "MoxiWorksListingId":"abc123",
  "AgentCreatedListing":false,
  "VirtualTourURL":"http://the.virtual.tour.url",
  "SharedPartnerData":{
     "attribute_1": "value_1",
     "attribute_2": "value_2"
  },
  "TaxParcelId": "9831200160",
  "ListingURL":"http://the.listing.url",
  "PropertyFeatures":[
    {
      "PropertyFeatureName": "Kitchen Information",
      "PropertyFeatureValues": [
        "Dishwasher",
        "Microwave",
        "Oven/Range Freestanding"
      ]
      },
        {
      "PropertyFeatureName": "Roof Description",
      "PropertyFeatureValues": [
        "Comp Shingle"
      ]
      },
        {
      "PropertyFeatureName": "Number Of Stories",
      "PropertyFeatureValues": [
        "Two Story"
      ]
      },
        {
      "PropertyFeatureName": "Interior Features",
      "PropertyFeatureValues": [
        "Bath Master",
        "Broadband Internet",
        "Cable/Satellite Tv",
        "Dishwasher",
        "Microwave",
        "Oven/Range Freestanding"
      ]
    }
  ],
  "CompanyListingAttributes": [
    {
      "AttributeId": "the collection",
      "AttributeName": "The Collection"
    },
      {
        "AttributeId": "destination",
        "AttributeName": "Destination"
    }
  ],
  "OpenHouse":[
    {
      "Date":"2018-01-06",
      "StartTime":"13:00:00",
      "EndTime":"15:00:00",
      "VirtualOpenHouseYN":false,
      "VirtualOpenHouseURL":null,
      "Comment":null
    }
  ],
  "ImagesLastModified":"01/22/2018",
  "ListingImages":[
    {
      "FullURL":"http://images.moxiworks.com/static/images/br/imagoo/default_property_image_wre-326x250.png",
      "GalleryURL":"http://images.moxiworks.com/static/images/br/imagoo/default_property_image_wre-326x250.png",
      "RawURL":"http://images.moxiworks.com/static/images/br/imagoo/default_property_image_wre-326x250.png",
      "SmallURL":"http://images.moxiworks.com/static/images/br/imagoo/default_property_image_wre-326x250.png",
      "ThumbURL":"http://images.moxiworks.com/static/images/br/imagoo/default_property_image_wre-326x250.png",
      "Title":"Image Title",
      "IsMainListingImage":true,
      "Caption":"Image Caption",
      "Description":"Image Description",
      "Width":1024,
      "Height":768,
      "MimeType":"image/jpeg"
    }
  ],
  "BuyerCommissionType": "percent",
  "BuyerCommissionValue": "2.5"
}
]
}
Listing Index Off-Market Response Example
In order to conform to MLS rules, off-market listings have all fields set to null except for ID fields, status, status-change dates and the associated MLS. Use the market_status parameter to include off-market Listing objects in the response payload.

{
  "LotSizeAcres": null,
  "BathroomsFull": null,
  "BathroomsHalf": null,
  "BathroomsOneQuarter": null,
  "BathroomsPartial": null,
  "BathroomsThreeQuarter": null,
  "BathroomsTotalInteger": null,
  "BathroomsTotal": null,
  "BedroomsTotal": null,
  "PublicTitle": null,
  "PublicRemarks": null,
  "ModificationTimestamp": "2020-09-08T15:51:27.047-07:00",
  "StatusChangeDate": "2020-09-08T00:00:00.000-07:00",
  "InternetAddressDisplayYN": null,
  "DaysOnMarket": 0,
  "ListingContractDate": null,
  "CreatedDate": null,
  "ElementarySchool": null,
  "GarageSpaces": null,
  "WaterfrontYN": null,
  "HighSchool": null,
  "AssociationFee": null,
  "ListOfficeName": null,
  "ListPrice": null,
  "ListingID": "1234124",
  "ListAgentFullName": null,
  "ListAgentUUID": null,
  "ListAgentOfficeID": null,
  "ListAgentMoxiWorksOfficeID": null,
  "SecondaryListAgentFullName": null,
  "SecondaryListAgentUUID": null,
  "SchoolDistrict": null,
  "Address": null,
  "Address2": null,
  "City": null,
  "CountyOrParish": null,
  "Latitude": null,
  "Longitude": null,
  "StateOrProvince": null,
  "PostalCode": null,
  "Community": null,
  "LotSizeSquareFeet": null,
  "InternetEntireListingDisplayYN": null,
  "MiddleOrJuniorSchool": null,
  "ListOfficeAOR": "Mutural Southern MLS",
  "ListOfficeAORArea": null,
  "NewConstructionYN":null,
  "PoolYN": null,
  "PropertyType": null,
  "TaxAnnualAmount": null,
  "TaxYear": null,
  "SingleStory": null,
  "LivingArea": null,
  "ViewYN": null,
  "YearBuilt": null,
  "OnMarket": false,
  "Status": "Sold",
  "MoxiWorksListingId": "5ce0e9a5-6015-fec5-aadf-a328b4e01324",
  "ShortMoxiWorksListingId": 12342323,
  "AgentCreatedListing": null,
  "VirtualTourURL": null,
  "SharedPartnerData": null,
  "ListingURL": null,
  "CompanyListingAttributes": [],
  "PropertyFeatures": [],
  "OpenHouse": [],
  "ImagesLastModified": null,
  "ListingImages": [],
  "BuyerCommissionType": null,
  "BuyerCommissionValue": null
}
Listing Index Failure Response Example
See Error Handling for details about individual error codes.

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

Listing Index Response Payload

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

Attribute Type
FinalPage Boolean
Listings Array

FinalPage If there is another page of Listing objects available, this will be false. If you are receiving the final page of Listing objects for the query, FinalPage will be true.

Listings This is the payload object for the query. Any Listing object that matches the request query will be returned here.

Listings Objects

Each object in the Listings array will have the following structure.

Attribute Type
LotSizeAcres Float or null
BathroomsFull Integer or null
BathroomsHalf Integer or null
BathroomsOneQuarter Integer or null
BathroomsPartial Integer or null
BathroomsThreeQuarter Integer or Null
BathroomsTotalInteger Integer or null
BathroomsTotal Float or null
BedroomsTotal Integer or null
PublicTitle String or null
PublicRemarks String or null
ModificationTimestamp String
StatusChangeDate String
InternetAddressDisplayYN Boolean or null
DaysOnMarket Integer
ListingContractDate String
CreatedDate String
ElementarySchool String or null
GarageSpaces Integer or null
WaterfrontYN Boolean or null
HighSchool String or null
AssociationFee Integer or null
ListOfficeName String or null
ListPrice Integer or null
ListingID String
ListAgentFullName String
ListAgentUUID String
ListAgentOfficeID String
ListAgentMoxiWorksOfficeID String
SecondaryListAgentFullName String or null
SecondaryListAgentUUID String or null
SchoolDistrict String or null
Address String or null
Address2 String or null
City String or null
CountyOrParish String or null
Latitude String or null
Longitude String or null
StateOrProvince String or null
PostalCode String or null
Community String or null
LotSizeSquareFeet Integer or null
InternetEntireListingDisplayYN Boolean
MiddleOrJuniorSchool String or null
ListOfficeAOR String or null
ListOfficeAORArea String or null
NewConstructionYN Boolean
PoolYN Boolean or null
PropertyType String or null
TaxAnnualAmount Integer or null
TaxYear Integer or null
SingleStory Boolean or null
LivingArea Integer or null
ViewYN Boolean or null
YearBuilt Integer or null
OnMarket Boolean or null
Status String or null
MoxiWorksListingId String
AgentCreatedListing Boolean
VirtualTourURL String or null
SharedPartnerData Hash
TaxParcelId String or null
ListingURL String or null
PropertyFeatures Array
CompanyListingAttributes Array
OpenHouse Array
ImagesLastModified String or null
ListingImages Array
BuyerCommissionType String or null
BuyerCommissionValue String or null

LotSizeAcres This is the property size of the listing land in acres. If no data is available for this attribute, it will be null.

BathroomsFull This is the number of full bathrooms in the property. If no data is available for this attribute, it will be null.

BathroomsHalf This is the number of half bathrooms in the property. If no data is available for this attribute, it will be null.

BathroomsOneQuarter This is the number of quarter-sized bathrooms in the property. If no data is available for this attribute, it will be null.

BathroomsPartial This is the number of partial bathrooms in the property. If no data is available for this attribute, it will be null.

BathroomsThreeQuarter This is the number of three-quarter bathrooms in the property. If no data is available for this attribute, it will be null.

BathroomsTotalInteger This is the number of rooms that are bathrooms in the property. This is not a summary count of bathrooms by size. If no data is available for this attribute, it will be null.

BathroomsTotal This is the summary count of bathrooms in the property. This will be the number of quarter-bathrooms plus half-bathrooms plus three-quarter bathrooms plus full bathrooms. If no data is available for this attribute, it will be null.

BedroomsTotal This is the number of bedrooms in the property. If no data is available for this attribute, it will be null.

PublicTitle The human-readable title for the listing generated by the property agent. If no data is available for this attribute, it will be null.

PublicRemarks These are human-readable notes about the property generated by the property agent. If no data is available for this attribute, it will be null.

ModificationTimestamp This is a string representing a date on which the listing data was last updated in ISO 8601 format. If no data is available for this attribute, it will be null.

StatusChangeDate Date the listing status changed to its current value.

InternetAddressDisplayYN This denotes whether the property should be displayed on a public facing website. If no data is available for this attribute, it will be null.

DaysOnMarket The number of days the listing has been on market.

ListingContractDate This is a string representing a date on which the listing contract was initiated. The string format is MM/DD/YYYY.

CreatedDate This is a string representing a date on which the Listing object was created. The string format is MM/DD/YYYY.

ElementarySchool The elementary school for the property.

GarageSpaces The number of garage spaces that are available at the property.

WaterfrontYN Whether the property is waterfront.

HighSchool The high school for the property.

AssociationFee The home owner’s association fee for the property.

ListOfficeName The name of the listing office.

ListPrice The listed price for the listing.

ListingID The MLS number for the listing.

ListAgentFullName The name of the listing agent.

ListAgentUUID A unique identifier for the listing agent. This will correspond to the uuid field of an Agent.

ListAgentOfficeID A unique identifier for the listing agent’s office. This will correspond to the office_id field of an Office.

ListAgentMoxiWorksOfficeID A unique identifier for the listing agent’s office. This will correspond to the moxi_works_office_id field of an Office.

SecondaryListAgentFullName If there is a second listing agent, the name of the second listing agent.

SecondaryListAgentUUID If there is a second listing agent, the unique identifier for the second listing agent. This will correspond to the uuid field of an Agent.

SchoolDistrict The school district the listing property is in.

Address The street address of the property.

Address2 Additional street address information, for example, suite number.

City City or township the property is located in.

State State or province the property is located in.

PostalCode The zip code or postal code the property is located in.

Community The community the property is located in.

LotSizeSquareFeet Total area of the lot.

InternetEntireListingDisplayYN Whether to display information about this listing publicly. If this is false, then the information about this listing should not be visible to the Internet.

MiddleOrJuniorSchool The middle school for the property.

ListOfficeAOR The name of the MLS which this listing is listed with.

ListOfficeAORArea The MLS Area which this listing is in.

NewConstructionYN Whether the property is newly constructed.

PoolYN Whether the property has a pool.

PropertyType The type of property being listed. This can be one of Residential, Condo-Coop, Townhouse, Land, Multifamily

TaxAnnualAmount The total annual property tax.

TaxYear The tax year that the property tax in TaxAnnualAmount was assessed.

SingleStory Whether the building has one story or is multi-story.

LivingArea Total square footage of the building(s) on the property.

ViewYN Whether the property has a view.

YearBuilt The year the living building(s) on the property were built.

OnMarket Whether the listing is currently on-market.

Status Detailed status of the listing; whether it’s active pending contingent coming soon short sale

MoxiWorksListingID The unique Identifier for the listing in The MoxiWorks Platform.

AgentCreatedListing Whether the agent created this listing.

VirtualTourURL Virtual tour URL for this listing.

SharedPartnerData A hash containing data shared between MoxiWorks affiliates.

TaxParcelId The Tax ID / Parcel ID for the property. If no data is available for this attribute, it will be null.

ListingURL Details URL for this listing.

PropertyFeatures Any defined features about the property.

CompanyListingAttributes Company specific attributes associated with the listing. These will be defined by the company & should not be expected to be uniform across companies.

OpenHouse Open house data.

ImagesLastModified The date when the images of the property were last modified, or null if the property has no images.

ListingImages Any images of the property.

BuyerCommissionType The type of buyer broker compensation value set for the listing. The two types of broker compensation values are percent or flat_rate.

BuyerCommissionValue Buyer broker compensation value for the listing.

PropertyFeature Objects

Each object in the PropertyFeatures array will have the following structure.

Attribute Type
PropertyFeatureName String
PropertyFeatureValues Array

PropertyFeatureName Human readable name associated with the feature.

PropertyFeatureValues An array of strings which are human readable values associated with the feature.

CompanyListingAttributes Objects

Each object in the CompanyListingAttributes array will have the following structure.

Attribute Type
AttributeId String
AttributeName String

AttributeId Unique ID for the attribute.

AttributeName Human readable name of the company specific listing attribute.

OpenHouse Objects

Each object in the OpenHouse array will have the following structure.

Attribute Type
Date String
StartTime String
EndTime String
VirtualOpenHouseYN Boolean
VirtualOpenHouseURL String
Comment String

Date YYYY-MM-DD formatted string representing the date of the open house

StartTime HH:MM:SS formatted string representing the time when the open house starts. This is expressed in the local time where the listing is located.

EndTime HH:MM:SS formatted string representing the time when the open house ends. This is expressed in the local time where the listing is located.

VirtualOpenHouseYN Whether the Open House is a Virtual Open House.

VirtualOpenHouseURL If the Open House is a Virtual Open House, the URL that the Virtual Open House is available.

Comment Comments related to the specific Open House showing.

ListingImages Objects

Each object in the ListingImages array will have the following structure.

Attribute Type
FullURL String or null
GalleryURL String or null
RawURL String or null
SmallURL String or null
ThumbURL String or null
Title String or null
IsMainListingImage Boolean
Caption String or null
Description String or null
Width Integer or null
Height Integer or null
MimeType String
EmbededHTMLContent String

FullURL This is a valid URL that can be used for img src to a medium sized representation of the image. This is the medium size image returned in each object in the ListingImages array.

GalleryURL This is a valid URL that can be used for img src to a large sized representation of the image. This is the large size image returned in each object in the ListingImages array.

RawURL This is a valid URL to the raw image as uploaded. This is the largest size image returned in each object in the ListingImages array. Due to variation in size, this image should not be considered for use when displaying images rendered in a browser.

SmallURL This is a valid URL that can be used for img src to a small sized representation of the image. This is the small size image returned in each object in the ListingImages array.

ThumbURL This is a valid URL that can be used for img src to a thumbnail sized representation of the image. This is the smallest size image returned in each object in the ListingImages array.

Title Human readable title of image.

IsMainListingImage Whether this image is considered the primary image for the listing.

Caption Human readable caption for the image.

Description Human readable description of image.

Width Width of the raw image.

Height Height of the raw image.

MimeType MIME or media type of the image.

EmbededHTMLContent Embedded HTML that can be placed into a webpage – this will be used for embedded movies.

Office

MoxiWorks Platform Office entities represent brokerage offices.

Office Show

Office Show Example

Requested Office object

GET /api/offices/deadbeef-deadbeef-feed-facedeadbeef 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":"deadbeef-sdeadbeef-feed-facedeadbeef",
  "moxi_works_company_id":"some_moxi_works_company_id"
}


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

var moxiWorksOfficeId = "deadbeef-deadbeef-feed-facedeadbeef";

var service = new OfficeService(new MoxiWorksClient());
var results = service.GetOfficeAsync(moxiWorksOfficeId).Result;


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

platform_identifier = 'abc123'

platform_secret = 'secret'

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

company_offices = MoxiworksPlatform::Office.find(moxi_works_office_id: "deadbeef-deadbeef-feed-facedeadbeef")

<?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);

$company_offices = MoxiworksPlatform\Office::find(['moxi_works_office_id' => 'deadbeef-deadbeef-feed-facedeadbeef']);
?>
Office Show Request Attributes

When showing Office entities using the MoxiWorks platform API, format your data using the following parameters.

Attribute Type Length Limit
moxi_works_office_id String 255
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.

moxi_works_office_id A valid MoxiWorks Office ID. Use Office Index Endpoint for a list of all Office objects associated with a Company or use the moxi_works_office_id attribute returned in an Agent response.

Office Show: Success Response

  {
    "moxi_works_office_id":"feedface-dead-beef-aadf-baddeedc645",
    "id":"1234",
    "client_office_id":"abc123",
    "image_url":"http://the.office.image/image.png",
    "name":"Bob's Better Brokerage",
    "common_name":"Bob's Salsburry Hill Branch",
    "address":"101 South Southerly Street",
    "address2":null,
    "city":"Townseville",
    "county":"Ye Olde Countrie",
    "state":"UM",
    "zip_code":"12123",
    "alt_phone":"8185551212",
    "email":"office@bobsbetterbrokers.erp",
    "facebook":null,
    "google_plus":null,
    "phone":"8185551213",
    "timezone":"Pacific Time (US & Canada)",
    "twitter":null,
    "office_website":"http://the.office.website",
    "region":"WESTERN WASHINGTON",
    "mailing_address":"120 Mailing Avenue",
    "mailing_address2":"Box 10",
    "mailing_city":"Mailtown",
    "mailing_zip":"12123",
    "mailing_state":"UM",
    "company_programs": [
        "Equestrian Equestrian Advisor"
      ],
    "logo_url": "http://the.office.logo/image.png"
  }

Office Show: Failure Response
See Error Handling for details about individual error codes.
{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

Attribute Type
moxi_works_office_id String
id String
client_office_id String
name String or null
common_name String or null
image_url String or null
address String or null
address2 String or null
city String or null
county String or null
state String or null
zip_code String or null
alt_phone String or null
email String or null
facebook String or null
google_plus String or null
phone String or null
timezone String or null
twitter String or null
office_website String or null
region String or null
mailing_address String or null
mailing_address2 String or null
mailing_city String or null
mailing_zip String or null
mailing_state String or null
created_timestamp Integer
deactivated_timestamp Integer or null
company_programs Array
logo_url String

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

id An alternate integer ID of the office. If you are integrating with MoxiWorks Authentication services, you should use this ID.

client_office_id This is the ID of the office utilized by the company.

image_url URL to an image of the office. This can be null if there is no data for this attribute.

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

common_name The commonly known name of the office. This can be null if there is no data for this attribute.

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

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

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

county The county the office is in. This can be null if there is no data for this attribute.

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

zip_code The postal code the office is in. This can be null if there is no data for this attribute.

alt_phone Alternate phone number for the office. This should be considered second in priority to phone_number. This can be null if there is no data for this attribute.

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

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

google_plus Office’s Google Plus account name. This can be null if there is no data for this attribute.

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

timezone Timezone the office is in.

twitter Office’s Twitter account name. This can be null if there is no data available for this attribute.

office_website Office’s website URL. This can be null if there is no data available for this attribute.

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

mailing_address The street address where the office accepts mail. This can be null if there is no data for this attribute.

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

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

mailing_zip The postal code the office mailing addressis in. This can be null if there is no data for this attribute.

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

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

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

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

logo_url URL of the office logo image. This can be null if there is no data for this attribute.

Office Index

Office Index Example

First page of all Office objects for specified Company

GET /api/offices?moxi_works_company_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_company_id":"the_company"
}


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

var moxiWorksCompanyId = "abc123";

var service = new OfficeService(new MoxiWorksClient());
var results = service.GetCompanyOfficesAsync( moxiWorksCompanyId).Result;


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

platform_identifier = 'abc123'

platform_secret = 'secret'

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

company_offices = MoxiworksPlatform::Office.search(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);

$company_offices = MoxiworksPlatform\Office::search(['moxi_works_company_id' => 'abc123']);
?>

Second page of All Office objects for a specified Company

GET /api/offices?moxi_works_company_id=abc123&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",
  "page_number":2
}

company_offices = MoxiworksPlatform::Office.search(moxi_works_company_id: "abc123",  page_number: 2)

<?php
$company_offices = MoxiworksPlatform\Office::search(['moxi_works_company_id' => 'abc123',  'page_number' => 2]);
?>
Office Index Request Attributes

When searching for Office 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
deactivated Boolean 255
page_number Integer 255
deactivated_since Integer 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.

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

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.

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

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.

Office Index: Success Response

{
  "page_number":9,
  "total_pages":9,
  "offices":[
    {
    "moxi_works_office_id":"feedface-dead-beef-aadf-baddeedc645",
    "id":"1234",
    "client_office_id":"abc123",
    "image_url":"http://the.office.image/image.png",
    "name":"Bob's Better Brokerage",
    "common_name":"Bob's Salsburry Hill Branch",
    "address":"101 South Southerly Street",
    "address2":null,
    "city":"Townseville",
    "county":"Ye Olde Countrie",
    "state":"UM",
    "zip_code":"12123",
    "alt_phone":"8185551212",
    "email":"office@bobsbetterbrokers.erp",
    "facebook":null,
    "google_plus":null,
    "phone":"8185551213",
    "timezone":"Pacific Time (US & Canada)",
    "twitter":null,
    "office_website":"http://the.office.website",
    "region":"WESTERN WASHINGTON",
    "mailing_address":"120 Mailing Avenue",
    "mailing_address2":"Box 10",
    "mailing_city":"Mailtown",
    "mailing_zip":"12123",
    "mailing_state":"UM",
    "company_programs": [
        "Equestrian Equestrian Advisor"
     ],
    "logo_url": "http://the.office.logo/image.png"
  }
  ]
}
Office Index: Failure Response
See Error Handling for details about individual error codes.
{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

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

Attribute Type
page_number Integer
total_pages Integer
offices Array
offices Object

The offices array contains Dictionary objects representing Office entries. The structure of each Office entry is shown below.

Attribute Type
moxi_works_office_id String
id String
client_office_id String
image_url String or null
name String or null
common_name String or null
address String or null
address2 String or null
city String or null
county String or null
state String or null
zip_code String or null
alt_phone String or null
email String or null
facebook String or null
google_plus String or null
phone String or null
timezone String or null
twitter String or null
office_website String or null
region String or null
mailing_address String or null
mailing_address2 String or null
mailing_city String or null
mailing_zip String or null
mailing_state String or null
created_timestamp Integer
deactivated_timestamp Integer or null
company_programs Array
logo_url String

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

id An alternate integer ID of the office. If you are integrating with MoxiWorks Authentication services, you should use this ID.

client_office_id This is the ID of the office utilized by the company.

image_url URL to an image of the office. This can be null if there is no data for this attribute.

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

common_name The commonly known name of the office. This can be null if there is no data for this attribute.

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

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

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

county The county the office is in. This can be null if there is no data for this attribute.

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

zip_code The postal code the office is in. This can be null if there is no data for this attribute.

alt_phone Alternate phone number for the office. This should be considered second in priority to phone_number. This can be null if there is no data for this attribute.

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

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

google_plus Office’s Google Plus account name. This can be null if there is no data for this attribute.

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

timezone Timezone the office is in.

twitter Office’s Twitter account name. This can be null if there is no data available for this attribute.

office_website Office’s website URL. This can be null if there is no data available for this attribute.

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

mailing_address The street address where the office accepts mail. This can be null if there is no data for this attribute.

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

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

mailing_zip The postal code the office mailing addressis in. This can be null if there is no data for this attribute.

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

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

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

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

logo_url URL of the office logo image. This can be null if there is no data for this attribute.

PresentationLog

MoxiWorks Platform PresentationLog entities provide metrics about Moxi Present.

PresentationLog Index

PresentationLog Index Example

First page of all PresentationLog objects for specified Company

GET /api/presentation_logs?moxi_works_company_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_company_id":"the_company"
}


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

var moxiWorksCompanyId = "abc123";

var service = new PresentationLogService(new MoxiWorksClient());
var results = service.GetPresentationLogsAsync( moxiWorksCompanyId).Result;


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

platform_identifier = 'abc123'

platform_secret = 'secret'

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

company_presentation_logs = MoxiworksPlatform::PresentationLog.search(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);

$company_presentation_logs = MoxiworksPlatform\PresentationLog::search(['moxi_works_company_id' => 'abc123']);
?>

Second page of All PresentationLog objects for a specified Company

GET /api/presentation_logs?moxi_works_company_id=abc123&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",
  "page_number":2
}

company_presentation_logs = MoxiworksPlatform::PresentationLog.search(moxi_works_company_id: "abc123",  page_number: 2)

<?php
$company_presentation_logs = MoxiworksPlatform\PresentationLog::search(['moxi_works_company_id' => 'abc123',  'page_number' => 2]);
?>
PresentationLog Index Request Attributes

When searching for PresentationLog 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_agent_id † String 255
agent_uuid † String 255
source_agent_id † String 255
created_after Integer 255
created_before Integer 255
updated_after Integer 255
updated_before Integer 255
page_number Integer 255
include_times Boolean 255
type String 255

Required Parameters Are In Red

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.

created_after Paged responses of all PresentationLog objects created after this Unix timestamp will be returned in the response.

created_before Paged responses of all PresentationLog objects created before this Unix timestamp will be returned in the response.

updated_after Paged responses of all PresentationLog objects updated after this Unix timestamp will be returned in the response.

updated_before Paged responses of all PresentationLog objects updated before this Unix timestamp will be returned in the response.

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_times Pass true for the value of the include_times parameter to return delivered and requested times for the presentations included in the response.

type When filtering by presentation type, use one of the below attributes buyer, seller, buyer_tour, annual.

PresentationLog Index: Success Response

{
  "page_number":9,
  "total_pages":9,
  "presentations":[
    {
      "agent_uuid": "8675309e9-1234-dead-beef-deadbeefdead",
      "agent_fname": "Joe",
      "agent_lname": "Agent",
      "title": "1234 Seller St.",
      "created": 1512662100,
      "edited": 1512662147,
      "agent_office_id": 123456,
      "type": "seller",
      "sent_by_agent": "8675309e9-1234-dead-beef-deadbeefdead",
      "pdf_requested": 12,
      "pres_requested": 34,
      "external_identifier": "123456",
      "external_office_id": "678910",
      "moxi_works_presentation_id": "8675309e9-dead-beef-1234-deadbeefabad",
      "subject_property_address": "1234 Seller St., Houston, TX 77062",
      "estimated_market_value": 789880.0,
      "price_range_min": 100.0,
      "price_range_max": 1000000.0
    }
  ]
}
PresentationLog Index: Failure Response
See Error Handling for details about individual error codes.
{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

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

Attribute Type
page_number Integer
total_pages Integer
presentations Array
presentations Object

The presentations array contains Dictionary objects representing PresentationLog entries. The structure of each PresentationLog entry is shown below.

Attribute Type
agent_uuid String
agent_fname String or null
agent_lname String or null
title String or null
created Integer
edited Integer
agent_office_id Integer
type String or null
sent_by_agent String or null
pdf_requested Integer
pres_requested Integer
pdf_requested_times Array
pdf_delivered_times Array
pres_requested_times Array
pres_delivered_times Array
external_identifier String or null
external_office_id String or null
moxi_works_presentation_id String or null
subject_property_address String or null
estimated_market_value Float or null
price_range_min Float or null
price_range_max Float or null
contact_ids Array

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.

agent_fname First name of agent. This can be null if there is no data for this attribute.

agent_lname Last name of agent. This can be null if there is no data for this attribute.

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

created This is the Unix timestamp for the creation time of the presentation.

edited This is the Unix timestamp for the last time the presentation was edited.

agent_office_id This is the ID of the office for the Agent associated with the presentation. This will be an integer.

type Whether the presentation is for a buyer, seller, buyer_tour, annual

sent_by_agent The UUID of the agent that sent the presentation to the client. This will be an RFC 4122 compliant UUID.

pdf_requested The number of PDF documents requested.

pres_requested The number of Online presentations requested.

pdf_requested_times An array of Unix timestamps representing the times when a pdf of the presentation has been requested via web link. Will be null if include_times attribute is not included.

pdf_delivered_times An array of Unix timestamps representing the times when a pdf of the presentation has been shared (emailed) by the agent(s). Will be null if include_times attribute is not included.

pres_requested_times An array of Unix timestamps representing the times when the presentation slide show has been requested via web link. Will be null if include_times attribute is not included.

pres_delivered_times An array of Unix timestamps representing the times when the presentation slide show has been shared (emailed) by the agent(s). Will be null if include_times attribute is not included.

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

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

moxi_works_presentation_id The unique UUID of the presentation. This will be an RFC 4122 compliant UUID.

subject_property_address The subject property address of the presentation. This will be null if there is no data for this attribute. Otherwise, this will be a string with the address, unit number (if any), city, state/province, and postal code.

estimated_market_value The estimated market value of the presentation. This will be null if both a price_range_min and price_range_max exist.

price_range_min The price range minimum of the presentation.

price_range_max The price range maximum of the presentation.

contact_ids moxi_works_contact_id of the contacts associated with the presentation.

SellerTransaction

MoxiWorks Platform SellerTransaction entities represent seller-side transactions that agents are working on.

SellerTransaction Stages

Each SellerTransaction passes through five stages. Each stage represents a different stage in the transaction lifecycle. Every SellerTransaction response will include the current stage of the SellerTransaction 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 SellerTransaction Stage for information about promoting a SellerTransaction object to the next stage.

By default, each SellerTransaction created through the MoxiWorks Platform will be created as a stage 3 (active) SellerTransaction.

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 SellerTransaction. It cannot be edited, or moved to a different stage.
1 initialized This is an empty SellerTransaction already associated with a Contact and is ready to be configured
2 configured This is an inactive SellerTransaction that has been configured. This SellerTransaction is not actively being worked on.
3 active This is a configured and active SellerTransaction. 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 SellerTransaction that is in a pending state.
5 complete This is a SellerTransaction which has been completed.

SellerTransaction Create

SellerTransaction 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",
  "sqft":2345,
  "beds":12,
  "baths":34.5,
  "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/seller_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&beds=12&baths=34.5&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 SellerTransaction();
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.SQFT = 1234;
transaction.MaxSqft = 2345;
transaction.Beds = 3;
transaction.Baths = 12;
transaction.IsMlsTransaction = true;
transaction.MlsNumber = "abc123";
transaction.CommissionPercentage = null;
transaction.CommissionFlatFee = 12345;
transaction.MinPrice = 292929;
transaction.MaxPrice = 2323223;

var service = new SellerTransactionService(new MoxiWorksClient());
var result = service.CreateSellerTransactionAsync(sellerTransaction).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::SellerTransaction.create(
      agent_uuid:"12345678-1234-1234-1234-1234567890ab",
      moxi_works_contact_id:"babebead-feed-face-dead-beefbad4babe",
      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",
      sqft:2345,
      beds:12,
      baths:34.5,
      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\SellerTransaction::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",
      "sqft" => 2345,
      "beds" => 12,
      "baths" => 34.5,
      "is_mls_transaction" => true,
      "mls_number" => "abc123",
      "commission_flat_fee" => 12345,
      "min_price" => 292929,
      "max_price" => 2323223
       ]);
?>

SellerTransaction 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",
  "sqft":2345,
  "beds":12,
  "baths":34.5,
  "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/seller_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&beds=12&baths=34.5&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 SellerTransaction();
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.SQFT = 1234;
transaction.MaxSqft = 2345;
transaction.Beds = 3;
transaction.Baths = 12;
transaction.IsMlsTransaction = true;
transaction.MlsNumber = "abc123";
transaction.CommissionPercentage = null;
transaction.CommissionFlatFee = 12345;
transaction.MinPrice = 292929;
transaction.MaxPrice = 2323223;

var service = new SellerTransactionService(new MoxiWorksClient());
var result = service.CreateSellerTransactionAsync( sellerTransaction).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::SellerTransaction.create(
      moxi_works_agent_id:"abc123",
      moxi_works_contact_id:"babebead-feed-face-dead-beefbad4babe",
      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",
      sqft:2345,
      beds:12,
      baths:34.5,
      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\SellerTransaction::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",
      "sqft" => 2345,
      "beds" => 12,
      "baths" => 34.5,
      "is_mls_transaction" => true,
      "mls_number" => "abc123",
      "commission_flat_fee" => 12345,
      "min_price" => 292929,
      "max_price" => 2323223
       ]);
?>

Non MLS SellerTransaction 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",
  "sqft":2345,
  "beds":12,
  "baths":34.5,
  "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
}


POST /api/seller_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&beds=12&baths=34.5&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 SellerTransaction;
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.SQFT = 1234;
transaction.MaxSqft = 2345;
transaction.Beds = 3;
transaction.Baths = 12;
transaction.IsMlsTransaction = false;
transaction.CommissionPercentage = null;
transaction.CommissionFlatFee = 12345;
transaction.MinPrice = 292929;
transaction.MaxPrice = 2323223;

var service = new SellerTransactionService(new MoxiWorksClient());
var result = service.CreateSellerTransactionAsync( sellerTransaction).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::SellerTransaction.create(
      agent_uuid:"12345678-1234-1234-1234-1234567890ab",
      moxi_works_contact_id:"babebead-feed-face-dead-beefbad4babe",
      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",
      sqft:2345,
      beds:12,
      baths:34.5,
      is_mls_transaction:false,
      start_timestamp:1480536319,
      commission_flat_fee:12345,
      "sales_volume_percentage":null,
      "sales_volume_flat_fee":null,
      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\SellerTransaction::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",
      "sqft" => 2345,
      "beds" => 12,
      "baths" => 34.5,
      "is_mls_transaction" => false,
      "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.

SellerTransaction 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
sqft Integer 255
beds Integer 255
baths Float 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

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 SellerTransaction 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 SellerTransaction 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 SellerTransaction 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 SellerTransaction that you are creating.

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

address The street address for the property being sold. This should be populated only if the SellerTransaction is not an MLS sale.

city The city or township of the property being sold. This should be populated only if the SellerTransaction is not an MLS sale.

state The state or province of the property being sold. This should be populated only if the SellerTransaction is not an MLS sale.

zip_code The postal code of the property being sold. This should be populated only if the SellerTransaction is not an MLS sale.

sqft The living area of the property being sold.

beds The number of bedroom in the property being sold.

baths The number of bathrooms in the property being sold.

is_mls_transaction Whether the property being sold 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 sold.

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. 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 selling price for the property if using target rather than range.

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

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

SellerTransaction Create (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":"MySystemsContactIDForTheContactAssociatedWithThisSellerTransaction",
  "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",
  "sqft":2345,
  "beds":12,
  "baths":34.5,
  "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
}
SellerTransaction Create (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":"MySystemsContactIDForTheContactAssociatedWithThisSellerTransaction",
  "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",
  "sqft":2345,
  "beds":12,
  "baths":34.5,
  "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
}
SellerTransaction Create Failure Response Example
See Error Handling for details about individual error codes.
{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

SellerTransaction Create Response Payload

The following attributes make up the payload of the SellerTransaction 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
sqft Integer or null
beds Integer or null
baths Float 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 SellerTransaction 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 SellerTransaction 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 SellerTransaction 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 SellerTransaction.

moxi_works_contact_id This is the MoxiWorks Platform ID of the Contact which this SellerTransaction 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 SellerTransaction 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 SellerTransaction.

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

stage Each SellerTransaction has five stages (1-5). stage displays the stage number that the SellerTransaction is currently in. For more information about SellerTransaction stages, see SellerTransaction 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 SellerTransaction objects will automatically be configured as active transactions. For more information about SellerTransaction stages, see SellerTransaction Stages.

address The street address for the property being sold. This should be null if the SellerTransaction is an MLS sale.

city The city or township of the property being sold. This should be null if the SellerTransaction is an MLS sale.

state The state or province of the property being sold. This should be null if the SellerTransaction is an MLS sale.

zip_code The postal code of the property being sold. This should be null if the SellerTransaction is an MLS sale.

sqft The living area of the property being sold.

beds The number of bedroom in the property being sold.

baths The number of bathrooms in the property being sold.

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

mls_number If this is an MLS sale, then this is the MLS number for the SellerTransaction.

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 SellerTransaction 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 SellerTransaction, then this will represent the commission that the agent is to receive.This should be null if the SellerTransaction 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 SellerTransaction, then this will represent the commission that the agent is to receive. This should be null if the SellerTransaction 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 SellerTransaction 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 SellerTransaction uses commission_percentage or commission_flat_fee or sales_volume_commission.

target_price The desired selling price for the property if using target rather than range.

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

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

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

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

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

SellerTransaction Update

SellerTransaction 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",
  "sqft":2345,
  "beds":12,
  "baths":34.5,
  "is_mls_transaction":true,
  "mls_number":"abc123",
  "commission_percentage":null,
  "commission_flat_fee":12345,
  "target_price":null,
  "min_price":292929,
  "max_price":2323223,
  "promote_transaction":true
}


PUT /api/seller_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&beds=12&baths=34.5&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&promote_transaction=true


/* 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 SellerTransactionService(new MoxiWorksClient());
var transaction = service.GetSellerTransactionAsync( 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.SQFT = 1234;
transaction.MaxSqft = 2345;
transaction.Beds = 3;
transaction.Baths = 12;
transaction.IsMlsTransaction = false;
transaction.CommissionPercentage = null;
transaction.CommissionFlatFee = 12345;
transaction.MinPrice = 292929;
transaction.MaxPrice = 2323223;

var result = service.UpdateSellerTransactionAsync(sellerTransaction).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::SellerTransaction.update(
      agent_uuid:"12345678-1234-1234-1234-1234567890ab",
      moxi_works_transaction_id:"babebead-feed-face-dead-beefbad4babe",
      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",
      sqft:2345,
      beds:12,
      baths:34.5,
      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\SellerTransaction::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",
      "sqft" => 2345,
      "beds" => 12,
      "baths" => 34.5,
      "is_mls_transaction" => true,
      "mls_number" => "abc123",
      "commission_flat_fee" => 12345,
      "min_price" => 292929,
      "max_price" => 2323223,
      "promote_transaction" => true
       ]);
?>

SellerTransaction 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",
  "sqft":2345,
  "beds":12,
  "baths":34.5,
  "is_mls_transaction":true,
  "mls_number":"abc123",
  "commission_percentage":null,
  "commission_flat_fee":12345,
  "target_price":null,
  "min_price":292929,
  "max_price":2323223,
  "promote_transaction":true
}


PUT /api/seller_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&beds=12&baths=34.5&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&promote_transaction=true


/* 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 SellerTransactionService(new MoxiWorksClient());
var transaction = service.GetSellerTransactionAsync( 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.SQFT = 1234;
transaction.MaxSqft = 2345;
transaction.Beds = 3;
transaction.Baths = 12;
transaction.IsMlsTransaction = true;
transaction.mlsNumber = "abc123";
transaction.CommissionPercentage = null;
transaction.CommissionFlatFee = 12345;
transaction.MinPrice = 292929;
transaction.MaxPrice = 2323223;

var result = service.UpdateSellerTransactionAsync(sellerTransaction).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::SellerTransaction.update(
      moxi_works_agent_id:"abc123",
      moxi_works_transaction_id:"babebead-feed-face-dead-beefbad4babe",
      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",
      sqft:2345,
      beds:12,
      baths:34.5,
      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\SellerTransaction::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",
      "sqft" => 2345,
      "beds" => 12,
      "baths" => 34.5,
      "is_mls_transaction" => true,
      "mls_number" => "abc123",
      "commission_flat_fee" => 12345,
      "min_price" => 292929,
      "max_price" => 2323223,
      "promote_transaction" => true
       ]);
?>

Non MLS SellerTransaction 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",
  "sqft":2345,
  "beds":12,
  "baths":34.5,
  "is_mls_transaction":false,
  "start_timestamp":1480536319,
  "commission_percentage":null,
  "commission_flat_fee":12345,
  "target_price":null,
  "min_price":292929,
  "max_price":2323223
}


PUT /api/seller_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&beds=12&baths=34.5&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 moxiWorksAgentId = "abc123";
var moxiWorksTransactionId = "babebead-feed-face-dead-beefbad4babe";

var service = new SellerTransactionService(new MoxiWorksClient());
var transaction = service.GetSellerTransactionAsync(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.SQFT = 1234;
transaction.MaxSqft = 2345;
transaction.Beds = 3;
transaction.Baths = 12;
transaction.IsMlsTransaction = false;
transaction.CommissionPercentage = null;
transaction.CommissionFlatFee = 12345;
transaction.MinPrice = 292929;
transaction.MaxPrice = 2323223;

var result = service.UpdateSellerTransactionAsync(sellerTransaction).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::SellerTransaction.update(
      agent_uuid:"12345678-1234-1234-1234-1234567890ab",
      moxi_works_transaction_id:"babebead-feed-face-dead-beefbad4babe",
      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",
      sqft:2345,
      beds:12,
      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\SellerTransaction::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",
      "sqft" => 2345,
      "beds" => 12,
      "baths" => 34.5,
      "is_mls_transaction" => true,
      "start_timestamp" => 1480536319,
      "commission_flat_fee" => 12345,
      "min_price" => 292929,
      "max_price" => 2323223
       ]);
?>

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

SellerTransaction 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
sqft Integer 255
beds Integer 255
baths Float 255
is_mls_transaction Boolean 255
mls_number String 255
start_timestamp Integer 255
commission_percentage Float 255
commission_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 SellerTransaction object that you are updating. This will be an RFC 4122 compliant UUID. This data is required and must reference a valid MoxiWorks SellerTransaction ID for your SellerTransaction Update request to be accepted. You can determine UUIDs of existing SellerTransaction objects by using the SellerTransactionIndex request.

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

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

address The street address for the property being sold.

city The city or township of the property being sold.

state The state or province of the property being sold.

zip_code The postal code of the property being sold.

sqft The living area of the property being sold.

beds The number of bedroom in the property being sold.

baths The number of bathrooms in the property being sold.

is_mls_transaction Whether the property being sold 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 sold.

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 sale 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 selling price for the property if using target rather than range.

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

max_price The maximum price range for the 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 theSellerTransaction was closed.

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

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

Promoting SellerTransaction Stage

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

SellerTransaction 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":"MySystemsContactIDForTheContactAssociatedWithThisSellerTransaction",
  "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",
  "sqft":2345,
  "beds":12,
  "baths":34.5,
  "is_mls_transaction":false,
  "mls_number":null,
  "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
}
SellerTransaction 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":"MySystemsContactIDForTheContactAssociatedWithThisSellerTransaction",
  "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",
  "sqft":2345,
  "beds":12,
  "baths":34.5,
  "is_mls_transaction":false,
  "mls_number":null,
  "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
}
SellerTransaction Update Failure Response Example
See Error Handling for details about individual error codes.
{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

SellerTransaction Update Response Payload

The following attributes make up the payload of the SellerTransaction 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
sqft Integer or null
beds Integer or null
baths Float 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 SellerTransaction 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 SellerTransaction 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 SellerTransaction. This will be an RFC 4122 compliant UUID.

moxi_works_contact_id This is the MoxiWorks Platform ID of the Contact which this SellerTransaction 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 SellerTransaction 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 SellerTransaction.

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

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

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

address The street address for the property being sold. This should be null if the SellerTransaction is an MLS sale.

city The city or township of the property being sold. This should be null if the SellerTransaction is an MLS sale.

state The state or province of the property being sold. This should be null if the SellerTransaction is an MLS sale.

zip_code The postal code of the property being sold. This should be null if the SellerTransaction is an MLS sale.

sqft The living area of the property being sold.

beds The number of bedroom in the property being sold.

baths The number of bathrooms in the property being sold.

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

mls_number If this is an MLS sale, then this is the MLS number for the SellerTransaction.

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 SellerTransaction 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 SellerTransaction, then this will represent the commission that the agent is to receive.This should be null if the SellerTransaction 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 SellerTransaction, then this will represent the commission that the agent is to receive. This should be null if the SellerTransaction 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 SellerTransaction 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 SellerTransaction uses commission_percentage or commission_flat_fee or sales_volume_commission.

target_price The desired selling price for the property if using target rather than range.

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

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

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

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

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

SellerTransaction Show

SellerTransaction Show (using agent_uuid) Example

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


GET /api/seller_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 SellerTransactionService(new MoxiWorksClient());
var results = service.GetSellerTransactionAsync(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::SellerTransaction.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\SellerTransaction::find([
      "agent_uuid" => "12345678-1234-1234-1234-1234567890ab",
      "moxi_works_transaction_id" => "babebead-feed-face-dead-beefbad4babe"
       ]);
?>

SellerTransaction Show (using moxi_works_agent_id) Example

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


GET /api/seller_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 SellerTransactionService(new MoxiWorksClient());
var results = service.GetSellerTransactionAsync(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::SellerTransaction.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\SellerTransaction::find([
      "moxi_works_agent_id" => "abc123",
      "moxi_works_transaction_id" => "babebead-feed-face-dead-beefbad4babe"
       ]);
?>

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

SellerTransaction 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
parent_company_id String 255
moxi_works_company_id 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.

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

SellerTransaction 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":"MySystemsContactIDForTheContactAssociatedWithThisSellerTransaction",
  "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",
  "sqft":2345,
  "beds":12,
  "baths":34.5,
  "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
}
SellerTransaction 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":"MySystemsContactIDForTheContactAssociatedWithThisSellerTransaction",
  "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",
  "sqft":2345,
  "beds":12,
  "baths":34.5,
  "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
}
SellerTransaction Show Failure Response Example
See Error Handling for details about individual error codes.
{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

SellerTransaction Show Response Payload

The following attributes make up the payload of the SellerTransaction 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
sqft Integer or null
beds Integer or null
baths Float 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 SellerTransaction 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 SellerTransaction 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 SellerTransaction. This will be an RFC 4122 compliant UUID.

moxi_works_contact_id This is the MoxiWorks Platform ID of the Contact which this SellerTransaction 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 SellerTransaction 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 SellerTransaction.

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

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

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

address The street address for the property being sold. This should be null if the SellerTransaction is an MLS sale.

city The city or township of the property being sold. This should be null if the SellerTransaction is an MLS sale.

state The state or province of the property being sold. This should be null if the SellerTransaction is an MLS sale.

zip_code The postal code of the property being sold. This should be null if the SellerTransaction is an MLS sale.

sqft The living area of the property being sold.

beds The number of bedroom in the property being sold.

baths The number of bathrooms in the property being sold.

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

mls_number If this is an MLS sale, then this is the MLS number for the SellerTransaction.

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 SellerTransaction 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 SellerTransaction, then this will represent the commission that the agent is to receive.This should be null if the SellerTransaction 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 SellerTransaction, then this will represent the commission that the agent is to receive. This should be null if the SellerTransaction 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 SellerTransaction 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 SellerTransaction uses commission_percentage or commission_flat_fee or sales_volume_commission.

target_price The desired selling price for the property if using target rather than range.

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

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

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

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

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

SellerTransaction Index

SellerTransaction Index (using agent_uuid) Example

{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab"
}


GET /api/seller_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


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


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

var service = new SellerTransactionService(new MoxiWorksClient());
var results = service.GetSellerTransactionsAsync(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::SellerTransaction.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\SellerTransaction::search([
      "moxi_works_agent_id" => "agent_uuid"
       ]);
?>

SellerTransaction Index (using moxi_works_agent_id) Example

{
  "moxi_works_agent_id":"abc123"
}


GET /api/seller_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 SellerTransactionService(new MoxiWorksClient());
var results = service.GetSellerTransactionsAsync( 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::SellerTransaction.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\SellerTransaction::search([
      "moxi_works_agent_id" => "abc123"
       ]);
?>

When searching for SellerTransaction objects using the MoxiWorks platform API, format your data using the following parameters.

SellerTransaction 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
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 SellerTransaction objects. This will be an RFC 4122 compliant UUID. You can use either moxi_works_contact_id or partner_contact_id when searching for SellerTransaction 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 SellerTransaction objects for. You can use either moxi_works_contact_id or partner_contact_id when searching for SellerTransaction objects associated with a specific Contact.

page_number Page of SellerTransaction 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.

SellerTransaction 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":"MySystemsContactIDForTheContactAssociatedWithThisSellerTransaction",
      "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",
      "sqft":2345,
      "beds":12,
      "baths":34.5,
      "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
    }
  ]
}
SellerTransaction Index (using moxi_works_agent_id) Response Payload Example
{
  "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":"MySystemsContactIDForTheContactAssociatedWithThisSellerTransaction",
      "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",
      "sqft":2345,
      "beds":12,
      "baths":34.5,
      "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
    }
  ]
}
SellerTransaction Index Failure Response Example
See Error Handling for details about individual error codes.
{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

SellerTransaction Index Response Payload

The following attributes make up the payload of the SellerTransaction 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 SellerTransaction 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 SellerTransaction objects to return, total_pages will denote how many pages of SellerTransaction 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 SellerTransaction objects matching the query will be returned as SellerTransaction objects in the response.

transactions SellerTransaction 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
sqft Integer or null
beds Integer or null
baths Float 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 SellerTransaction 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 SellerTransaction 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 SellerTransaction. This will be an RFC 4122 compliant UUID.

moxi_works_contact_id This is the MoxiWorks Platform ID of the Contact which this SellerTransaction 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 SellerTransaction 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 SellerTransaction.

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

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

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

address The street address for the property being sold. This should be null if the SellerTransaction is an MLS sale.

city The city or township of the property being sold. This should be null if the SellerTransaction is an MLS sale.

state The state or province of the property being sold. This should be null if the SellerTransaction is an MLS sale.

zip_code The postal code of the property being sold. This should be null if the SellerTransaction is an MLS sale.

sqft The living area of the property being sold.

beds The number of bedroom in the property being sold.

baths The number of bathrooms in the property being sold.

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

mls_number If this is an MLS sale, then this is the MLS number for the SellerTransaction.

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 SellerTransaction 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 SellerTransaction, then this will represent the commission that the agent is to receive.This should be null if the SellerTransaction 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 SellerTransaction, then this will represent the commission that the agent is to receive. This should be null if the SellerTransaction 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 SellerTransaction 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 SellerTransaction uses commission_percentage or commission_flat_fee or sales_volume_commission.

target_price The desired selling price for the property if using target rather than range.

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

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

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

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

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

SoldListing

MoxiWorks Platform SoldListing entities represent a Brokerage’s sold listings.

SoldListing Show

SoldListing Show Example

{
  "moxi_works_listing_id":"abc123",
  "moxi_works_company_id":"bobs_better_houses"
}

GET /api/sold_listings/[moxi_works_listing_id]?moxi_works_company_id=bobs_better_houses 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 moxiWorksListingId = "12345678-1234-1234-1234-1234567890ab";
var moxiWorksCompanyId = "abc123";

var service = new SoldListingService(new MoxiWorksClient());
var results = service.GetSoldListingAsync( moxiWorksListingId,  moxiWorksCompanyId).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_listing = MoxiworksPlatform::SoldListing.find(
        moxi_works_listing_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_listing = MoxiworksPlatform\SoldListing::find([
        'moxi_works_listing_id' => '1234abcd',
        'moxi_works_company_id' => 'abc123']);
?>

When showing SoldListing objects using the MoxiWorks platform API, format your data using the following parameters.

SoldListing Show Request Attributes
Attribute Type Length Limit
moxi_works_listing_id String 255
moxi_works_company_id String 255
parent_company_id String 255
underscore_response 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_listing_id This is the MoxiWorks Platform ID of the SoldListing which you are requesting to Show. This data is required and must reference a valid MoxiWorks SoldListing ID for your Show request to be accepted.

underscore_response When this attribute is passed as true, the json keys of the response will be underscored. The default json key format for listing responses is camel casing.

SoldListing Show Response Payload Example

{
  "LotSizeAcres":0.0,
  "BathroomsFull":3,
  "BathroomsHalf":0,
  "BathroomsOneQuarter":null,
  "BathroomsPartial":null,
  "BathroomsThreeQuarter":null,
  "BathroomsTotalInteger":3,
  "BathroomsTotal":3.0,
  "BedroomsTotal":8,
  "PublicTitle":"Amazingly Remarkable!",
  "PublicRemarks":"Publicalistically Remarkabalistically! REMARKABLE!!",
  "ModificationTimestamp":"2018-03-20T11:04:55.659-07:00",
  "InternetAddressDisplayYN":true,
  "DaysOnMarket":0,
  "ListingContractDate":"07/27/2016",
  "CreatedDate":"11/01/2016",
  "ElementarySchool":"Elementary My Dear School",
  "GarageSpaces":4,
  "WaterfrontYN":false,
  "HighSchool":"Higher Than Junior",
  "AssociationFee":null,
  "ListOfficeName":"Realty Valley United",
  "ListPrice":599000,
  "ListingID":"12323",
  "ListAgentFullName":"Bob Agentson",
  "ListAgentUUID":"8675309e9-1234-dead-beef-deadbeefdead",
  "ListAgentOfficeID":"abc123",
  "ListAgentMoxiWorksOfficeID":"abcd1234",
  "SecondaryListAgentFullName":"Richard Agent",
  "SecondaryListAgentUUID":"8675309e9-2345-dead-beef-deadbeefdead",
  "SchoolDistrict":"Hilltop District",
  "Address":"97 Hilltop Road",
  "Address2":null,
  "City":"Montecarlo",
  "CountyOrParish":"Counting Parishes",
  "Latitude":"47.723251",
  "Longitude":"-122.171745",
  "StateOrProvince":"NV",
  "PostalCode":"87654",
  "Community":"Shady Acres",
  "LotSizeSquareFeet":null,
  "InternetEntireListingDisplayYN":true,
  "MiddleOrJuniorSchool":"*The* Junior High" ,
  "ListOfficeAOR":"WHATEVERS MLS",
  "ListOfficeAORArea":"Area 51",
  "PoolYN":false,
  "PropertyType":"Residential",
  "TaxAnnualAmount":13652,
  "TaxYear":2015,
  "SingleStory":false,
  "LivingArea":3640,
  "ViewYN":false,
  "YearBuilt":1989,
  "OnMarket":true,
  "Status":"active",
  "MoxiWorksListingId":"abc123",
  "AgentCreatedListing":false,
  "VirtualTourURL":"http://the.virtual.tour.url",
  "TaxParcelId": "9831200160",
  "CompanyListingAttributes": [
    {
      "AttributeId": "the collection",
      "AttributeName": "The Collection"
    },
      {
        "AttributeId": "destination",
        "AttributeName": "Destination"
    }
  ],
  "PropertyFeatures":[
    {
      "PropertyFeatureName": "Kitchen Information",
      "PropertyFeatureValues": [
        "Dishwasher",
        "Microwave",
        "Oven/Range Freestanding"
      ]
      },
        {
      "PropertyFeatureName": "Roof Description",
      "PropertyFeatureValues": [
        "Comp Shingle"
      ]
      },
        {
      "PropertyFeatureName": "Number Of Stories",
      "PropertyFeatureValues": [
        "Two Story"
      ]
      },
        {
      "PropertyFeatureName": "Interior Features",
      "PropertyFeatureValues": [
        "Bath Master",
        "Broadband Internet",
        "Cable/Satellite Tv",
        "Dishwasher",
        "Microwave",
        "Oven/Range Freestanding"
      ]
    },
  ],
  "OpenHouse":[
    {
      "Date":"2018-01-06",
      "StartTime":"13:00:00",
      "EndTime":"15:00:00"
    }
  ],
  "ImagesLastModified":"01/22/2018",
  "ListingImages":[
    {
      "FullURL":"http://images.moxiworks.com/static/images/br/imagoo/default_property_image_wre-326x250.png",
      "GalleryURL":"http://images.moxiworks.com/static/images/br/imagoo/default_property_image_wre-326x250.png",
      "RawURL":"http://images.moxiworks.com/static/images/br/imagoo/default_property_image_wre-326x250.png",
      "SmallURL":"http://images.moxiworks.com/static/images/br/imagoo/default_property_image_wre-326x250.png",
      "ThumbURL":"http://images.moxiworks.com/static/images/br/imagoo/default_property_image_wre-326x250.png",
      "Title":"Image Title",
      "IsMainListingImage":true,
      "Caption":"Image Caption",
      "Description":"Image Description",
      "Width":1024,
      "Height":768,
      "MimeType":"image/jpeg"
    }
  ],
  "SoldDate":"11/04/2016",
  "SoldPrice":192349,
  "BuyerAgentFullName":"Fred Agentguy", 
  "BuyerAgentUUID":"deadbeef-dead-beef-dead-beefdeadbeef", 
  "BuyerAgentOfficeName":"Super BuyerOffice", 
  "BuyerAgentOfficeID":"abc123", 
  "BuyerAgentMoxiWorksOfficeID":"deadbeef-dead-beef-deaddeaddead"
}
SoldListing Show Failure Response Example
See Error Handling for details about individual error codes.


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

SoldListing Show Response Payload

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

Attribute Type
LotSizeAcres Float or null
BathroomsFull Integer or null
BathroomsHalf Integer or null
BathroomsOneQuarter Integer or null
BathroomsPartial Integer or null
BathroomsThreeQuarter Integer or Null
BathroomsTotalInteger Integer or null
BathroomsTotal Float or null
BedroomsTotal Integer or null
PublicTitle String or null
PublicRemarks String or null
ModificationTimestamp String
InternetAddressDisplayYN Boolean or null
DaysOnMarket Integer
ListingContractDate String
CreatedDate String
ElementarySchool String or null
GarageSpaces Integer or null
WaterfrontYN Boolean or null
HighSchool String or null
AssociationFee Integer or null
ListOfficeName String or null
ListPrice Integer or null
ListingID String
ListAgentFullName String
ListAgentUUID String
ListAgentOfficeID String
ListAgentMoxiWorksOfficeID String
SecondaryListAgentFullName String or null
SecondaryListAgentUUID String or null
SchoolDistrict String or null
Address String or null
Address2 String or null
City String or null
CountyOrParish String or null
Latitude String or null
Longitude String or null
StateOrProvince String or null
PostalCode String or null
Community String or null
LotSizeSquareFeet Integer or null
InternetEntireListingDisplayYN Boolean
MiddleOrJuniorSchool String or null
ListOfficeAOR String or null
ListOfficeAORArea String or null
PoolYN Boolean or null
PropertyType String or null
TaxAnnualAmount Integer or null
TaxYear Integer or null
SingleStory Boolean or null
LivingArea Integer or null
ViewYN Boolean or null
YearBuilt Integer or null
OnMarket Boolean or null
Status String or null
MoxiWorksListingId String
AgentCreatedListing Boolean
VirtualTourURL String or null
TaxParcelId String or null
ListingURL String
CompanyListingAttributes Array
PropertyFeatures Array
OpenHouse Array
ImagesLastModified String or null
ListingImages Array
SoldDate String
SoldPrice Integer
BuyerAgentFullName String
BuyerAgentUUID String
BuyerAgentOfficeName String
BuyerAgentOfficeID String
BuyerAgentMoxiWorksOfficeID String

LotSizeAcres This is the property size of the listing land in acres. If no data is available for this attribute, it will be null.

BathroomsFull This is the number of full bathrooms in the property. If no data is available for this attribute, it will be null.

BathroomsHalf This is the number of half bathrooms in the property. If no data is available for this attribute, it will be null.

BathroomsOneQuarter This is the number of quarter-sized bathrooms in the property. If no data is available for this attribute, it will be null.

BathroomsPartial This is the number of partial bathrooms in the property. If no data is available for this attribute, it will be null.

BathroomsThreeQuarter This is the number of three-quarter bathrooms in the property. If no data is available for this attribute, it will be null.

BathroomsTotalInteger This is the number of rooms that are bathrooms in the property. This is not a summary count of bathrooms by size. If no data is available for this attribute, it will be null.

BathroomsTotal This is the summary count of bathrooms in the property. This will be the number of quarter-bathrooms plus half-bathrooms plus three-quarter bathrooms plus full bathrooms. If no data is available for this attribute, it will be null.

BedroomsTotal This is the number of bedrooms in the property. If no data is available for this attribute, it will be null.

PublicTitle The human-readable title for the listing generated by the property agent. If no data is available for this attribute, it will be null.

PublicRemarks These are human-readable notes about the property generated by the property agent. If no data is available for this attribute, it will be null.

ModificationTimestamp This is a string representing a date on which the listing data was last updated in ISO 8601 format. If no data is available for this attribute, it will be null.

InternetAddressDisplayYN This denotes whether the property should be displayed on a public facing website. If no data is available for this attribute, it will be null.

DaysOnMarket The number of days the listing has been on market.

ListingContractDate This is a string representing a date on which the listing contract was initiated. The string format is MM/DD/YYYY.

CreatedDate This is a string representing a date on which the SoldListing object was created. The string format is MM/DD/YYYY.

ElementarySchool The elementary school for the property.

GarageSpaces The number of garage spaces that are available at the property.

WaterfrontYN Whether the property is waterfront.

HighSchool The high school for the property.

AssociationFee The home owner’s association fee for the property.

ListOfficeName The name of the listing office.

ListPrice The listed price for the listing.

ListingID The MLS number for the listing.

ListAgentFullName The name of the listing agent.

ListAgentUUID A unique identifier for the listing agent. This will correspond to the uuid field of an Agent.

ListAgentOfficeID The office ID of the listing agent.

ListAgentMoxiWorksOfficeID The MoxiWorks ID of the listing agent’s office.

SecondaryListAgentFullName If there is a second listing agent, the name of the second listing agent.

SecondaryListAgentUUID If there is a second listing agent, the unique identifier for the second listing agent. This will correspond to the uuid field of an Agent.

SchoolDistrict The school district the listing property is in.

Address The street address of the property.

Address2 Additional street address information, for example, suite number.

City City or township the property is located in.

State State or province the property is located in.

PostalCode The zip code or postal code the property is located in.

Community The communitythe property is located in.

LotSizeSquareFeet Total area of the lot.

InternetEntireListingDisplayYN Whether to display information about this listing publicly. If this is false, then the information about this listing should not be visible to the Internet.

MiddleOrJuniorSchool The middle school for the property.

ListOfficeAOR The name of the MLS which this listing is listed with.

ListOfficeAORArea The MLS Area which this listing is in.

PoolYN Whether the property has a pool.

PropertyType The type of property being listed. This can be one of Residential, Condo-Coop, Townhouse, Land, Multifamily

TaxAnnualAmount The total annual property tax.

TaxYear The tax year that the property tax in TaxAnnualAmount was assessed.

SingleStory Whether the building has one story or is multi-story.

LivingArea Total square footage of the building(s) on the property.

ViewYN Whether the property has a view.

YearBuilt The year the living building(s) on the property were built.

OnMarket Whether the listing is currently on-market.

Status Detailed status of the listing; whether it’s sold expired sale fail temp off market other canceled pending contingent unknown coming soon

MoxiWorksListingID The unique Identifier for the listing in The MoxiWorks Platform.

AgentCreatedListing Whether the agent created this listing.

VirtualTourURL Virtual tour URL for this listing.

TaxParcelId The Tax ID / Parcel ID for the property. If no data is available for this attribute, it will be null.

ListingURL Details URL for this listing.

CompanyListingAttributes Company specific attributes associated with the listing. These will be defined by the company & should not be expected to be uniform across companies.

PropertyFeatures Any defined features about the property.

ImagesLastModified The date when the images of the property were last modified, or null if the property has no images.

ListingImages Any images of the property.

SoldDate Date on which this listing was sold.

SoldPrice Price for which this listing was sold.

BuyerAgentFullName Full name of the buyer’s agent

BuyerAgentUUID A unique identifier for the buyer’s agent. This will correspond to the uuid field of an Agent.

BuyerAgentOfficeName The name of the buyer agent’s office.

BuyerAgentOfficeID The ID of the buyer agent’s office.

BuyerAgentMoxiWorksOfficeID The MoxiWorks ID of the buyer agent’s office.

CompanyListingAttributes Objects

Each object in the CompanyListingAttributes array will have the following structure.

Attribute Type
AttributeId String
AttributeName String

AttributeId Unique ID for the attribute.

AttributeName Human readable name of the company specific listing attribute.

PropertyFeature Objects

Each object in the PropertyFeatures array will have the following structure.

Attribute Type
PropertyFeatureName String
PropertyFeatureValues Array

PropertyFeatureName Human readable name associated with the feature.

PropertyFeatureValues An array of strings which are human readable values associated with the feature.

OpenHouse Objects

Each object in the OpenHouse array will have the following structure.

Attribute Type
Date String
StartTime String
EndTime String

Date YYYY-MM-DD formatted string representing the date of the open house

StartTime HH:MM:SS formatted string representing the time when the open house starts. This is expressed in the local time where the listing is located.

EndTime HH:MM:SS formatted string representing the time when the open house ends. This is expressed in the local time where the listing is located.

ListingImages Objects

Each object in the ListingImages array will have the following structure.

Attribute Type
FullURL String or null
GalleryURL String or null
RawURL String or null
SmallURL String or null
ThumbURL String or null
Title String or null
IsMainListingImage Boolean
Caption String or null
Description String or null
Width Integer or null
Height Integer or null
MimeType String
EmbededHTMLContent String

FullURL This is a valid URL that can be used for img src to a medium sized representation of the image. This is the medium size image returned in each object in the ListingImages array.

GalleryURL This is a valid URL that can be used for img src to a large sized representation of the image. This is the large size image returned in each object in the ListingImages array.

RawURL This is a valid URL to the raw image as uploaded. This is the largest size image returned in each object in the ListingImages array. Due to variation in size, this image should not be considered for use when displaying images rendered in a browser.

SmallURL This is a valid URL that can be used for img src to a small sized representation of the image. This is the small size image returned in each object in the ListingImages array.

ThumbURL This is a valid URL that can be used for img src to a thumbnail sized representation of the image. This is the smallest size image returned in each object in the ListingImages array.

Title Human readable title of image.

IsMainListingImage Whether this image is considered the primary image for the listing.

Caption Human readable caption for the image.

Description Human readable description of image.

Width Width of the raw image.

Height Height of the raw image.

MimeType MIME or media type of the image.

EmbededHTMLContent Embedded HTML that can be placed into a webpage – this will be used for embedded movies.

SoldListing Index

Index will return a paged response of sold listings that have been updated since a given timestamp for a specified company. For a list of company IDs that you can reques sold listings for, use the Company Endpoint.

SoldListing Index Example

SoldListing Objects Updated Since A Given Timestamp

{
  "moxi_works_company_id":"abc123",
  "sold_since":"1461108284",
  "sold_before":"1463700284"
}
GET /api/sold_listings?moxi_works_company_id=abc123&sold_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


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

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

var service = new SoldListingService(new MoxiWorksClient());
var results = service.GetSoldListingsUpdatedSinceAsync(agentUuid, AgentIdType.AgentUuid, moxiWorksCompanyId, 1462317907).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_listings = MoxiworksPlatform::SoldListing.search(moxi_works_company_id: "abc123", sold_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_listings = MoxiworksPlatform\SoldListing::search(['moxi_works_company_id' => 'abc123', 'sold_since' => time() - $one_week]);
?>

Requesting Next Page of SoldListing Objects Updated Since A Given Timestamp

{
  "moxi_works_company_id":"abc123",
  "sold_since":"1461108284",
  "sold_before":"1463700284",
  "last_moxi_works_listing_id":"abc12345"
}

GET /api/sold_listings?moxi_works_company_id=abc123&sold_since=1461108284&sold_before=1463700284&last_moxi_works_listing_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


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

var moxiWorksAgentID = "1234bcd;
var moxiWorksCompanyId = "abc123";

var service = new SoldListingService(new MoxiWorksClient());
var results = service.GetSoldListingsUpdatedSinceAsync( moxiWorksAgentID,  AgentIdType.MoxiWorksAgentId,  moxiWorksCompanyId,  1462317907).Result;

one_week =  defined?(Rails) ? 1.week : 604800

first_page = MoxiworksPlatform::SoldListing.search(moxi_works_company_id: "abc123", sold_since: Time.now - one_week)

unless first_page['final_page']
  last_listing = first_page['listings'].last
  last_listing_id = (last_listing.nil?) ? nil : last_listing.moxi_works_listing_id

  next_page = MoxiworksPlatform::SoldListing.search(moxi_works_company_id: "abc123",
    sold_since: Time.now.to_i - one_week, last_moxi_works_listing_id: last_listing_id, sold_before: Time.now)
end


# or run a block on all pages of sold listings with a single call

MoxiworksPlatform::SoldListing.search(
  moxi_works_company_id: 'abc123',
  sold_since: Time.now.to_i - one_week, sold_before: Time.now.to_i) { |page_of_listings| puts page_of_listings.count }


<?php
$one_week = 604800;

$first_page = MoxiworksPlatform\SoldListing::search(['moxi_works_company_id' => 'abc123', 'sold_since' => time() - $one_week]);

if(!$first_page['final_page']) {
  $last_listing = end(array_values($first_page['listings']));
  $last_listing_id = $last_listing->$moxi_works_listing_id;
  MoxiworksPlatform\SoldListing::search(['moxi_works_company_id' => 'abc123', 'sold_since' => time() - $one_week, 'sold_before' => time()], 'last_moxi_works_listing_id' => $last_listing_id);
}

?>

When searching for SoldListing objects using the MoxiWorks platform API, format your data using the following parameters.

SoldListing Index Request Attributes
Attribute Type Length Limit
moxi_works_company_id String 255
parent_company_id String 255
sold_since Integer 255
sold_before Integer 255
agent_uuid † String 255
moxi_works_agent_id † String 255
source_agent_id † String 255
moxi_works_office_id String 255
last_moxi_works_listing_id String 255
include_buyer_listings String 255
underscore_response Boolean 255

Required Parameters Are In Red

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.

sold_since Paged responses of SoldListing objects with a sold date after this Unix timestamp will be returned in the response. If no sold_since or sold_after parameter is included in the request, only SoldListing objects with a sold date within the last seven days will be returned.

sold_before Paged responses of SoldListing objects with a sold date after this Unix timestamp will be returned in the response. If no sold_since or sold_before parameter is included in the request, only SoldListing objects with a sold date within the last seven days will be returned.

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

moxi_works_agent_id Use this parameter when searching for SoldListing objects associated with a specific Agent. This will be a string that may take the form of an email address, or a unique identification string. This data must reference a valid MoxiWorks Agent ID for your SoldListing Index request to be accepted.

moxi_works_office_id Use this parameter when searching for SoldListing objects associated with a specific Office. This data must reference a valid MoxiWorks Office ID for your SoldListing Index request to be accepted.

last_moxi_works_listing_id If fetching a multi-page response, this should be the MoxiWorksListingId found in the last SoldListing object of the previously fetched page.

include_buyer_listings Only listing data for buyer agents will be returned when this parameter is true.

underscore_response When this attribute is passed as true, the json keys of the response will be underscored. The default json key format for listing responses is camel casing.

SoldListing Index Response Payload Example

{
"FinalPage":true,
"Listings": [
{
  "LotSizeAcres":0.0,
  "BathroomsFull":3,
  "BathroomsHalf":0,
  "BathroomsOneQuarter":null,
  "BathroomsPartial":null,
  "BathroomsThreeQuarter":null,
  "BathroomsTotalInteger":3,
  "BathroomsTotal":3.0,
  "BedroomsTotal":8,
  "PublicTitle":"Amazingly Remarkable!",
  "PublicRemarks":"Publicalistically Remarkabalistically! REMARKABLE!!",
  "ModificationTimestamp":"2018-03-20T11:04:55.659-07:00",
  "InternetAddressDisplayYN":true,
  "DaysOnMarket":0,
  "ListingContractDate":"07/27/2016",
  "CreatedDate":"11/01/2016",
  "ElementarySchool":"Elementary My Dear School",
  "GarageSpaces":4,
  "WaterfrontYN":false,
  "HighSchool":"Higher Than Junior",
  "AssociationFee":null,
  "ListOfficeName":"Realty Valley United",
  "ListPrice":599000,
  "ListingID":"12323",
  "ListAgentFullName":"Bob Agentson",
  "ListAgentUUID":"8675309e9-1234-dead-beef-deadbeefdead",
  "ListAgentOfficeID":"8675309e9",
  "ListAgentMoxiWorksOfficeID":"8675309e9-1234-dead-beef-deadbeefdead",
  "SecondaryListAgentFullName":"Richard Agent",
  "SecondaryListAgentUUID":"8675309e9-2345-dead-beef-deadbeefdead",
  "SchoolDistrict":"Hilltop District",
  "Address":"97 Hilltop Road",
  "Address2":null,
  "City":"Montecarlo",
  "CountyOrParish":"Counting Parishes",
  "Latitude":"47.723251",
  "Longitude":"-122.171745",
  "StateOrProvince":"NV",
  "PostalCode":"87654",
  "Community":"Shady Acres",
  "LotSizeSquareFeet":null,
  "InternetEntireListingDisplayYN":true,
  "MiddleOrJuniorSchool":"*The* Junior High" ,
  "ListOfficeAOR":"WHATEVERS MLS",
  "ListOfficeAORArea":"Area 51",
  "PoolYN":false,
  "PropertyType":"Residential",
  "TaxAnnualAmount":13652,
  "TaxYear":2015,
  "SingleStory":false,
  "LivingArea":3640,
  "ViewYN":false,
  "YearBuilt":1989,
  "OnMarket":true,
  "Status":"active",
  "MoxiWorksListingId":"abc123",
  "AgentCreatedListing":false,
  "VirtualTourURL":"http://the.virtual.tour.url",
  "TaxParcelId": "9831200160",
  "ListingURL":"http://the.listing.url",
  "CompanyListingAttributes": [
    {
      "AttributeId": "the collection",
      "AttributeName": "The Collection"
    },
      {
        "AttributeId": "destination",
        "AttributeName": "Destination"
    }
  ],
  "PropertyFeatures":[
    {
      "PropertyFeatureName": "Kitchen Information",
      "PropertyFeatureValues": [
        "Dishwasher",
        "Microwave",
        "Oven/Range Freestanding"
      ]
      },
        {
      "PropertyFeatureName": "Roof Description",
      "PropertyFeatureValues": [
        "Comp Shingle"
      ]
      },
        {
      "PropertyFeatureName": "Number Of Stories",
      "PropertyFeatureValues": [
        "Two Story"
      ]
      },
        {
      "PropertyFeatureName": "Interior Features",
      "PropertyFeatureValues": [
        "Bath Master",
        "Broadband Internet",
        "Cable/Satellite Tv",
        "Dishwasher",
        "Microwave",
        "Oven/Range Freestanding"
      ]
    },
  ],
  "OpenHouse":[
    {
      "Date":"2018-01-06",
      "StartTime":"13:00:00",
      "EndTime":"15:00:00"
    }
  ],
  "ImagesLastModified":"01/22/2018",
  "ListingImages":[
    {
      "FullURL":"http://images.moxiworks.com/static/images/br/imagoo/default_property_image_wre-326x250.png",
      "GalleryURL":"http://images.moxiworks.com/static/images/br/imagoo/default_property_image_wre-326x250.png",
      "RawURL":"http://images.moxiworks.com/static/images/br/imagoo/default_property_image_wre-326x250.png",
      "SmallURL":"http://images.moxiworks.com/static/images/br/imagoo/default_property_image_wre-326x250.png",
      "ThumbURL":"http://images.moxiworks.com/static/images/br/imagoo/default_property_image_wre-326x250.png",
      "Title":"Image Title",
      "IsMainListingImage":true,
      "Caption":"Image Caption",
      "Description":"Image Description",
      "Width":1024,
      "Height":768,
      "MimeType":"image/jpeg"
    }
  ],
  "SoldDate":"11/04/2016",
  "SoldPrice":192349,
  "BuyerAgentFullName":"Fred Agentguy", 
  "BuyerAgentUUID":"deadbeef-dead-beef-dead-beefdeadbeef", 
  "BuyerAgentOfficeName":"Super BuyerOffice", 
  "BuyerAgentOfficeID":"abc123", 
  "BuyerAgentMoxiWorksOfficeID":"deadbeef-dead-beef-deaddeaddead"
}
]
}
SoldListing Index Failure Response Example
See Error Handling for details about individual error codes.

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

SoldListing Index Response Payload

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

Attribute Type
FinalPage Boolean
Listings Array

FinalPage If there is another page of SoldListing objects available, this will be false. If you are receiving the final page of SoldListing objects for the query, FinalPage will be true.

Listings This is the payload object for the query. Any SoldListing object that matches the request query will be returned here.

Listings Objects

Each object in the Listings array will have the following structure.

Attribute Type
LotSizeAcres Float or null
BathroomsFull Integer or null
BathroomsHalf Integer or null
BathroomsOneQuarter Integer or null
BathroomsPartial Integer or null
BathroomsThreeQuarter Integer or Null
BathroomsTotalInteger Integer or null
BathroomsTotal Float or null
BedroomsTotal Integer or null
PublicTitle String or null
PublicRemarks String or null
ModificationTimestamp String
InternetAddressDisplayYN Boolean or null
DaysOnMarket Integer
ListingContractDate String
CreatedDate String
ElementarySchool String or null
GarageSpaces Integer or null
WaterfrontYN Boolean or null
HighSchool String or null
AssociationFee Integer or null
ListOfficeName String or null
ListPrice Integer or null
ListingID String
ListAgentFullName String
ListAgentUUID String
ListAgentOfficeID String
ListAgentMoxiWorksOfficeID String
SecondaryListAgentFullName String or null
SecondaryListAgentUUID String or null
SchoolDistrict String or null
Address String or null
Address2 String or null
City String or null
CountyOrParish String or null
Latitude String or null
Longitude String or null
StateOrProvince String or null
PostalCode String or null
Community String or null
LotSizeSquareFeet Integer or null
InternetEntireListingDisplayYN Boolean
MiddleOrJuniorSchool String or null
ListOfficeAOR String or null
ListOfficeAORArea String or null
PoolYN Boolean or null
PropertyType String or null
TaxAnnualAmount Integer or null
TaxYear Integer or null
SingleStory Boolean or null
LivingArea Integer or null
ViewYN Boolean or null
YearBuilt Integer or null
OnMarket Boolean or null
Status String or null
MoxiWorksListingId String
AgentCreatedListing Boolean
VirtualTourURL String or null
TaxParcelId String or null
ListingURL String
CompanyListingAttributes Array
PropertyFeatures Array
OpenHouse Array
ImagesLastModified String or null
ListingImages Array
SoldDate String
SoldPrice Integer
BuyerAgentFullName String
BuyerAgentUUID String
BuyerAgentOfficeName String
BuyerAgentOfficeID String
BuyerAgentMoxiWorksOfficeID String

LotSizeAcres This is the property size of the listing land in acres. If no data is available for this attribute, it will be null.

BathroomsFull This is the number of full bathrooms in the property. If no data is available for this attribute, it will be null.

BathroomsHalf This is the number of half bathrooms in the property. If no data is available for this attribute, it will be null.

BathroomsOneQuarter This is the number of quarter-sized bathrooms in the property. If no data is available for this attribute, it will be null.

BathroomsPartial This is the number of partial bathrooms in the property. If no data is available for this attribute, it will be null.

BathroomsThreeQuarter This is the number of three-quarter bathrooms in the property. If no data is available for this attribute, it will be null.

BathroomsTotalInteger This is the number of rooms that are bathrooms in the property. This is not a summary count of bathrooms by size. If no data is available for this attribute, it will be null.

BathroomsTotal This is the summary count of bathrooms in the property. This will be the number of quarter-bathrooms plus half-bathrooms plus three-quarter bathrooms plus full bathrooms. If no data is available for this attribute, it will be null.

BedroomsTotal This is the number of bedrooms in the property. If no data is available for this attribute, it will be null.

PublicTitle The human-readable title for the listing generated by the property agent. If no data is available for this attribute, it will be null.

PublicRemarks These are human-readable notes about the property generated by the property agent. If no data is available for this attribute, it will be null.

ModificationTimestamp This is a string representing a date on which the listing data was last updated in ISO 8601 format. If no data is available for this attribute, it will be null.

InternetAddressDisplayYN This denotes whether the property should be displayed on a public facing website. If no data is available for this attribute, it will be null.

DaysOnMarket The number of days the listing has been on market.

ListingContractDate This is a string representing a date on which the listing contract was initiated. The string format is MM/DD/YYYY.

CreatedDate This is a string representing a date on which the SoldListing object was created. The string format is MM/DD/YYYY.

ElementarySchool The elementary school for the property.

GarageSpaces The number of garage spaces that are available at the property.

WaterfrontYN Whether the property is waterfront.

HighSchool The high school for the property.

AssociationFee The home owner’s association fee for the property.

ListOfficeName The name of the listing office.

ListPrice The listed price for the listing.

ListingID The MLS number for the listing.

ListAgentFullName The name of the listing agent.

ListAgentUUID A unique identifier for the listing agent. This will correspond to the uuid field of an Agent.

ListAgentOfficeID The office ID of the listing agent.

ListAgentMoxiWorksOfficeID The MoxiWorks ID of the listing agent’s office.

SecondaryListAgentFullName If there is a second listing agent, the name of the second listing agent.

SecondaryListAgentUUID If there is a second listing agent, the unique identifier for the second listing agent. This will correspond to the uuid field of an Agent.

SchoolDistrict The school district the listing property is in.

Address The street address of the property.

Address2 Additional street address information, for example, suite number.

City City or township the property is located in.

State State or province the property is located in.

PostalCode The zip code or postal code the property is located in.

Community The communitythe property is located in.

LotSizeSquareFeet Total area of the lot.

InternetEntireListingDisplayYN Whether to display information about this listing publicly. If this is false, then the information about this listing should not be visible to the Internet.

MiddleOrJuniorSchool The middle school for the property.

ListOfficeAOR The name of the MLS which this listing is listed with.

ListOfficeAORArea The MLS Area which this listing is in.

PoolYN Whether the property has a pool.

PropertyType The type of property being listed. This can be one of Residential, Condo-Coop, Townhouse, Land, Multifamily

TaxAnnualAmount The total annual property tax.

TaxYear The tax year that the property tax in TaxAnnualAmount was assessed.

SingleStory Whether the building has one story or is multi-story.

LivingArea Total square footage of the building(s) on the property.

ViewYN Whether the property has a view.

YearBuilt The year the living building(s) on the property were built.

OnMarket Whether the listing is currently on-market.

Status Detailed status of the listing; whether it’s sold expired sale fail temp off market other canceled pending contingent unknown coming soon

MoxiWorksListingID The unique Identifier for the listing in The MoxiWorks Platform.

AgentCreatedListing Whether the agent created this listing.

VirtualTourURL Virtual tour URL for this listing.

TaxParcelId The Tax ID / Parcel ID for the property. If no data is available for this attribute, it will be null.

ListingURL Details URL for this listing.

CompanyListingAttributes Company specific attributes associated with the listing. These will be defined by the company & should not be expected to be uniform across companies.

PropertyFeatures Any defined features about the property.

ImagesLastModified The date when the images of the property were last modified, or null if the property has no images.

ListingImages Any images of the property.

SoldDate Date on which this listing was sold.

SoldPrice Price for which this listing was sold.

BuyerAgentFullName Full name of the buyer’s agent

BuyerAgentUUID A unique identifier for the buyer’s agent. This will correspond to the uuid field of an Agent.

BuyerAgentOfficeName The name of the buyer agent’s office.

BuyerAgentOfficeID The ID of the buyer agent’s office.

BuyerAgentMoxiWorksOfficeID The MoxiWorks ID of the buyer agent’s office.

CompanyListingAttributes Objects

Each object in the CompanyListingAttributes array will have the following structure.

Attribute Type
AttributeId String
AttributeName String

AttributeId Unique ID for the attribute.

AttributeName Human readable name of the company specific listing attribute.

PropertyFeature Objects

Each object in the PropertyFeatures array will have the following structure.

Attribute Type
PropertyFeatureName String
PropertyFeatureValues Array

PropertyFeatureName Human readable name associated with the feature.

PropertyFeatureValues An array of strings which are human readable values associated with the feature.

OpenHouse Objects

Each object in the OpenHouse array will have the following structure.

Attribute Type
Date String
StartTime String
EndTime String

Date YYYY-MM-DD formatted string representing the date of the open house

StartTime HH:MM:SS formatted string representing the time when the open house starts. This is expressed in the local time where the listing is located.

EndTime HH:MM:SS formatted string representing the time when the open house ends. This is expressed in the local time where the listing is located.

ListingImages Objects

Each object in the ListingImages array will have the following structure.

Attribute Type
FullURL String or null
GalleryURL String or null
RawURL String or null
SmallURL String or null
ThumbURL String or null
Title String or null
IsMainListingImage Boolean
Caption String or null
Description String or null
Width Integer or null
Height Integer or null
MimeType String
EmbededHTMLContent String

FullURL This is a valid URL that can be used for img src to a medium sized representation of the image. This is the medium size image returned in each object in the ListingImages array.

GalleryURL This is a valid URL that can be used for img src to a large sized representation of the image. This is the large size image returned in each object in the ListingImages array.

RawURL This is a valid URL to the raw image as uploaded. This is the largest size image returned in each object in the ListingImages array. Due to variation in size, this image should not be considered for use when displaying images rendered in a browser.

SmallURL This is a valid URL that can be used for img src to a small sized representation of the image. This is the small size image returned in each object in the ListingImages array.

ThumbURL This is a valid URL that can be used for img src to a thumbnail sized representation of the image. This is the smallest size image returned in each object in the ListingImages array.

Title Human readable title of image.

IsMainListingImage Whether this image is considered the primary image for the listing.

Caption Human readable caption for the image.

Description Human readable description of image.

Width Width of the raw image.

Height Height of the raw image.

MimeType MIME or media type of the image.

EmbededHTMLContent Embedded HTML that can be placed into a webpage – this will be used for embedded movies.

Task

MoxiWorks Platform Task entities represent tasks that agents need to perform on behalf of, or in relation to their contacts.

Task Create

Task Create (using agent_uuid) Example

{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
  "description":"talk to private kane, e-one-thousand about stuff",
  "due_at":1466208866,
  "duration":10,
  "name":"Do This Please",
  "moxi_works_contact_id":"myMoxiPlatformContactID",
  "partner_task_id":"mySystemsTaskID"
}

POST /api/tasks 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&description=talk+to+private+kane,%2C+e-one-thousand%2C+about+stuff&due_at=1466208866&duration=10&name=Do+This+Please&moxi_works_contact_id=myMoxiPlatformContactId&partner_task_id=mySystemTaskId


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


var task = new Task();
task.AgentUuid = "12345678-1234-1234-1234-1234567890ab";
task.description = "talk to private kane, e-one-thousand about stuff";
task.dueAt = 1466208866;
task.duration = 10;
task.name = "Do This Please";
task.partnerContactId = "mySystemsContactID";
task.moxiWorksContactId = "myMoxiPlatformContactID";
task.partnerTaskId = mySystemsTaskID";


var service = new TaskService(new MoxiWorksClient());
var result = service.CreateTaskAsync(task).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_task = MoxiworksPlatform::Task.create(
        agent_uuid: "12345678-1234-1234-1234-1234567890ab",
        partner_task_id: "mySystemTaskId",
        moxi_works_contact_id: 'myMoxiPlatformContactId',
        name: "Meet And Greet",
        description: "Set up a meeting to talk to this contact about their new home",
        due_at: 1466208866,
        duration: 10
        )

<?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_task = MoxiworksPlatform\Task::create([
        'agent_uuid' => '12345678-1234-1234-1234-1234567890ab',
        'partner_task_id' => 'mySystemTaskId',
        'moxi_works_contact_id' => 'myMoxiPlatformContactId',
        'name' => 'Meet And Greet',
        'description' => 'Set up a meeting to talk to this contact about their new home',
        'due_at' => 1466208866,
        'duration' => 10
       ]);
?>

Task Create (using moxi_works_agent_id) Example

{
  "moxi_works_agent_id":"abc123",
  "description":"talk to private kane, e-one-thousand about stuff",
  "due_at":1466208866,
  "duration":10,
  "name":"Do This Please",
  "moxi_works_contact_id":"myMoxiPlatformContactID",
  "partner_task_id":"mySystemsTaskID"
}

POST /api/tasks 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&description=talk+to+private+kane,%2C+e-one-thousand%2C+about+stuff&due_at=1466208866&duration=10&name=Do+This+Please&moxi_works_contact_id=myMoxiPlatformContactId&partner_task_id=mySystemTaskId


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


var task = new Task();
task.moxiWorksAgentId = "abc123";
task.description = "talk to private kane, e-one-thousand about stuff";
task.dueAt = 1466208866;
task.duration = 10;
task.name = "Do This Please";
task.partnerContactId = "mySystemsContactID";
task.moxiWorksContactId = "myMoxiPlatformContactID";
task.partnerTaskId = mySystemsTaskID";


var service = new TaskService(new MoxiWorksClient());
var result = service.CreateTaskAsync(task).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_task = MoxiworksPlatform::Task.create(
        moxi_works_agent_id: "1234abcd",
        partner_task_id: "mySystemTaskId",
        partner_contact_id: 'mySystemContactId',
        moxi_works_contact_id: 'myMoxiPlatformContactId',
        name: "Meet And Greet",
        description: "Set up a meeting to talk to this contact about their new home",
        due_at: 1466208866,
        duration: 10
        )

<?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_task = MoxiworksPlatform\Task::create([
        'moxi_works_agent_id' => '1234abcd',
        'partner_task_id' => 'mySystemTaskId',
        'partner_contact_id' => 'mySystemContactId',
        'moxi_works_contact_id' => 'myMoxiPlatformContactId',
        'name' => 'Meet And Greet',
        'description' => 'Set up a meeting to talk to this contact about their new home',
        'due_at' => 1466208866,
        'duration' => 10
       ]);
?>

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

Task Create Request Attributes
Attribute Type Length Limit
agent_uuid* String 255
moxi_works_agent_id* String 255
source_agent_id* String 255
partner_task_id String 255
moxi_works_contact_id String 255
name String 255
due_at Integer 255
moxi_works_company_id String
partner_contact_id String
parent_company_id String 255
duration Integer 255
description 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.

partner_task_id This is the unique identifer you use in your system that will be associated with the Task that you are creating. This data is required and must be a unique ID for your Task Create request to be accepted.

moxi_works_contact_id This is the unique moxi platform’s contact identifer you use in your system that has been associated with the Contact that this Task regards.

partner_contact_id This is the unique identifer you use in your system that has been associated with the Contact that this Task regards.

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

description Brief, human readable content that will be shown to the agent as the body of the Task that you are creating.

due_at A Unix timestamp representing the point in time when the task associated with this Task object should be completed by.

duration The timespan (in minutes) that the task for this Task object is expected to take.

Task Create (using agent_uuid) Response Payload Example
{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
  "partner_contact_id":"mySystemContactId",
  "moxi_works_contact_id":"myMoxiPlatformContactId",
  "name":"Meet And Greet",
  "description":"Set up a meeting to talk to this contact about their new home",
  "due_at":1466208866,
  "duration":10,
  "status":"active",
  "created_at":1466196521,
  "completed_at":null
}
Task Create (using moxi_works_agent_id) Response Payload Example
{
  "moxi_works_agent_id":"1234abcd",
  "partner_contact_id":"mySystemContactId",
  "moxi_works_contact_id":"myMoxiPlatformContactId",
  "name":"Meet And Greet",
  "description":"Set up a meeting to talk to this contact about their new home",
  "due_at":1466208866,
  "duration":10,
  "status":"active",
  "created_at":1466196521,
  "completed_at":null
}
Task Create Failure Response Example
See Error Handling for details about individual error codes.
{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

Task Create Response Payload

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

Attribute Type
agent_uuid* String
moxi_works_agent_id* String
partner_contact_id String
moxi_works_contact_id String
name String or null
description String or null
due_at Integer
duration Integer or null
status String or null
created_at Integer
completed_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. 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 this Task for.

moxi_works_contact_id This is the unique moxi platform’s contact identifer you use in your system that has been associated with the Contact that you are creating this Task for.

name A brief, human readable title that will be shown to the agent as the subject of the Task.

description Brief, human readable content that will be shown to the agent as the body of the Task.

due_at A Unix timestamp representing the point in time when the task for this Task object should be completed by.

duration The timespan (in minutes) that the task for this Task object is expected to take.

created_at A Unix timestamp representing the point in time when the Task object was created.

completed_at A Unix timestamp representing the point in time when the task for this Task object was completed. This should be null if the task has not yet been completed.

Task Update

Task Update (using agent_uuid) Example


{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
  "description":"talk to private kane, e-one-thousand about stuff",
  "due_at":1466208866,
  "duration":10,
  "name":"Do This Please",
  "moxi_works_contact_id":"myMoxiPlatformContactID",
  "partner_task_id":"mySystemsTaskID"
}


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

agent_uuid=12345678-1234-1234-1234-1234567890ab&description=talk+to+private+kane,%2C+e-one-thousand%2C+about+stuff&due_at=1466208866&duration=10&name=Do+This+Please&moxi_works_contact_id=mySystemContactId&partner_task_id=mySystemTaskId&status=completed


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

var agentUuid = "12345678-1234-1234-1234-1234567890ab";
var partnerTaskId = "babebead-feed-face-dead-beefbad4babe";
var partnerContactId = "booyuh";
var moxiWorksContactId = "booyuh";

var service = new TaskService(new MoxiWorksClient());
var task = service.GetTaskAsync( agentUuid,  AgentIdType.AgentUuid, partnerContactId,  moxiWorksContactId,  partnerTaskId: partnerTaskId).Result;
task.description = "talk to private kane, e-one-thousand about stuff";
task.dueAt = 1466208866;
task.duration = 10;
task.name = "Do This Please";
var result = service.UpdateTaskAsync( task).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_task = MoxiworksPlatform::Task.update(
        agent_uuid: "12345678-1234-1234-1234-1234567890ab",
        partner_task_id: "mySystemTaskId",
        moxi_works_contact_id: 'myMoxiPlatformContactId',
        name: "Meet And Greet",
        description: "Set up a meeting to talk to this contact about their new home",
        due_at: 1466208866,
        duration: 10,
        status: 'completed'
        )

<?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_task = MoxiworksPlatform\Task::update([
        'agent_uuid' => '12345678-1234-1234-1234-1234567890ab',
        'partner_task_id' => 'mySystemTaskId',
        'moxi_works_contact_id' => 'myMoxiPlatformContactId',
        'name' => 'Meet And Greet',
        'description' => 'Set up a meeting to talk to this contact about their new home',
        'due_at' => 1466208866,
        'duration' => 10,
        'status' => 'completed'
       ]);
?>

Task Update (using moxi_works_agent_id) Example


{
  "moxi_works_agent_id":"abc123",
  "description":"talk to private kane, e-one-thousand about stuff",
  "due_at":1466208866,
  "duration":10,
  "name":"Do This Please",
  "moxi_works_contact_id":"myMoxiPlatformContactID",
  "partner_task_id":"mySystemsTaskID"
}


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

moxi_works_agent_id=abc123&description=talk+to+private+kane,%2C+e-one-thousand%2C+about+stuff&due_at=1466208866&duration=10&name=Do+This+Please&moxi_works_contact_id=myMoxiPlatformContactId&partner_task_id=mySystemTaskId&status=completed


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

var moxiWorksAgentId = "abc123";
var partnerTaskId = "babebead-feed-face-dead-beefbad4babe";
var partnerContactId = "booyuh";
var moxiWorksContactId = "booyuh";

var service = new TaskService(new MoxiWorksClient());
var task = service.GetTaskAsync( moxiWorksAgentId,  AgentIdType.MoxiWorksAgentId,  partnerContactId, moxiWorksContactId,  partnerTaskId: partnerTaskId).Result;
task.description = "talk to private kane, e-one-thousand about stuff";
task.dueAt = 1466208866;
task.duration = 10;
task.name = "Do This Please";
var result = service.UpdateTaskAsync( task).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_task = MoxiworksPlatform::Task.update(
        moxi_works_agent_id: "1234abcd",
        partner_task_id: "mySystemTaskId",
        moxi_works_contact_id: 'myMoxiPlatformContactId',
        name: "Meet And Greet",
        description: "Set up a meeting to talk to this contact about their new home",
        due_at: 1466208866,
        duration: 10,
        status: 'completed'
        )

<?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_task = MoxiworksPlatform\Task::update([
        'moxi_works_agent_id' => '1234abcd',
        'partner_task_id' => 'mySystemTaskId',
        'moxi_works_contact_id' => 'myMoxiPlatformContactId',
        'name' => 'Meet And Greet',
        'description' => 'Set up a meeting to talk to this contact about their new home',
        'due_at' => 1466208866,
        'duration' => 10,
        'status' => 'completed'
       ]);
?>

When updating an task using the MoxiWorks platform API, format your data using the following parameters.

Task Update Request Attributes
Attribute Type Length Limit
agent_uuid* String 255
moxi_works_agent_id* String 255
source_agent_id* String 255
partner_task_id String 255
moxi_works_contact_id String 255
name String 255
due_at Integer 255
moxi_works_company_id String
partner_contact_id String 255
parent_company_id String 255
duration Integer 255
description 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.

partner_task_id This is the unique identifer you use in your system that is associated with the Task that you are updating. This data is required and must be a unique ID for your Task Create request to be accepted.

moxi_works_contact_id This is the unique moxi platform’s contact identifer you use in your system that has been associated with the Contact that this Task regards.

partner_contact_id This is the unique identifer you use in your system that has been associated with the Contact that this Task regards.

name A brief, human readable title that will be shown to the agent as the subject of the Task.

description Brief, human readable content that will be shown to the agent as the body of the Task.

due_at A Unix timestamp representing the point in time when the task associated with this Task object should be completed by.

duration The timespan (in minutes) that the task for this Task object is expected to take.

Task Update (using agent_uuid) Response Payload Example

{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
  "partner_contact_id":"mySystemContactId",
  "moxi_works_contact_id":"myMoxiPlatformContactId",
  "name":"Meet And Greet",
  "description":"Set up a meeting to talk to this contact about their new home",
  "due_at":1466208866,
  "duration":10,
  "status":"completed",
  "created_at":1466196521,
  "completed_at":1466454540
}
Task Update (using moxi_works_agent_id) Response Payload Example

{
  "moxi_works_agent_id":"1234abcd",
  "partner_contact_id":"mySystemContactId",
  "moxi_works_contact_id":"myMoxiPlatformContactId",
  "name":"Meet And Greet",
  "description":"Set up a meeting to talk to this contact about their new home",
  "due_at":1466208866,
  "duration":10,
  "status":"completed",
  "created_at":1466196521,
  "completed_at":1466454540
}
Task Create Failure Response Example
See Error Handling for details about individual error codes.

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

Task Create Response Payload

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

Attribute Type
agent_uuid* String
moxi_works_agent_id* String
moxi_works_contact_id String
partner_contact_id String or null
name String or null
description String or null
due_at Integer
duration Integer or null
status String or null
created_at Integer
completed_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 Task 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.

moxi_works_contact_id This is the unique moxi platform’s contact identifer you use in your system that has been associated with the Contact that you are updating this Task for.

partner_contact_id This is the unique identifer you use in your system that has been associated with the Contact that you are updating this Task for.

name A brief, human readable title that will be shown to the agent as the subject of the Task.

description Brief, human readable content that will be shown to the agent as the body of the Task.

due_at A Unix timestamp representing the point in time when the task for this Task object should be completed by.

duration The timespan (in minutes) that the task for this Task object is expected to take.

created_at A Unix timestamp representing the point in time when the Task object was created.

completed_at A Unix timestamp representing the point in time when the task for this Task object was completed. This should be null if the task has not yet been completed.

Task Show

Task Show (using agent_uuid) Example


{
  "partner_task_id":"mySystemsTaskID",
  "moxi_works_contact_id": "abc123",
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab"
}

GET /api/tasks/my_task_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


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


var agentUuid = "12345678-1234-1234-1234-1234567890ab";
var partnerTaskId = "babebead-feed-face-dead-beefbad4babe";
var moxiWorksContactId = "booyuh";

var service = new TaskService(new MoxiWorksClient());
var results = service.GetTaskAsync( agentUuid,  AgentIdType.AgentUuid,  moxiWorksContactId, partnerTaskId).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_task = MoxiworksPlatform::Task.find(
        agent_uuid: "12345678-1234-1234-1234-1234567890ab",
        moxi_works_contact_id: "abc123",
        partner_task_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_task = MoxiworksPlatform\Task::find([
        'agent_uuid' => '12345678-1234-1234-1234-1234567890ab',
        'moxi_works_contact_id' => 'abc123',
        'partner_task_id' => 'booyuh']);
?>

Task Show (using moxi_works_agent_id) Example


{
  "partner_task_id":"mySystemsTaskID",
  "moxi_works_contact_id": "abc123",
  "moxi_works_agent_id":"abc123"
}

GET /api/tasks/my_task_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


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


var moxiWorksAgentId = "abc123"";
var partnerTaskId = "babebead-feed-face-dead-beefbad4babe";
var moxiWorksContactId = "booyuh";

var service = new TaskService(new MoxiWorksClient());
var results = service.GetTaskAsync( moxiWorksAgentId,  AgentIdType.MoxiWorksAgentId,  moxiWorksContactId, partnerTaskId).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_task = MoxiworksPlatform::Task.find(
        moxi_works_agent_id: "1234abcd",
        moxi_works_contact_id: "abc123",
        partner_task_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_task = MoxiworksPlatform\Task::find([
        'moxi_works_agent_id' => '1234abcd',
        'moxi_works_contact_id' => 'abc123',
        'partner_task_id' => 'booyuh']);
?>

When finding a Task object using the MoxiWorks platform API, format your data using the following parameters.

Task Show Request Attributes
Attribute Type Length Limit
agent_uuid* String 255
moxi_works_agent_id* String 255
source_agent_id* String 255
partner_task_id String 255
moxi_works_contact_id String 255
moxi_works_company_id String
parent_company_id String 255
partner_contact_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_contact_id This is the unique moxi platform’s contact identifer you use in your system that has been associated with the Contact that this Task is for.

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_task_id This is the unique identifer you use in your system that has been associated with the Task.

partner_contact_id This is the unique identifer you use in your system that has been associated with the Contact that this Task is for.

Task Show (using span class=‘attribute-name’>agent_uuid) Response Payload Example
{
  "agent_uuid": "12345678-1234-1234-1234-1234567890ab",
  "partner_contact_id": "abc123",
  "moxi_works_contact_id": "abc123",
  "partner_task_id": "booyuh",
  "name": "pick up keys for home",
  "description": "pick up keys for 1234 Wherever Ave. from 1181 Brokerage Place",
  "due_at": 1462241468,
  "duration": 30,
  "status": "active",
  "created_at": 1462234227,
  "completed_at": null
}
Task Show (using span class=‘attribute-name’>moxi_works_agent_id) Response Payload Example
{
  "moxi_works_agent_id": "1234abcd",
  "partner_contact_id": "abc123",
  "moxi_works_contact_id": "abc123",
  "partner_task_id": "booyuh",
  "name": "pick up keys for home",
  "description": "pick up keys for 1234 Wherever Ave. from 1181 Brokerage Place",
  "due_at": 1462241468,
  "duration": 30,
  "status": "active",
  "created_at": 1462234227,
  "completed_at": null
}
Task Show Failure Response Example
See Error Handling for details about individual error codes.

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

Task Show Response Payload

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

Attribute Type
agent_uuid* String
moxi_works_agent_id* String
partner_contact_id String
moxi_works_contact_id String
partner_task_id String
name String or null
description String or null
due_at Integer
duration Integer or null
status String or null
created_at Integer
completed_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 Task 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 this Task is for.

moxi_works_contact_id This is the unique moxi platform’s contact identifer you use in your system that has been associated with the Contact that this Task is for.

partner_task_id This is the unique identifer you use in your system that has been associated with the Task.

name A brief, human readable title that will be shown to the agent as the subject of the Task.

description Brief, human readable content that will be shown to the agent as the body of the Task.

due_at A Unix timestamp representing the point in time when the task for this Task object should be completed by.

duration The timespan (in minutes) that the task for this Task object is expected to take.

created_at A Unix timestamp representing the point in time when the Task object was created.

completed_at A Unix timestamp representing the point in time when the task for this Task object was completed. This should be null if the task has not yet been completed.

Task Index

Task Index (using agent_uuid) Example

{
  "agent_uuid":"12345678-1234-1234-1234-1234567890ab"
}

GET /api/tasks?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_moxi_works_tasks = MoxiworksPlatform::Agent.search(agent_uuid: "12345678-1234-1234-1234-1234567890ab")

<?php
$agent_moxi_works_tasks = MoxiworksPlatform\Task::search(['agent_uuid' => "12345678-1234-1234-1234-1234567890ab"]);
?>
/* set up prerequisites once */
ConfigurationManager.AppSettings["Secret"] = "secret";
ConfigurationManager.AppSettings["Identifier"] = "abc123";

var service = new MoxiWorks.Platform.TaskService(new MoxiWorksClient());
var tasksResponse = service.GetTasksAsync("60d6f848-38d7-4cdb-adf2-4aaea5e1028",
    AgentIdType.AgentUuid,
    DateTime.Now.AddDays(-100), DateTime.Now, "20171013T124223529").Result;
var tasks = tasksResponse.Item.Tasks;

Task Index (using moxi_works_agent_id) Example

{
  "moxi_works_agent_id":"abc123"
}


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

var service = new MoxiWorks.Platform.TaskService(new MoxiWorksClient());
var tasksResponse = service.GetTasksAsync("60d6f848-38d7-4cdb-adf2-4aaea5e1028",
    AgentIdType.MoxiWorksagentId,null,null,null).Result;
var tasks = tasksResponse.Item.Tasks;

GET /api/tasks?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

agent_moxi_works_tasks = MoxiworksPlatform::Agent.search(moxi_works_agent_id: "abc123")

<?php
$agent_moxi_works_tasks = MoxiworksPlatform\Task::search(['moxi_works_agent_id' => "abc123"]);
?>

Task Index Example: All Task Objects For A Specified Contact

{
  "moxi_works_agent_id":"abc123",
  "partner_contact_id":"mySystemIDForContact"
}
or
{
  "moxi_works_agent_id":"abc123",
  "moxi_works_contact_id":"myMoxiPlatformIDForContact"
}
GET /api/tasks?moxi_works_agent_id=abc123&parter_contact_id=mySystemIDForContact 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

or
GET /api/tasks?moxi_works_agent_id=abc123&moxi_works_contact_id=myMoxiPlatformIDForContact 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 MoxiWorks.Platform.TaskService(new MoxiWorksClient());
var tasksResponse = service.GetTasksAsync("60d6f848-38d7-4cdb-adf2-4aaea5e1028",
    AgentIdType.AgentUuid,null,null,someContactID).Result;
var tasks = tasksResponse.Item.Tasks;
agent_moxi_works_tasks_for_contact = MoxiworksPlatform::Task.search(
        moxi_works_agent_id: "abc123",
        partner_contact_id: "mySystemIDForContact")

or
agent_moxi_works_tasks_for_contact = MoxiworksPlatform::Task.search(
        moxi_works_agent_id: "abc123",
        moxi_works_contact_id: "myMoxiPlatformIDForContact")

<?php
$agent_moxi_works_tasks_for_contact = MoxiworksPlatform\Task::search([
        'moxi_works_agent_id' => 'abc123',
        'partner_contact_id' => 'mySystemIDForContact']);
?>
or
<?php
$agent_moxi_works_tasks_for_contact = MoxiworksPlatform\Task::search([
        'moxi_works_agent_id' => 'abc123',
        'moxi_works_contact_id' => 'myMoxiPlatformIDForContact']);
?>

Task Index Example: All Task Objects Due Between Specified Time Range

{
  "moxi_works_agent_id":"abc123",
  "date_due_start":1461108284,
  "date_due_end":1462317907
}
GET /api/tasks?moxi_works_agent_id=abc123&date_due_start=1461108284&date_due_end=1462317907 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 MoxiWorks.Platform.TaskService(new MoxiWorksClient());
var tasksResponse = service.GetTasksAsync("60d6f848-38d7-4cdb-adf2-4aaea5e1028",
AgentIdType.AgentUuid,DateTime.Now.AddDays(-100), DateTime.Now,null).Result;
var tasks = tasksResponse.Item.Tasks;
agent_moxi_works_tasks_due_between_dates = MoxiworksPlatform::Task.search(
        moxi_works_agent_id: "abc123",
        due_date_start: Time.now.to_i - 86400,
        due_date_end: Time.now.to_i)

<?php

$agent_moxi_works_tasks_for_contact_due_between_dates= MoxiworksPlatform\Task::search([
        'moxi_works_agent_id' => 'abc123',
        'due_date_start' => 1461108284,
        'due_date_end' => 1462317907]);
?>

Task Index Example: All Agent Task Objects For a Specified Contact Due Between Specified Time Range

{
  "moxi_works_agent_id":"abc123",
  "date_due_start":1461108284,
  "date_due_end":1462317907,
  "partner_contact_id":"mySystemIDForContact"
}
or
{
  "moxi_works_agent_id":"abc123",
  "date_due_start":1461108284,
  "date_due_end":1462317907,
  "moxi_works_contact_id":"myMoxiPlatformIDForContact"
}
GET /api/tasks?moxi_works_agent_id=abc123&date_due_start=1461108284&date_due_end=1462317907&partner_contact_id=mySystemIDForContact 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
or
GET /api/tasks?moxi_works_agent_id=abc123&date_due_start=1461108284&date_due_end=1462317907&moxi_works_contact_id=myMoxiPlatformIDForContact 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 MoxiWorks.Platform.TaskService(new MoxiWorksClient());
var tasksResponse = service.GetTasksAsync("60d6f848-38d7-4cdb-adf2-4aaea5e1028",
    AgentIdType.AgentUuid,DateTime.Now.AddDays(-100), DateTime.Now, "20171013T124223529").Result;
var tasks = tasksResponse.Item.Tasks;
agent_moxi_works_tasks_for_contact_due_between_dates = MoxiworksPlatform::Task.search(
        moxi_works_agent_id: "abc123",
        partner_contact_id: "mySystemIDForContact",
        due_date_start: Time.now.to_i - 86400,
        due_date_end: Time.now.to_i)
or
agent_moxi_works_tasks_for_contact_due_between_dates = MoxiworksPlatform::Task.search(
        moxi_works_agent_id: "abc123",
        moxi_works_contact_id: "myMoxiPlatformIDForContact",
        due_date_start: Time.now.to_i - 86400,
        due_date_end: Time.now.to_i)
<?php

$agent_moxi_works_tasks_for_contact_due_between_dates= MoxiworksPlatform\Task::search([
        'moxi_works_agent_id' => 'abc123',
        'partner_contact_id' => 'mySystemIDForContact',
        'due_date_start' => 1461108284,
        'due_date_end' => 1462317907]);

?>
or
<?php

$agent_moxi_works_tasks_for_contact_due_between_dates= MoxiworksPlatform\Task::search([
        'moxi_works_agent_id' => 'abc123',
        'moxi_works_contact_id' => 'myMoxiPlatformIDForContact',
        'due_date_start' => 1461108284,
        'due_date_end' => 1462317907]);

?>

When searching for Task objects using the MoxiWorks platform API, format your data using the following parameters.

Task 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
due_date_start Integer 255
due_date_end Integer 255
partner_contact_id String 255
moxi_works_contact_id String 255
page_number Integer 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.

due_date_start A Unix timestamp representing the start of a range that you are searching for Task due_date dates to fall in.

due_date_end A Unix timestamp representing the end of a range that you are searching for Task due_date dates to fall in.

partner_contact_id This is the unique identifer you use in your system that has been associated with the Contact that this Task regards.

moxi_works_contact_id This is the unique moxi platform’s contact identifer you use in your system that has been associated with the Contact that this Task regards.

page_number Page of Task objects to return. Use if total_pages indicates that there is more than one page of data available.

Task Index (using agent_uuid) Response Payload Example
{
  "page_number":6,
  "total_pages":6,
  "tasks": [
    {
      "agent_uuid":"12345678-1234-1234-1234-1234567890ab",
      "partner_contact_id":"mySystemIDForContact",
      "moxi_works_contact_id":"myMoxiPlatformIDForContact",
      "name":"Reach Out to this person!",
      "description":"Call",
      "due_at":"1465858693",
      "duration":15,
      "custom":false,
      "status":"active",
      "created_at":"1465772310",
      "completed_at":null
    }
  ]
}
Task Index (using moxi_works_agent_id) Response Payload Example
{
  "page_number":6,
  "total_pages":6,
  "tasks": [
    {
      "moxi_works_agent_id":"abc123",
      "partner_contact_id":"mySystemIDForContact",
      "moxi_works_contact_id":"myMoxiPlatformIDForContact",
      "name":"Reach Out to this person!",
      "description":"Call",
      "due_at":"1465858693",
      "duration":15,
      "custom":false,
      "status":"active",
      "created_at":"1465772310",
      "completed_at":null
    }
  ]
}
Task Index Failure Response Example
See Error Handling for details about individual error codes.
{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

Task Index Response Payload

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

Attribute Type
page_number Integer
total_pages Integer
tasks Array
tasks Objects

Each object in the tasks array will have the following structure.

Attribute Type
agent_uuid* String
moxi_works_agent_id* String
partner_contact_id String
moxi_works_contact_id String
name String or null
description String or null
due_at Integer
duration Integer or null
status String or null
created_at Integer
completed_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 Task 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 this Task for.

moxi_works_contact_id This is the unique moxi platform’s contact identifer you use in your system that has been associated with the Contact that you are creating this Task for.

name A brief, human readable title that will be shown to the agent as the subject of the Task.

description Brief, human readable content that will be shown to the agent as the body of the Task.

due_at A Unix timestamp representing the point in time when the task for this Task object should be completed by.

duration The timespan (in minutes) that the task for this Task object is expected to take.

created_at A Unix timestamp representing the point in time when the Task object was created.

completed_at A Unix timestamp representing the point in time when the task for this Task object was completed. This should be null if the task has not yet been completed.

Team

MoxiWorks Platform Team entities represent brokerage teams.

Team Show

Team Show Example

Requested Team object

GET /api/teams/deadbeef-deadbeef-feed-facedeadbeef 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_team_id":"deadbeef-deadbeef-feed-facedeadbeef"
}


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

platform_identifier = 'abc123'

platform_secret = 'secret'

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

company_teams = MoxiworksPlatform::Team.find(moxi_works_team_id: "deadbeef-deadbeef-feed-facedeadbeef")

<?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);

$company_teams = MoxiworksPlatform\Team::find(['moxi_works_team_id' => 'deadbeef-deadbeef-feed-facedeadbeef']);
?>

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

var moxiWorksCompanyId = "1234bcd";
var moxiWorksTeamId = "1234567";

var service = new TeamService(new MoxiWorksClient());
var results = service.GetTeamAsync(moxiWorksTeamId,moxiWorksCompanyId).Result;
var team = results.Item

Team Show Request Attributes

When showing Team entities using the MoxiWorks platform API, format your data using the following parameters.

Attribute Type Length Limit
moxi_works_team_id String 255
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.

moxi_works_team_id A valid MoxiWorks Team ID. Use Team Index Endpoint for a list of all Team objects associated with a Company or use the moxi_works_team_id attribute returned in an Agent response.

Team Show: Success Response

  {
    "uuid":"feedface-dead-beef-aadf-baddeedc645",
    "name": "New Team One",
    "email": "email@address",
    "address1": "1234 Here St.",
    "address2": "Suite: 1234",
    "city": "Sweetville",
    "zipcode": "91820",
    "state": "OR",
    "phone": "666-555-1234",
    "fax": "666-867-5309",
    "logo_url": "http://website.url/logo.png",
    "photo_url": "http://website.url/image.jpg",
    "description": "<h1>Heading 1</h1><ol><li>a</li></ol><h1><br />This team is the <em><strong>teamiest</strong> </em>of all the <sub>teams</sub>, <span style="text-decoration: underline;">hands</span> down!</h1>",
    "social_media_urls": null,
    "alt_phone": "666-555-4444",
    "alt_email": "alternate@email.address",
    "website_url": "http://the.team.website",
    "active": true
  }

Team Show: Failure Response
See Error Handling for details about individual error codes.
{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

Attribute Type
uuid String
name String or null
email String or null
address1 String or null
address2 String or null
city String or null
zipcode String or null
state String or null
phone String or null
fax String or null
logo_url String or null
photo_url String or null
description String or null
alt_phone String or null
alt_email String or null
website_url String or null
active Boolean

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

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

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

address1 The street address of the team. This can be null if there is no data for this attribute.

address2 The suite or team number of the team. This can be null if there is no data for this attribute.

city The city the team is in. This can be null if there is no data for this attribute.

zip_code The postal code the team is in. This can be null if there is no data for this attribute.

state The state or provice the team is in. This can be null if there is no data for this attribute.

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

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

logo_url URL to an logo for the team. This can be null if there is no data for this attribute.

photo_url URL to an image of the team. This can be null if there is no data for this attribute.

description Description of the team. This can contain embedded HTML tags. This can be null if there is no data for this attribute.

alt_phone Alternate phone number for the team. This should be considered second in priority to phone_number. This can be null if there is no data for this attribute.

website_url Team’s website url. This can be null if there is no data for this attribute.

active Whether this team is active.

Team Index

Team Index Example

All Team objects for specified Company

GET /api/teams?moxi_works_company_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_company_id":"the_company"
}


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

var someCompanyId = "1234bcd;

var service = new TeamService(new MoxiWorksClient());
var results = service.GetCompanyTeamsAync(someCompanyId).Result;
var teams = results.Item


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

platform_identifier = 'abc123'

platform_secret = 'secret'

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

company_teams = MoxiworksPlatform::Team.search(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);

$company_teams = MoxiworksPlatform\Team::search(['moxi_works_company_id' => 'abc123']);
?>
Team Index Request Attributes

When searching for Team 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

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.

Team Index: Success Response

[
  {
  "uuid":"feedface-dead-beef-aadf-baddeedc645",
  "name": "New Team One",
  "email": "email@address",
  "address1": "1234 Here St.",
  "address2": "Suite: 1234",
  "city": "Sweetville",
  "zipcode": "91820",
  "state": "OR",
  "phone": "666-555-1234",
  "fax": "666-867-5309",
  "logo_url": "http://website.url/logo.png",
  "photo_url": "http://website.url/image.jpg",
  "description": "<h1>Heading 1</h1><ol><li>a</li></ol><h1><br />This team is the <em><strong>teamiest</strong> </em>of all the <sub>teams</sub>, <span style="text-decoration: underline;">hands</span> down!</h1>",
  "social_media_urls": null,
  "alt_phone": "666-555-4444",
  "alt_email": "alternate@email.address",
  "website_url": "http://the.team.website",
  "active": true
  }
]
Team Index: Failure Response
See Error Handling for details about individual error codes.
{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

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

Attribute Type
uuid String
name String or null
email String or null
address1 String or null
address2 String or null
city String or null
zipcode String or null
state String or null
phone String or null
fax String or null
logo_url String or null
photo_url String or null
description String or null
alt_phone String or null
alt_email String or null
website_url String or null
active Boolean

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

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

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

address1 The street address of the team. This can be null if there is no data for this attribute.

address2 The suite or team number of the team. This can be null if there is no data for this attribute.

city The city the team is in. This can be null if there is no data for this attribute.

zip_code The postal code the team is in. This can be null if there is no data for this attribute.

state The state or provice the team is in. This can be null if there is no data for this attribute.

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

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

logo_url URL to an logo for the team. This can be null if there is no data for this attribute.

photo_url URL to an image of the team. This can be null if there is no data for this attribute.

description Description of the team. This can contain embedded HTML tags. This can be null if there is no data for this attribute.

alt_phone Alternate phone number for the team. This should be considered second in priority to phone_number. This can be null if there is no data for this attribute.

website_url Team’s website url. This can be null if there is no data for this attribute.

active Whether this team is active.

WebUser

MoxiWorks Platform WebUser entities represent online web users.

WebUser Index

WebUser Index Example

All WebUser objects for specified Company

GET /api/web_users?moxi_works_company_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_company_id": "the_company",
  "moxi_works_agent_id": "blep@blerp.com",
  "has_agent_association": true,
  "has_favorites": true,
  "page_number": 1,
  "updated_after": 1569862394,
  "updated_before": 1569870000
}

WebUser Index Request Attributes

When searching for WebUser entities using the MoxiWorks platform API, format your data 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
parent_company_id String 255
has_agent_association Boolean 255
has_web_data Boolean 255
has_favorites Boolean 255
has_searches Boolean 255
page_number Integer 255
updated_after Integer 255
updated_before Integer 255

Required Parameters Are In Red

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.

has_agent_association This boolean should be set to true when fetching only agent associated WebUser objects.

has_web_data This boolean should be set to true when fetching only WebUser objects that have available listing search or favorite listing data.

has_favorites This boolean should be set to true when fetching only WebUser objects that have available favorite listing data.

has_searches This boolean should be set to true when fetching only WebUser objects that have available listing search data.

page_number Page of WebUser records to return. Use if total_pages indicates that there is more than one page of data available.

updated_after Only WebUser records updated later than this Unix timestamp will be included in the query. Must be earlier than the updated_before attribute if it is provided.

updated_before Only WebUser records updated earlier than this Unix timestamp will be included in the query. Must be later than the updated_after attribute if it is provided.

Team Index: Success Response

[
  {
    "moxi_works_user_id": "0b080c6a-0d13-430d-8541-9680e7adcd34",
    "first_name": "Blep",
    "last_name": "Bloop",
    "email": "dummy_1387389@agentdigs.com",
    "associated_agent_uuid": null,
    "favorite_listing_ids": [],
    "saved_searches": []
  }
]
Team Index: Failure Response
See Error Handling for details about individual error codes.
{
  "status":"fail",
  "errorCode": xxx,
  "messages": ["messages"]
}

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

Attribute Type
moxi_works_user_id String
first_name String or null
last_name String or null
email String or null
associated_agent_uuid String or null
favorite_listing_ids Array
saved_searches Array

moxi_works_user_id This is the MoxiWorks Platform ID of the WebUser. This will be an RFC 4122 compliant UUID.

first_name The first name associated with the WebUser record.

last_name The last name associated with the WebUser record.

email This is the email address associated with the WebUser record.

associated_agent_uuid This is the agent_uuid of the Agent record that this WebUser is associated with. This will be an RFC 4122 compliant UUID, or null if the user does not have an agent association.

favorite_listing_ids This is will be a list of moxi_works_listing_ids for listings marked as favorites for the WebUser record.

saved_searches Object

The saved_searches Array contains Dictionary objects representing SavedSearch entries. The structure of each SavedSearch entry is shown below.

Attribute Type
search_name String
email_frequency String
send_empty_emails Boolean
search_criteria Hash

name The name that the user has given to the saved search.

email_frequency The frequency of saved search update emails. Options are: monthly, weekly, daily, hourly, never.

send_empty_emails This field indicates whether or not the user has elected to receive saved search update emails containing zero listing updates.

search_criteria Object

The search_criteria Hash is a Dictionary object containing the criteria used to refine the SavedSearch entry. The structure of the search_criteria Hash is shown below.

Attribute Type
search_field String or null
city String or null
state String or null
zipcode String or null
street_name String or null
house_number String or null
listing_status String or null
price_min Integer or null
price_max Integer or null
bed_min Integer or null
bath_min Float or null
sqft_min Integer or null
sqft_max Integer or null
lot_size_min Float, Integer or null
lot_size_max Float, Integer or null
lot_size_conversion String
year_built_min Integer
year_built_max Integer
days_on_mls Integer
single_story_home Boolean
garage Boolean
pool Boolean
waterfront Boolean
view Boolean
new_construction Boolean
luxury_property Boolean
destination Boolean
open_house String
property_types Array
drive_time Hash

search_field The search string used in generating the SavedSearch object.

city The focus city of this SavedSearch entry.

state The focus state of this SavedSearch entry.

zipcode The focus zip / postal code of this SavedSearch entry.

street_name The focus street name of this SavedSearch entry.

house_number The focus house number of this SavedSearch entry.

listing_status The listing status for listings included in this SavedSearch entry.

price_min The minimum price for listings included in this SavedSearch entry.

price_max The maximum price for listings included in this SavedSearch entry.

bed_min The minimum number of beds for listings included in this SavedSearch entry.

bath_min The minimum number of baths for listings included in this SavedSearch entry.

sqft_min The minimum interior square footage for listings included in this SavedSearch entry.

sqft_max The maximum interior square footage for listings included in this SavedSearch entry.

lot_size_min The minimum lot size for listings included in this SavedSearch entry. Use the lot_size_conversion attribute to determine if this field is represented in square feet (Integer) or acres (Float).

lot_size_max The maximum lot size for listings included in this SavedSearch entry. Use the lot_size_conversion attribute to determine if this field is represented in square feet (Integer) or acres (Float).

lot_size_conversion The units used for computing lot size. Options are: sqft, acres

year_built_min The earliest year that listings included in this SavedSearch entry can have been built.

year_built_max The latest year that listings included in this SavedSearch entry can have been built.

days_on_mls The maximum number of days that listings included in this SavedSearch entry can have been listed on the MLS.

single_story_home Whether or not listings included in this SavedSearch entry must be single story homes.

garage Whether or not listings included in this SavedSearch entry must have a garage.

pool Whether or not listings included in this SavedSearch entry must have a pool.

waterfront Whether or not listings included in this SavedSearch entry must be on the waterfront.

view Whether or not listings included in this SavedSearch entry must be classified as having views.

new_construction Whether or not listings included in this SavedSearch entry must be classified as having new construction.

luxury_property Whether or not listings included in this SavedSearch entry must be classified as being a luxury property.

destination Whether or not listings included in this SavedSearch entry must be classified as being in a destination setting.

open_house This field indicates how listings included in this SavedSearch have been filtered by open house times. Options are: weekend, saturday, sunday, week, today, tomorrow, none.

property_types This is an array of property types included in this SavedSearch entry.

drive_time Object

The drive_time Hash is a Dictionary object representing drive time calculations associated with the SavedSearch entry. The structure of the drive_time entry is shown below.

Attribute Type
arrival_time String
duration String
is_to_location Boolean
avoid_ferry Hash

arrival_time The anticipated time of day for the arrival to/from the location.

duration The expected duration of the drive

is_to_location Determines whether the drive is to or from the location(s) specified by the other search criteria.

avoid_ferry Determines whether or not the drive_time search has been configured to avoid any ferry boats.