curl --request PUT \
--url https://api.staging.payrails.io/dispute/disputes/{disputeId}/evidences/representment-sections \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-idempotency-key: <x-idempotency-key>' \
--data '
{
"sections": [
{
"position": 1,
"indent": 1,
"textSectionTitle": "<string>",
"textSectionContent": "<string>",
"pictureSectionEvidenceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pictureSectionLabel": "<string>"
}
]
}
'import requests
url = "https://api.staging.payrails.io/dispute/disputes/{disputeId}/evidences/representment-sections"
payload = { "sections": [
{
"position": 1,
"indent": 1,
"textSectionTitle": "<string>",
"textSectionContent": "<string>",
"pictureSectionEvidenceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pictureSectionLabel": "<string>"
}
] }
headers = {
"x-idempotency-key": "<x-idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
'x-idempotency-key': '<x-idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
sections: [
{
position: 1,
indent: 1,
textSectionTitle: '<string>',
textSectionContent: '<string>',
pictureSectionEvidenceId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
pictureSectionLabel: '<string>'
}
]
})
};
fetch('https://api.staging.payrails.io/dispute/disputes/{disputeId}/evidences/representment-sections', 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/{disputeId}/evidences/representment-sections",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'sections' => [
[
'position' => 1,
'indent' => 1,
'textSectionTitle' => '<string>',
'textSectionContent' => '<string>',
'pictureSectionEvidenceId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'pictureSectionLabel' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-idempotency-key: <x-idempotency-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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.staging.payrails.io/dispute/disputes/{disputeId}/evidences/representment-sections"
payload := strings.NewReader("{\n \"sections\": [\n {\n \"position\": 1,\n \"indent\": 1,\n \"textSectionTitle\": \"<string>\",\n \"textSectionContent\": \"<string>\",\n \"pictureSectionEvidenceId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"pictureSectionLabel\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-idempotency-key", "<x-idempotency-key>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.staging.payrails.io/dispute/disputes/{disputeId}/evidences/representment-sections")
.header("x-idempotency-key", "<x-idempotency-key>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"sections\": [\n {\n \"position\": 1,\n \"indent\": 1,\n \"textSectionTitle\": \"<string>\",\n \"textSectionContent\": \"<string>\",\n \"pictureSectionEvidenceId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"pictureSectionLabel\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.staging.payrails.io/dispute/disputes/{disputeId}/evidences/representment-sections")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-idempotency-key"] = '<x-idempotency-key>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"sections\": [\n {\n \"position\": 1,\n \"indent\": 1,\n \"textSectionTitle\": \"<string>\",\n \"textSectionContent\": \"<string>\",\n \"pictureSectionEvidenceId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"pictureSectionLabel\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"representmentSections": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"disputeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"position": 123,
"indent": 123,
"sectionType": "Text",
"textSectionTitle": "<string>",
"textSectionContent": "<string>",
"pictureSectionEvidenceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pictureSectionLabel": "<string>",
"pictureSectionEvidenceLinks": {
"download": "<string>"
}
}
],
"timeline": [
{
"date": "2023-12-25",
"message": "<string>"
}
]
}{
"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.conflict",
"detail": "The request operation is not allowed due to a conflict with the current state of the resource",
"docUrl": "https://docs.payrails.com/docs/resources/error-codes#requestconflict"
}
]
}{
"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"
}
]
}{
"errors": [
{
"id": "a24bc325-3929-4d9d-9c08-b3aa532685b7",
"code": "internal",
"detail": "An internal error occurred",
"docUrl": "https://docs.payrails.com/docs/resources/error-codes#internal"
}
]
}Edit representment sections
Update the written sections of your dispute response. Use this endpoint to revise the content before finalizing your representment. If a PDF has already been generated for this dispute, editing the sections will discard it so it can be regenerated with your changes.
curl --request PUT \
--url https://api.staging.payrails.io/dispute/disputes/{disputeId}/evidences/representment-sections \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-idempotency-key: <x-idempotency-key>' \
--data '
{
"sections": [
{
"position": 1,
"indent": 1,
"textSectionTitle": "<string>",
"textSectionContent": "<string>",
"pictureSectionEvidenceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pictureSectionLabel": "<string>"
}
]
}
'import requests
url = "https://api.staging.payrails.io/dispute/disputes/{disputeId}/evidences/representment-sections"
payload = { "sections": [
{
"position": 1,
"indent": 1,
"textSectionTitle": "<string>",
"textSectionContent": "<string>",
"pictureSectionEvidenceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pictureSectionLabel": "<string>"
}
] }
headers = {
"x-idempotency-key": "<x-idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
'x-idempotency-key': '<x-idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
sections: [
{
position: 1,
indent: 1,
textSectionTitle: '<string>',
textSectionContent: '<string>',
pictureSectionEvidenceId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
pictureSectionLabel: '<string>'
}
]
})
};
fetch('https://api.staging.payrails.io/dispute/disputes/{disputeId}/evidences/representment-sections', 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/{disputeId}/evidences/representment-sections",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'sections' => [
[
'position' => 1,
'indent' => 1,
'textSectionTitle' => '<string>',
'textSectionContent' => '<string>',
'pictureSectionEvidenceId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'pictureSectionLabel' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-idempotency-key: <x-idempotency-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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.staging.payrails.io/dispute/disputes/{disputeId}/evidences/representment-sections"
payload := strings.NewReader("{\n \"sections\": [\n {\n \"position\": 1,\n \"indent\": 1,\n \"textSectionTitle\": \"<string>\",\n \"textSectionContent\": \"<string>\",\n \"pictureSectionEvidenceId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"pictureSectionLabel\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-idempotency-key", "<x-idempotency-key>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.staging.payrails.io/dispute/disputes/{disputeId}/evidences/representment-sections")
.header("x-idempotency-key", "<x-idempotency-key>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"sections\": [\n {\n \"position\": 1,\n \"indent\": 1,\n \"textSectionTitle\": \"<string>\",\n \"textSectionContent\": \"<string>\",\n \"pictureSectionEvidenceId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"pictureSectionLabel\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.staging.payrails.io/dispute/disputes/{disputeId}/evidences/representment-sections")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-idempotency-key"] = '<x-idempotency-key>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"sections\": [\n {\n \"position\": 1,\n \"indent\": 1,\n \"textSectionTitle\": \"<string>\",\n \"textSectionContent\": \"<string>\",\n \"pictureSectionEvidenceId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"pictureSectionLabel\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"representmentSections": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"disputeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"position": 123,
"indent": 123,
"sectionType": "Text",
"textSectionTitle": "<string>",
"textSectionContent": "<string>",
"pictureSectionEvidenceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pictureSectionLabel": "<string>",
"pictureSectionEvidenceLinks": {
"download": "<string>"
}
}
],
"timeline": [
{
"date": "2023-12-25",
"message": "<string>"
}
]
}{
"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.conflict",
"detail": "The request operation is not allowed due to a conflict with the current state of the resource",
"docUrl": "https://docs.payrails.com/docs/resources/error-codes#requestconflict"
}
]
}{
"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"
}
]
}{
"errors": [
{
"id": "a24bc325-3929-4d9d-9c08-b3aa532685b7",
"code": "internal",
"detail": "An internal error occurred",
"docUrl": "https://docs.payrails.com/docs/resources/error-codes#internal"
}
]
}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.
Headers
Idempotency key to be used. Sending again the same key would return the same result without re-executing the update.
Path Parameters
Identifier of the resource in Payrails.
Body
Complete list of representment sections. Replaces all existing sections for the dispute.
1Hide child attributes
Hide child attributes
Position of the section in the representment.
x >= 0Indentation level of the section.
x >= 0Type of representment section.
Text, Picture, Timeline Title of the text section. Required when sectionType is Text.
Content of the text section. Required when sectionType is Text.
Linked evidence identifier. Required when sectionType is Picture.
Label for the picture section.
Response
Representment sections replaced successfully.
Updated ordered representment sections (Timeline sections excluded).
Hide child attributes
Hide child attributes
Unique identifier of the representment section in Payrails.
Unique identifier of the dispute in Payrails.
Date and time when the representment section was created in Payrails.
Date and time when the representment section was last updated in Payrails.
Position of the section in the representment.
Indentation level of the section in the representment.
Type of representment section.
Text, Picture, Timeline Title of the text section when sectionType is Text.
Content of the text section when sectionType is Text.
Linked evidence identifier when sectionType is Picture.
Label for the picture section when sectionType is Picture.
Deserialized timeline events extracted from the Timeline section, when present.