Logo
cURL Ruby PHP Python Node.js

Introduction

Getting Started

API Endpoint https://api.moove.io

The Moove API is organized around REST. All calls to the Moove API should be made to https://api.moove.io. All responses are formatted in JSON. This is a required parameter. This is an optional parameter.

You can view code examples in the dark area to the right. You can switch the programming language of the examples using the tabs above.

Enabling API access

To begin using the Moove API, you will need to enable the API and generate an API key. This can be done in by logging into the web app and visiting Settings > API. Visual instructions here.

Authentication

Example of request with API key:

curl -X {method}
'https://api.moove.io/{path}' \
-H 'Authorization: Basic YOUR_API_KEY'
import requests

headers = {
    'Authorization': 'Basic YOUR_API_KEY',
}

requests.{method}('https://api.moove.io/{path}', headers=headers)
require 'net/http'
require 'uri'

uri = URI.parse("https://api.moove.io/{path}")
request = Net::HTTP::{method}.new(uri)
request["Authorization"] = "Basic YOUR_API_KEY"

req_options = {
  use_ssl: uri.scheme == "https",
}

response = http.request(request)
puts response.read_body
<?php
$request = new HttpRequest();
$request->setUrl('https://api.moove.io/{path}');
$request->setMethod(HTTP_METH_{method});

$request->setHeaders(array(
  'Authorization' => 'Basic YOUR_API_KEY'
));

$response = $request->send();
echo $response->getBody();
const request = require("request");

request({
    method: '{method}',
    url: 'https://api.moove.io/{path}',
    headers: {
        Authorization: 'Basic YOUR_API_KEY'
    }
}, function(error, response, body) {
    console.log(body);
});

Parameter Value
name Authorization
in header
token Basic YOUR_API_KEY

Most calls will require authentication. Moove supports HTTP authentication. You will need to pass through your secret API key (example shown).

Security note: All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.

View my user

Request:

curl -X GET 
'https://api.moove.io/v1/me' \
-H 'Authorization: Basic YOUR_API_KEY'
import requests

url = "https://api.moove.io/v1/me"

headers = {
    'Authorization': "Basic YOUR_API_KEY",
    }

requests.get(url, headers=headers)
<?php
$request = new HttpRequest();
$request->setUrl('https://api.moove.io/v1/me');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'Authorization' => 'Basic YOUR_API_KEY'
));

echo $response->getBody();
require 'uri'
require 'net/http'

url = URI("https://api.moove.io/v1/me")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic YOUR_API_KEY'

response = http.request(request)
puts response.read_body
const request = require("request");

request({
    method: 'GET',
    url: 'https://api.moove.io/v1/me',
    headers: {
        Authorization: 'Basic YOUR_API_KEY'
    }
}, function(error, response, body) {
    console.log(body);
});

Response:

{
  "settings": {
    "emailNotifySendOption": "All",
    "emailNotifyReceiveOption": "All",
    "emailNotifySendIncAttachment": true,
    "emailNotifyReceiveIncAttachment": true,
    "emailToFaxCoverPageOption": false
  },
  "userId": "7427d2e5-fa42-4820-b612-b7a3132efe30",
  "accountId": "ad39a2c2-d154-4170-83e4-a75fa5466d33",
  "email": "example@mail.com",
  "firstName": "displayName",
  "lastName": null,
  "userRole": "admin",
  "isActive": true,
  "companyName": "Company Name",
  "phone": "123456789",
  "faxCsid": "mFax",
  "faxCallerId": "12021234567",
  "lastLoginIp": "127.0.0.1",
  "lastLoginDate": "2017-06-26T11:22:20.000Z",
  "isEmailConfirmed": true,
  "apiKey": "{YOUR_API_KEY}",
  "createdAt": "2017-06-26T10:23:50.000Z",
  "account": {
    "settings": {
      "emailNotifySendOption": "Failure",
      "emailNotifyReceiveOption": "Failure",
      "emailNotifySendIncAttachment": "true",
      "emailNotifyReceiveIncAttachment": "true",
      "timezone": "America/Los_Angeles",
      "emailToFax": "false",
      "storeFaxesTime": "14400",
      "allowFaxAttachments": "true",
      "usersTokenLife": "14400"
    },
    "uuid": "ad39a2c2-d154-4170-83e4-a75fa5466d33",
    "supportCode": "2201752731",
    "companyName": "Moove",
    "isReseller": false,
    "isActive": true,
    "defaultPaymentMethodId": null,
    "parentId": null,
    "faxCsid": "mFax",
    "faxCallerId": "12021234567",
    "nextBillingPlanCode": null
  },
  "faxNumbers": []
}

Method: GET

Path: /v1/me

Returns your detailed user data

Fax

Send a fax

Request:

curl -X POST
  'https://api.moove.io/v1/fax/send' \
  -H 'Authorization: Basic YOUR_API_KEY' \
  -H 'content-type: multipart/form-data' \
  -F 'recipientFax=12345678900' \
  -F 'coverPage=false' \
  -F 'recipientName=John' \
  -F 'subject=test' \
  -F 'notes=test' \
  -F '=@/home/user/Documents/Sample.pdf'
import requests

url = "https://api.moove.io/v1/fax/send"

headers = {
    'Authorization': 'Basic YOUR_API_KEY',
    'Content-Type': 'multipart/form-data',
}

data = [
  ('recipientFax', '12345678900'),
  ('coverPage', 'false'),
  ('recipientName', 'John'),
  ('subject', 'test'),
  ('notes', 'test'),
]

files = [
    ('', open('/home/user/Documents/Sample.pdf', 'rb')),
]

requests.post(url, headers=headers, data=data, files=files)
require 'net/http'
require 'uri'

uri = URI.parse("https://api.moove.io/v1/fax/send")
request = Net::HTTP::Post.new(uri)
request.content_type = "multipart/form-data"
request["Authorization"] = "Basic YOUR_API_KEY"
request.set_form_data(
  "recipientFax" => "12345678900",
  "coverPage" => "false",
  "recipientName" => "John",
  "subject" => "test",
  "notes" => "test",
  "" => "@/home/user/Documents/Sample.pdf",
)

req_options = {
  use_ssl: uri.scheme == "https",
}

response = http.request(request)
puts response.read_body
<?php
$client = new http\Client;
$request = new http\Client\Request;

$body = new http\Message\Body;
$body->addForm(array(
  'recipientFax' => '12345678900',
  'recipientName' => 'John',
  'subject' => 'test',
  'notes' => 'test'
), array(
  array(
    'name' => '',
    'type' => null,
    'file' => '/home/vlad/Downloads/Sample.pdf',
    'data' => null
  )
));

$request->setRequestUrl('https://api.moove.io/v1/fax/send');
$request->setRequestMethod('POST');
$request->setBody($body);

$request->setHeaders(array(
  'Authorization' => 'Basic YOUR_API_KEY'
));

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
const fs = require("fs");
const request = require("request");

request({
    method: 'POST',
    url: 'https://api.moove.io/v1/fax/send',
    headers: {
        Authorization: 'Basic YOUR_API_KEY',
        'content-type': 'multipart/form-data'
    },
    formData: {
        recipientFax: '12345678900',
        coverPage: false,
        recipientName: 'John',
        subject: 'test',
        notes: 'test',
        files: {
            value: fs.createReadStream("/home/user/Documents/Sample.pdf"),
            options: {
                filename: '/home/user/Documents/Sample.pdf',
                contentType: 'application/pdf'
            }
        }
    }
}, function(error, response, body) {
    console.log(body);
});

Reponse:

{
      "fullInfo": {
        // Full information
      },
      "deliveryId": "2170623113055933538",
      "scheduleDate": "2017-06-23T04:30:00.000Z",
      "resolvedDate": "2017-06-23T04:30:00.000Z",
      "processingStatusName": "processing",
      "pageCount": 1,
      "faxNumber": "+13122833995",
      "faxCsid": "mFax",
      "faxCallerId": "12021234567",
      "classificationLabel": "outbound",
      "emailNotified": false,
      "fileName": "Sample",
      "createdAt": "2017-06-23T11:30:56.000Z",
      "deleteFileAt": null,
      "channelType": "api"
}

Method: POST

Path: /v1/fax/send

Use this method to create and send a fax. You may include our default cover page by adding coverPage parameter with a value of true. Files added to the stream will be converted to the body of the fax in the order they are added.

Multiple recipients: You may add multiple comma separated recipient destinations. This will result in an identical fax being sent to each destination.

Parameters

Name Type Description
recipientFax string Destination phone number. Country code must be included (ex. 18885551234). Multiple destinations separated by comma.
file blob File(s) you wish to fax. Add files to the stream in order they should be rendered. At least 1 file is required if coverPage parameter is not added.
coverPage boolean Defaults to false. Indicating true will include system cover page. If coverPage is added, this removes file requirement.
recipientName string Will populate in TO field of cover page
subject string Will populate Subject field of cover page
notes string Will populate Notes field of cover page
callerId string Phone number. Defaults to user setting if not included in call.

Resend fax

curl -X POST 'https://api.moove.io/v1/fax/' \
 -H 'Authorization: Basic YOUR_API_KEY' \
 -H 'Content-type: multipart/form-data' \
 -d' deliveryId=01234567890&recipientFax=12345678900'
import requests

url = "https://api.moove.io/v1/fax/"

headers = {
    'Authorization': 'Basic YOUR_API_KEY',
    'Content-type': 'multipart/form-data',
}

data = [
  ('deliveryId', '01234567890'),
  ('recipientFax', '12345678900'),
]

requests.post(url, headers=headers, data=data)
require 'net/http'
require 'uri'

uri = URI.parse("https://api.moove.io/v1/fax/")
request = Net::HTTP::Post.new(uri)
request.content_type = "multipart/form-data"
request["Authorization"] = "Basic YOUR_API_KEY"
request.set_form_data(
  "deliveryId" => "01234567890",
  "recipientFax" => "12345678900",
)

req_options = {
  use_ssl: uri.scheme == "https",
}

response = http.request(request)
puts response.read_body
<?php

$client = new http\Client;
$request = new http\Client\Request;

$body = new http\Message\Body;
$body->addForm(array(
  'deliveryId' => '01234567890',
  'recipientFax' => '12345678900'
), NULL);

$request->setRequestUrl('https://api.moove.io/v1/fax/');
$request->setRequestMethod('POST');
$request->setBody($body);

$request->setHeaders(array(
  'Authorization' => 'Basic YOUR_API_KEY'
));

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
const request = require("request");

request({
    method: 'POST',
    url: 'https://api.moove.io/v1/fax/',
    headers: {
        Authorization: 'Basic YOUR_API_KEY',
        'content-type': 'multipart/form-data'
    },
    formData: {
        deliveryId: '01234567890',
        recipientFax: '12345678900'
    }
}, function(error, response, body) {
    console.log(body);
});

Reponse:

{
      "fullInfo": {
        // Full information
      },
      "deliveryId": "2170623113055933538",
      "scheduleDate": "2017-06-23T04:30:00.000Z",
      "resolvedDate": "2017-06-23T04:30:00.000Z",
      "processingStatusName": "processing",
      "pageCount": 1,
      "faxNumber": "+13122833995",
      "faxCsid": "mFax",
      "faxCallerId": "12021234567",
      "classificationLabel": "outbound",
      "emailNotified": false,
      "fileName": null,
      "createdAt": "2017-06-23T11:30:56.000Z",
      "deleteFileAt": null,
      "channelType": "api"
}

Method: POST

Path: /v1/fax/resend

This call will resend a previously attempted fax. Simply supply the deliveryId of previous fax and we will resend.

Parameters

Name Type Description
deliveryId string Unique message identifier provided by Moove
recipientFax string Use this parameter to change destination phone number.

Fax download

Request:

curl -X GET 
'https://api.moove.io/v1/fax/download?messageId=123456789' \
-H 'Accept: application/json' \
-H 'Authorization: Basic YOUR_API_KEY' 
import requests

url = "https://api.moove.io/v1/fax/download"

headers = {
    'Accept': 'application/json',
    'Authorization': 'Basic YOUR_API_KEY',
}

params = (
    ('messageId', '123456789'),
)

requests.get(url, headers=headers, params=params)
<?php
$request = new HttpRequest();
$request->setUrl('https://api.moove.io/v1/fax/download');
$request->setMethod(HTTP_METH_GET);

$request->setQueryData(array(
  'messageId' => '123456789'
));

$request->setHeaders(array(
  'Authorization' => 'Basic YOUR_API_KEY'
));

echo $response->getBody();
require 'uri'
require 'net/http'

url = URI("https://api.moove.io/v1/fax/download?messageId=123456789")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic YOUR_API_KEY'

response = http.request(request)
puts response.read_body
const request = require("request");

request({
    method: 'GET',
    url: 'https://api.moove.io/v1/fax/download',
    qs: {
        messageId: '123456789'
    },
    headers: {
        Authorization: 'Basic YOUR_API_KEY'
    }
}, function(error, response, body) {
    console.log(body);
});

Response:

Content-Disposition: attachment; filename="Sample.pdf"
Content-Length: 53248
Content-Type: application/pdf

Method: GET

Path: /v1/fax/download

Method will return PDF download of requested fax.

Parameters

Name Type Description
messageId string Unique message identifier provided by Moove

Fax history

Request:

curl -X GET 
'https://api.moove.io/v1/fax/history?offset=0&limit=20&direction=all&status=all' \
-H 'Accept: application/json' \
-H 'Authorization: Basic YOUR_API_KEY' 
import requests

url = "https://api.moove.io/v1/fax/history"

headers = {
    'Accept': 'application/json',
    'Authorization': 'Basic YOUR_API_KEY',
}

params = (
    ('offset', '0'),
    ('limit', '20'),
    ('direction', 'all'),
    ('status', 'all')
)

requests.get(url, headers=headers, params=params)
require 'net/http'
require 'uri'

uri = URI.parse("https://api.moove.io/v1/fax/history")
request = Net::HTTP::Get.new(uri)
request["Accept"] = "application/json"
request["Authorization"] = "Basic YOUR_API_KEY"
request.set_form_data(
  "offset" => "0",
  "limit" => "20",
  "direction" => "all",
  "status" => "all"
)

req_options = {
  use_ssl: uri.scheme == "https",
}

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('https://api.moove.io/v1/fax/history');
$request->setMethod(HTTP_METH_GET);

$request->setQueryData(array(
  'offset' => '0',
  'limit' => '20',
  'direction' => 'all',
  'status' => 'all'
));

$request->setHeaders(array(
  'Authorization' => 'Basic YOUR_API_KEY'
));

echo $response->getBody();
const request = require("request");

request({
    method: 'GET',
    url: 'https://api.moove.io/v1/fax/history',
    qs: {
        offset: '0',
        limit: '20',
        direction: 'all',
        status: 'all'
    },
    headers: {
        Authorization: 'Basic YOUR_API_KEY'
    }
}, function(error, response, body) {
    console.log(body);
});

Reponse:

{
  "count": 42,
  "rows": [
    {
      "fullInfo": {
        // Full information
      },
      "deliveryId": "2170623113055933538",
      "scheduleDate": "2017-06-23T04:30:00.000Z",
      "resolvedDate": "2017-06-23T04:30:00.000Z",
      "processingStatusName": "processing",
      "pageCount": 1,
      "faxNumber": "+13122833995",
      "faxCsid": "mFax",
      "faxCallerId": "12021234567",
      "classificationLabel": "outbound",
      "emailNotified": false,
      "fileName": "Sample",
      "createdAt": "2017-06-23T11:30:56.000Z",
      "deleteFileAt": null,
      "channelType": "api"
    },
    ...
  ]
}

Method: GET

Path: /v1/fax/history

Returns detailed fax history as line items. Response is paged.

Parameters

Name Type Description
offset integer Number of pages to return
limit integer Amount of line items per page that will be returned
direction string Filters results by direction. Can indicate all (default), inbound or outbound
status string Filters results by status. Can indicate all (default), failed, success, or processing
fromDate date Filters results from starting date. Input format is YYYY-MM-DD (ex. 2017-02-20)
toDate date Filters results up to end date. Input format is YYYY-MM-DD (ex 2017-02-25)

Settings

Update user

Request:

curl -X PATCH  
'https://api.moove.io/v1/user/fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de'  \
-H 'Content-Type: application/x-www-form-urlencoded'  \
-H 'Accept: application/json' \
-H 'Authorization: Basic YOUR_API_KEY'  \
-d 'firstName=John' \
-d 'lastName=Doe' \ 
-d 'companyName=Doe%20INC' \
-d 'phone=12021234567' \
-d 'faxCallerId=12021234567' \
-d 'faxCsid=mFax' \
-d 'emailNotifySendOption=all' \
-d 'emailNotifyReceiveOption=all' \
-d 'emailNotifySendIncAttachment=true' \
-d 'emailNotifyReceiveIncAttachment=true' \
-d 'emailToFaxCoverPageOption=true' 
import requests

url = "https://api.moove.io/v1/user/fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de"

headers = {
    'Content-Type': 'application/x-www-form-urlencoded',
    'Accept': 'application/json',
    'Authorization': 'Basic YOUR_API_KEY',
}

data = [
  ('firstName', 'John'),
  ('lastName', 'Doe'),
  ('phone', '12021234567'),
  ('faxCallerId', '12021234567'),
  ('faxCsid', 'mFax'),
  ('emailNotifySendOption', 'all'),
  ('emailNotifyReceiveOption', 'all'),
  ('emailNotifySendIncAttachment', 'true'),
  ('emailNotifyReceiveIncAttachment', 'true'),
  ('emailToFaxCoverPageOption', 'true'),
]

requests.post(url, headers=headers, data=data)
<?php

$client = new http\Client;
$request = new http\Client\Request;

$body = new http\Message\Body;
$body->addForm(array(
  'firstName' => 'John',
  'lastName' => 'Doe',
  'companyName' => 'Acme Corp.',
  'phone' => '12345678900',
  'faxCallerId' => '12021234567',
  'faxCsid' => 'mFax',
  'emailNotifySendOption' => 'All',
  'emailNotifyReceiveOption' => 'All',
  'emailNotifySendIncAttachment' => 'true',
  'emailNotifyReceiveIncAttachment' => 'true'
), NULL);

$request->setRequestUrl('https://api.moove.io/v1/user/fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de');
$request->setRequestMethod('PATCH');
$request->setBody($body);

$request->setHeaders(array(
  'Authorization' => 'Basic YOUR_API_KEY'
));

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
require 'net/http'
require 'uri'

uri = URI.parse("https://api.moove.io/v1/user/fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de")
request = Net::HTTP::Patch.new(uri)
request.content_type = "application/x-www-form-urlencoded"
request["Accept"] = "application/json"
request["Authorization"] = "Basic YOUR_API_KEY"
request.set_form_data(
  "firstName" => "John",
  "lastName" => "Doe",
  "companyName" => "Doe INC",
  "phone" => "12021234567",
  "faxCallerId" => "12021234567",
  "faxCsid" => "mFax",
  "emailNotifySendOption" => "all",
  "emailNotifyReceiveOption" => "all",
  "emailNotifySendIncAttachment" => "true",
  "emailNotifyReceiveIncAttachment" => "true",
  "emailToFaxCoverPageOption" => "true",
)

req_options = {
  use_ssl: uri.scheme == "https",
}

response = http.request(request)
puts response.read_body
const request = require("request");

request({
    method: 'PATCH',
    url: 'https://api.moove.io/v1/user/fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de',
    headers: {
        Authorization: 'Basic YOUR_API_KEY',
        'content-type': 'multipart/form-data'
    },
    formData: {
        firstName: 'John',
        lastName: 'Doe',
        companyName: 'Doe INC',
        phone: '12345678900',
        faxCallerId: '12021234567',
        faxCsid: 'mFax',
        emailNotifySendOption: 'All',
        emailNotifyReceiveOption: 'All',
        emailNotifySendIncAttachment: true,
        emailNotifyReceiveIncAttachment: true
    }
}, function(error, response, body) {
    console.log(body);
});

Response

{
  "settings": {
    "emailNotifySendOption": "All",
    "emailNotifyReceiveOption": "All",
    "emailNotifySendIncAttachment": true,
    "emailNotifyReceiveIncAttachment": true,
    "emailToFaxCoverPageOption": true
  },
  "userId": "fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de",
  "accountId": "6c838c7c-cb48-4763-84d6-233b5f8cf782",
  "email": "example@mail.com",
  "firstName": "John",
  "lastName": "Doe",
  "password": "",
  "userRole": "user",
  "isActive": true,
  "companyName": "Doe INC",
  "phone": "12021234567",
  "faxCsid": "mFax",
  "faxCallerId": "12021234567",
  "lastLoginIp": "127.0.0.1",
  "lastLoginDate": "2017-06-23T09:24:49.000Z",
  "isEmailConfirmed": true,
  "createdAt": "2017-06-06T11:23:11.000Z"
}

Method: PATCH

Path: /v1/user/{userId}

Updates user info and settings by user ID.

Parameters

Name Type Description
userId string User ID
firstName string First name on the card
lastName string Last name on the card
companyName string Company
phone string User phone
password string User password
faxCallerId string ID of fax caller
faxCsid string Unique fax ID
emailNotifySendOption string Outbound fax notification settings. Acceptable values: None, All (default), Success, Failure
emailNotifyReceiveOption string Inbound fax notification settings. Acceptable values: None, All (default), Success, Failure
emailNotifySendIncAttachment boolean Outbound fax notification attachment settings. Acceptable values: true (default), false
emailNotifyReceiveIncAttachment boolean Inbound fax notification attachment settings. Acceptable values: true (default), false
emailToFaxCoverPageOption boolean Email to Fax cover page option

Admin

This section contains calls accessible by admin level users only.

Get account info

Request:

curl -X GET 
'https://api.moove.io/v1/account/6c838c7c-cb48-4763-84d6-233b5f8cf782' \
-H 'Authorization: Basic YOUR_API_KEY'
import requests

url = "https://api.moove.io/v1/account/6c838c7c-cb48-4763-84d6-233b5f8cf782"

headers = {
    'Authorization': "Basic YOUR_API_KEY",
    }

requests.get(url, headers=headers)
<?php
$request = new HttpRequest();
$request->setUrl('https://api.moove.io/v1/account/6c838c7c-cb48-4763-84d6-233b5f8cf782');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'Authorization' => 'Basic YOUR_API_KEY'
));

echo $response->getBody();
require 'uri'
require 'net/http'

url = URI("https://api.moove.io/v1/account/6c838c7c-cb48-4763-84d6-233b5f8cf782")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic YOUR_API_KEY'

response = http.request(request)
puts response.read_body
const request = require("request");

request({
    method: 'GET',
    url: 'https://api.moove.io/v1/account/6c838c7c-cb48-4763-84d6-233b5f8cf782',
    headers: {
        Authorization: 'Basic YOUR_API_KEY'
    }
}, function(error, response, body) {
    console.log(body);
});

Response:

{
  "account": {
    "settings": {
      "emailNotifySendOption": "All",
      "emailNotifyReceiveOption": "All",
      "emailNotifySendIncAttachment": true,
      "emailNotifyReceiveIncAttachment": true,
      "timezone": "America/Los_Angeles",
      "emailToFax": true,
      "documentsLifetime": 12,
      "allowFaxAttachments": true,
      "usersTokenLife": 7200
    },
    "uuid": "6c838c7c-cb48-4763-84d6-233b5f8cf782",
    "supportCode": "2201767761",
    "companyName": "Moove",
    "isReseller": true,
    "isActive": true,
    "defaultPaymentMethodId": "35fb8cc3-064b-4182-943a-76bf7e64725a",
    "parentId": null,
    "faxCsid": "mFax",
    "faxCallerId": "12021234567",
    "apiSecret": null,
    "childrenCount": 1,
    "usersCount": 17
  },
  "breadcrumb": []
}

Method: GET

Path: /v1/account/{accountId}

Delivers JSON response with current account info and settings.

Parameters

Name Type Description
accountId string Account ID

Update account

Request:

curl -X PATCH \
  'https://api.moove.io/v1/account/ad39a2c2-d154-4170-83e4-a75fa5466d33' \
  -H 'accept: application/json' \
  -H 'Authorization: Basic YOUR_API_KEY' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/x-www-form-urlencoded' \
  -H 'postman-token: 4fde4be1-fe1c-9447-7957-8484140f5919' \
  -d 'companyName=COMPANY&emailNotifySendOption=all&emailNotifyReceiveOption=all&emailNotifySendIncAttachment=true&emailNotifyReceiveIncAttachment=true&timezone=America%252FLos_Angeles&documentsLifetime=14400&usersTokenLife=14400&emailToFax=true&allowFaxAttachments=true'
import requests

url = "https://api.moove.io/v1/account/ad39a2c2-d154-4170-83e4-a75fa5466d33"

headers = {
    'accept': 'application/json',
    'Authorization': 'Basic YOUR_API_KEY',
    'cache-control': 'no-cache',
    'content-type': 'application/x-www-form-urlencoded',
    'postman-token': '6d0a0cc6-af1c-645d-e8d0-abfd93a9edd6',
}

data = [
  ('companyName', 'COMPANY'),
  ('emailNotifySendOption', 'all'),
  ('emailNotifyReceiveOption', 'all'),
  ('emailNotifySendIncAttachment', 'true'),
  ('emailNotifyReceiveIncAttachment', 'true'),
  ('timezone', 'America%2FLos_Angeles'),
  ('documentsLifetime', '14400'),
  ('usersTokenLife', '14400'),
  ('emailToFax', 'true'),
  ('allowFaxAttachments', 'true'),
]

requests.post(url, headers=headers, data=data)

const request = require("request");

request({
    method: 'PATCH',
    url: 'https://api.moove.io/v1/account/ad39a2c2-d154-4170-83e4-a75fa5466d33',
    headers: {
        Authorization: 'Basic YOUR_API_KEY',
        accept: 'application/json',
        'content-type': 'application/x-www-form-urlencoded'
    },
    form: {
        companyName: 'COMPANY',
        emailNotifySendOption: 'all',
        emailNotifyReceiveOption: 'all',
        emailNotifySendIncAttachment: 'true',
        emailNotifyReceiveIncAttachment: 'true',
        timezone: 'America%2FLos_Angeles',
        documentsLifetime: '14400',
        usersTokenLife: '14400',
        emailToFax: 'true',
        allowFaxAttachments: 'true'
    }
}, function(error, response, body) {
    console.log(body);
});
<?php

$client = new http\Client;
$request = new http\Client\Request;

$body = new http\Message\Body;
$body->append(new http\QueryString(array(
  'companyName' => 'COMPANY',
  'emailNotifySendOption' => 'all',
  'emailNotifyReceiveOption' => 'all',
  'emailNotifySendIncAttachment' => 'true',
  'emailNotifyReceiveIncAttachment' => 'true',
  'timezone' => 'America%2FLos_Angeles',
  'documentsLifetime' => '14400',
  'usersTokenLife' => '14400',
  'emailToFax' => 'true',
  'allowFaxAttachments' => 'true'
)));

$request->setRequestUrl('https://api.moove.io/v1/account/ad39a2c2-d154-4170-83e4-a75fa5466d33');
$request->setRequestMethod('PATCH');
$request->setBody($body);

$request->setHeaders(array(
  'Authorization' => 'Basic YOUR_API_KEY',
  'accept' => 'application/json',
  'content-type' => 'application/x-www-form-urlencoded'
));

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
require 'net/http'
require 'uri'

uri = URI.parse("https://api.moove.io/v1/account/ad39a2c2-d154-4170-83e4-a75fa5466d33")
request = Net::HTTP::Patch.new(uri)
request.content_type = "application/x-www-form-urlencoded"
request["Accept"] = "application/json"
request["Authorization"] = "Basic YOUR_API_KEY"
request.set_form_data(
  "companyName" => "COMPANY",
  "emailNotifySendOption" => "all",
  "emailNotifyReceiveOption" => "all",
  "emailNotifySendIncAttachment" => "true",
  "emailNotifyReceiveIncAttachment" => "true",
  "timezone" => "America%2FLos_Angeles",
  "documentsLifetime" => "14400",
  "usersTokenLife" => "14400",
  "emailToFax" => "true",
  "allowFaxAttachments" => "true",
)

req_options = {
  use_ssl: uri.scheme == "https",
}

response = http.request(request)
puts response.read_body

Response:

{
  "account": {
    "settings": {
      "emailNotifySendOption": "All",
      "emailNotifyReceiveOption": "All",
      "emailNotifySendIncAttachment": true,
      "emailNotifyReceiveIncAttachment": true,
      "timezone": "America/Los_Angeles",
      "emailToFax": true,
      "documentsLifetime": 12,
      "allowFaxAttachments": true,
      "usersTokenLife": 7200
    },
    "uuid": "6c838c7c-cb48-4763-84d6-233b5f8cf782",
    "supportCode": "2201767761",
    "companyName": "Moove",
    "isReseller": true,
    "isActive": true,
    "defaultPaymentMethodId": "35fb8cc3-064b-4182-943a-76bf7e64725a",
    "parentId": "ad39a2c2-d154-4170-83e4-a75fa5466d33",
    "faxCsid": "mFax",
    "faxCallerId": "12021234567",
    "apiSecret": null,
    "childrenCount": 1,
    "usersCount": 17
  },
  "ancestors": []
}

Method: PATCH

Path: /v1/account/{accountId}

This method will allow you to modify global account settings and info. You will need to pass through the account ID and will also need administrative privileges to access.

Parameters

Name Type Description
accountId string Account ID
companyName string Name of the company
faxCallerId string ID of fax caller
faxCsid string Unique fax ID
emailNotifySendOption string Outbound fax notification settings. Acceptable values: None, All (default), Success, Failure
emailNotifyReceiveOption string Inbound fax notification settings. Acceptable values: None, All (default), Success, Failure
emailNotifySendIncAttachment boolean Outbound fax notification attachment settings. Acceptable values: true (default), false
emailNotifyReceiveIncAttachment boolean Inbound fax notification attachment settings. Acceptable values: true (default), false
timezone string Timezone
emailToFax string Email to Fax
documentsLifetime string How long faxes will be stored
usersTokenLife integer Set manual user token time for this account

Create a user

Request:

curl -X POST
  'https://api.moove.io/v1/user/12345678-abcd-1234-5678-abcdfg123456' \
  -H 'Authorization: Basic YOUR_API_KEY' \
  -H 'content-type: multipart/form-data' \
  -F 'firstName=John' \
  -F 'lastName=Doe' \
  -F 'email=example@mail.com' \
  -F 'phone=123456789' \
  -F 'password=Passw0rd' \
  -F 'userRole=user'
import requests

url = "https://api.moove.io/v1/user/12345678-abcd-1234-5678-abcdfg123456"

headers = {
    'Authorization': 'Basic YOUR_API_KEY',
    'content-type': 'multipart/form-data',
}

data = [
    ('firstName', 'John'),
    ('lastName', 'Doe'),
    ('email', 'example@mail.com'),
    ('phone', '123456789'),
    ('password', 'Passw0rd'),
    ('userRole', 'user'),
]

requests.post(url, headers=headers, data=data)

<?php

$client = new http\Client;
$request = new http\Client\Request;

$body = new http\Message\Body;
$body->addForm(array(
  'firstName' => 'John',
  'lastName' => 'Doe',
  'email' => 'example@mail.com',
  'phone' => '123456789',
  'password' => 'Passw0rd',
  'userRole' => 'user'
), NULL);

$request->setRequestUrl('https://api.moove.io/v1/user/12345678-abcd-1234-5678-abcdfg123456');
$request->setRequestMethod('POST');
$request->setBody($body);

$request->setHeaders(array(
  'Authorization' => 'Basic YOUR_API_KEY'
));

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();

require 'net/http'
require 'uri'

uri = URI.parse("https://api.moove.io/v1/user/12345678-abcd-1234-5678-abcdfg123456")
request = Net::HTTP::Post.new(uri)
request.content_type = "multipart/form-data"
request["Authorization"] = "Basic YOUR_API_KEY"
request.set_form_data(
  "firstName" => "John",
  "lastName" => "Doe",
  "email" => "example@mail.com",
  "phone" => "123456789",
  "password" => "Passw0rd",
  "userRole" => "user",
)

req_options = {
  use_ssl: uri.scheme == "https",
}

response = http.request(request)
puts response.read_body
const request = require("request");

request({
    method: 'POST',
    url: 'https://api.moove.io/v1/user/12345678-abcd-1234-5678-abcdfg123456',
    headers: {
        Authorization: 'Basic YOUR_API_KEY',
        'content-type': 'multipart/form-data'
    },
    formData: {
        firstName: 'John',
        lastName: 'Doe',
        email: 'example@mail.com',
        phone: '123456789',
        password: 'Passw0rd',
        userRole: 'user'
    }
}, function(error, response, body) {
    console.log(body);
});

Note that userRole = user is default. Another option is to set user role to admin.

Response:

{
  "settings": {
    "emailNotifySendOption": "All",
    "emailNotifyReceiveOption": "All",
    "emailNotifySendIncAttachment": true,
    "emailNotifyReceiveIncAttachment": true,
    "emailToFaxCoverPageOption": true
  },
  "userId": "fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de",
  "accountId": "6c838c7c-cb48-4763-84d6-233b5f8cf782",
  "email": "example@mail.com",
  "firstName": "John",
  "lastName": "Doe",
  "password": "",
  "userRole": "user",
  "isActive": true,
  "companyName": "Doe INC",
  "phone": "12021234567",
  "faxCsid": "mFax",
  "faxCallerId": "12021234567",
  "lastLoginIp": "127.0.0.1",
  "lastLoginDate": "2017-06-23T09:24:49.000Z",
  "account": {
    "settings": {
      "emailNotifySendOption": "All",
      "emailNotifyReceiveOption": "All",
      "emailNotifySendIncAttachment": true,
      "emailNotifyReceiveIncAttachment": true,
      "timezone": "America/Los_Angeles",
      "emailToFax": true,
      "storeFaxesTime": 12,
      "allowFaxAttachments": true,
      "usersTokenLife": 7200
    },
    "uuid": "6c838c7c-cb48-4763-84d6-233b5f8cf782",
    "supportCode": "2201767761",
    "companyName": "Moove",
    "isReseller": true,
    "isActive": true,
    "parentId": null,
    "faxCsid": "mFax",
    "faxCallerId": "12021234567"
  }
}

Method: POST

Path: /v1/user/{accountId}

Creates a user for account that is specified in path.

Parameters

Name Type Description
accountId string Account ID
firstName string First name on the card
lastName string Last name on the card
companyName string Company
password string User password
userRole string User role
phone string User phone

Create API key for user

Request:

curl -X PUT \
  'https://api.moove.io/v1/user/7b667809-c88f-4a27-b1fe-2cc932401e15/api?disable=false' \
  -H 'Authorization: Basic YOUR_API_KEY'
import requests

url = "https://api.moove.io/v1/user/7b667809-c88f-4a27-b1fe-2cc932401e15/api"

querystring = {"disable":"false"}

headers = {
    'Authorization': "Basic YOUR_API_KEY"
    }

requests.put(url, headers=headers, params=querystring)
require 'uri'
require 'net/http'

url = URI("https://api.moove.io/v1/user/7b667809-c88f-4a27-b1fe-2cc932401e15/api")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Basic YOUR_API_KEY'
params = { :disable => 'false' }
uri.query = URI.encode_www_form(params)

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('https://api.moove.io/v1/user/7b667809-c88f-4a27-b1fe-2cc932401e15/api');
$request->setMethod(HTTP_METH_PUT);

$request->setQueryData(array(
  'disable' => 'false'
));

$request->setHeaders(array(
  'Authorization' => 'Basic YOUR_API_KEY'
));

$response = $request->send();
echo $response->getBody();
const request = require("request");

request({
    method: 'PUT',
    url: 'https://api.moove.io/v1/user/7b667809-c88f-4a27-b1fe-2cc932401e15/api',
    qs: {
        disable: 'false'
    },
    headers: {
        Authorization: 'Basic YOUR_API_KEY'
    }
}, function(error, response, body) {
    console.log(body);
});

Response:

"API_KEY"

Method: PUT

Path: /v1/user/{userId}/api

Generates API key for user that is specified in path.

Parameters

Name Type Description
userId string User ID
disable string If true, than access by API key will revoke

Delete user

Request:

curl -X DELETE
  'https://api.moove.io/v1/user/fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de' \
  -H 'Authorization: Basic YOUR_API_KEY'
import requests

url = "https://api.moove.io/v1/user/fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de"

headers = {
    'Authorization': "Basic YOUR_API_KEY"
    }

requests.delete(url, headers=headers)
<?php

$request = new HttpRequest();
$request->setUrl('https://api.moove.io/v1/user/fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'Authorization' => 'Basic YOUR_API_KEY'
));

$response = $request->send();
echo $response->getBody();

require 'uri'
require 'net/http'

url = URI("https://api.moove.io/v1/user/fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Basic YOUR_API_KEY'

response = http.request(request)
puts response.read_body
const request = require("request");

request({
    method: 'DELETE',
    url: 'https://api.moove.io/v1/user/fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de',
    headers: {
        Authorization: 'Basic YOUR_API_KEY'
    }
}, function(error, response, body) {
    console.log(body);
});

Reponse:

Status: 200
Message: OK

Method: DELETE

Path: /v1/user/{userId}

Deletes user and unassign all fax numbers.

Parameters

Parameter Data Type Description
userId string User ID

Get user

Request:

curl -X GET
  'https://api.moove.io/v1/user/fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de' \
  -H 'Authorization: Basic YOUR_API_KEY'
import requests

url = "https://api.moove.io/v1/user/fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de"

headers = {
    'Authorization': 'Basic YOUR_API_KEY'
}

requests.get(url, headers=headers)
<?php

$request = new HttpRequest();
$request->setUrl('https://api.moove.io/v1/user/fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'Authorization' => 'Basic YOUR_API_KEY'
));

$response = $request->send();
echo $response->getBody();
require 'uri'
require 'net/http'

url = URI("https://api.moove.io/v1/user/fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic YOUR_API_KEY'

response = http.request(request)
puts response.read_body
const request = require("request");

request({
    method: 'GET',
    url: 'https://api.moove.io/v1/user/fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de',
    headers: {
        Authorization: 'Basic YOUR_API_KEY'
    }
}, function(error, response, body) {
    console.log(body);
});

Response:

{
  "settings": {
    "emailNotifySendOption": "All",
    "emailNotifyReceiveOption": "All",
    "emailNotifySendIncAttachment": true,
    "emailNotifyReceiveIncAttachment": true,
    "emailToFaxCoverPageOption": true
  },
  "userId": "fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de",
  "accountId": "6c838c7c-cb48-4763-84d6-233b5f8cf782",
  "email": "example@mail.com",
  "firstName": "John",
  "lastName": "Doe",
  "password": "",
  "userRole": "user",
  "isActive": true,
  "companyName": "Doe INC",
  "phone": "12021234567",
  "faxCsid": "mFax",
  "faxCallerId": "12021234567",
  "lastLoginIp": "127.0.0.1",
  "lastLoginDate": "2017-06-23T09:24:49.000Z",
  "isEmailConfirmed": true,
  "createdAt": "2017-06-06T11:23:11.000Z",
  "account": {
    "settings": {
      "emailNotifySendOption": "All",
      "emailNotifyReceiveOption": "All",
      "emailNotifySendIncAttachment": true,
      "emailNotifyReceiveIncAttachment": true,
      "timezone": "America/Los_Angeles",
      "emailToFax": true,
      "storeFaxesTime": 12,
      "allowFaxAttachments": true,
      "usersTokenLife": 7200
    },
    "uuid": "6c838c7c-cb48-4763-84d6-233b5f8cf782",
    "supportCode": "2201767761",
    "companyName": "Moove",
    "isReseller": true,
    "isActive": true,
    "parentId": null,
    "faxCsid": "mFax",
    "faxCallerId": "12021234567"
  }
}

Method: GET

Path: /v1/user/{userId}

Get user by ID.

Parameters

Name Type Description
userId string User ID

Get users by account

Request:

curl -X GET
  'https://api.moove.io/v1/account/fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de/users?offset=0&limit=10?' \
  -H 'Authorization: Basic YOUR_API_KEY'
import requests

url = "https://api.moove.io/v1/account/fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de/users"

headers = {
    'Authorization': "Basic YOUR_API_KEY"
    }

requests.get(url, headers=headers)
<?php

$request = new HttpRequest();
$request->setUrl('https://api.moove.io/v1/account/fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de/users');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'Authorization' => 'Basic YOUR_API_KEY'
));

$response = $request->send();
echo $response->getBody();
require 'uri'
require 'net/http'

url = URI("https://api.moove.io/v1/account/fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de/users")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic YOUR_API_KEY'

response = http.request(request)
puts response.read_body
const request = require('request');

request({
    url: 'https://api.moove.io/v1/account/fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de/users',
    headers: {
        Accept: 'application/json',
        Authorization: 'Basic YOUR_API_KEY'
    }
}, function(error, response, body) {
    console.log(body);
});

Response:

{
    count: 10,
    rows: [
      {
        "settings": {
          // user settings
        },
        // user info
        "account": {
          "settings": {
           // account settings
          },
          // account info
        }
      },
      ...
    ]
}

Method: GET

Path: /v1/account/{accountId}/users

Get all users for account that is specified in path.

Parameters

Name Type In Description
accountId string path account’s uuid
limit number query limit
offset number query offset (used for pagination)
query string query query string

Retrieve fax numbers

Request:

curl -X GET 
'https://api.moove.io/v1/fax/6c838c7c-cb48-4763-84d6-233b5f8cf782/numbers?offset=1&limit=2&query=Test' \
-H 'Accept: application/json'  \
-H 'Authorization: Basic YOUR_API_KEY' 
import requests

url = "https://api.moove.io/v1/fax/6c838c7c-cb48-4763-84d6-233b5f8cf782/numbers"

headers = {
    'Accept': 'application/json',
    'Authorization': 'Basic YOUR_API_KEY',
}

params = (
    ('offset', '1'),
    ('limit', '2'),
    ('query', 'Test'),
)

requests.get(url, headers=headers, params=params)
<?php

$request = new HttpRequest();
$request->setUrl('https://api.moove.io/v1/fax/6c838c7c-cb48-4763-84d6-233b5f8cf782/numbers');
$request->setMethod(HTTP_METH_GET);

$request->setQueryData(array(
  'offset' => '1',
  'limit' => '2',
  'query' => 'Test'
));

$request->setHeaders(array(
  'Authorization' => 'Basic YOUR_API_KEY'
));

$response = $request->send();
echo $response->getBody();
require 'net/http'
require 'uri'

uri = URI.parse("https://api.moove.io/v1/fax/6c838c7c-cb48-4763-84d6-233b5f8cf782/numbers")
request = Net::HTTP::Get.new(uri)
request["Accept"] = "application/json"
request["Authorization"] = "Basic YOUR_API_KEY"
params = { :offset => 10, :limit => 3, :query => 'Test' }
uri.query = URI.encode_www_form(params)

req_options = {
  use_ssl: uri.scheme == "https",
}

response = http.request(request)
puts response.read_body
const request = require("request");

request({
    method: 'GET',
    url: 'https://api.moove.io/v1/fax/numbers/6c838c7c-cb48-4763-84d6-233b5f8cf782',
    qs: {
        offset: '1',
        limit: '2',
        query: 'Test'
    },
    headers: {
        Authorization: 'Basic YOUR_API_KEY'
    }
}, function(error, response, body) {
    console.log(body);
});

Response:

{
  "rows": [
    {
      "uuid": "34a24d5d-8f0b-4380-8a15-bb1fffa72099",
      "number": "2025176460",
      "pendingUntil": null,
      "ownedBy": "6c838c7c-cb48-4763-84d6-233b5f8cf782",
      "createdAt": "2017-06-06T11:37:04.000Z",
      "users": [],
      "account": {
        // Account info and settings
      }
    },
    ...
  ],
  "count": 22,
  "limit": 2,
  "offset": 1
}

Method: GET

Path: /v1/fax/numbers/{accountId}/numbers

Returns all fax numbers owned by account

Parameters

Parameter Data Type Description
accountId string Account ID

Assign a fax number

Request:

curl -X POST 
'https://api.moove.io/v1/fax/numbers/7cd0224e-ee05-4f32-9f56-9a4ebf83a38c/user/fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Basic YOUR_API_KEY' 
import requests

url = "https://api.moove.io/v1/fax/numbers/7cd0224e-ee05-4f32-9f56-9a4ebf83a38c/user/fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de"

headers = {
    'Authorization': "Basic YOUR_API_KEY",
    'content-type': "application/x-www-form-urlencoded"
    }

requests.post(url, headers=headers)
<?php

$request = new HttpRequest();
$request->setUrl('https://api.moove.io/v1/fax/numbers/7cd0224e-ee05-4f32-9f56-9a4ebf83a38c/user/fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'content-type' => 'application/x-www-form-urlencoded',
  'Authorization' => 'Basic YOUR_API_KEY'
));

$response = $request->send();
echo $response->getBody();
require 'net/http'
require 'uri'

uri = URI.parse("https://api.moove.io/v1/fax/numbers/7cd0224e-ee05-4f32-9f56-9a4ebf83a38c/user/fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de")
request = Net::HTTP::Post.new(uri)
request.content_type = "application/json"
request["Accept"] = "application/json"
request["Authorization"] = "Basic YOUR_API_KEY"

req_options = {
  use_ssl: uri.scheme == "https",
}

response = http.request(request)
puts response.read_body
const request = require("request");

request({
    method: 'POST',
    url: 'https://api.moove.io/v1/fax/numbers/7cd0224e-ee05-4f32-9f56-9a4ebf83a38c/user/fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de',
    headers: {
        Authorization: 'Basic YOUR_API_KEY'
    }
}, function(error, response, body) {
    console.log(body);
});

Response:

{
  "uuid": "7cd0224e-ee05-4f32-9f56-9a4ebf83a38c",
  "number": "3122833994",
  "pendingUntil": null,
  "ownedBy": "6c838c7c-cb48-4763-84d6-233b5f8cf782",
  "createdAt": "2017-06-06T11:37:14.000Z",
  "users": [
    {
      "settings": {
        "emailNotifySendOption": "All",
        "emailNotifyReceiveOption": "All",
        "emailNotifySendIncAttachment": true,
        "emailNotifyReceiveIncAttachment": true,
        "emailToFaxCoverPageOption": true
      },
      "userId": "fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de",
      "accountId": "6c838c7c-cb48-4763-84d6-233b5f8cf782",
      "email": "example@mail.com",
      "firstName": "John",
      "lastName": "Doe",
      "password": "a8d1351493417d52e9af919a29bbf84b89ab4a2deb88edd49e40284369b4481d802c46854be1a8ab638fe7e26f836fd48c0cb653aefe979aaf88bacfa9481e3e",
      "userRole": "superadmin",
      "isActive": true,
      "companyName": "Doe INC",
      "phone": "12021234567",
      "faxCsid": "mFax",
      "faxCallerId": "12021234567",
      "lastLoginIp": "127.0.0.1",
      "lastLoginDate": "2017-06-23T13:08:49.000Z",
      "isEmailConfirmed": true,
      "createdAt": "2017-06-06T11:23:11.000Z",
    }
  ],
  "account": {
    // Account info and settings
  }
}

Method: POST

Path: /v1/fax/numbers/{numberId}/user/{userId}

Assigns a fax number to a user. Numbers can be assigned to multiple users. Inbound faxes are accessible by the assigned user(s).

Parameters

Parameter Data Type Description
numberId string Number ID of fax number
userId string User ID

Unassign a fax number

Request:

curl -X DELETE 
'https://api.moove.io/v1/fax/numbers/7cd0224e-ee05-4f32-9f56-9a4ebf83a38c/user/fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Basic YOUR_API_KEY' 
import requests

url = "https://api.moove.io/v1/fax/numbers/7cd0224e-ee05-4f32-9f56-9a4ebf83a38c/user/fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de"

headers = {
    'Authorization': "Basic YOUR_API_KEY",
    'content-type': "application/x-www-form-urlencoded"
    }

requests.delete(url, headers=headers)
<?php

$request = new HttpRequest();
$request->setUrl('https://api.moove.io/v1/fax/numbers/7cd0224e-ee05-4f32-9f56-9a4ebf83a38c/user/fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'content-type' => 'application/x-www-form-urlencoded',
  'Authorization' => 'Basic YOUR_API_KEY'
));

$response = $request->send();
echo $response->getBody();
require 'net/http'
require 'uri'

uri = URI.parse("https://api.moove.io/v1/fax/numbers/7cd0224e-ee05-4f32-9f56-9a4ebf83a38c/user/fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de")
request = Net::HTTP::Delete.new(uri)
request.content_type = "application/json"
request["Accept"] = "application/json"
request["Authorization"] = "Basic YOUR_API_KEY"

req_options = {
  use_ssl: uri.scheme == "https",
}

response = http.request(request)
puts response.read_body
const request = require("request");

request({
    method: 'DELETE',
    url: 'https://api.moove.io/v1/fax/numbers/7cd0224e-ee05-4f32-9f56-9a4ebf83a38c/user/fdb9f0dd-ac0c-4f3e-8e4b-1be0225186de',
    headers: {
        Authorization: 'Basic YOUR_API_KEY'
    }
}, function(error, response, body) {
    console.log(body);
});

Response:

Status: 200
Message: OK

Method: DELETE

Path: /v1/fax/numbers/{numberId}/user/{userId}

Remove a fax number from a user.

Parameters

Parameter Data Type Description
numberId string Number ID of fax number
userId string User ID

Provision a fax number

Request:

curl -X GET \
  'https://api.moove.io/v1/account/f6309861-9ca9-44ea-84ab-a193615e4936/numbers/request?quantity=1&type=toll-free&areaCode=707' \
  -H 'accept: application/json' \
  -H 'Authorization: Basic YOUR_API_KEY' 
import requests

url = "https://api.moove.io/v1/account/f6309861-9ca9-44ea-84ab-a193615e4936/numbers/request"

querystring = {"quantity":"1","type":"toll-free","areaCode":"707"}

headers = {
    'accept': "application/json",
    'Authorization': "Basic YOUR_API_KEY"
    }

requests.get(url, headers=headers, params=querystring)
<?php

$request = new HttpRequest();
$request->setUrl('https://api.moove.io/v1/account/f6309861-9ca9-44ea-84ab-a193615e4936/numbers/request');
$request->setMethod(HTTP_METH_GET);

$request->setQueryData(array(
  'quantity' => '1',
  'type' => 'toll-free',
  'areaCode' => '707'
));

$request->setHeaders(array(
  'Authorization' => 'Basic YOUR_API_KEY',
  'accept' => 'application/json'
));

$response = $request->send();
echo $response->getBody();
require 'uri'
require 'net/http'

url = URI("https://api.moove.io/v1/account/f6309861-9ca9-44ea-84ab-a193615e4936/numbers/request")
params = { :quantity => 1, :type => 'toll-free', :areaCode => 707 }
uri.query = URI.encode_www_form(params)

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["accept"] = 'application/json'
request["Authorization"] = 'Basic YOUR_API_KEY'

response = http.request(request)
puts response.read_body
const request = require("request");

request({
    method: 'GET',
    url: 'https://api.moove.io/v1/account/f6309861-9ca9-44ea-84ab-a193615e4936/numbers/request',
    qs: {
        quantity: '1',
        type: 'toll-free',
        areaCode: '707'
    },
    headers: {
        Authorization: 'Basic YOUR_API_KEY',
        accept: 'application/json'
    }
}, function(error, response, body) {
    console.log(body);
});

Response:

{
  "count": 1,
  "rows": [
    {
      "uuid": "2d65b607-1833-4576-b497-650b56d6346b",
      "number": "8447242740",
      "pendingUntil": null,
      "ownedBy": "f6309861-9ca9-44ea-84ab-a193615e4936",
      "createdAt": "2017-06-26T15:35:13.000Z",
      "account": {
        "settings": {
          "emailNotifySendOption": "All",
          "emailNotifyReceiveOption": "All",
          "emailNotifySendIncAttachment": true,
          "emailNotifyReceiveIncAttachment": true,
          "timezone": "America/Los_Angeles",
          "emailToFax": true,
          "storeFaxesTime": 12,
          "allowFaxAttachments": true,
          "usersTokenLife": 14400
        },
        "uuid": "f6309861-9ca9-44ea-84ab-a193615e4936",
        "supportCode": "2201710341",
        "xeroId": "3d820a3b-ae77-4dee-b4fc-0953d0fc0fa7",
        "companyName": "Moove",
        "isReseller": true,
        "isActive": true,
        "defaultPaymentMethodId": "5f42907a-af8b-4d03-9d79-6455e55ff09b",
        "parentId": null,
        "hierarchyLevel": "1",
        "faxCsid": "Moove",
        "faxCallerId": "5094570051",
        "suspendPayments": false,
        "nextBillingPlanCode": "MF-SPM"
      }
    }
  ]
}

Method: GET

Path: /v1/account/{accountId}/numbers/request

Provision new fax numbers.

Parameters

Parameter Data Type Description
accountId string Account ID
quantity string Quantity of numbers
type string Number type. Available values are toll-free and local
areaCode string Numbering plan area code by state. Required if type is local

Errors

The Moove API uses the following error codes:

Error Code Meaning
400 Invalid Input
401 Unauthorized
403 Forbidden
404 Not Found
405 Method Not Allowed
500 Internal Server Error
503 Service Unavailable

You may also find useful How To’s and tips by visiting our Help Center.