Get Customer
curl --request GET \
--url https://app-api.my-virtual-office.com/api/customers/{id} \
--header 'X-API-Key: <x-api-key>'import requests
url = "https://app-api.my-virtual-office.com/api/customers/{id}"
headers = {"X-API-Key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<x-api-key>'}};
fetch('https://app-api.my-virtual-office.com/api/customers/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app-api.my-virtual-office.com/api/customers/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app-api.my-virtual-office.com/api/customers/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app-api.my-virtual-office.com/api/customers/{id}")
.header("X-API-Key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app-api.my-virtual-office.com/api/customers/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"error": "Unauthorized",
"message": "API key is required. Provide it via X-API-Key header or Authorization Bearer token."
}
API Reference
Get Customer
Retrieve the details of an existing customer for your My Virtual Office account
GET
/
api
/
customers
/
{id}
Get Customer
curl --request GET \
--url https://app-api.my-virtual-office.com/api/customers/{id} \
--header 'X-API-Key: <x-api-key>'import requests
url = "https://app-api.my-virtual-office.com/api/customers/{id}"
headers = {"X-API-Key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<x-api-key>'}};
fetch('https://app-api.my-virtual-office.com/api/customers/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app-api.my-virtual-office.com/api/customers/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app-api.my-virtual-office.com/api/customers/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app-api.my-virtual-office.com/api/customers/{id}")
.header("X-API-Key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app-api.my-virtual-office.com/api/customers/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"error": "Unauthorized",
"message": "API key is required. Provide it via X-API-Key header or Authorization Bearer token."
}
Get Customer
Retrieve the full details of a single customer by their unique ID.Authentication
string
required
Your API key. Can also be provided via
Authorization: Bearer header.Path Parameters
string
required
The UUID of the customer to retrieve.
Response
string
Unique identifier for the customer (UUID)
string
Your seller account ID (UUID)
string
Customer’s first name
string
Customer’s last name
string
Customer’s email address
string | null
Company name if provided
string | null
Legal entity type if provided
string | null
Preferred language
object | null
Address information if provided
object | null
Postal redirect address if set
string
Customer status. One of
active, inactive, or suspended. Inactive or suspended customers cannot log in to the portal.string
Source of customer creation (e.g., “api”)
string
ISO 8601 timestamp of when the customer was created
string
ISO 8601 timestamp of when the customer was last updated
Example Request
curl -X GET https://app-api.my-virtual-office.com/api/customers/550e8400-e29b-41d4-a716-446655440000 \
-H "X-API-Key: sk_live_your_api_key_here"
const response = await fetch(
'https://app-api.my-virtual-office.com/api/customers/550e8400-e29b-41d4-a716-446655440000',
{
method: 'GET',
headers: {
'X-API-Key': 'sk_live_your_api_key_here',
},
}
);
const customer = await response.json();
import requests
response = requests.get(
'https://app-api.my-virtual-office.com/api/customers/550e8400-e29b-41d4-a716-446655440000',
headers={
'X-API-Key': 'sk_live_your_api_key_here',
}
)
customer = response.json()
Example Response
200 OK
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"seller_id": "660e8400-e29b-41d4-a716-446655440001",
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@example.com",
"company_name": "Acme Corp",
"legal_entity": "GmbH",
"language": "en",
"address_data": {
"street": "Musterstraße 123",
"city": "Berlin",
"postal_code": "10115",
"country": "Germany"
},
"postal_redirect_address": null,
"status": "active",
"source": "api",
"created_at": "2024-01-15T10:30:00.000Z",
"updated_at": "2024-02-20T14:15:00.000Z"
}
Error Responses
{
"error": "Unauthorized",
"message": "API key is required. Provide it via X-API-Key header or Authorization Bearer token."
}
{
"error": "Not Found",
"message": "Customer not found"
}
Error Codes
| HTTP Code | Error | Description |
|---|---|---|
| 401 | Unauthorized | Missing or invalid API key |
| 404 | Not Found | Customer not found or does not belong to your account |
| 500 | Internal Server Error | Unexpected server error |

