curl --request GET \
--url https://api.staging.payrails.io/payment/frauds/{fraudId}/operations/{fraudOperationId}/logs \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.staging.payrails.io/payment/frauds/{fraudId}/operations/{fraudOperationId}/logs"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.staging.payrails.io/payment/frauds/{fraudId}/operations/{fraudOperationId}/logs', 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.staging.payrails.io/payment/frauds/{fraudId}/operations/{fraudOperationId}/logs",
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: 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://api.staging.payrails.io/payment/frauds/{fraudId}/operations/{fraudOperationId}/logs"
req, _ := http.NewRequest("GET", 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.get("https://api.staging.payrails.io/payment/frauds/{fraudId}/operations/{fraudOperationId}/logs")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.staging.payrails.io/payment/frauds/{fraudId}/operations/{fraudOperationId}/logs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"results": [
{
"id": "0ddfc23a-d4c2-4d63-a1ae-b751595ee886",
"createdAt": "2022-04-22T17:53:36.814Z",
"operationId": "ca4149e4-4f94-4f52-a2b3-387e7daaaed5",
"input": "{\"id\":\"7259709193376209003955\",\"instrument\":{\"card\":{\"number\":\"****\"}},\"shipping\":{\"address\":\"Straßburger Straße 1\",\"country\":\"DE\",\"locality\":\"Berlin\",\"postalCode\":\"10405\"},\"lineItems\":[{\"unitPrice\":\"22.00\",\"quantity\":1,\"productSKU\":\"1234\",\"productName\":\"Beer\",\"productCode\":\"default\"}],\"billing\":{\"address\":\"Straßburger Straße 1\",\"country\":\"DE\",\"locality\":\"Berlin\",\"firstName\":\"Joe\",\"lastName\":\"David\",\"postalCode\":\"10405\",\"email\":\"review@visa.com\"}},\"merchantDefinedInformation\":[{\"key\":\"key\",\"value\":\"value\"}]}",
"output": "{\"id\":\"7259709193376209003955\",\"decision\":\"REVIEW\",\"message\":\"The order needs to be reviewed\",\"score\":\"93\",\"time\":\"2022-04-22T17:53:36.814Z\"}",
"workspaceId": "7f9f1882-a103-408d-ac96-46a7021e537a",
"providerLatency": "201.076ms",
"totalLatency": "234.4291ms"
}
]
}{
"errors": [
{
"id": "a24bc325-3929-4d9d-9c08-b3aa532685b7",
"code": "request.malformed",
"detail": "The request has malformed syntax",
"docUrl": "https://docs.payrails.com/docs/resources/error-codes#requestmalformed"
}
]
}{
"errors": [
{
"id": "a24bc325-3929-4d9d-9c08-b3aa532685b7",
"code": "request.unauthorized",
"detail": "The request lacks necessary credentials to perform the specified action",
"docUrl": "https://docs.payrails.com/docs/resources/error-codes#requestunauthorized"
}
]
}{
"errors": [
{
"id": "e7db22b3-914e-4975-928e-9edfb0885bea",
"code": "request.forbidden",
"detail": "The request credentials lack the required permissions to perform the specified action",
"docUrl": "https://docs.payrails.com/docs/resources/error-codes#requestforbidden"
}
]
}{
"errors": [
{
"id": "a24bc325-3929-4d9d-9c08-b3aa532685b7",
"code": "request.not-found",
"detail": "The requested resource was not found",
"docUrl": "https://docs.payrails.com/docs/resources/error-codes#requestnot-found"
}
]
}{
"errors": [
{
"id": "a24bc325-3929-4d9d-9c08-b3aa532685b7",
"code": "request.rate-limit",
"detail": "Too many requests",
"docUrl": "https://docs.payrails.com/docs/resources/error-codes#requestrate-limit"
}
]
}Get Fraud Operation Logs by Fraud Operation ID
Find fraud operation logs from a given operationID.
curl --request GET \
--url https://api.staging.payrails.io/payment/frauds/{fraudId}/operations/{fraudOperationId}/logs \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.staging.payrails.io/payment/frauds/{fraudId}/operations/{fraudOperationId}/logs"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.staging.payrails.io/payment/frauds/{fraudId}/operations/{fraudOperationId}/logs', 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.staging.payrails.io/payment/frauds/{fraudId}/operations/{fraudOperationId}/logs",
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: 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://api.staging.payrails.io/payment/frauds/{fraudId}/operations/{fraudOperationId}/logs"
req, _ := http.NewRequest("GET", 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.get("https://api.staging.payrails.io/payment/frauds/{fraudId}/operations/{fraudOperationId}/logs")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.staging.payrails.io/payment/frauds/{fraudId}/operations/{fraudOperationId}/logs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"results": [
{
"id": "0ddfc23a-d4c2-4d63-a1ae-b751595ee886",
"createdAt": "2022-04-22T17:53:36.814Z",
"operationId": "ca4149e4-4f94-4f52-a2b3-387e7daaaed5",
"input": "{\"id\":\"7259709193376209003955\",\"instrument\":{\"card\":{\"number\":\"****\"}},\"shipping\":{\"address\":\"Straßburger Straße 1\",\"country\":\"DE\",\"locality\":\"Berlin\",\"postalCode\":\"10405\"},\"lineItems\":[{\"unitPrice\":\"22.00\",\"quantity\":1,\"productSKU\":\"1234\",\"productName\":\"Beer\",\"productCode\":\"default\"}],\"billing\":{\"address\":\"Straßburger Straße 1\",\"country\":\"DE\",\"locality\":\"Berlin\",\"firstName\":\"Joe\",\"lastName\":\"David\",\"postalCode\":\"10405\",\"email\":\"review@visa.com\"}},\"merchantDefinedInformation\":[{\"key\":\"key\",\"value\":\"value\"}]}",
"output": "{\"id\":\"7259709193376209003955\",\"decision\":\"REVIEW\",\"message\":\"The order needs to be reviewed\",\"score\":\"93\",\"time\":\"2022-04-22T17:53:36.814Z\"}",
"workspaceId": "7f9f1882-a103-408d-ac96-46a7021e537a",
"providerLatency": "201.076ms",
"totalLatency": "234.4291ms"
}
]
}{
"errors": [
{
"id": "a24bc325-3929-4d9d-9c08-b3aa532685b7",
"code": "request.malformed",
"detail": "The request has malformed syntax",
"docUrl": "https://docs.payrails.com/docs/resources/error-codes#requestmalformed"
}
]
}{
"errors": [
{
"id": "a24bc325-3929-4d9d-9c08-b3aa532685b7",
"code": "request.unauthorized",
"detail": "The request lacks necessary credentials to perform the specified action",
"docUrl": "https://docs.payrails.com/docs/resources/error-codes#requestunauthorized"
}
]
}{
"errors": [
{
"id": "e7db22b3-914e-4975-928e-9edfb0885bea",
"code": "request.forbidden",
"detail": "The request credentials lack the required permissions to perform the specified action",
"docUrl": "https://docs.payrails.com/docs/resources/error-codes#requestforbidden"
}
]
}{
"errors": [
{
"id": "a24bc325-3929-4d9d-9c08-b3aa532685b7",
"code": "request.not-found",
"detail": "The requested resource was not found",
"docUrl": "https://docs.payrails.com/docs/resources/error-codes#requestnot-found"
}
]
}{
"errors": [
{
"id": "a24bc325-3929-4d9d-9c08-b3aa532685b7",
"code": "request.rate-limit",
"detail": "Too many requests",
"docUrl": "https://docs.payrails.com/docs/resources/error-codes#requestrate-limit"
}
]
}Authorizations
You can use an OAuth2 JWT bearer token in the Authorization header of your API requests for supported endpoints: Authorization: Bearer <YOUR_JWT_HERE>.
These tokens are valid for 10 minutes and can be requested via the access token endpoint endpoint.
Path Parameters
Identifier of the resource in Payrails.
Identifier of the resource in Payrails.
Query Parameters
Filter by Workspace ID.
Response
Success.
Hide child attributes
Hide child attributes
Unique identifier of the Operation Log in Payrails.
Exact date and time when the Operation Log was created in Payrails. Possibly differs slightly from the date in the provider.
Unique identifier of the Operation that this Log belongs to in Payrails.
Original request object sent to the Provider.
Original response object received from the Provider.
Workspace ID that the workflow configuration belongs to.
Latency of the operation on the provider side.
Total latency of the operation.