Create a new report
curl --request POST \
--url https://api.northreports.com/v1/reports \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"address": "456 Oak Avenue",
"city": "Austin",
"state": "TX",
"zip": "78704",
"price": 525000,
"beds": 4,
"baths": 2.5,
"sqft": 2200,
"year_built": 2015,
"property_type": "Single Family",
"description": "Beautiful home with modern updates",
"listing_agent": "John Smith",
"created_by": "Jane Doe",
"custom_agent_name": "Jane Doe",
"custom_agent_email": "[email protected]"
}
'import requests
url = "https://api.northreports.com/v1/reports"
payload = {
"address": "456 Oak Avenue",
"city": "Austin",
"state": "TX",
"zip": "78704",
"price": 525000,
"beds": 4,
"baths": 2.5,
"sqft": 2200,
"year_built": 2015,
"property_type": "Single Family",
"description": "Beautiful home with modern updates",
"listing_agent": "John Smith",
"created_by": "Jane Doe",
"custom_agent_name": "Jane Doe",
"custom_agent_email": "[email protected]"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
address: '456 Oak Avenue',
city: 'Austin',
state: 'TX',
zip: '78704',
price: 525000,
beds: 4,
baths: 2.5,
sqft: 2200,
year_built: 2015,
property_type: 'Single Family',
description: 'Beautiful home with modern updates',
listing_agent: 'John Smith',
created_by: 'Jane Doe',
custom_agent_name: 'Jane Doe',
custom_agent_email: '[email protected]'
})
};
fetch('https://api.northreports.com/v1/reports', 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://api.northreports.com/v1/reports",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'address' => '456 Oak Avenue',
'city' => 'Austin',
'state' => 'TX',
'zip' => '78704',
'price' => 525000,
'beds' => 4,
'baths' => 2.5,
'sqft' => 2200,
'year_built' => 2015,
'property_type' => 'Single Family',
'description' => 'Beautiful home with modern updates',
'listing_agent' => 'John Smith',
'created_by' => 'Jane Doe',
'custom_agent_name' => 'Jane Doe',
'custom_agent_email' => '[email protected]'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.northreports.com/v1/reports"
payload := strings.NewReader("{\n \"address\": \"456 Oak Avenue\",\n \"city\": \"Austin\",\n \"state\": \"TX\",\n \"zip\": \"78704\",\n \"price\": 525000,\n \"beds\": 4,\n \"baths\": 2.5,\n \"sqft\": 2200,\n \"year_built\": 2015,\n \"property_type\": \"Single Family\",\n \"description\": \"Beautiful home with modern updates\",\n \"listing_agent\": \"John Smith\",\n \"created_by\": \"Jane Doe\",\n \"custom_agent_name\": \"Jane Doe\",\n \"custom_agent_email\": \"[email protected]\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.northreports.com/v1/reports")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"address\": \"456 Oak Avenue\",\n \"city\": \"Austin\",\n \"state\": \"TX\",\n \"zip\": \"78704\",\n \"price\": 525000,\n \"beds\": 4,\n \"baths\": 2.5,\n \"sqft\": 2200,\n \"year_built\": 2015,\n \"property_type\": \"Single Family\",\n \"description\": \"Beautiful home with modern updates\",\n \"listing_agent\": \"John Smith\",\n \"created_by\": \"Jane Doe\",\n \"custom_agent_name\": \"Jane Doe\",\n \"custom_agent_email\": \"[email protected]\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.northreports.com/v1/reports")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"address\": \"456 Oak Avenue\",\n \"city\": \"Austin\",\n \"state\": \"TX\",\n \"zip\": \"78704\",\n \"price\": 525000,\n \"beds\": 4,\n \"baths\": 2.5,\n \"sqft\": 2200,\n \"year_built\": 2015,\n \"property_type\": \"Single Family\",\n \"description\": \"Beautiful home with modern updates\",\n \"listing_agent\": \"John Smith\",\n \"created_by\": \"Jane Doe\",\n \"custom_agent_name\": \"Jane Doe\",\n \"custom_agent_email\": \"[email protected]\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"address": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>",
"price": 123,
"bedrooms": 123,
"bathrooms": 123,
"square_feet": 123,
"date_created": "2023-11-07T05:31:56Z",
"listing_agent": "<string>",
"created_by": "<string>",
"custom_agent_name": "<string>",
"status": "<string>",
"is_draft": true,
"is_published": true
},
"message": "<string>"
}{
"error": {
"message": "Address is required",
"status": 400
}
}{
"error": {
"message": "Invalid API key",
"status": 401
}
}{
"error": {
"message": "Permission denied: reports:create",
"status": 403
}
}{
"error": {
"message": "Rate limit exceeded. Please try again later.",
"status": 429
}
}Reports
Create Report
Creates a new North report with the provided property information. The report will be created as a draft by default.
POST
/
v1
/
reports
Create a new report
curl --request POST \
--url https://api.northreports.com/v1/reports \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"address": "456 Oak Avenue",
"city": "Austin",
"state": "TX",
"zip": "78704",
"price": 525000,
"beds": 4,
"baths": 2.5,
"sqft": 2200,
"year_built": 2015,
"property_type": "Single Family",
"description": "Beautiful home with modern updates",
"listing_agent": "John Smith",
"created_by": "Jane Doe",
"custom_agent_name": "Jane Doe",
"custom_agent_email": "[email protected]"
}
'import requests
url = "https://api.northreports.com/v1/reports"
payload = {
"address": "456 Oak Avenue",
"city": "Austin",
"state": "TX",
"zip": "78704",
"price": 525000,
"beds": 4,
"baths": 2.5,
"sqft": 2200,
"year_built": 2015,
"property_type": "Single Family",
"description": "Beautiful home with modern updates",
"listing_agent": "John Smith",
"created_by": "Jane Doe",
"custom_agent_name": "Jane Doe",
"custom_agent_email": "[email protected]"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
address: '456 Oak Avenue',
city: 'Austin',
state: 'TX',
zip: '78704',
price: 525000,
beds: 4,
baths: 2.5,
sqft: 2200,
year_built: 2015,
property_type: 'Single Family',
description: 'Beautiful home with modern updates',
listing_agent: 'John Smith',
created_by: 'Jane Doe',
custom_agent_name: 'Jane Doe',
custom_agent_email: '[email protected]'
})
};
fetch('https://api.northreports.com/v1/reports', 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://api.northreports.com/v1/reports",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'address' => '456 Oak Avenue',
'city' => 'Austin',
'state' => 'TX',
'zip' => '78704',
'price' => 525000,
'beds' => 4,
'baths' => 2.5,
'sqft' => 2200,
'year_built' => 2015,
'property_type' => 'Single Family',
'description' => 'Beautiful home with modern updates',
'listing_agent' => 'John Smith',
'created_by' => 'Jane Doe',
'custom_agent_name' => 'Jane Doe',
'custom_agent_email' => '[email protected]'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.northreports.com/v1/reports"
payload := strings.NewReader("{\n \"address\": \"456 Oak Avenue\",\n \"city\": \"Austin\",\n \"state\": \"TX\",\n \"zip\": \"78704\",\n \"price\": 525000,\n \"beds\": 4,\n \"baths\": 2.5,\n \"sqft\": 2200,\n \"year_built\": 2015,\n \"property_type\": \"Single Family\",\n \"description\": \"Beautiful home with modern updates\",\n \"listing_agent\": \"John Smith\",\n \"created_by\": \"Jane Doe\",\n \"custom_agent_name\": \"Jane Doe\",\n \"custom_agent_email\": \"[email protected]\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.northreports.com/v1/reports")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"address\": \"456 Oak Avenue\",\n \"city\": \"Austin\",\n \"state\": \"TX\",\n \"zip\": \"78704\",\n \"price\": 525000,\n \"beds\": 4,\n \"baths\": 2.5,\n \"sqft\": 2200,\n \"year_built\": 2015,\n \"property_type\": \"Single Family\",\n \"description\": \"Beautiful home with modern updates\",\n \"listing_agent\": \"John Smith\",\n \"created_by\": \"Jane Doe\",\n \"custom_agent_name\": \"Jane Doe\",\n \"custom_agent_email\": \"[email protected]\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.northreports.com/v1/reports")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"address\": \"456 Oak Avenue\",\n \"city\": \"Austin\",\n \"state\": \"TX\",\n \"zip\": \"78704\",\n \"price\": 525000,\n \"beds\": 4,\n \"baths\": 2.5,\n \"sqft\": 2200,\n \"year_built\": 2015,\n \"property_type\": \"Single Family\",\n \"description\": \"Beautiful home with modern updates\",\n \"listing_agent\": \"John Smith\",\n \"created_by\": \"Jane Doe\",\n \"custom_agent_name\": \"Jane Doe\",\n \"custom_agent_email\": \"[email protected]\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"address": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>",
"price": 123,
"bedrooms": 123,
"bathrooms": 123,
"square_feet": 123,
"date_created": "2023-11-07T05:31:56Z",
"listing_agent": "<string>",
"created_by": "<string>",
"custom_agent_name": "<string>",
"status": "<string>",
"is_draft": true,
"is_published": true
},
"message": "<string>"
}{
"error": {
"message": "Address is required",
"status": 400
}
}{
"error": {
"message": "Invalid API key",
"status": 401
}
}{
"error": {
"message": "Permission denied: reports:create",
"status": 403
}
}{
"error": {
"message": "Rate limit exceeded. Please try again later.",
"status": 429
}
}Authorizations
API key authentication. Include your API key in the Authorization header:
Authorization: Bearer north_sk_live_xxxxxxxxxxxx
Body
application/json
Property street address
Listing price in dollars
e.g., "Single Family", "Condo", "Townhouse"
Zillow property ID
Name of the listing agent. If not provided, defaults to the team admin/account owner's name.
Name of the person who created the report. If not provided, defaults to the team name (from the team associated with the API key).
Hex color code
Hex color code
⌘I