Getting started with the RESTConnect API
Who is this article for?
Developers and system integrators who need to access data programmatically using a RESTful API interface.
Restricted to users with API / web services access configured by your Technical Account Manager.
Overview
The RESTConnection API is a publicly accessible HTTP/JSON API for retrieving, adding and updating object data. RESTConnect may also be used to delete rows from child levels and generate object prints in the form of PDF documents.
The API interfaces with modules through the module metadata layer, so new releases of the platform are guaranteed to not affect the fields belonging to a module, and therefore interfaces that have been built that use those fields, even if the underlying database layer has changed.
What's New in V4
Complete documentation for Search Resource and Print Resource endpoints, with examples for all platforms (Example, cURL, Postman, Insomnia, SOAP UI).
This article describes the available endpoints, request/response formats, and authentication methods.
Base URL: https://rest.Ideagen.com/RESTConnect/rest/v2
The platform supports four HTTP verbs for module objects: GET, POST, PUT, and DELETE. HEAD is also supported. Use Accept-Encoding: gzip for smaller response payloads.
| HTTP Verb | Operation | Query Params | Request Body |
|---|---|---|---|
GET |
Get object / Search objects | q, assignedTo, p, r, f, l | — |
POST |
Add new object | — | JSON or XML |
PUT |
Update object | — | JSON or XML |
DELETE |
Delete object / Delete child row | — | JSON (child delete only) |
Security
Authentication Methods
Basic Authentication
Pass Base64-encoded username:password in the Authorization header:
Authorization: Basic [username:password Base64 encoded]Session Token Authentication
Pass the session key obtained from a previous authentication call:
DWAYSessionId: [Session key from previous authentication]Requirements
- SSL encryption (128-bit) required for all traffic
- IP address whitelisting required — contact the Ideagen Operations team
- Authentication required for all resource access
Authentication may return 401 for:
Password Expiration, Change Password on First Login, Too Many Login Attempts, or Inactive Account. Contact your Technical Account Manager for policy details.
Auditing
All transactions that add or modify data are tagged with the originator's username. This information is available on the Object History window for every object and may be used for audit reports.
Resource Paths
Resource paths include subscriber and module information from your Ideagen EHSQ application. A full URL example:
https://rest-config.Ideagen.com/RESTConnect/rest/v2/subscribers/ABC1234/modules/RF-TEST-
Base URL — e.g.
https://rest-config.Ideagen.com/RESTConnect -
Version —
/rest/v2 -
Resource —
/subscribers/{subscriber}/modules/{module}
URL Encoding
Query parameters must be percent-encoded. Example: ?q=FirstName%3DJoe%26LastName%3DSmith
Object Identifiers
Object identifiers (e.g. PER 2012-1452, CV 2011-11330) uniquely identify module instances. Spaces must be encoded as %20 in URLs.
Object Identifier vs. Custom Identifiers
Every object contains a system generated unique identifer stored in theH:IDfield. Custom identifiers (often calculated in a character field) may be used through the user interface, but the system identifier must be used in REST queries.
Common Parameters
Path Parameters
| Parameter | Description |
|---|---|
subscriber |
Subscriber code found in Preferences panel of Admin Dashboard |
module |
Module code found on Module Definition panel |
identifier |
Object identifier (e.g. PER 2012-1452) |
Header Parameters
| Parameter | Description |
|---|---|
Accept |
Media type(s) acceptable — application/json or application/xml
|
Content-Type |
Media type of request body — application/json or application/xml
|
Authorization |
Basic authentication credentials |
DWAYSessionId |
Session token for authentication |
If-None-Match |
ETag value for conditional requests |
Paths
Module Objects
Get Object
GET /subscribers/{subscriber}/modules/{module}/{identifier}
Retrieve a specific module object by identifier.
Parameters: Path: subscriber, module, identifier | Headers: Accept, Authorization or DWAYSessionId
Responses: 200 Success 404 Not Found 500 Server-side error
Example Request
GET /rest/v2/subscribers/ERTSE35233/modules/DWFND-PER/PER%202011-1234
Accept: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Example Response (JSON)
{
"ReportingAuthority": "Ideagen",
"FirstName": "Joe",
"LastName": "Smith",
"Status": "Active"
}
curl --location 'https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/ERTSE35233/modules/DWFND-PER/PER%202011-1234' \
--header 'Accept: application/json' \
--header 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='
GET https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/ERTSE35233/modules/DWFND-PER/PER%202011-1234
Headers:
Accept: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Method: GET
URL:https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/ERTSE35233/modules/DWFND-PER/PER%202011-1234
Headers:
-
Accept: application/json -
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<Accept>application/json</Accept>
<Authorization>Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==</Authorization>
</soapenv:Header>
<soapenv:Body>
<!-- REST Request: GET /rest/v2/subscribers/ERTSE35233/modules/DWFND-PER/PER%202011-1234 -->
</soapenv:Body>
</soapenv:Envelope>
Get Objects (Search)
GET /subscribers/{subscriber}/modules/{module}?q={query}
Retrieve object identifiers for multiple objects that match the search criteria exactly (including letter case). Wildcards and partial matches are not allowed. A status code 200 with an empty array indicates a successful search with no matches. Response may include Last-Modified and ETag headers.
Parameters:
- Path: subscriber, module
- Query:
q(required) — XML tags and values separated by&, percent-encoded. Example:q=FirstName%3DJoe%26LastName%3DSmith - Query:
assignedTo(optional) — ME (User), TE (Teams), AL (Alternates), MT (Person+Teams), MA (Person+Teams+Alternates), MM (Person+Alternates) - Query:
p,r(optional) — Page and row for pagination - Query:
f(optional) — Return specific fields, e.g.f=Name,Identifier - Query:
l(optional) — Filter by Last Updated (epoch ms), e.g.l=<1713769200000 - Headers: Accept, Authorization or DWAYSessionId, If-None-Match (optional)
Responses: 200 Success 404 Not Found 500 Server-side error
Example Request
GET /rest/v2/subscribers/ERTSE35233/modules/DWFND-PER?q=FirstName%3DJoe%26LastName%3DSmith
Accept: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Example Response (JSON)
[
"PER 2011-1432",
"PER 2012-1243",
"PER 2012-1904"
]
curl --location 'https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/ERTSE35233/modules/DWFND-PER?q=FirstName%3DJoe%26LastName%3DSmith' \
--header 'Accept: application/json' \
--header 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='
GET https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/ERTSE35233/modules/DWFND-PER?q=FirstName%3DJoe%26LastName%3DSmith
Headers:
Accept: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Method: GET
URL:https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/ERTSE35233/modules/DWFND-PER?q=FirstName%3DJoe%26LastName%3DSmith
Headers:
-
Accept: application/json -
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<Accept>application/json</Accept>
<Authorization>Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==</Authorization>
</soapenv:Header>
<soapenv:Body>
<!-- REST Request: GET /rest/v2/subscribers/ERTSE35233/modules/DWFND-PER?q=... -->
</soapenv:Body>
</soapenv:Envelope>
Post Object
POST /subscribers/{subscriber}/modules/{module}
Add a new object instance. On success, the new object's URL is returned in the response Location header. Include ReportingAuthority and all required fields.
Parameters:
- Path: subscriber, module
- Headers: Content-Type (
application/jsonorapplication/xml), Authorization or DWAYSessionId - Body: JSON or XML
Responses: 200 Success — Location header contains new object URL 404 Not Found 500 Server-side error
Example Request (JSON)
POST /rest/v2/subscribers/GFSYF23423/modules/DWFND-PER
Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
{
"ReportingAuthority": "Ideagen",
"FirstName": "Joe",
"LastName": "Smith",
"EmployeeId": "ABC1234",
"Manager": {
"ModuleCode": "DWFND-PER",
"Identifier": "PER 2011-2052"
},
"Comments": [
{
"Comment": "Joe is a good worker.",
"By": {
"ModuleCode": "DWFND-PER",
"Identifier": "PER 2011-2052"
}
}
]
}
curl --location 'https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/GFSYF23423/modules/DWFND-PER' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==' \
--data '{"ReportingAuthority":"Ideagen","FirstName":"Joe","LastName":"Smith","EmployeeId":"ABC1234"}'
POST https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/GFSYF23423/modules/DWFND-PER
Headers:
Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Method: POST
URL:https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/GFSYF23423/modules/DWFND-PER
Headers:
-
Content-Type: application/json -
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<Content-Type>application/json</Content-Type>
<Authorization>Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==</Authorization>
</soapenv:Header>
<soapenv:Body>
<!-- REST Request: POST /rest/v2/subscribers/GFSYF23423/modules/DWFND-PER -->
</soapenv:Body>
</soapenv:Envelope>
Put Object
PUT /subscribers/{subscriber}/modules/{module}/{identifier}
Update an existing module instance by object identifier.
Parameters:
- Path: subscriber, module, identifier
- Headers: Content-Type (
application/jsonorapplication/xml), Accept, Authorization or DWAYSessionId - Body: JSON or XML
Responses: 200 Success 404 Not Found 500 Server-side error
Example Request (JSON)
PUT /rest/v2/subscribers/SGFRW87643/modules/DWFND-PER/PER%202012-0123
Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
{
"Status": "Inactive",
"Manager": {
"ModuleCode": "DWFND-PER",
"Identifier": "PER 2011-0843"
},
"Comments": [
{
"Comment": "Updating Joe's status and manager.",
"By": {
"ModuleCode": "DWFND-PER",
"Identifier": "PER 2011-0843"
}
}
]
}
curl --location --request PUT 'https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/SGFRW87643/modules/DWFND-PER/PER%202012-0123' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==' \
--data '{"Status":"Inactive"}'
PUT https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/SGFRW87643/modules/DWFND-PER/PER%202012-0123
Headers:
Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Method: PUT
URL:https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/SGFRW87643/modules/DWFND-PER/PER%202012-0123
Headers:
-
Content-Type: application/json -
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<Content-Type>application/json</Content-Type>
<Authorization>Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==</Authorization>
</soapenv:Header>
<soapenv:Body>
<!-- REST Request: PUT /rest/v2/subscribers/.../modules/.../identifier -->
</soapenv:Body>
</soapenv:Envelope>
Delete Object
DELETE /subscribers/{subscriber}/modules/{module}/{identifier}
Remove a single module instance by object identifier.
Parameters: Path: subscriber, module, identifier | Headers: Authorization or DWAYSessionId
Responses: 204 No Content (successfully deleted) 404 Not Found 500 Server-side error
Example Request
DELETE /rest/v2/subscribers/NZDUE63253/modules/DWFND-PER/PER%202012-0123
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
curl --location --request DELETE 'https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/NZDUE63253/modules/DWFND-PER/PER%202012-0123' \
--header 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='
DELETE https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/NZDUE63253/modules/DWFND-PER/PER%202012-0123
Headers:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Method: DELETE
URL:https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/NZDUE63253/modules/DWFND-PER/PER%202012-0123
Headers:
-
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<Authorization>Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==</Authorization>
</soapenv:Header>
<soapenv:Body>
<!-- REST Request: DELETE /rest/v2/subscribers/.../modules/.../identifier -->
</soapenv:Body>
</soapenv:Envelope>
Module Attachments
Module objects can accept and store attachment files (Word, Excel, CSV, JPEG, text, etc.). Attachments are accessed via the files sub-resource and support GET (list/download), POST (upload), PUT (update), and DELETE.
Get Attachments List
GET /subscribers/{subscriber}/modules/{module}/{identifier}/files
Retrieve a list of attachments associated with an object. Response contains hypermedia links to download each attachment. JSON only (XML not supported).
Parameters: Path: subscriber, module, identifier | Headers: Accept (application/json), Authorization or DWAYSessionId, If-None-Match (optional)
Responses: 200 Success 304 Not Modified 404 Not Found 500 Server-side error
Example Request
GET /rest/v2/subscribers/ERTSE35233/modules/DWFND-PER/PER%202011-1234/files
Accept: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Example Response (JSON)
[
{
"fileName": "001c.csv",
"creationDate": "2013-01-21T22:42:31.000 PST",
"excludeFromPrint": "N",
"link": {
"rel": "self",
"type": "application/csv",
"href": "http://server/rest/v2/subscribers/.../files/MDAxYy5jc3Y6MjQxMg"
}
}
]
curl --location 'https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/ERTSE35233/modules/DWFND-PER/PER%202011-1234/files' \
--header 'Accept: application/json' \
--header 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='
Get Attachment (Download)
GET /subscribers/{subscriber}/modules/{module}/{identifier}/files/{attachmentKey}
Download an attachment using the hypermedia URL from the list response.
Parameters: Path: subscriber, module, identifier, attachmentKey | Headers: Accept (application/octet-stream or application/pdf), Authorization or DWAYSessionId, If-None-Match (optional)
Responses: 200 Success — Returns octet-stream 304 Not Modified 404 Not Found 415 Unsupported media type (file could not be converted to PDF) 500 Server-side error
Example Request
GET /rest/v2/subscribers/ERTSE35233/modules/DWFND-PER/PER%202011-1234/files/MDAxYy5jc3Y6MjQxMg
Accept: application/octet-stream
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Response headers: Content-Disposition,
Content-Type, Content-Length
curl --location 'https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/ERTSE35233/modules/DWFND-PER/PER%202011-1234/files/MDAxYy5jc3Y6MjQxMg' \
--header 'Accept: application/octet-stream' \
--header 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==' \
--output attachment.bin
Post Attachment
POST /subscribers/{subscriber}/modules/{module}/{identifier}/files
Upload a new attachment using multipart/form-data. Form parameters: file (required), excludePrint (true/false, default false).
Parameters: Path: subscriber, module, identifier | Headers: Content-Type (multipart/form-data), Authorization or DWAYSessionId
Responses: 201 Created — Location header contains new attachment URL 500 Server-side error
Example Request
POST /rest/v2/subscribers/ERTSE35233/modules/DWFND-PER/PER%202011-1234/files
Content-Type: multipart/form-data
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Form: file=[binary], excludePrint=false
curl --location 'https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/ERTSE35233/modules/DWFND-PER/PER%202011-1234/files' \
--header 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==' \
--form 'file=@/path/to/file.pdf' \
--form 'excludePrint=false'
Put Attachment
PUT /subscribers/{subscriber}/modules/{module}/{identifier}/files/{attachmentKey}
Modify an existing attachment. Requires the Files Modifiable attribute to be enabled for the module's Attachments grid.
Parameters: Path: subscriber, module, identifier, attachmentKey | Headers: Content-Type (multipart/form-data), Authorization or DWAYSessionId | Form: file, excludePrint (optional)
Responses: 200 Success 403 Forbidden (Files Modifiable not enabled) 500 Server-side error
Example Request
PUT /rest/v2/subscribers/ERTSE35233/modules/DWFND-PER/PER%202011-1234/files/aW1hZ2VfcG9zdF8yLnBuZzoyNTYy
Content-Type: multipart/form-data
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Form: file=[binary], excludePrint=false
curl --location --request PUT 'https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/ERTSE35233/modules/DWFND-PER/PER%202011-1234/files/aW1hZ2VfcG9zdF8yLnBuZzoyNTYy' \
--header 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==' \
--form 'file=@/path/to/updated.pdf'
Delete Attachment
DELETE /subscribers/{subscriber}/modules/{module}/{identifier}/files/{attachmentKey}
Delete an attachment using the hypermedia URL from the list response.
Parameters: Path: subscriber, module, identifier, attachmentKey | Headers: Authorization or DWAYSessionId
Responses: 204 No Content (successfully deleted) 404 Not Found 500 Server-side error
Example Request
DELETE /rest/v2/subscribers/ERTSE35233/modules/DWFND-PER/PER%202011-1234/files/MDAxYy5jc3Y6MjQxMg
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
curl --location --request DELETE 'https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/ERTSE35233/modules/DWFND-PER/PER%202011-1234/files/MDAxYy5jc3Y6MjQxMg' \
--header 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='
Child Level Data
Delete Child Row
DELETE /subscribers/{subscriber}/modules/{module}/{identifier} — Delete Child Row
Remove child-level rows from an object. Send a JSON body containing the child level structure with only the Row_Identifier values to be deleted. Additional values are discarded.
Parameters: Path: subscriber, module, identifier | Headers: Content-Type (application/json), Authorization or DWAYSessionId | Body: JSON with Row_Identifier values to delete
Responses: 204 No Content (child row successfully deleted) 404 Not Found 500 Server-side error
Example Request
DELETE /rest/v2/subscribers/NZDUE63253/modules/DWFND-PER/PER%202012-0123
Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
{
"Comments": [
{
"Row_Identifier": "458297"
}
]
}
curl --location --request DELETE 'https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/NZDUE63253/modules/DWFND-PER/PER%202012-0123' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==' \
--data '{"Comments":[{"Row_Identifier":"458297"}]}'
Subscriber Resource
Access information about a subscriber. Includes optional person_module and person_object when a Persons module is defined in Preferences under Person and Teams.
GET /subscribers/{subscriber}
Retrieve subscriber preferences, person info, and broadcast messages.
Parameters: Path: subscriber | Headers: Accept (application/json), Authorization or DWAYSessionId
Responses: 200 Success 401 Unauthorized 500 Server-side error
Example Request
GET /rest/v2/subscribers/ERTSE35233
Accept: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Example Response (JSON)
{
"preferences": {
"companyCode": "RF",
"areaName": "DWAYDev",
"dateFormat": "YYYY-MM-DD",
"timeZoneCode": "EST",
"companyName": "Rodeo Frog"
},
"person_module": "RF-PRSN",
"person_object": {
"Identifier": "PRSN 2014-0001",
"PersonName": "Smith, Joe",
"FirstName": "Joe",
"LastName": "Smith"
},
"person": {
"firstName": "Joe",
"lastName": "Smith",
"_id": "dwaydev_quhktt3671_2004000720"
},
"broadcastMessages": []
}
curl --location 'https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/ERTSE35233' \
--header 'Accept: application/json' \
--header 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='
Search Resource
A user's previously saved searches can be accessed and executed from this resource. Results are paginated in blocks of 10 results.
Get Searches (List)
GET /subscribers/{subscriber}/search
Retrieve a list of saved searches available to the authenticated user.
Parameters: Path: subscriber | Headers: Accept (application/json), Authorization or DWAYSessionId
Responses: 200 Success 401 Unauthorized 500 Server-side error
Example Request
GET /rest/v2/subscribers/ERTSE35233/search
Accept: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Example Response (JSON)
[
{
"name": "Tasks to complete",
"href": "https://server/rest/v2/subscribers/ERTSE35233/search/2004000720-1"
},
{
"name": "Tasks to approve",
"href": "https://server/rest/v2/subscribers/ERTSE35233/search/2004000720-2"
}
]
curl --location 'https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/ERTSE35233/search' \
--header 'Accept: application/json' \
--header 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='
GET https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/ERTSE35233/search
Headers:
Accept: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Method: GET
URL:https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/ERTSE35233/search
Headers:
-
Accept: application/json -
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<Accept>application/json</Accept>
<Authorization>Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==</Authorization>
</soapenv:Header>
<soapenv:Body>
<!-- REST Request: GET /rest/v2/subscribers/ERTSE35233/search -->
</soapenv:Body>
</soapenv:Envelope>
Get Search (Execute)
GET /subscribers/{subscriber}/search/{searchId}?page={pageNumber}
Execute a saved search and retrieve results. Results are paginated with 10 results per page.
Parameters: Path: subscriber, searchId | Query: page (optional, integer starting from 0) | Headers: Accept (application/json), Authorization or DWAYSessionId
Responses: 200 Success 404 Not Found 500 Server-side error
Example Request
GET /rest/v2/subscribers/ERTSE35233/search/2004000720-10?page=1
Accept: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Example Response (JSON)
{
"totalResults": 2,
"resultsPosition": 0,
"results": [
{
"Identifier": "LP 2013-0009",
"Title": "Review document"
}
]
}
curl --location 'https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/ERTSE35233/search/2004000720-10?page=1' \
--header 'Accept: application/json' \
--header 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='
GET https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/ERTSE35233/search/2004000720-10?page=1
Headers:
Accept: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Method: GET
URL:https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/ERTSE35233/search/2004000720-10?page=1
Headers:
-
Accept: application/json -
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<Accept>application/json</Accept>
<Authorization>Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==</Authorization>
</soapenv:Header>
<soapenv:Body>
<!-- REST Request: GET /rest/v2/subscribers/ERTSE35233/search/2004000720-10?page=1 -->
</soapenv:Body>
</soapenv:Envelope>
Print Resource
Users can generate PDF representations of objects using the print resource. For long-running PDF generation, use the async option.
Get Print Codes
GET /subscribers/{subscriber}/modules/{module}/{identifier}/print
Retrieve available print codes (templates) for an object.
Parameters: Path: subscriber, module, identifier | Headers: Accept (application/json), Authorization or DWAYSessionId
Responses: 200 Success 403 Forbidden 404 Not Found 500 Server-side error
Example Request
GET /rest/v2/subscribers/ERTSE35233/modules/RF-PRNT/PRNT%202014-0009/print/
Accept: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Example Response (JSON)
[
{
"isDefault": "Y",
"name": "Default",
"code": "RF-PRNT-O-2"
}
]
curl --location 'https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/ERTSE35233/modules/RF-PRNT/PRNT%202014-0009/print/' \
--header 'Accept: application/json' \
--header 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='
GET https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/ERTSE35233/modules/RF-PRNT/PRNT%202014-0009/print/
Headers:
Accept: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Method: GET
URL:https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/ERTSE35233/modules/RF-PRNT/PRNT%202014-0009/print/
Headers:
-
Accept: application/json -
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<Accept>application/json</Accept>
<Authorization>Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==</Authorization>
</soapenv:Header>
<soapenv:Body>
<!-- REST Request: GET /rest/v2/subscribers/ERTSE35233/modules/RF-PRNT/PRNT%202014-0009/print/ -->
</soapenv:Body>
</soapenv:Envelope>
Get Print (Synchronous)
GET /subscribers/{subscriber}/modules/{module}/{identifier}/print/{printCode}
Generate and download a PDF document (synchronous operation).
Parameters: Path: subscriber, module, identifier, printCode | Headers: Authorization or DWAYSessionId
Responses: 200 Success — Returns PDF 303 See Other 403 Forbidden 404 Not Found 500 Server-side error
Example Request
GET /rest/v2/subscribers/ERTSE35233/modules/RF-PRNT/PRNT%202014-0009/print/RF-PRNT-O-2
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
curl --location 'https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/ERTSE35233/modules/RF-PRNT/PRNT%202014-0009/print/RF-PRNT-O-2' \
--header 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==' \
--output document.pdf
GET https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/ERTSE35233/modules/RF-PRNT/PRNT%202014-0009/print/RF-PRNT-O-2
Headers:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Select Send and Download to save the PDF.
Method: GET
URL:https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/ERTSE35233/modules/RF-PRNT/PRNT%202014-0009/print/RF-PRNT-O-2
Headers:
-
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<Authorization>Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==</Authorization>
</soapenv:Header>
<soapenv:Body>
<!-- REST Request: GET /rest/v2/subscribers/ERTSE35233/modules/RF-PRNT/PRNT%202014-0009/print/RF-PRNT-O-2 -->
</soapenv:Body>
</soapenv:Envelope>
Get Print (Async)
GET /subscribers/{subscriber}/modules/{module}/{identifier}/print/{printCode}?async=true
Submit an asynchronous print job. Returns a job URL for polling.
Parameters: Path: subscriber, module, identifier, printCode | Query: async=true (required) | Headers: Authorization or DWAYSessionId
Responses: 303 See Other — Job URL in Location header 403 Forbidden 404 Not Found 500 Server-side error
Example Request
GET /rest/v2/subscribers/ERTSE35233/modules/RF-PRNT/PRNT%202014-0009/print/RF-PRNT-O-2?async=true
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Example Response Headers
HTTP/1.1 303 See Other
Location: https://server/rest/v2/subscribers/ERTSE35233/modules/RF-PRNT/PRNT%202014-0009/print/job/NDUx...
curl --location 'https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/ERTSE35233/modules/RF-PRNT/PRNT%202014-0009/print/RF-PRNT-O-2?async=true' \
--header 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='
GET https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/ERTSE35233/modules/RF-PRNT/PRNT%202014-0009/print/RF-PRNT-O-2?async=true
Headers:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Method: GET
URL:https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/ERTSE35233/modules/RF-PRNT/PRNT%202014-0009/print/RF-PRNT-O-2?async=true
Headers:
-
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<Authorization>Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==</Authorization>
</soapenv:Header>
<soapenv:Body>
<!-- REST Request: GET .../print/RF-PRNT-O-2?async=true -->
</soapenv:Body>
</soapenv:Envelope>
Get Print Job Status
GET /subscribers/{subscriber}/modules/{module}/{identifier}/print/job/{jobKey}
Check the status of an asynchronous print job. Poll until the job is complete.
Parameters: Path: subscriber, module, identifier, jobKey | Headers: Authorization or DWAYSessionId
Responses: 202 Accepted — Still processing 303 See Other — Complete, PDF URL in Location 404 Not Found 410 Gone — Job expired 500 Server-side error
Example Request
GET /rest/v2/subscribers/ERTSE35233/modules/RF-PRNT/PRNT%202014-0009/print/job/NDUxMjh8MzR...
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Example Response — In Progress
HTTP/1.1 202 Accepted
Example Response — Complete
HTTP/1.1 303 See Other
Location: https://server/rest/v2/files/pdf/document.pdf
Recommended polling interval: Poll every 2–5 seconds. Jobs expire after 1 hour.
curl --location 'https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/ERTSE35233/modules/RF-PRNT/PRNT%202014-0009/print/job/NDUxMjh8MzR...' \
--header 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='
GET https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/ERTSE35233/modules/RF-PRNT/PRNT%202014-0009/print/job/NDUxMjh8MzR...
Headers:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Method: GET
URL:https://rest.Ideagen.com/RESTConnect/rest/v2/subscribers/ERTSE35233/modules/RF-PRNT/PRNT%202014-0009/print/job/NDUxMjh8MzR...
Headers:
-
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<Authorization>Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==</Authorization>
</soapenv:Header>
<soapenv:Body>
<!-- REST Request: GET .../print/job/NDUxMjh8MzR... -->
</soapenv:Body>
</soapenv:Envelope>
Data Formats
Field Codes
The platform uses field codes (e.g. FirstName, LastName) to identify data elements. Field codes are case sensitive. Obtain them from a GET response body, or from the Web Services tab on the Define Module panel (Field Codes button).
Date Fields
In queries — Format: YYYYMMDD (no delimiters). Example: ReportDate=20120302
In request/response bodies — Format: YYYY/MM/DD (with slashes). Example: "ReportDate": "2012/03/02"
External Object References
Reference an external object using ModuleCode and Identifier:
{ "ModuleCode": "MODULE-CODE", "Identifier": "OBJ ID" }Child-Level Rows
Each child row includes a unique Row_Identifier element:
{ "Row_Identifier": "365438", "Field1": "Value1" }Non-modifiable System Fields
Do not include these fields in POST or PUT requests:
IdentifierInitiatedByInitiatedOnInitiatorsDepartment
Special Features
Embedding New Objects
New external objects can be embedded inside their parents in POST or PUT requests.
Processing order
When embedding new external objects, they are processed innermost leaves first, top to bottom. Plan your request body structure accordingly.