curl --request GET \
--url https://api.staging.payrails.io/merchant/actions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.staging.payrails.io/merchant/actions"
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/merchant/actions', 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/merchant/actions",
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/merchant/actions"
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/merchant/actions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.staging.payrails.io/merchant/actions")
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{
"links": {
"self": "https://api.staging.payrails.io/merchant/actions?page[after]=qf7pnbyfrr&page[size]=2",
"prev": "https://api.staging.payrails.io/merchant/actions?page[before]=hbe66nh8i8&page[size]=2",
"next": "https://api.staging.payrails.io/merchant/actions?page[after]=xk2h55zsy5&page[size]=2",
"first": "https://api.staging.payrails.io/merchant/actions?page[size]=2",
"last": "https://api.staging.payrails.io/merchant/actions?page[before]=9wkueqcavq&page[size]=2"
},
"results": [
{
"id": "b8fe6271-5d71-4d28-b8e8-89e64acc0c49",
"createdAt": "2022-02-03T14:38:40.557Z",
"updatedAt": "2022-02-03T14:38:40.557Z",
"workflowExecutionId": "17f12479-3dad-4493-82be-994ce3037887",
"workflowCode": "payment-acceptance",
"workspaceId": "17f12479-3dad-4493-82be-994ce3037887",
"type": "authorize",
"status": "success"
},
{
"id": "17f12479-3dad-4493-82be-994ce3037887",
"createdAt": "2022-02-03T14:38:40.557Z",
"updatedAt": "2022-02-03T14:38:40.557Z",
"workflowExecutionId": "17f12479-3dad-4493-82be-994ce3037887",
"workflowCode": "payment-acceptance",
"workspaceId": "17f12479-3dad-4493-82be-994ce3037887",
"type": "capture",
"status": "created"
}
]
}{
"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"
}
]
}Search & list actions
Fetch a list of merchant workflows actions for the given query parameters.
curl --request GET \
--url https://api.staging.payrails.io/merchant/actions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.staging.payrails.io/merchant/actions"
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/merchant/actions', 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/merchant/actions",
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/merchant/actions"
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/merchant/actions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.staging.payrails.io/merchant/actions")
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{
"links": {
"self": "https://api.staging.payrails.io/merchant/actions?page[after]=qf7pnbyfrr&page[size]=2",
"prev": "https://api.staging.payrails.io/merchant/actions?page[before]=hbe66nh8i8&page[size]=2",
"next": "https://api.staging.payrails.io/merchant/actions?page[after]=xk2h55zsy5&page[size]=2",
"first": "https://api.staging.payrails.io/merchant/actions?page[size]=2",
"last": "https://api.staging.payrails.io/merchant/actions?page[before]=9wkueqcavq&page[size]=2"
},
"results": [
{
"id": "b8fe6271-5d71-4d28-b8e8-89e64acc0c49",
"createdAt": "2022-02-03T14:38:40.557Z",
"updatedAt": "2022-02-03T14:38:40.557Z",
"workflowExecutionId": "17f12479-3dad-4493-82be-994ce3037887",
"workflowCode": "payment-acceptance",
"workspaceId": "17f12479-3dad-4493-82be-994ce3037887",
"type": "authorize",
"status": "success"
},
{
"id": "17f12479-3dad-4493-82be-994ce3037887",
"createdAt": "2022-02-03T14:38:40.557Z",
"updatedAt": "2022-02-03T14:38:40.557Z",
"workflowExecutionId": "17f12479-3dad-4493-82be-994ce3037887",
"workflowCode": "payment-acceptance",
"workspaceId": "17f12479-3dad-4493-82be-994ce3037887",
"type": "capture",
"status": "created"
}
]
}{
"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.
Query Parameters
Filter by workflow execution id.
Filter by workflow code.
Filter by Workspace ID.
Filter by type. Value of Action Types enumeration.
authorize, capture, cancel, confirm, crateInstrument, fraudScore, fraudUpdate, lookup, payout, refund, startPaymentSession Filter by status. Value of Action Status enumeration.
created, failed, success Filter by error code of last failed execution event.
Search collection items after that cursor. Cursor for paging results.
Search collection items before that cursor. Cursor for paging results.
Length of the collection to search.
Response
Success.
Hide child attributes
Hide child attributes
Unique identifier of the Workflow Execution that this action belongs to.
Workflow code.
Unique identifier of the Workspace that this action belongs to.
Value of Action Types enumeration.
authorize, capture, cancel, confirm, crateInstrument, fraudScore, fraudUpdate, lookup, payout, refund, startPaymentSession Value of Action Status enumeration.
created, failed, success Unique identifier of the Action.
Date of creation of the Action.
Last update of the Action.
Error code of last failed execution event.