Agoyu Open API (1.0)

Download OpenAPI specification:Download

License: Apache 2.0

Overview

The Agoyu API is organized around REST. Our API has predictable resource-oriented URLs, accepts application/json request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.

You can use the Agoyu API in sandbox mode, which doesn't affect your live data or interact with the production networks. The endpoint you use to send the request determines whether the request is live mode or test mode.

Signature

Check the signatures

Agoyu can optionally sign the events it sends to your endpoints by including a signature in each event’s Signature header. This allows you to verify that the events were sent by Agoyu, not by a third party. You can verify signatures either using our official libraries, or manually using your own solution.

Before you can verify signatures, you need to retrieve your endpoint’s secret from your Dashboard’s Events settings. Select an endpoint that you want to obtain the secret for, then click the eyes in Signature Key text box to show it.

Agoyu generates a unique key for each endpoint. If you use the same endpoint for both test and live API keys, note that the secret is different for each one. Additionally, if you use multiple endpoints, you must obtain a secret for each one you want to verify signatures on. After this setup, Agoyu starts to sign each event it sends to the endpoint.

To verify the signatures:

  • Extract the text of the UTF-8 payload as an array of bytes. The entire body of the HTTP request is used, including line endings.
  • Compute a SHA256 HMAC digest for the array of bytes. If your implementation has multiple HMAC keys, compute one digest for each of the HMAC keys configured for your account.
    Base64-encode each of the digests.
  • Compare the base64 digest(s) to the values of the x-docusign-signature headers. There will be Signature header value for each HMAC key configured for your account. Compare the one you computed using your application’s key(s). If there is no match, then the notification may be compromised and it should not be trusted. Only one match is required.

The code example to demonstrates the process of implementing this message authenticity check.

const computeHashSignature = (secret, payload) => {
  let hmac = crypto.createHmac('sha256', secret)
  hmac.write(payload)
  hmac.end()
  const hmacHashed = hmac.read().toString('base64')
  return hmacHashed
}
const isValidHash = (secret, payload, verify) => { 
  const isValid = computeHashSignature(secret,payload) == verify
  return isValid && crypto.timingSafeEqual(Buffer.from(verify), Buffer.from(computeHashSignature(secret,payload)))
}
app.all('/event/agoyu', async function (req, res) {
  const data = req.body
  const hashedInRequest = req.headers.Signature ? req.headers.Signature : req.headers.signature
  if (!hashedInRequest) {
    return res.status(400).json({
      message: `Event wasn't include a signature.`
    })
  }
  const secretKey = "put your signature key here"
  if (!checkEventHash(secretKey, JSON.stringify(data), hashedInRequest)) {
    return res.status(400).json({
      message: `Agoyu was sent an invalid signature.`
    })
  }
  // process the request...
  return res.json({
    message: `Mover has been received event.`
  })
})

Webhooks

Introduction

Webhooks allow you to automate custom backend actions in response to the events that happen in a booking flow.

Register a webhook

Events Overview

Events are our way of letting you know when something interesting happens. When an event occurs, we will find out the subscribers and broadcast events to them.

If you registered a webhook endpoint to receive that event, we send it to your endpoint as part of a HTTP (POST | PUT | PATH) request.

Prerequisite

  • Your mover account is registered and eligible for using Open API.

Register webhook events

  • Login to mover portal and navigate to Open API menu on the left sidebar.
  • In the Webhook tab, click Add Webhook Endpoint.
  • Fill out the required information in the modal.
    • URL: This is the endpoint to which Agoyu will send requests for any booking or quotation events that occur.
    • Version: The payload may have some mirror changes with each update version.
    • Events: Select the events for which you want to receive information from Agoyu.

Sample payload with event booking that webhook will notify to client

{
    "event": "WEBHOOK_EVENT_BOOKING_SEND_A_NEW_MESSAGE_SLUG",
    "booking": {
      "services": {
        "REFERENCE_BOOKING_TYPE_MOVING": {
          "weight": "3323",
          "price": 552
        },
        "REFERENCE_BOOKING_TYPE_VEHICLE_SHIPPING": {
          "price": 442,
          "info": {
              "pickup_day": 3
          },
          "vehicle_details": [
            {
              "id": 799,
              "title": null,
              "booking_id": 113227,
              "booking_vehicle_id": 649,
              "brand": null,
              "image_id": 3410,
              "image_path": "booking/2022/10/moder12.jpeg",
              "model": "K6",
              "modification": false,
              "notes": null,
              "transport_method": null,
              "year": 2022,
              "created_at": null,
              "updated_at": null,
              "make": "Hispano-Suiza",
              "vehicle_size": 46,
              "class": "sedan",
              "series": "Cabriolet",
              "price": 0
            }
          ]
        },
        "REFERENCE_BOOKING_TYPE_AIR_SHIPMENT": {
          "price": 223322,
          "weight": "2000"
        }
      },
      "id": 113227,
      "user_id": 1331,
      "from_street_address": "Central Park, New York, NY, US",
      "from_apartment": null,
      "from_city": "New York",
      "from_state": "NY",
      "from_zip": null,
      "from_elevator_stair_id": 16,
      "to_street_address": "Asheville, NC, US",
      "to_apartment": null,
      "to_city": "Asheville",
      "to_state": "NC",
      "to_zip": "288",
      "to_elevator_stair_id": 16,
      "contact_name": "pendragon",
      "contact_email": "[email protected]",
      "contact_phone": "11233332",
      "mile": "694.00",
      "price": "994.00",
      "created_at": "2022-10-24 09:08:31",
      "updated_at": "2022-10-24 09:08:33",
      "status": 80,
      "consumer_note": null,
      "from_country": "US",
      "to_country": "US",
      "is_international": false,
      "from_formatted_address": "Central Park, New York, NY, USA",
      "to_formatted_address": "Asheville, NC, USA",
      "move_date": "2022-10-22"
    },
    "message": {
      "mediaUrl": "https://media.us1.twilio.com/MEad0b2d96b45341ab2233ccde7d9d4c89?Expires=1669002300&Signature=FSI3p3Z-avZYuCUSHnYYIY-ZXy7t6ZxXpQLzBYCKlOoXimyNBel7lFT0W2eLrDimCpCQcshzTXEkGNDVGBpekPkbKwia3FCI3qvVkZJca3uYHN7762d0iCcGUY3SmZtRGVK3mJjmNnBCzSa9lUOfnqhHrvY05ddMSLEbE8VsOAxRDTwno47K1vG6Jdv0pWl6dkNNCVTsaJd8iClwGDLB~h17Y9I5-jK8doxYS3tkcPots42jp0Kck8Ogn9rhTUYsmwlES~beK67UwokMcJyBIrwh-DJ3StPlAiK5I2JnwpczJQ7BDzit7voRKzkv-FxDppinM5XvgPRe3XjrmVyebw__&Key-Pair-Id=APKAJWF6YVTMIIYOF3AA",
      "message": "hello"
    }
  }

Sample payload with event quotation that webhook will notify to client

{
    "event": "WEBHOOK_EVENT_QUOTATION_SEND_A_NEW_MESSAGE_SLUG",
    "quotation": {
      "id": 669,
      "book_temporary_id": 6958,
      "consumer_id": 1331,
      "from_street_address": null,
      "to_street_address": null,
      "move_date": null,
      "weight": null,
      "expired_date": "2022-10-26 08:52:47",
      "status": "QUOTED",
      "created_at": "2022-10-24 08:52:47",
      "updated_at": "2022-10-25 03:51:05",
      "is_lock": false,
      "is_third_party_services": false,
      "packing_type": null,
      "packing": false,
      "unpacking": false
    },
    "booking": {
      "user_id": 1331,
      "created_at": "2022-10-21 08:03:28",
      "updated_at": "2022-10-24 08:52:47",
      "id": 6958,
      "mile": "387.00",
      "weight": null,
      "is_international": true,
      "move_date": "2022-10-22",
      "services": {
        "REFERENCE_BOOKING_TYPE_MOVING": {
          "weight": "3323",
          "price": 552
        },
        "REFERENCE_BOOKING_TYPE_VEHICLE_SHIPPING": {
          "price": 442,
          "vehicle_details": [
            {
              "id": 799,
              "title": null,
              "booking_id": 113227,
              "booking_vehicle_id": 649,
              "brand": null,
              "image_id": 3410,
              "image_path": "booking/2022/10/moder12.jpeg",
              "model": "K6",
              "modification": false,
              "notes": null,
              "transport_method": null,
              "year": 2022,
              "created_at": null,
              "updated_at": null,
              "make": "Hispano-Suiza",
              "vehicle_size": 46,
              "class": "sedan",
              "series": "Cabriolet",
              "price": 0
            }
          ]
        },
        "REFERENCE_BOOKING_TYPE_AIR_SHIPMENT": {
          "price": 223322,
          "weight": "2000"
        }
      }
    },
    "message": {
      "mediaUrl": "https://media.us1.twilio.com/MEad0b2d96b45341ab2233ccde7d9d4c89?Expires=1669002300&Signature=FSI3p3Z-avZYuCUSHnYYIY-ZXy7t6ZxXpQLzBYCKlOoXimyNBel7lFT0W2eLrDimCpCQcshzTXEkGNDVGBpekPkbKwia3FCI3qvVkZJca3uYHN7762d0iCcGUY3SmZtRGVK3mJjmNnBCzSa9lUOfnqhHrvY05ddMSLEbE8VsOAxRDTwno47K1vG6Jdv0pWl6dkNNCVTsaJd8iClwGDLB~h17Y9I5-jK8doxYS3tkcPots42jp0Kck8Ogn9rhTUYsmwlES~beK67UwokMcJyBIrwh-DJ3StPlAiK5I2JnwpczJQ7BDzit7voRKzkv-FxDppinM5XvgPRe3XjrmVyebw__&Key-Pair-Id=APKAJWF6YVTMIIYOF3AA",
      "message": "hello"
    }
  }

Read check the signatures to verify that the events were sent by Agoyu, not by a third party after you already received webhook events.

Real-time Rate API

Introduction

Consumers are increasingly making decisions about which movers or services to use after conducting a moving booking comparison. The Real-time Rate API is intended to allow individual movers to provide their rate for a booking in order to assist consumers in selecting the best mover.

Using the Real-time Rate API, the mover will receive booking information and immediately calculate the rate to display on the Agoyu website.

Authentication

We currently have 2 authentication mechanisms: Authentication Code & Authentication JWT

Authentication Code

To see details of how this type of authentication works, you can go here

Authentication JWT

To be able to get the token to attach to the url get service information. We need to config the system to get the token

Authentication URL: This is the url point for the system to get the token

Authentication Method: This is the method when system request API Authentication URL

Authentication Key Get Token: This is the key for the system to get the token when request API Authentication URL

Authentication Body: This is the body when system request API Authentication URL

Authentication Header: This is the headers when system request API URL to get service information

  • Note:: field code ${token} will help the system automatically push the token to the API when request.

Example: setup config to get token

Offer rate for a booking Webhook

Prerequisites

  • Mover has been registered and approved to use Agoyu's Open API.
  • Mover has an API endpoint that can be used to receive booking information hook (HTTP request) and return the booking rate in JSON format.

Configuration

Login to your mover portal, select Real-time Rate API on the sidebar menu.

In the API Endpoint section, enter your API endpoint.

Sample payload of Real-time Rate API

{
    "hhgService": {
        "packing": 1234,
        "unpacking": 4321,
        "price": 1111
    },
    "airPrice": 1111,
    "vehiclePrice": 44,
    "vehicles": [
        {
            "cost": 123,
            "pricing": [
                {
                    "name": "1-Day Pickup",
                    "days": 1,
                    "quote": 111
                },
                {
                    "name": "3-Day Pickup",
                    "days": 3,
                    "quote": 333
                },
                {
                    "name": "5-Day Pickup",
                    "days": 5,
                    "quote": 555
                },
                {
                    "name": "7-Day Pickup",
                    "days": 7,
                    "quote": 777
                }
            ]
        },
        {
            "cost": 234,
            "pricing": [
                {
                    "name": "1-Day Pickup",
                    "days": 1,
                    "quote": 111
                },
                {
                    "name": "3-Day Pickup",
                    "days": 3,
                    "quote": 333
                },
                {
                    "name": "5-Day Pickup",
                    "days": 5,
                    "quote": 555
                },
                {
                    "name": "7-Day Pickup",
                    "days": 7,
                    "quote": 777
                }
            ]
        },
        {
            "cost": 345,
            "pricing": [
                {
                    "days": 1,
                    "quote": 111
                },
                {
                    "days": 3,
                    "quote": 333
                },
                {
                    "days": 5,
                    "quote": 555
                },
                {
                    "days": 7,
                    "quote": 777
                }
            ]
        }
    ]
}

Sample setup of Real-time Rate API

According to the example illustrated above, we have 2 types to enter the data field.

Example:

  • Normal: hhgService.price, hhgService.packing ... .
  • Array: vehicles..cost, vehicles..pricing.*.quote . The character * represents the item in the array
Request Body schema: application/json

When a customer makes a booking, a request is sent to the mover, and they can compare the rate charged by each mover.

from
string

Moving from address.

to
string

Moving to address.

object (PingBackMovingServiceRequest)

The information of booking for a transport service.

weight
required
number

The estimate weight of moving will be "carried" by Mover (pounds).

weight_method
required
string
Enum: "REFERENCE_WEIGHT_METHOD_EXACT_WEIGHT" "REFERENCE_WEIGHT_METHOD_CALCULATOR" "REFERENCE_WEIGHT_METHOD_AI_CAPTURE"
object (FurnitureObject)

When weight_method is REFERENCE_WEIGHT_METHOD_CALCULATOR

bedroom
number
bathroom
number
living_room
number
dining_room
number
kitchen
number
laundry_room
number
car_garage
number
additional_storage
number
basement_full
number
storage_shed
number
patio_deck
number
Array of objects (PingBackRoomObject)

When weight_method is REFERENCE_WEIGHT_METHOD_AI_CAPTURE

Array
room_type
string
Array of objects (PingBackRoomInfoObject)
room_name
string
video_url
string
weight
number
object (PingBackMovingServiceAirRequest)

The information of booking for an air-shipment service.

weight
required
number

The estimate weight of moving will be "carried" by Mover (pounds).

Array of objects (PingBackVehicleItemServiceRequest)

The information of booking for a vehicle service.

Array
make
string

The vehicle's brand/company name.

model
string

The model of vehicle.

year
integer

The year of manufacture.

Responses

Request samples

Content type
application/json
{
  • "from": "234 Dallas St, Dallas, WI 54733, US",
  • "to": "323 W 34th St., New York, NY 10001, US",
  • "service_moving": {
    },
  • "service_air_shipment": {
    },
  • "service_vehicle": [
    ]
}

Response samples

Content type
application/json
{
  • "movingPrice": 4300,
  • "airPrice": 9800,
  • "vehiclePrice": 3400,
  • "vehicles": [
    ]
}

General

Overview

An open API, also called public API, is an application programming interface made publicly available to software developers. Open APIs are published on the internet and shared freely, allowing the owner of a network-accessible service to give a universal access to consumers.

Introduction

Open API use the OAuth 2.0 protocol for authentication and authorization.

Configuration

To work with the public API, you must first get permission from Agoyu to use this feature. After being granted permission, go to OPEN API page in mover system > App > create a new App.

Login to your mover portal, select Open API on the sidebar menu.

In API tab. Click Create a new App button to create an app for you

In modal add application. Enter the app name to create a new app

Once the user completes the steps to create the app, the user has all the information to use Open API.

Mapping Permission

In the Permission section of app detail, user can self-authorize their account to use what features

Permissions will be mapped to the api as follows:

View and select service areas

View and set moving rates

View and define Blackout dates

View booking details

Make offer for services (Booking)

Confirm Booking

Chat with consumers (Booking)

View quotation details

Quote for quotation

Chat with consumers (Quotation)

Authenticate & get an access token

In the Properties section of app detail, users can get the app's information to authenticate into the system.

The token endpoint is used by the client to obtain an access token by presenting its authorization grant.

Note: The request for an access token that must be made from the server to avoid exposing client secret.

Bearer Authentication

Once you have an access token, Open Api uses Bearer authentication to process your access token.

To send a request with the Bearer Token authorization header, you need to make an HTTP request and provide your Bearer Token with the "Authorization: Bearer {token}" header

Request Body schema: application/json
client_id
required
number

Client ID of App

client_secret
required
string

Client Secret of App

Responses

Request samples

Content type
application/json
{
  • "client_id": 0,
  • "client_secret": "string"
}

Response samples

Content type
application/json
{
  • "access_token": "string",
  • "expires_in": 0,
  • "token_type": "string"
}

References

Store all reference information of the Open API system.

For example, want to get the status of booking , the user can call api references and get the bookingStatues.

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Responses

Response samples

Content type
application/json
{
  • "groupThirdParty": [ ],
  • "countries": [ ],
  • "typeResidences": [ ],
  • "shippingVehicles": [ ],
  • "bookingServices": { },
  • "vehicleBrand": [ ],
  • "transportMethod": [ ],
  • "cubeSheetData": [ ],
  • "slugPage": { },
  • "vehicleReferenceMakes": [ ],
  • "weightType": [ ],
  • "weightMethod": [ ],
  • "furnitures": { },
  • "lifeStyles": [ ],
  • "roomType": [ ],
  • "bookingSteps": { },
  • "roomStatus": { },
  • "movingPlanStatues": [ ],
  • "movingPlanTab": [ ],
  • "mappingMovingTabWithStatus": { },
  • "quotationStatuses": [ ],
  • "bookingStatues": [ ],
  • "bookingServiceStatues": [ ],
  • "packingType": [ ],
  • "notificationTypes": [ ],
  • "locations": [ ]
}

Moving Setting International

Service Area

Returns a list of your active service areas

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Responses

Response samples

Content type
application/json
{
  • "REFERENCE_SERVICE_AREAS_TYPE_DEPARTURE": [
    ],
  • "REFERENCE_SERVICE_AREAS_TYPE_DESTINATION": [
    ]
}

Service Area Update

Update a list of your active service areas

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Request Body schema: application/json
object (ServiceAreaSelected)
REFERENCE_SERVICE_AREAS_TYPE_DEPARTURE
Array of numbers

Location id in field locations (api References)

REFERENCE_SERVICE_AREAS_TYPE_DESTINATION
Array of numbers

Location id in field locations (api References)

Responses

Request samples

Content type
application/json
{
  • "selected": {
    }
}

Response samples

Content type
application/json
{
  • "error": false,
  • "message": "OK"
}

List Blackout Date

Returns a list of your backout date. The backout date are returned sorted by creation date, with the most recently created backout date appearing first.

query Parameters
page
required
number

current page

limit
required
number

number of item / page

query
string

filter Blackout Date by name

active
boolean

filter Blackout Date by active

start_date
string <date>

filter Blackout Date by start date

end_date
string <date>

filter Blackout Date by end date

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a Blackout Date

Creates a new Blackout Date

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Request Body schema: application/json
name
required
string

The name given to a Blackout Date.

comment
string

The comment given to a Blackout Date.

start_date
required
string <date>

Start date given to a Blackout Date.

end_date
required
string <date>

End date given to a Blackout Date.

repeat
required
number

Repeat id in field repeatTypes (api References)

active
boolean

Active given to a Blackout Date.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "comment": "string",
  • "start_date": "2019-08-24",
  • "end_date": "2019-08-24",
  • "repeat": 0,
  • "active": true
}

Response samples

Content type
application/json
{
  • "error": false,
  • "message": "OK"
}

Retrieve a Blackout Date

Retrieves the details of an existing Blackout Date. Supply the unique Blackout Date ID from either a Blackout Date creation request or the Backout Date list, and system will return the corresponding Backout Date information.

path Parameters
id
required
number

ID of Blackout Date to return

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "comment": "string",
  • "start_date": "2019-08-24",
  • "end_date": "2019-08-24",
  • "repeat": 0,
  • "repeat_display": "string",
  • "active": true,
  • "username": "string"
}

Update a Blackout Date

Updates the specific Blackout Date by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

path Parameters
id
required
any

id that need to be updated

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Request Body schema: application/json
name
required
string

The name given to a Blackout Date.

comment
string

The comment given to a Blackout Date.

start_date
required
string <date>

Start date given to a Blackout Date.

end_date
required
string <date>

End date given to a Blackout Date.

repeat
required
number

Repeat id in field repeatTypes (api References)

active
boolean

Active given to a Blackout Date.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "comment": "string",
  • "start_date": "2019-08-24",
  • "end_date": "2019-08-24",
  • "repeat": 0,
  • "active": true
}

Response samples

Content type
application/json
{
  • "error": false,
  • "message": "OK"
}

Delete a Blackout Date

Delete a Blackout Date

path Parameters
id
required
any

id that need to be delete

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Responses

Response samples

Content type
application/json
{
  • "error": false,
  • "message": "OK"
}

Upload Rate HHE

When uploading, the file is large, so the system takes a while to process, when the processing is complete, the system will return the result to the callback url that the user entered.

File example

Column Required

  • tender_identifier, from_location, to_location, rate, sit, acc
header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Request Body schema: multipart/form-data
attachment
required
string <binary>

File upload

callback_url
required
string

Responses

Response samples

Content type
application/json
{
  • "file_valid": "string",
  • "file_invalid": "string"
}

Upload Rate Air Shipment

When uploading, the file is large, so the system takes a while to process, when the processing is complete, the system will return the result to the callback url that the user entered.

File example

Column Required

  • tender_identifier, from_location, to_location, rate_uab
header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Request Body schema: multipart/form-data
attachment
required
string <binary>

File upload

callback_url
required
string

Responses

Response samples

Content type
application/json
{
  • "file_valid": "string",
  • "file_invalid": "string"
}

Upload Rate Vehicle

When uploading, the file is large, so the system takes a while to process, when the processing is complete, the system will return the result to the callback url that the user entered.

File example

Column Required

  • tender_identifier, from_location, to_location, < 300 CFT, 300-800 CFT, > 800 CFT
header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Request Body schema: multipart/form-data
attachment
required
string <binary>

File upload

callback_url
required
string

Responses

Response samples

Content type
application/json
{
  • "file_valid": "string",
  • "file_invalid": "string"
}

List Moving Rate HHE

Returns a list of your moving rate hhe. The moving rate hhe are returned sorted by creation date, with the most recently created moving rate hhe appearing first.

query Parameters
page
required
number

current page

limit
required
number

number of item / page

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a Moving Rate HHE

Retrieves the details of an existing moving rate HHE. Supply the unique moving rate HHE ID from either a moving rate HHE creation request or the moving rate HHE list, and system will return the corresponding moving rate HHE information.

path Parameters
id
required
any

ID of Moving Rate HHE to return

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "from_location": 0,
  • "to_location": 0,
  • "rate": 0,
  • "sit": 0,
  • "acc": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Update a Moving Rate HHE

Updates the specific Moving Rate HHE by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

path Parameters
id
required
any

ID of Moving Rate HHE to return

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Request Body schema: application/json
rate
number
sit
number
acc
number

Responses

Request samples

Content type
application/json
{
  • "rate": 0,
  • "sit": 0,
  • "acc": 0
}

Response samples

Content type
application/json
{
  • "error": false,
  • "message": "OK"
}

List Moving Rate Air Shipment

Returns a list of your moving rate air shipment. The moving rate air shipment are returned sorted by creation date, with the most recently created moving rate air shipment appearing first.

query Parameters
page
required
number

current page

limit
required
number

number of item / page

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a Moving Rate Air Shipment

Retrieves the details of an existing moving rate air shipment. Supply the unique moving rate air shipment ID from either a moving rate air shipment creation request or the moving rate air shipment list, and system will return the corresponding moving rate air shipment information.

path Parameters
id
required
number

ID of Moving Rate Air Shipment to return

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "from_location": 0,
  • "to_location": 0,
  • "rate_uab": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Update a Moving Rate Air Shipment

Updates the specific Moving Rate Air Shipment by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

path Parameters
id
required
number
header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Request Body schema: application/json
rate_uab
number

Responses

Request samples

Content type
application/json
{
  • "rate_uab": 0
}

Response samples

Content type
application/json
{
  • "error": false,
  • "message": "OK"
}

List Moving Rate Vehicle

Returns a list of your moving rate vehicle. The moving rate vehicle are returned sorted by creation date, with the most recently created moving rate vehicle appearing first.

query Parameters
page
required
number

current page

limit
required
number

number of item / page

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a Moving Rate Vehicle

Retrieves the details of an existing moving rate vehicle. Supply the unique moving rate vehicle ID from either a moving rate vehicle creation request or the moving rate vehicle list, and system will return the corresponding moving rate vehicle information.

path Parameters
id
required
number

ID of Moving Rate Vehicle to return

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "from_location": 0,
  • "to_location": 0,
  • "compact_small_car": 0,
  • "standard_size_sedan": 0,
  • "oversize_commercial_vehicle": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Update a Moving Rate Vehicle

Updates the specific Moving Rate Vehicle by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

path Parameters
id
required
number

ID of Moving Rate Vehicle to return

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Request Body schema: application/json
compact_small_car
number
standard_size_sedan
number
oversize_commercial_vehicle
number

Responses

Request samples

Content type
application/json
{
  • "compact_small_car": 0,
  • "standard_size_sedan": 0,
  • "oversize_commercial_vehicle": 0
}

Response samples

Content type
application/json
{
  • "error": false,
  • "message": "OK"
}

Moving Setting Domestic

Service Area

Returns a list of your active service areas

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Responses

Response samples

Content type
application/json
{
  • "REFERENCE_SERVICE_AREAS_TYPE_DEPARTURE": [
    ],
  • "REFERENCE_SERVICE_AREAS_TYPE_DESTINATION": [
    ]
}

Service Area Update

Update a list of your active service areas

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Request Body schema: application/json
from_state
Array of strings

code in field states (api References)

to_state
Array of strings

code in field states (api References)

Responses

Request samples

Content type
application/json
{
  • "from_state": [
    ],
  • "to_state": [
    ]
}

Response samples

Content type
application/json
{
  • "error": false,
  • "message": "OK"
}

List Blackout Date

Returns a list of your backout date. The backout date are returned sorted by creation date, with the most recently created backout date appearing first.

query Parameters
page
required
any

current page

limit
required
any

number of item / page

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a Blackout Date

Creates a new Blackout Date

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Request Body schema: application/json
comment
string

The comment given to a Blackout Date.

repeat
required
number

Repeat id in field repeatTypes (api References)

start_date
required
string <date>

Start date given to a Blackout Date.

end_date
required
string <date>

End date given to a Blackout Date.

Responses

Request samples

Content type
application/json
{
  • "comment": "string",
  • "repeat": 0,
  • "start_date": "2019-08-24",
  • "end_date": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "error": false,
  • "message": "OK"
}

Retrieve a Blackout Date

Retrieves the details of an existing Backout Date. Supply the unique Backout Date ID from either a Backout Date creation request or the Backout Date list, and system will return the corresponding Backout Date information.

path Parameters
id
required
any

ID of Blackout Date to return

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Responses

Response samples

Content type
application/json
{
  • "id": null,
  • "comment": "string",
  • "start_date": "2019-08-24",
  • "end_date": "2019-08-24",
  • "repeat": 0,
  • "repeat_display": "string",
  • "created_by": {
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Update a Blackout Date

Updates the specific Blackout Date by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

path Parameters
id
required
number

id that need to be updated

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Request Body schema: application/json
comment
string

The comment given to a Blackout Date.

repeat
required
number

Repeat id in field repeatTypes (api References)

start_date
required
string <date>

Start date given to a Blackout Date.

end_date
required
string <date>

End date given to a Blackout Date.

Responses

Request samples

Content type
application/json
{
  • "comment": "string",
  • "repeat": 0,
  • "start_date": "2019-08-24",
  • "end_date": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "error": false,
  • "message": "OK"
}

Delete a Blackout Date

Delete a Blackout Date

path Parameters
id
required
number

id that need to be delete

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Responses

Response samples

Content type
application/json
{
  • "error": false,
  • "message": "OK"
}

List Moving Rate Vehicle

Returns a list of your moving rate vehicle. The moving rate vehicle are returned sorted by creation date, with the most recently created moving rate vehicle appearing first.

query Parameters
page
required
number

current page

limit
required
number

number of item / page

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a Moving Rate Vehicle

Retrieves the details of an existing moving rate vehicle. Supply the unique moving rate vehicle ID from either a moving rate vehicle creation request or the moving rate vehicle list, and system will return the corresponding moving rate vehicle information.

path Parameters
id
required
number

ID of Moving Rate Vehicle to return

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "from_mile": 0,
  • "to_mile": 0,
  • "compact_small_car": 0,
  • "standard_size_sedan": 0,
  • "oversize_commercial_vehicle": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Update a Moving Rate Vehicle

Updates the specific Moving Rate Vehicle by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

path Parameters
id
required
number

ID of Moving Rate Vehicle to return

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Request Body schema: application/json
compact_smart_vehicle
number
standard_sedan_size_vehicle
number
oversize_commercial_vehicle
number

Responses

Request samples

Content type
application/json
{
  • "compact_smart_vehicle": 0,
  • "standard_sedan_size_vehicle": 0,
  • "oversize_commercial_vehicle": 0
}

Response samples

Content type
application/json
{
  • "error": false,
  • "message": "OK"
}

Booking

List Booking

Returns a list of your booking. The booking are returned sorted by creation date, with the most recently created booking appearing first.

query Parameters
page
required
number

current page

limit
required
number

number of item / page

booking_id
number

filter booking by id

status
number

filter booking by status

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a Booking

Retrieves the details of an existing booking. Supply the unique booking ID from either a booking creation request or the booking list, and system will return the corresponding booking information.

path Parameters
id
required
number

ID of Booking to return

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Responses

Response samples

Content type
application/json
{
  • "services": {
    },
  • "id": "string",
  • "user_id": "string",
  • "from_street_address": "string",
  • "from_apartment": "string",
  • "from_city": "string",
  • "from_state": "string",
  • "from_zip": "string",
  • "from_elevator_stair_id": 0,
  • "to_street_address": "string",
  • "to_apartment": "string",
  • "to_city": "string",
  • "to_state": "string",
  • "to_zip": "string",
  • "to_elevator_stair_id": 0,
  • "contact_name": "string",
  • "contact_email": "string",
  • "contact_phone": "string",
  • "status": 0,
  • "mile": 0,
  • "weight": 0,
  • "price": 0,
  • "status_updated_by": 0,
  • "consumer_note": "string",
  • "from_country": "string",
  • "to_country": "string",
  • "is_international": true,
  • "from_formatted_address": "string",
  • "to_formatted_address": "string",
  • "move_date": "2019-08-24",
  • "created_at": "string",
  • "updated_at": "string",
  • "from_elevator": "string",
  • "to_elevator": "string",
  • "consumer": {
    }
}

Confirm Booking

Confirm a booking

path Parameters
id
required
number

ID of Booking to return

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Request Body schema: application/json
services
required
Array of strings
Items Enum: "REFERENCE_BOOKING_TYPE_MOVING" "REFERENCE_BOOKING_TYPE_AIR_SHIPMENT" "REFERENCE_BOOKING_TYPE_VEHICLE_SHIPPING"

Responses

Request samples

Content type
application/json
{
  • "services": [
    ]
}

Response samples

Content type
application/json
{
  • "error": false,
  • "message": "OK"
}

Make Offer

Make a offer

path Parameters
id
required
number

ID of Booking to return

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Request Body schema: application/json
object (MakeOfferServicesRequest)
object
weight
number

Unit (lbs)

packing_fee
number
unpacking_fee
number
estimate_fee
number
custom_packing_fee
number
object
price
number
weight
number

Unit (lbs)

object
Array of objects (VehicleDetailMakeOffer)

Responses

Request samples

Content type
application/json
{
  • "services": {
    }
}

Response samples

Content type
application/json
{
  • "error": false,
  • "message": "OK"
}

List Chat

Returns a list of your messages. The messages are returned sorted by creation date, with the most recently created messages appearing first.

query Parameters
page
required
number

current page

limit
required
number

number of item / page

booking_id
required
number

filter booking by id

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Chat With Consumer

Chat with a consumer

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Request Body schema: application/json
body
required
string

Chat message

booking_id
required
number

Booking Id

Responses

Request samples

Content type
application/json
{
  • "body": "string",
  • "booking_id": 0
}

Response samples

Content type
application/json
{
  • "error": false,
  • "message": "OK"
}

Quotation

List Quotation

Returns a list of your quotation. The quotation are returned sorted by creation date, with the most recently created quotation appearing first.

query Parameters
page
required
number

current page

limit
required
number

number of item / page

quotation_id
number

filter quotation by id

isOffered
boolean

filter quotation by offer

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a Quotation

Retrieves the details of an existing quotation. Supply the unique quotation ID from either a quotation creation request or the quotation list, and system will return the corresponding quotation information.

path Parameters
id
required
number

ID of Quotation to return

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Responses

Response samples

Content type
application/json
{
  • "resultEstimation": {
    },
  • "id": 0,
  • "expired_date": "2019-08-24T14:15:22Z",
  • "status": "string",
  • "is_expired": true,
  • "is_third_party": true,
  • "packing_type": 0,
  • "packing": true,
  • "unpacking": true,
  • "is_lock": true,
  • "remaining_time": "string",
  • "offer": {
    },
  • "isOffered": true,
  • "current_date": "2019-08-24T14:15:22Z",
  • "availableServices": [
    ],
  • "consumer": {
    }
}

Quote Quotation

Quote a quotation

path Parameters
id
required
number

ID of Quotation to return

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Request Body schema: application/json
status
string

Status name in field bookingServiceStatues (api References)

object (QuoteQuotationServicesRequest)
object
custom_packing_fee
number
moving_cost
number
note
string
packing_fee
number
unpacking_fee
number
price
number
third_party_total_cost
number
type
string
third_party_items
Array of arrays

Third Party ID in field groupThirdParty (api References)

object
price
number
note
string
object
price
number
note
string

Responses

Request samples

Content type
application/json
{
  • "status": "QUOTED",
  • "services": {
    }
}

Response samples

Content type
application/json
{
  • "error": false,
  • "message": "OK"
}

List Chat

Returns a list of your messages. The messages are returned sorted by creation date, with the most recently created messages appearing first.

query Parameters
page
required
number

current page

limit
required
number

number of item / page

quotation_id
required
number

filter quotation by id

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Chat With Consumer

Chat with a consumer

header Parameters
Authorization
required
string
Example: Bearer mM60UNNAQTbLS5aJCeFGUbUYaoJT...

The access token is required to authorize the user info request. It should be sent as a Bearer token. The access token is received on a successful request to the token endpoint POST:/oauth2/token.

Request Body schema: application/json
body
required
string

Chat message

quotation_id
required
number

Quotation Id

Responses

Request samples

Content type
application/json
{
  • "body": "string",
  • "quotation_id": 0
}

Response samples

Content type
application/json
{
  • "error": false,
  • "message": "OK"
}