curl --request GET \
--url https://api.fintoc.com/v2/events/{id} \
--header 'Authorization: <api-key>'import requests
url = "https://api.fintoc.com/v2/events/{id}"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.fintoc.com/v2/events/{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://api.fintoc.com/v2/events/{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 => [
"Authorization: <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://api.fintoc.com/v2/events/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<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://api.fintoc.com/v2/events/{id}")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fintoc.com/v2/events/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "evt_0ujsswThIGTUYm2K8FjOOfXtY1K",
"object": "event",
"created_at": "2026-01-15T14:30:00.000Z",
"data": {
"id": "tr_0ujsswThIGTUYm2K8FjOOfXtY1K",
"object": "transfer",
"amount": 5000,
"currency": "clp",
"status": "succeeded"
},
"mode": "live",
"type": "transfer.outbound.succeeded"
}{
"error": {
"type": "authentication_error",
"code": "invalid_api_key",
"message": "Invalid API Key: invalid-*oken"
}
}{
"error": {
"type": "invalid_request_error",
"code": "missing_resource",
"param": "id",
"message": "No such event: evt_0ujsswThIGTUYm2K8FjOOfXtY1K",
"doc_url": "https://docs.fintoc.com/reference/errors"
}
}Get an event
Returns a single event by its ID. The event’s data is the same payload Fintoc sends to your webhook endpoints. Events are scoped to the mode of the API key you authenticate with, so an event from the other mode returns a 404 Not Found error.
curl --request GET \
--url https://api.fintoc.com/v2/events/{id} \
--header 'Authorization: <api-key>'import requests
url = "https://api.fintoc.com/v2/events/{id}"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.fintoc.com/v2/events/{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://api.fintoc.com/v2/events/{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 => [
"Authorization: <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://api.fintoc.com/v2/events/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<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://api.fintoc.com/v2/events/{id}")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fintoc.com/v2/events/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "evt_0ujsswThIGTUYm2K8FjOOfXtY1K",
"object": "event",
"created_at": "2026-01-15T14:30:00.000Z",
"data": {
"id": "tr_0ujsswThIGTUYm2K8FjOOfXtY1K",
"object": "transfer",
"amount": 5000,
"currency": "clp",
"status": "succeeded"
},
"mode": "live",
"type": "transfer.outbound.succeeded"
}{
"error": {
"type": "authentication_error",
"code": "invalid_api_key",
"message": "Invalid API Key: invalid-*oken"
}
}{
"error": {
"type": "invalid_request_error",
"code": "missing_resource",
"param": "id",
"message": "No such event: evt_0ujsswThIGTUYm2K8FjOOfXtY1K",
"doc_url": "https://docs.fintoc.com/reference/errors"
}
}Authorizations
Path Parameters
Unique identifier for the event to get (for example evt_0ujsswThIGTUYm2K8FjOOfXtY1K).
Response
The event with the given id.
Unique identifier of the event.
"evt_0ujsswThIGTUYm2K8FjOOfXtY1K"
Type of the object. Always event.
Time when the event was created, as an ISO 8601 datetime in UTC with millisecond precision.
"2026-01-15T14:30:00.000Z"
Resource the event is about, in the same shape the API returns the resource. The resource depends on type: a transfer.outbound.succeeded event carries a transfer, and a payment_intent.succeeded event carries a payment intent. The invoice.upcoming event is the exception: it carries a preview of an invoice Fintoc has not created yet, so id and created_at are null and you cannot fetch the invoice through the API.
{
"id": "tr_0ujsswThIGTUYm2K8FjOOfXtY1K",
"object": "transfer",
"amount": 5000,
"currency": "clp",
"status": "succeeded"
}
Whether the event happened in live or in test mode.
live, test "live"
The kind of event that happened. transfer.inbound.reversed is available only in Chile.
link.credentials_changed, link.refresh_intent.succeeded, link.refresh_intent.failed, account.refresh_intent.succeeded, account.refresh_intent.failed, account.refresh_intent.rejected, payment_intent.succeeded, payment_intent.rejected, payment_intent.failed, payment_intent.pending, payment_intent.expired, subscription.activated, subscription.canceled, subscription.payment_method_updated, subscription.payment_method_update_failed, subscription_intent.succeeded, subscription_intent.rejected, subscription_intent.failed, charge.succeeded, charge.failed, account.refresh_intent.movements_removed, account.refresh_intent.movements_modified, refund.succeeded, refund.failed, refund.in_progress, payout.created, payout.canceled, payout.succeeded, payout.returned, checkout_session.finished, checkout_session.expired, transfer.inbound.succeeded, transfer.outbound.succeeded, transfer.outbound.failed, transfer.outbound.returned, transfer.inbound.returned, transfer.inbound.return_failed, account_number.deleted, account_verification.succeeded, account_verification.failed, transfer.inbound.rejected, transfer.inbound.reversed, payment_method.activated, payment_method.canceled, invoice.created, invoice.finalized, invoice.paid, invoice.payment_created, invoice.payment_failed, invoice.payment_succeeded, invoice.upcoming, invoice.voided, dispute.waiting_documentation, dispute.in_review, dispute.won, dispute.lost, dispute.expired, entity.onboarding.approved, entity.onboarding.rejected "transfer.outbound.succeeded"
Was this page helpful?