Abrir una disputa (ARCO)
curl --request POST \
--url https://api.qbank.cl/platform/v1/qscore/subjects/{docID}/disputes \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"record_source": "res_chile",
"record_ref": "BOL-2026-04512",
"reason": "The reported default was paid in full on 2026-07-30.",
"report_id": "3f5c9f2d-7d21-4b8c-9a2d-2d5f6a1b8c01"
}
'import requests
url = "https://api.qbank.cl/platform/v1/qscore/subjects/{docID}/disputes"
payload = {
"record_source": "res_chile",
"record_ref": "BOL-2026-04512",
"reason": "The reported default was paid in full on 2026-07-30.",
"report_id": "3f5c9f2d-7d21-4b8c-9a2d-2d5f6a1b8c01"
}
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({
record_source: 'res_chile',
record_ref: 'BOL-2026-04512',
reason: 'The reported default was paid in full on 2026-07-30.',
report_id: '3f5c9f2d-7d21-4b8c-9a2d-2d5f6a1b8c01'
})
};
fetch('https://api.qbank.cl/platform/v1/qscore/subjects/{docID}/disputes', 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.qbank.cl/platform/v1/qscore/subjects/{docID}/disputes",
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([
'record_source' => 'res_chile',
'record_ref' => 'BOL-2026-04512',
'reason' => 'The reported default was paid in full on 2026-07-30.',
'report_id' => '3f5c9f2d-7d21-4b8c-9a2d-2d5f6a1b8c01'
]),
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.qbank.cl/platform/v1/qscore/subjects/{docID}/disputes"
payload := strings.NewReader("{\n \"record_source\": \"res_chile\",\n \"record_ref\": \"BOL-2026-04512\",\n \"reason\": \"The reported default was paid in full on 2026-07-30.\",\n \"report_id\": \"3f5c9f2d-7d21-4b8c-9a2d-2d5f6a1b8c01\"\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.qbank.cl/platform/v1/qscore/subjects/{docID}/disputes")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"record_source\": \"res_chile\",\n \"record_ref\": \"BOL-2026-04512\",\n \"reason\": \"The reported default was paid in full on 2026-07-30.\",\n \"report_id\": \"3f5c9f2d-7d21-4b8c-9a2d-2d5f6a1b8c01\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.qbank.cl/platform/v1/qscore/subjects/{docID}/disputes")
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 \"record_source\": \"res_chile\",\n \"record_ref\": \"BOL-2026-04512\",\n \"reason\": \"The reported default was paid in full on 2026-07-30.\",\n \"report_id\": \"3f5c9f2d-7d21-4b8c-9a2d-2d5f6a1b8c01\"\n}"
response = http.request(request)
puts response.read_body{
"dispute_id": "6a1c4e92-3b7d-4f51-9e82-1c7f3a5d8b64",
"subject_id": "8f5fb0d2-1d45-4a0e-9d5c-2d39f2b7a112",
"report_id": "3f5c9f2d-7d21-4b8c-9a2d-2d5f6a1b8c01",
"record_source": "res_chile",
"record_ref": "BOL-2026-04512",
"reason": "The reported default was paid in full on 2026-07-30.",
"status": "open",
"created_by": "5f9d2c10-3e8b-4a1d-9c7a-1d2f3a4b5c6d",
"created_at": "2026-08-08T16:11:40Z"
}{
"error": "invalid_payload",
"message": "record_source and reason are required"
}Abrir una disputa (ARCO)
Abre una disputa ARCO sobre un registro específico de un sujeto
(p. ej. una deuda que no le pertenece o que ya fue pagada), en cumplimiento
de los derechos de rectificación del titular de los datos. El sujeto ya debe
existir (lo crea el primer informe). record_source identifica la familia de
fuente de datos del registro disputado y record_ref el registro dentro de
esa fuente (ambos aparecen en el informe como source / ref de cada
tradeline o evento adverso). La disputa nace en estado open y su ciclo de
vida lo gestiona tu organización.
POST
/
v1
/
qscore
/
subjects
/
{docID}
/
disputes
Abrir una disputa (ARCO)
curl --request POST \
--url https://api.qbank.cl/platform/v1/qscore/subjects/{docID}/disputes \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"record_source": "res_chile",
"record_ref": "BOL-2026-04512",
"reason": "The reported default was paid in full on 2026-07-30.",
"report_id": "3f5c9f2d-7d21-4b8c-9a2d-2d5f6a1b8c01"
}
'import requests
url = "https://api.qbank.cl/platform/v1/qscore/subjects/{docID}/disputes"
payload = {
"record_source": "res_chile",
"record_ref": "BOL-2026-04512",
"reason": "The reported default was paid in full on 2026-07-30.",
"report_id": "3f5c9f2d-7d21-4b8c-9a2d-2d5f6a1b8c01"
}
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({
record_source: 'res_chile',
record_ref: 'BOL-2026-04512',
reason: 'The reported default was paid in full on 2026-07-30.',
report_id: '3f5c9f2d-7d21-4b8c-9a2d-2d5f6a1b8c01'
})
};
fetch('https://api.qbank.cl/platform/v1/qscore/subjects/{docID}/disputes', 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.qbank.cl/platform/v1/qscore/subjects/{docID}/disputes",
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([
'record_source' => 'res_chile',
'record_ref' => 'BOL-2026-04512',
'reason' => 'The reported default was paid in full on 2026-07-30.',
'report_id' => '3f5c9f2d-7d21-4b8c-9a2d-2d5f6a1b8c01'
]),
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.qbank.cl/platform/v1/qscore/subjects/{docID}/disputes"
payload := strings.NewReader("{\n \"record_source\": \"res_chile\",\n \"record_ref\": \"BOL-2026-04512\",\n \"reason\": \"The reported default was paid in full on 2026-07-30.\",\n \"report_id\": \"3f5c9f2d-7d21-4b8c-9a2d-2d5f6a1b8c01\"\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.qbank.cl/platform/v1/qscore/subjects/{docID}/disputes")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"record_source\": \"res_chile\",\n \"record_ref\": \"BOL-2026-04512\",\n \"reason\": \"The reported default was paid in full on 2026-07-30.\",\n \"report_id\": \"3f5c9f2d-7d21-4b8c-9a2d-2d5f6a1b8c01\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.qbank.cl/platform/v1/qscore/subjects/{docID}/disputes")
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 \"record_source\": \"res_chile\",\n \"record_ref\": \"BOL-2026-04512\",\n \"reason\": \"The reported default was paid in full on 2026-07-30.\",\n \"report_id\": \"3f5c9f2d-7d21-4b8c-9a2d-2d5f6a1b8c01\"\n}"
response = http.request(request)
puts response.read_body{
"dispute_id": "6a1c4e92-3b7d-4f51-9e82-1c7f3a5d8b64",
"subject_id": "8f5fb0d2-1d45-4a0e-9d5c-2d39f2b7a112",
"report_id": "3f5c9f2d-7d21-4b8c-9a2d-2d5f6a1b8c01",
"record_source": "res_chile",
"record_ref": "BOL-2026-04512",
"reason": "The reported default was paid in full on 2026-07-30.",
"status": "open",
"created_by": "5f9d2c10-3e8b-4a1d-9c7a-1d2f3a4b5c6d",
"created_at": "2026-08-08T16:11:40Z"
}{
"error": "invalid_payload",
"message": "record_source and reason are required"
}Autorizaciones
JWT de sesión (de register/login) o llave de API (pk_...).
X-API-Key: <token> se acepta como header alternativo.
Parámetros de ruta
Parámetros de consulta
País ISO del documento (CL por defecto).
Respuesta
Disputa creada en estado open.
Última modificación el 22 de agosto de 2026
⌘I