Skip to main content

Dispute Report Attachment API

The Dispute Report Attachment API offers ODR Institutions a streamlined mechanism to effortlessly transmit files and updates pertinent to disputes within their platforms. This endpoint facilitates the automated transfer of both report data and associated attachments from the source ODR Institution to the SMART ODR Portal.

This API endpoint is designed to handle report uploads related to dispute resolution cases. It allows users to submit files, along with additional information, to provide reports updates on a dispute. The API performs various checks on the submitted data and files to ensure the integrity of the process.

Endpoint

POST https://<apiserver>.smartodr.com/reports-resource-handler

Versioning

The Dispute Update API is a versioned API. Updates are released quarterly.

  • Initial Release:

    • Version 1.0.0
  • Adding a New Feature:

    • Version 1.1.0
  • Fixing a Bug:

    • Version 1.1.1
  • Making a Backward-Incompatible Change:

    • Version 2.0.0

Authentication

All incoming requests from ODR Institutions will include a valid access token in the Authorization header. SMART ODR should validate this token to ensure the request is from the respective ODR Institutions.

Authorization: `Signature keyId="${unique_key_id}|${token}|RS256" algorithm="RS256" type="update" `
unique_key_id : Unique token generated by ODR Institutions from SMART ODR Portal
token : Signed JWT Token [RS256]

Token Payload

The payload of the JWT includes the following information:

  • email: The primary email address of the user associated with the ODR Institution.
  • phone: The primary phone number of the user associated with the ODR Institution.
Content-Type: multipart/form-data

Authorization: Provide the necessary authentication token

Request Body Parameters

FieldData TypeDescription
disputeIdStringUnique identifier for the dispute.
disputetypeStringType of dispute.
roleStringRole of the user making the update (e.g., User, Administrator).
userNameStringUser's name initiating the update.
reportTypeStringtype of dispute report (e.g., Conciliation Report, Arbitration Report).
documentTypeStringtype of document (e.g., Arbitration Award , Redacted Award , Conciliation Failure Report , Conciliation Settlement Agreement).
summaryStringBrief summary of the report.

User Reference Table

RoleDescription
MEDIATORMediator
ARBITRATORArbitrator
SYSADMINSystem Administrator
CASEMANAGERCase Manager
PETITIONERPetitioner
RESPONDENTRespondent

Example: { "dispute": "{\"disputeId\":\"DMDP-DP-2024-07-649989\",\"reportType\":\"Conciliation Report\",\"documentType\":\"Conciliation Award\",\"summary\":\"This is Con report\",\"userName\":\"John Doe\",\"role\":\"CASEMANAGER\", \"disputetype\": \"conciliation\"}" }

File Upload Example To upload a file, include the file(s) in the request payload using form-data. Ensure that the file content is uploaded as binary data. Below is an example using curl:

curl -X POST \
-H "Content-Type: multipart/form-data" \
-H "Authorization: Bearer YOUR_AUTH_TOKEN" \
-F "files=@example-file.pdf" \
-F "dispute={\"disputeId\":\"DMDP-DP-2024-07-649989\",\"reportType\":\"Conciliation Report\",\"documentType\":\"Conciliation Award\",\"summary\":\"This is Con report\",\"userName\":\"John Doe\",\"role\":\"CASEMANAGER\", \"disputetype\": \"conciliation\"}" \
https://api.example.com/reports-resource-handler

The files parameter expects the binary content of the file, and @example-file.pdf is the path to the file on your local machine.

The dispute parameter contains the JSON string with information about the dispute report update, as described in the previous section.

Success Response

If the update is successful, the API returns a 200 OK status along with a JSON object containing relevant information.

Fields in the Response

FieldData TypeDescription
successBooleanIndicates whether the update was successful (true) or (false).
messageStringA brief message indicating the status or outcome of the update.
fileCountNumberThe number of files successfully uploaded as part of the update.
disputeDataObjectParsed dispute data extracted from the request body.

Example:

{
"success": true,
"message": "Update to the Dispute 123456 received",
"fileCount": 1,
"disputeData": { /* Parsed dispute data from the request body */ }
}

Error Response

FieldData TypeDescription
successBooleanIndicates whether the update was successful (true) or (false).
messageStringA detailed error message describing the issue.

Example:

{
"success": false,
"message": "Error message describing the issue"
}