Request Form Controller

getRequestForm
Method
GET
Content-Type
application/json
URL
https://irm.trustarc.com/server/api/v1/external/requests
Headers
Authorization: Bearer <access_token>
Query Parameters
Required Query Parameters
Name Value Description
formIdRequired string($uuid) The formId (UUID) of the intake form. Retrieve from the intake form Publish page.
locale string Any configured locale of the intake form. Optional.
Sample Success Response
{
  "fields": [
    { "id": "00000000-0000-0000-0000-000000001001", "display": "I am",  "type": "string", "required": false, "values": [{ "id": "00000000-0000-0000-0000-000000003001", "display": "Customer" }] },
    { "id": "00000000-0000-0000-0000-000000001002", "display": "Name",  "type": "string", "required": true,  "values": null },
    { "id": "00000000-0000-0000-0000-000000001003", "display": "Email", "type": "string", "required": true,  "values": null },
    {
      "id": "00000000-0000-0000-0000-000000001005",
      "display": "Type of Request",
      "type": "string",
      "required": true,
      "values": [
        { "id": "00000000-0000-0000-0000-000000004001", "display": "Access My Information" },
        { "id": "00000000-0000-0000-0000-000000004002", "display": "Correct or Update My Information" },
        { "id": "00000000-0000-0000-0000-000000004003", "display": "Delete My Information" }
      ]
    }
  ]
}

Where:

fields — Array containing the list of fields.
fieldID — The ID of the field.
required — true or false; will fail if required and not provided.
type — "string", "boolean", or "number".
values — Null if the field does not provide options.
Response Codes
Code: 200 OK
Code: 401 Unauthorized
Code: 403 Forbidden
Code: 404 Not Found
Locating the Intake formID
IRM_Locating the Intake form FormID .png

 

createRequest
Method
POST
Content-Type
application/json
URL
https://irm.trustarc.com/server/api/v1/external/requests
Headers
Authorization: Bearer <access_token>
Query Parameters
Required Query Parameters
Name Value Description
formIdRequired string($uuid) The formId (UUID) of the intake form.
locale string Any configured locale of the intake form. Optional.
params (body) A JSON map of fieldId to values, matching the response from getRequestForm.
Sample Request
{
  "00000000-0000-0000-0000-000000001001": "00000000-0000-0000-0000-000000003001",
  "00000000-0000-0000-0000-000000001002": "Name",
  "00000000-0000-0000-0000-000000001003": "email@example.com",
  "00000000-0000-0000-0000-000000001004": "AS_CN",
  "00000000-0000-0000-0000-000000001005": "00000000-0000-0000-0000-000000004001",
  "00000000-0000-0000-0000-000000001006": "Comment Here"
}
Sample Success Response
{
  "additionalProp1": "string",
  "additionalProp2": "string",
  "additionalProp3": "string"
}
Response Codes
Code: 200 OK
Code: 401 Unauthorized
Code: 403 Forbidden
Code: 404 Not Found
closeRequest
Method
POST
Content-Type
application/json
URL
https://irm.trustarc.com/server/api/v1/external/requests/{id}/close
Headers
Authorization: Bearer <access_token>
Query Parameters
Required Query Parameters
Name Value Description
idRequired string($uuid) The request ID (UUID).
closeRequestDto (body) A DTO containing the data needed when closing a request.
Sample Request
{
  "emailTemplate": {
    "id": "ebabb553-45e8-478e-a8bf-6fc683fea12b",
    "attachmentIds": ["2ee52122-103c-4ef4-840f-8ff2ea2bd062"],
    "override": { "customFrom": "from", "message": "msg", "replyTo": "reply", "subject": "subj" }
  },
  "noEmailReason": "no email reason",
  "rejectReason": "reject reason",
  "sendEmail": true,
  "status": "ACCEPT"
}

Where:

emailTemplate.id — ID of email template; null uses TrustArc default.
attachmentIds — List of attachment IDs sent when sendEmail is true.
status — Accepted values: ACCEPT or REJECT.
Sample Success Response
{ "id": "9023a7aa-cc33-481e-ba16-7cb30256ff98", "email": "john.doe@email.com", ... }
Response Codes
Code: 200 OK
Code: 401 Unauthorized
Code: 403 Forbidden
Code: 404 Not Found
getRequest
Method
GET
Content-Type
application/json
URL
https://irm.trustarc.com/server/api/v1/external/requests/{id}
Headers
Authorization: Bearer <access_token>
Query Parameters
Name Value Description
idRequired string($uuid) The request ID (UUID).
Sample Success Response
{ "id": "9023a7aa-cc33-481e-ba16-7cb30256ff98", "email": "john.doe@email.com", ... }
Response Codes
Code: 200 OK
Code: 401 Unauthorized
Code: 403 Forbidden
Code: 404 Not Found
searchRequests
Method
POST
Content-Type
application/json
URL
https://irm.trustarc.com/server/api/v1/external/requests/search
Headers
Authorization: Bearer <access_token>
Query Parameters
Name Value Description
page integer($int32) Results page to retrieve (0…N).
size integer($int32) Number of records per page.
sort asc | desc Sorting criteria: property,asc|desc. Multiple supported.
Sample Request
{ "ids": ["9023a7aa-cc33-481e-ba16-7cb30256ff98"], "statuses": ["UNVERIFIED"], "email": "john.doe@email.com", "brandName": "Some Brand Name" }
Sample Success Response
{
  "content": [{ "id": "9023a7aa-cc33-481e-ba16-7cb30256ff98", ... }],
  "numberOfElements": "10",
  "totalElements": "99",
  "number": "0",
  "size": "10"
}

Where:

content — List of request objects.
numberOfElements — Number of elements in content.
totalElements — Total number of elements in the database.
size — Size from the URL parameter.
Response Codes
Code: 200 OK
Code: 401 Unauthorized
Code: 403 Forbidden
Code: 404 Not Found
manualVerifyRequest
Method
POST
Content-Type
application/json
URL
https://irm.trustarc.com/server/api/v1/external/requests/{id}/manual-verify
Headers
Authorization: Bearer <access_token>
URL Parameters
N/A
Sample Request
{ "keepRequestAsUnverified": true }
Sample Success Response
{ "id": "9023a7aa-cc33-481e-ba16-7cb30256ff98", "email": "john.doe@email.com", ... }
Response Codes
Code: 200 OK
Code: 401 Unauthorized
Code: 403 Forbidden
Code: 404 Not Found
failManualVerifyRequest
Method
POST
Content-Type
application/json
URL
https://irm.trustarc.com/server/api/v1/external/requests/{id}/fail-manual-verify
Headers
Authorization: Bearer <access_token>
URL Parameters
N/A
Sample Request
N/A
Sample Success Response
{ "id": "9023a7aa-cc33-481e-ba16-7cb30256ff98", "email": "john.doe@email.com", ... }
Response Codes
Code: 200 OK
Code: 401 Unauthorized
Code: 403 Forbidden
Code: 404 Not Found
getRequestAttachments
Method
GET
Content-Type
application/json
URL
https://irm.trustarc.com/server/api/v1/external/requests/{id}/attachments
Headers
Authorization: Bearer <access_token>
Query Parameters
Name Value Description
page integer($int32) Results page to retrieve (0…N).
size integer($int32) Number of records per page.
sort asc | desc Sorting criteria: property,asc|desc. Multiple supported.
Sample Success Response
{
  "content": [{ "id": "9023a7aa-cc33-481e-ba16-7cb30256ff98", ... }],
  "numberOfElements": "10",
  "totalElements": "99",
  "number": "0",
  "size": "10"
}

Where:

content — List of attachment objects.
numberOfElements — Number of elements in content.
totalElements — Total number of elements in the database.
size — Size from the URL parameter.
Response Codes
Code: 200 OK
Code: 401 Unauthorized
Code: 403 Forbidden
Code: 404 Not Found
uploadRequestAttachments
Method
POST
Content-Type
multipart/form-data
URL
https://irm.trustarc.com/server/api/v1/external/requests/{id}/attachments
Headers
Authorization: Bearer <access_token>
URL Parameters
N/A
Sample Request
file (formData)
Sample Success Response
{
  "id": "9023a7aa-cc33-481e-ba16-7cb30256ff98",
  "fileName": "Sample.txt"
}

Where:

id — Auto-generated attachment identifier.
fileName — Filename of the uploaded file.
Response Codes
Code: 200 OK
Code: 401 Unauthorized
Code: 403 Forbidden
Code: 404 Not Found
TrustArc  ·  IRM — External Requests API Reference  ·  support.trustarc.com