curl --request POST \
--url https://api.immoteur.com/public/v1/issues \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"propertyIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"classifiedIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"comment": "<string>",
"issueFacets": []
}
'import requests
url = "https://api.immoteur.com/public/v1/issues"
payload = {
"propertyIds": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"classifiedIds": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"comment": "<string>",
"issueFacets": []
}
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({
propertyIds: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
classifiedIds: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
comment: '<string>',
issueFacets: []
})
};
fetch('https://api.immoteur.com/public/v1/issues', 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.immoteur.com/public/v1/issues",
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([
'propertyIds' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'classifiedIds' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'comment' => '<string>',
'issueFacets' => [
]
]),
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.immoteur.com/public/v1/issues"
payload := strings.NewReader("{\n \"propertyIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"classifiedIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"comment\": \"<string>\",\n \"issueFacets\": []\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.immoteur.com/public/v1/issues")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"propertyIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"classifiedIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"comment\": \"<string>\",\n \"issueFacets\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.immoteur.com/public/v1/issues")
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 \"propertyIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"classifiedIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"comment\": \"<string>\",\n \"issueFacets\": []\n}"
response = http.request(request)
puts response.read_body{
"createdAt": "2023-11-07T05:31:56Z",
"reportId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"code": "resource_not_found",
"detail": "The requested resource could not be found.",
"instance": "/public/v1/properties/019c12dc-339f-72ce-98db-663b44c0d924",
"status": 404,
"title": "Resource not found",
"traceId": "b94f4db5-2f5e-4b8f-9dd0-f2fe5c7a7a4f",
"type": "https://docs.immoteur.com/problems/resource_not_found"
}{
"code": "resource_not_found",
"detail": "The requested resource could not be found.",
"instance": "/public/v1/properties/019c12dc-339f-72ce-98db-663b44c0d924",
"status": 404,
"title": "Resource not found",
"traceId": "b94f4db5-2f5e-4b8f-9dd0-f2fe5c7a7a4f",
"type": "https://docs.immoteur.com/problems/resource_not_found"
}{
"code": "resource_not_found",
"detail": "The requested resource could not be found.",
"instance": "/public/v1/properties/019c12dc-339f-72ce-98db-663b44c0d924",
"status": 404,
"title": "Resource not found",
"traceId": "b94f4db5-2f5e-4b8f-9dd0-f2fe5c7a7a4f",
"type": "https://docs.immoteur.com/problems/resource_not_found"
}{
"message": "Data access (SIREN / SIRET / Department) not configured.",
"configurationUrl": "https://immoteur.com/en/dashboard/billing#data-access",
"documentationUrl": "https://docs.immoteur.com/pages/en/introduction"
}{
"code": "validation_error",
"detail": "One or more request fields are invalid.",
"instance": "/public/v1/properties/search",
"status": 422,
"title": "Validation error",
"traceId": "4bdb0c23-53fc-4d14-a300-c63eb420ec5e",
"type": "https://docs.immoteur.com/problems/validation_error",
"violations": [
{
"code": "validation",
"field": "id",
"message": "The id field must be a valid UUID."
}
]
}{
"code": "resource_not_found",
"detail": "The requested resource could not be found.",
"instance": "/public/v1/properties/019c12dc-339f-72ce-98db-663b44c0d924",
"status": 404,
"title": "Resource not found",
"traceId": "b94f4db5-2f5e-4b8f-9dd0-f2fe5c7a7a4f",
"type": "https://docs.immoteur.com/problems/resource_not_found"
}{
"code": "resource_not_found",
"detail": "The requested resource could not be found.",
"instance": "/public/v1/properties/019c12dc-339f-72ce-98db-663b44c0d924",
"status": 404,
"title": "Resource not found",
"traceId": "b94f4db5-2f5e-4b8f-9dd0-f2fe5c7a7a4f",
"type": "https://docs.immoteur.com/problems/resource_not_found"
}Create an issue report
Creates a new issue report for property or classified data quality problems, clustering merge or split problems, or other caller-reported issues.
curl --request POST \
--url https://api.immoteur.com/public/v1/issues \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"propertyIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"classifiedIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"comment": "<string>",
"issueFacets": []
}
'import requests
url = "https://api.immoteur.com/public/v1/issues"
payload = {
"propertyIds": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"classifiedIds": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"comment": "<string>",
"issueFacets": []
}
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({
propertyIds: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
classifiedIds: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
comment: '<string>',
issueFacets: []
})
};
fetch('https://api.immoteur.com/public/v1/issues', 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.immoteur.com/public/v1/issues",
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([
'propertyIds' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'classifiedIds' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'comment' => '<string>',
'issueFacets' => [
]
]),
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.immoteur.com/public/v1/issues"
payload := strings.NewReader("{\n \"propertyIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"classifiedIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"comment\": \"<string>\",\n \"issueFacets\": []\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.immoteur.com/public/v1/issues")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"propertyIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"classifiedIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"comment\": \"<string>\",\n \"issueFacets\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.immoteur.com/public/v1/issues")
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 \"propertyIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"classifiedIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"comment\": \"<string>\",\n \"issueFacets\": []\n}"
response = http.request(request)
puts response.read_body{
"createdAt": "2023-11-07T05:31:56Z",
"reportId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"code": "resource_not_found",
"detail": "The requested resource could not be found.",
"instance": "/public/v1/properties/019c12dc-339f-72ce-98db-663b44c0d924",
"status": 404,
"title": "Resource not found",
"traceId": "b94f4db5-2f5e-4b8f-9dd0-f2fe5c7a7a4f",
"type": "https://docs.immoteur.com/problems/resource_not_found"
}{
"code": "resource_not_found",
"detail": "The requested resource could not be found.",
"instance": "/public/v1/properties/019c12dc-339f-72ce-98db-663b44c0d924",
"status": 404,
"title": "Resource not found",
"traceId": "b94f4db5-2f5e-4b8f-9dd0-f2fe5c7a7a4f",
"type": "https://docs.immoteur.com/problems/resource_not_found"
}{
"code": "resource_not_found",
"detail": "The requested resource could not be found.",
"instance": "/public/v1/properties/019c12dc-339f-72ce-98db-663b44c0d924",
"status": 404,
"title": "Resource not found",
"traceId": "b94f4db5-2f5e-4b8f-9dd0-f2fe5c7a7a4f",
"type": "https://docs.immoteur.com/problems/resource_not_found"
}{
"message": "Data access (SIREN / SIRET / Department) not configured.",
"configurationUrl": "https://immoteur.com/en/dashboard/billing#data-access",
"documentationUrl": "https://docs.immoteur.com/pages/en/introduction"
}{
"code": "validation_error",
"detail": "One or more request fields are invalid.",
"instance": "/public/v1/properties/search",
"status": 422,
"title": "Validation error",
"traceId": "4bdb0c23-53fc-4d14-a300-c63eb420ec5e",
"type": "https://docs.immoteur.com/problems/validation_error",
"violations": [
{
"code": "validation",
"field": "id",
"message": "The id field must be a valid UUID."
}
]
}{
"code": "resource_not_found",
"detail": "The requested resource could not be found.",
"instance": "/public/v1/properties/019c12dc-339f-72ce-98db-663b44c0d924",
"status": 404,
"title": "Resource not found",
"traceId": "b94f4db5-2f5e-4b8f-9dd0-f2fe5c7a7a4f",
"type": "https://docs.immoteur.com/problems/resource_not_found"
}{
"code": "resource_not_found",
"detail": "The requested resource could not be found.",
"instance": "/public/v1/properties/019c12dc-339f-72ce-98db-663b44c0d924",
"status": 404,
"title": "Resource not found",
"traceId": "b94f4db5-2f5e-4b8f-9dd0-f2fe5c7a7a4f",
"type": "https://docs.immoteur.com/problems/resource_not_found"
}Autorisations
Send your Immoteur Personal Access Token in the Authorization header:
Authorization: Bearer <token>
You can create and manage your Personal Access Tokens here: https://immoteur.com/dashboard/settings status: current: available
Corps
- Option 1
- Option 2
Public issue-report request. issueKind controls the conditional rules:
datarequires at least oneissueFacetsvalue and cannot setclusteringActionclusteringrequiresclusteringActionand at least two explicit targets acrosspropertyIdsandclassifiedIdsotherrequires a non-blankcommentand cannot setissueFacetsorclusteringAction
Provide at least one target overall through propertyIds or classifiedIds.
Explicit property targets identified by UUID.
1clustering, data, other Explicit classified targets identified by UUID.
Required when issueKind is clustering.
merge, split Optional details for data, required details for other, and optional details for clustering.
4000Required when issueKind is data.
1attributes, contact, description, link, location, media, other, price, publisher, status