const axios = require('axios');
const ContactsApiFp = require('@alohi/faxplus-api').ContactsApiFp;
const Configuration = require('@alohi/faxplus-api').Configuration;
const config = new Configuration({
accessToken: accessToken,
basePath: 'https://restapi.fax.plus/v3',
// Header required only when using the OAuth2 token scheme
baseOptions: {
headers: {
"x-fax-clientid": clientId,
}
}
});
async function listContacts() {
const req = await ContactsApiFp(config).listContacts({
userId: 'self',
name: '',
faxNumber: '',
offset: 0,
limit: 50
});
const resp = await req(axios);
}
listContacts()
from faxplus import ApiClient, ContactsApi
from faxplus.configuration import Configuration
conf = Configuration()
conf.access_token = access_token
# header_name and header_value required only when using the OAuth2 token scheme
api_client = ApiClient(header_name='x-fax-clientid', header_value=client_id, configuration=conf)
api = ContactsApi(api_client)
resp = api.list_contacts(user_id='self', name='', fax_number='', offset=0, limit=50)
/**
* Example below uses Apache HTTP Client 4 with Fluent API
**/
String url = "https://restapi.fax.plus/v3/accounts/self/contacts?offset=0&limit=50";
String result = Request
.Get(url)
// The x-fax-clientid header is required only when using the OAuth2 token scheme
.addHeader("x-fax-clientid", "YOUR_CLIENT_ID")
.addHeader("Accept", "'application/json'")
.addHeader("Authorization", "'Bearer {access-token}'")
.execute()
.returnContent().asString();
System.out.println(result.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
// The x-fax-clientid header is required only when using the OAuth2 token scheme
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
"x-fax-clientid": []string{"YOUR_CLIENT_ID"}
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://restapi.fax.plus/v3/accounts/self/contacts?offset=0&limit=50", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
// The x-fax-clientid header is required only when using the OAuth2 token scheme
'x-fax-clientid' => '{client ID}',
);
$client = new GuzzleHttp\Client();
try {
$response = $client->request('GET','https://restapi.fax.plus/v3/accounts/self/contacts?offset=0&limit=50', array(
'headers' => $headers,
)
);
print_r($response->getBody()->getContents());
}
catch (GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
# You can also use wget
curl -X GET https://restapi.fax.plus/v3/accounts/self/contacts?offset=0&limit=50 \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
# The x-fax-clientid header is required only when using the OAuth2 token scheme
-H 'x-fax-clientid: "YOUR_CLIENT_ID"'
{
"records": [
{
"id": "5f7a8b9c0d1e2f3a4b5c6d7e",
"name": "John Doe",
"fax_number": "+12025551234",
"groups": [
"sales",
"department 001"
],
"email": "john.doe@example.com",
"cellphone": "+12025551235",
"phone": "+12025551236",
"notes": "VIP client, prefers email communication",
"is_shared": false,
"is_telefax": false,
"creation_date": "2024-01-15T10:30:00Z",
"modification_date": "2024-03-20T14:45:00Z"
}
],
"total_count": 123
}{
"error": "invalid_user_id",
"description": "Invalid user id given"
}{
"error": "unauthorized",
"description": "The access token provided is expired, revoked, malformed, or invalid for other reasons."
}{
"error": "internal_server_error",
"description": "An unexpected error happened, please contact support"
}List contacts
Get user contacts with optional filters, pagination, or retrieve specific contacts by IDs (Permitted scopes: fax:all:read)
const axios = require('axios');
const ContactsApiFp = require('@alohi/faxplus-api').ContactsApiFp;
const Configuration = require('@alohi/faxplus-api').Configuration;
const config = new Configuration({
accessToken: accessToken,
basePath: 'https://restapi.fax.plus/v3',
// Header required only when using the OAuth2 token scheme
baseOptions: {
headers: {
"x-fax-clientid": clientId,
}
}
});
async function listContacts() {
const req = await ContactsApiFp(config).listContacts({
userId: 'self',
name: '',
faxNumber: '',
offset: 0,
limit: 50
});
const resp = await req(axios);
}
listContacts()
from faxplus import ApiClient, ContactsApi
from faxplus.configuration import Configuration
conf = Configuration()
conf.access_token = access_token
# header_name and header_value required only when using the OAuth2 token scheme
api_client = ApiClient(header_name='x-fax-clientid', header_value=client_id, configuration=conf)
api = ContactsApi(api_client)
resp = api.list_contacts(user_id='self', name='', fax_number='', offset=0, limit=50)
/**
* Example below uses Apache HTTP Client 4 with Fluent API
**/
String url = "https://restapi.fax.plus/v3/accounts/self/contacts?offset=0&limit=50";
String result = Request
.Get(url)
// The x-fax-clientid header is required only when using the OAuth2 token scheme
.addHeader("x-fax-clientid", "YOUR_CLIENT_ID")
.addHeader("Accept", "'application/json'")
.addHeader("Authorization", "'Bearer {access-token}'")
.execute()
.returnContent().asString();
System.out.println(result.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
// The x-fax-clientid header is required only when using the OAuth2 token scheme
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
"x-fax-clientid": []string{"YOUR_CLIENT_ID"}
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://restapi.fax.plus/v3/accounts/self/contacts?offset=0&limit=50", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
// The x-fax-clientid header is required only when using the OAuth2 token scheme
'x-fax-clientid' => '{client ID}',
);
$client = new GuzzleHttp\Client();
try {
$response = $client->request('GET','https://restapi.fax.plus/v3/accounts/self/contacts?offset=0&limit=50', array(
'headers' => $headers,
)
);
print_r($response->getBody()->getContents());
}
catch (GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
# You can also use wget
curl -X GET https://restapi.fax.plus/v3/accounts/self/contacts?offset=0&limit=50 \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
# The x-fax-clientid header is required only when using the OAuth2 token scheme
-H 'x-fax-clientid: "YOUR_CLIENT_ID"'
{
"records": [
{
"id": "5f7a8b9c0d1e2f3a4b5c6d7e",
"name": "John Doe",
"fax_number": "+12025551234",
"groups": [
"sales",
"department 001"
],
"email": "john.doe@example.com",
"cellphone": "+12025551235",
"phone": "+12025551236",
"notes": "VIP client, prefers email communication",
"is_shared": false,
"is_telefax": false,
"creation_date": "2024-01-15T10:30:00Z",
"modification_date": "2024-03-20T14:45:00Z"
}
],
"total_count": 123
}{
"error": "invalid_user_id",
"description": "Invalid user id given"
}{
"error": "unauthorized",
"description": "The access token provided is expired, revoked, malformed, or invalid for other reasons."
}{
"error": "internal_server_error",
"description": "An unexpected error happened, please contact support"
}const axios = require('axios');
const ContactsApiFp = require('@alohi/faxplus-api').ContactsApiFp;
const Configuration = require('@alohi/faxplus-api').Configuration;
const config = new Configuration({
accessToken: accessToken,
basePath: 'https://restapi.fax.plus/v3',
// Header required only when using the OAuth2 token scheme
baseOptions: {
headers: {
"x-fax-clientid": clientId,
}
}
});
async function listContacts() {
const req = await ContactsApiFp(config).listContacts({
userId: 'self',
name: '',
faxNumber: '',
offset: 0,
limit: 50
});
const resp = await req(axios);
}
listContacts()
from faxplus import ApiClient, ContactsApi
from faxplus.configuration import Configuration
conf = Configuration()
conf.access_token = access_token
# header_name and header_value required only when using the OAuth2 token scheme
api_client = ApiClient(header_name='x-fax-clientid', header_value=client_id, configuration=conf)
api = ContactsApi(api_client)
resp = api.list_contacts(user_id='self', name='', fax_number='', offset=0, limit=50)
/**
* Example below uses Apache HTTP Client 4 with Fluent API
**/
String url = "https://restapi.fax.plus/v3/accounts/self/contacts?offset=0&limit=50";
String result = Request
.Get(url)
// The x-fax-clientid header is required only when using the OAuth2 token scheme
.addHeader("x-fax-clientid", "YOUR_CLIENT_ID")
.addHeader("Accept", "'application/json'")
.addHeader("Authorization", "'Bearer {access-token}'")
.execute()
.returnContent().asString();
System.out.println(result.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
// The x-fax-clientid header is required only when using the OAuth2 token scheme
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
"x-fax-clientid": []string{"YOUR_CLIENT_ID"}
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://restapi.fax.plus/v3/accounts/self/contacts?offset=0&limit=50", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
// The x-fax-clientid header is required only when using the OAuth2 token scheme
'x-fax-clientid' => '{client ID}',
);
$client = new GuzzleHttp\Client();
try {
$response = $client->request('GET','https://restapi.fax.plus/v3/accounts/self/contacts?offset=0&limit=50', array(
'headers' => $headers,
)
);
print_r($response->getBody()->getContents());
}
catch (GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
# You can also use wget
curl -X GET https://restapi.fax.plus/v3/accounts/self/contacts?offset=0&limit=50 \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
# The x-fax-clientid header is required only when using the OAuth2 token scheme
-H 'x-fax-clientid: "YOUR_CLIENT_ID"'
Authorizations
Personal Access Token (PAT) is a Bearer token used for secure API calls. For direct API calls, the PAT is used in the Authorization header as 'Bearer {PAT}'. For MCP usage, configure your PAT in your MCP client settings (e.g., in your IDE's MCP server configuration) - authentication will be handled automatically.
Query Parameters
Comma-separated list of contact IDs to retrieve (max 50). When provided, other search/pagination parameters are ignored.
Filter contacts by name
Filter contacts by fax number
Filter contacts by group name
Filter contacts by note (comment)
Offset for pagination
Limit for pagination (max 50)
x <= 50Field to sort by
name, creation_date, modification_date Sort direction
asc, desc If true, return shared/corporate contacts. If false, return personal contacts