List Enrollment Descriptors
curl --request GET \
--url https://api.staging.payrails.io/dispute/disputes/alert-enrollments/{enrollmentId}/descriptors \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.staging.payrails.io/dispute/disputes/alert-enrollments/{enrollmentId}/descriptors"
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/dispute/disputes/alert-enrollments/{enrollmentId}/descriptors', 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/dispute/disputes/alert-enrollments/{enrollmentId}/descriptors",
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/dispute/disputes/alert-enrollments/{enrollmentId}/descriptors"
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/dispute/disputes/alert-enrollments/{enrollmentId}/descriptors")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.staging.payrails.io/dispute/disputes/alert-enrollments/{enrollmentId}/descriptors")
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": "<string>",
"prev": "<string>",
"next": "<string>",
"first": "<string>",
"last": "<string>"
},
"results": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"enrollmentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"descriptor": "<string>",
"type": "Ethoca",
"status": "Pending",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"bankMid": "<string>",
"externalReference": "<string>",
"unenrolRequestedAt": "2023-11-07T05:31:56Z",
"updatedBy": "<string>",
"lastSyncedAt": "2023-11-07T05:31:56Z"
}
]
}{
"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.rate-limit",
"detail": "Too many requests",
"docUrl": "https://docs.payrails.com/docs/resources/error-codes#requestrate-limit"
}
]
}List Enrollment Descriptors
List the descriptors associated with a dispute alert enrollment.
GET
https://api.staging.payrails.io
/
dispute
/
disputes
/
alert-enrollments
/
{enrollmentId}
/
descriptors
List Enrollment Descriptors
curl --request GET \
--url https://api.staging.payrails.io/dispute/disputes/alert-enrollments/{enrollmentId}/descriptors \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.staging.payrails.io/dispute/disputes/alert-enrollments/{enrollmentId}/descriptors"
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/dispute/disputes/alert-enrollments/{enrollmentId}/descriptors', 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/dispute/disputes/alert-enrollments/{enrollmentId}/descriptors",
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/dispute/disputes/alert-enrollments/{enrollmentId}/descriptors"
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/dispute/disputes/alert-enrollments/{enrollmentId}/descriptors")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.staging.payrails.io/dispute/disputes/alert-enrollments/{enrollmentId}/descriptors")
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": "<string>",
"prev": "<string>",
"next": "<string>",
"first": "<string>",
"last": "<string>"
},
"results": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"enrollmentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"descriptor": "<string>",
"type": "Ethoca",
"status": "Pending",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"bankMid": "<string>",
"externalReference": "<string>",
"unenrolRequestedAt": "2023-11-07T05:31:56Z",
"updatedBy": "<string>",
"lastSyncedAt": "2023-11-07T05:31:56Z"
}
]
}{
"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.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
The enrollment ID.
Response
Success.
Hide child attributes
Hide child attributes
The merchant descriptor text, stored upper-case and trimmed.
The descriptor's network program.
Example:
"Ethoca"
The provider-reported enrollment status for this descriptor.
Available options:
Pending, Processing, InReview, Enrolled, Rejected, Disabled, Surpressed The provider's identifier for this descriptor, populated by the sync.
Last modified on October 1, 2026