cURL
curl --request POST \
--url https://www.pierre.finance/tools/api/manual-update \
--header 'Authorization: Bearer <token>'import requests
url = "https://www.pierre.finance/tools/api/manual-update"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://www.pierre.finance/tools/api/manual-update', 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://www.pierre.finance/tools/api/manual-update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://www.pierre.finance/tools/api/manual-update"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://www.pierre.finance/tools/api/manual-update")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.pierre.finance/tools/api/manual-update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Accounts and transactions update process completed",
"details": {
"totalItems": 5,
"completed": {
"count": 3,
"items": [
{
"itemId": "item_123",
"connectorName": "Nubank",
"status": "UPDATED",
"executionStatus": "SUCCESS"
}
]
},
"needsUserInput": {
"count": 1,
"items": [
{
"itemId": "item_789",
"connectorName": "Bradesco",
"status": "WAITING_USER_INPUT",
"executionStatus": "SUCCESS"
}
]
},
"loginErrors": {
"count": 0,
"items": []
},
"outdated": {
"count": 0,
"items": []
},
"partialSuccess": {
"count": 0,
"items": []
},
"inProgress": {
"count": 1,
"items": [
{
"itemId": "item_456",
"connectorName": "Itau",
"status": "UPDATING",
"executionStatus": "SUCCESS"
}
]
},
"failed": {
"count": 1,
"items": [
{
"error": "Connection timeout"
}
]
}
},
"timestamp": "2024-01-15T10:30:00Z"
}
Synchronization
Manual Update
Synchronizes all connected financial accounts and transactions with the latest data from banks and credit card providers. Requires API key for authentication and active subscription.
POST
/
tools
/
api
/
manual-update
cURL
curl --request POST \
--url https://www.pierre.finance/tools/api/manual-update \
--header 'Authorization: Bearer <token>'import requests
url = "https://www.pierre.finance/tools/api/manual-update"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://www.pierre.finance/tools/api/manual-update', 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://www.pierre.finance/tools/api/manual-update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://www.pierre.finance/tools/api/manual-update"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://www.pierre.finance/tools/api/manual-update")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.pierre.finance/tools/api/manual-update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Accounts and transactions update process completed",
"details": {
"totalItems": 5,
"completed": {
"count": 3,
"items": [
{
"itemId": "item_123",
"connectorName": "Nubank",
"status": "UPDATED",
"executionStatus": "SUCCESS"
}
]
},
"needsUserInput": {
"count": 1,
"items": [
{
"itemId": "item_789",
"connectorName": "Bradesco",
"status": "WAITING_USER_INPUT",
"executionStatus": "SUCCESS"
}
]
},
"loginErrors": {
"count": 0,
"items": []
},
"outdated": {
"count": 0,
"items": []
},
"partialSuccess": {
"count": 0,
"items": []
},
"inProgress": {
"count": 1,
"items": [
{
"itemId": "item_456",
"connectorName": "Itau",
"status": "UPDATING",
"executionStatus": "SUCCESS"
}
]
},
"failed": {
"count": 1,
"items": [
{
"error": "Connection timeout"
}
]
}
},
"timestamp": "2024-01-15T10:30:00Z"
}
Este endpoint força uma sincronização manual dos dados financeiros e retorna detalhes abrangentes sobre o status de cada conta.
Descrição
O endpointPOST /tools/api/manual-update força uma sincronização manual de todos os dados financeiros conectados, buscando as informações mais recentes das instituições financeiras. O endpoint processa cada conta individualmente e retorna um relatório detalhado categorizando os resultados por status de sincronização (completos, em progresso, que precisam de interação do usuário, com erros de login, etc.).
Autenticação
Este endpoint requer autenticação via Bearer token e assinatura ativa.string
required
Bearer token com a API key do usuário. Formato:
Bearer sk-your-api-key-hereParâmetros de Query
Corpo da Requisição
Este endpoint não requer corpo de requisição.Resposta
Sucesso (200)
{
"success": true,
"message": "Accounts and transactions update process completed",
"details": {
"totalItems": 5,
"completed": {
"count": 3,
"items": [
{
"itemId": "item_123",
"connectorName": "Nubank",
"status": "UPDATED",
"executionStatus": "SUCCESS"
}
]
},
"needsUserInput": {
"count": 1,
"items": [
{
"itemId": "item_789",
"connectorName": "Bradesco",
"status": "WAITING_USER_INPUT",
"executionStatus": "SUCCESS"
}
]
},
"loginErrors": {
"count": 0,
"items": []
},
"outdated": {
"count": 0,
"items": []
},
"partialSuccess": {
"count": 0,
"items": []
},
"inProgress": {
"count": 1,
"items": [
{
"itemId": "item_456",
"connectorName": "Itau",
"status": "UPDATING",
"executionStatus": "SUCCESS"
}
]
},
"failed": {
"count": 1,
"items": [
{
"error": "Connection timeout"
}
]
}
},
"timestamp": "2024-01-15T10:30:00Z"
}
Erro - Sem Contas Conectadas (400)
{
"error": "No connected accounts found",
"message": "Please connect your financial accounts first",
"nextSteps": [
"Visit https://pierre.finance/connect to connect your financial accounts",
"Make sure your accounts are properly connected and synced"
]
}
Erro de Autenticação (401)
{
"error": "Invalid or inactive API key",
"message": "Please check your API key and try again",
"type": "invalid_api_key"
}
Campos da Resposta
boolean
required
Indica se a requisição foi bem-sucedida
string
required
Mensagem de confirmação da sincronização
object
required
Detalhes do processo de sincronização
Show ManualUpdateDetails
Show ManualUpdateDetails
number
Total de itens processados
object
Itens completados com sucesso (status UPDATED + executionStatus SUCCESS)
object
Itens em processo de sincronização (status UPDATING ou MERGING)
object
Itens que necessitam de interação do usuário (status WAITING_USER_INPUT ou WAITING_USER_ACTION)
object
Itens com erro de autenticação (status LOGIN_ERROR)
object
Itens desatualizados (status OUTDATED)
object
Itens com sucesso parcial (executionStatus PARTIAL_SUCCESS)
object
Itens que falharam na sincronização (executionStatus ERROR + erros de conexão)
string
required
Timestamp da requisição em formato ISO 8601
Exemplos de Uso
cURL
# Forçar sincronização manual
curl -X POST 'https://www.pierre.finance/tools/api/manual-update' \
-H 'Authorization: Bearer sk-your-api-key-here'
JavaScript
const API_KEY = 'sk-your-api-key-here';
const BASE_URL = 'https://www.pierre.finance/tools/api';
async function manualUpdate() {
const response = await fetch(`${BASE_URL}/manual-update`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json'
}
});
return await response.json();
}
// Uso
manualUpdate().then(result => {
console.log('Sincronização iniciada:', result.message);
});
Python
import requests
API_KEY = 'sk-your-api-key-here'
BASE_URL = 'https://www.pierre.finance/tools/api'
headers = {
'Authorization': f'Bearer {API_KEY}',
'Content-Type': 'application/json'
}
def manual_update():
response = requests.post(f'{BASE_URL}/manual-update', headers=headers)
return response.json()
# Uso
result = manual_update()
print('Sincronização iniciada:', result['message'])
Valores de Status
Os itens na resposta podem ter os seguintes status:Status de Sincronização
UPDATED: Item foi sincronizado com sucessoUPDATING: Item está sendo sincronizadoMERGING: Item está sendo processado/mescladoWAITING_USER_INPUT: Aguardando interação do usuárioWAITING_USER_ACTION: Aguardando ação do usuárioLOGIN_ERROR: Erro de autenticação com a instituiçãoOUTDATED: Item desatualizado
Status de Execução
SUCCESS: Operação executada com sucessoPARTIAL_SUCCESS: Operação executada parcialmenteERROR: Erro durante a execução
Códigos de Status
200: Sucesso - Sincronização iniciada400: Erro - Nenhuma conta conectada encontrada401: Erro de autenticação ou assinatura500: Erro interno do servidor
Quando Usar
Execute este endpoint quando:- O usuário pedir para “atualizar meus dados”
- O usuário pedir para “sincronizar minhas contas”
- O usuário mencionar que os dados parecem desatualizados
- O usuário pedir sobre transações recentes que não aparecem
- O usuário quiser garantir que tem as informações mais atuais
- O usuário reportar problemas com dados incompletos ou desatualizados
- Você precisar de um relatório detalhado do status de todas as contas conectadas
A sincronização manual processa cada conta individualmente. Algumas contas podem ser sincronizadas imediatamente, enquanto outras podem continuar processando em background.
Este endpoint fornece um relatório detalhado do status de cada conta, permitindo identificar exatamente quais contas foram sincronizadas com sucesso e quais requerem ação adicional.
Authorizations
API key in Bearer token format. Example: Bearer sk-your-api-key-here
Response
Manual sync initiated
Indica se a requisição foi bem-sucedida
Example:
true
Mensagem de confirmação da sincronização
Example:
"Accounts and transactions update process completed"
Detalhes do processo de sincronização categorizados por status
Timestamp da requisição em formato ISO 8601
Example:
"2024-01-15T10:30:00Z"

