ITONICS REST API: GET response formats
What is it?
This article shows the JSON structures the ITONICS REST API returns for each field type, so you can correctly parse the response of a GET request - for elements, submissions, roadmaps, timeline, table data and users.
This article is part of the ITONICS REST API series. For the overview, refer to Overview and getting started. For the endpoints that return these responses, refer to GET endpoints.
This article provides clarity on the expected data structures returned by the GET API for the most frequently used field types, assisting you in correctly parsing the JSON response.
Check out our public Postman API collection:
This dedicated resource provides detailed sample request bodies and complete output formats for all GET, POST, and PUT endpoints, ensuring you quickly understand the necessary technical specifications and expected JSON formats.
In this article
- Element retrieval
- Submission/idea element retrieval
- Roadmap data retrieval
- Roadmap change log retrieval
- Timeline data retrieval
- Table data retrieval
- User data retrieval
Element retrieval
Endpoint /api/{entity_type}.json for element retrieval:
| Field type | Example field value | Expected API response | Notes on structure |
|---|---|---|---|
| Single line input field of type text (Title) | Creative AI | "field_machine_name": "string" |
Simple string value |
| Simple text field (Abstract) | Creative AI (CAI) is the branch of artificial intelligence. | "field_machine_name": "string" |
Simple string value |
| Rich text editor (RTE) field (Description) | Creative AI technologies have the potential to fundamentally alter … | "field_machine_name": "string with <b>HTML</b> tags" |
Returns text content, including HTML tags for formatting |
| Image file (Header image) | (Base64 encoded) Image file | "field_machine_name": "encoded_image_data/file/png?X…" |
Returns a Base64 encoded string of the image file (if configured to do so). |
| (Element) Status | Published | "status": "string" |
Returns element status (Published, Draft, Archived, Review) as string value. |
| Single line input field of type URL, Email, Number | https://www.itonics-innovation.com/ jane.innovation@itonics-innovation.com 100 Multi-select case: 100, 200, 300 |
"field_machine_name": "URL string""field_machine_name": "email string""field_machine_name": "number string""field_machine_name": ["number/string", "number/string", "number/string"] |
Returns simple string or numerical value represented as a string. Note: Multi-select fields return an array of strings, or numbers / emails represented as a string. |
| List fields: (Searchable) Dropdown (single-select) | Single-select case: R&D | "field_machine_name": {"field_option_id": "string"} |
Returns a JSON object mapping the unique field option ID (key) to the displayed label (value). |
| List fields: (Searchable) Dropdown (multi-select) | Multi-select case: R&D, Marketing | "field_machine_name": {"field_option_id": "string", "field_option_id": "string"} |
Returns a JSON object mapping unique field option IDs to their labels. |
| Single checkbox | Checked | "field_machine_name": "checked" |
Returns the string "checked" when the box is checked, otherwise "unchecked". |
| Radio button | Value A | "field_machine_name": {"field_option_id": "string"} |
Returns a JSON object mapping the unique option_id to the display label. Empty state returns null. |
| Pearl chain (with check) | In progress | "field_machine_name": {"field_option_id": "string"} |
Returns a JSON object mapping the unique option_id to the display label. Empty state returns null. |
| Segment/ hierarchy field | Technology Segment > Technology Sub-segment (each level can be multi-select): ICT > AI & Engineering > Machines & Robotics |
"segment_field_machine_name": {"segment_field_machine_name_entity_segment": {"segment_field_option_id": {"label": "string", "parent": "parent_segment_option_id"}}, "sub_segment_field_machine_name_entity_sub_segment": {"sub_segment_field_option_id": {"label": "string", "parent": "parent_segment_option_id"}}} |
Returns a nested JSON object showing the full hierarchy, mapping entity segments to sub-segments via parent/child segment option IDs. |
| Date picker field | 2025-01-01 | "field_machine_name": "YYYY-MM-DD" |
Returns a date string in the YYYY-MM-DD format. |
| Term search field (Tags) | artificial intelligence, machine learning | "Tags": "artificial intelligence;machine learning" |
Returns a single string with all tags separated by a semicolon (;). |
| User search fields (USF) (single-, and multi-select) | Jane Innovation, John Doe | "field_machine_name_username": "jane.innovation,john.doe""field_machine_name_fullname": "Jane Innovation,John Doe" |
Returns two separate fields: one with the technical username(s) (comma-separated for multi-select) and one with the corresponding full name(s) (again, comma-separated for multi-select) |
| User group search field (UGSF) | Experts & Collaborators (groups) R&D & IT (contexts) |
"field_machine_name": {"group": "string1, string2", "contexts": "string1, string2"} |
Returns a JSON object with two keys: group and context. The values are the display labels (names) of the assigned user group and user context, respectively. |
| Element search fields (ESF) (single-, and multi-select) | OpenAI (company), AR for machine maintenance (innovation project) | "field_machine_name": {"entity_type_machine_name": [{"entity_id": {id}, "title": "string"}], "entity_type_machine_name": [{"entity_id": {id}, "title": "string"}]} |
Returns a nested JSON object grouped by {entity_type}, containing an array of linked element objects (incl. {id} and title). |
| File fields (single-, and multi-select) | File1.png, file2.xlsx | "field_machine_name": [{"path": "file_path.file_type", "filename": "string"}, {"path": "file_path.file_type", "filename": "string"}] |
Returns an array of objects, where each object provides the secure path (URL) and filename. |
| (Element-) Relations | OpenAI (company), AR for machine maintenance (innovation project) | "relations": {"entity_type_machine_name": [{"entity_id": {id}, "title": "string"}], "entity_type_machine_name": [{"entity_id": {id}, "title": "string"}]} |
Returns a nested JSON object grouped by {entity_type}, containing an array of linked element relation objects (incl. {id} and title), following a similar structure as element search fields (ESF). |
| Activity information | 2 followers, 1 like, 2 comments, 1 share, 1 view | "number_of_followers": number"number_of_likes": number"number_of_comments": number"number_of_shares": number"number_of_views": number |
Returns the summary counts of the engagement activity on the element. number_of_shares reflects the number of distinct users with access to the element, counted once per user regardless of how many permissions they hold, and deduplicated across direct grants, user search fields, groups and contexts, and system roles. The detailed follower and like user lists are retrieved via the dedicated GET /api/followers_likes.json endpoint. |
| Ratings | Rating data | "rating_info": {"number_ratings_active": "string", "number_ratings_inactive": "string", "[rating_id]_[criteria_machine_name]": {"criteria_name": "string", "average_string": "string", "average_decimal": "string", "users": ["uid1", "uid2"], "rating_group": "string"}, …more criteria} |
Returns the total count of active / inactive individual ratings as strings. The main object is indexed by the unique rating_id and criteria_machine_name, and provides the criteria label, the average rating (as both decimal and string), the count of users (users, array of UIDs), and the associated rating group name. The element response contains the rating summary only. The individual rating records (user, user context, rating value, rating date, comment, and rating status, including inactive/overwritten submissions) are retrieved via the dedicated GET /api/entity_rating_info.json endpoint.The whole object can be omitted via fields_excluded=rating_info. |
Submission/idea element retrieval
Endpoints /api/itonics_idea.json and /api/itonics_idea/{id}.json for submission/idea element retrieval:
| Field type | Example field value | Expected API response | Notes on structure |
|---|---|---|---|
| Text field (Title) | Creative AI | "field_machine_name": "string" |
Simple string value |
| Text area field (Abstract) | Creative AI (CAI) is the branch of artificial intelligence. | "field_machine_name": "string" |
Simple string value |
| Rich text editor (RTE) field (Description) | Creative AI technologies have the potential to fundamentally alter … | "field_machine_name": "string with <b>HTML</b> tags" |
Returns text content, including HTML tags for formatting |
| Header Image (Image file) | Image file path (Base64 encoded if configured) | "header_image": "https://url/path/image.jpg" |
Returns the full, external URL path to the image file. |
| List fields: Single choice field (single-select radio button) | Yes | "field_machine_name": {"field_option_id": "string"} |
Returns a JSON object mapping the unique field_option_id (key) to the displayed label (value). Note: applies for both single- and multiple choice. |
| List fields: Multiple choice field (multi-select dropdown field) | One, two | "field_machine_name": {"field_option_id": "string", "field_option_id": "string"} |
Returns a JSON object mapping the unique field_option_id (key) to the displayed label (value). |
| Date picker fields | 2025-10-27 | "field_machine_name": "YYYY-MM-DD" |
Returns a date string in the YYYY-MM-DD format. |
| Tags (Term search field) | artificial intelligence, machine learning | "Tags": "artificial intelligence;machine learning" |
Returns a single string with all tags separated by a semicolon (;). |
| Authors (system default field) | John Doe | "entity_authors_username": "john.doe""entity_authors_fullname": "John Doe" |
Returns two separate fields: one with the technical username(s) (comma-separated for multi-select) and one with the corresponding full name(s) (again, comma-separated for multi-select) |
| User search field (USF) (single-, and multi-select) | Jane Innovation Jane Innovation, John Doe (multi-select) |
"field_machine_name_username": "jane.innovation""field_machine_name_username": "jane.innovation,john.doe""field_machine_name_fullname": "Jane Innovation,John Doe" |
Returns two separate fields: one with the technical username(s) (comma-separated for multi-select) and one with the corresponding full name(s) (again, comma-separated for multi-select) |
| References | URL / file path | "attachments": [{"path": "string", "title": "string"}] |
Returns an array of objects defining attached references (path is the URL/file path, title is the display name). |
| (Element-) Relations | OpenAI (company), Artificial intelligence challenge (campaign) | "relations": {"entity_type_machine_name": [{"entity_id": {id}, "title": "string"}], "entity_type_machine_name": [{"entity_id": {id}, "title": "string"}]} |
Returns a nested JSON object grouped by {entity_type}, containing an array of linked element relation objects (incl. {id} and title), following a similar structure as element search fields (ESF). |
| Five-star rating | 2.5 | "five_star": number |
Returns a number value. |
| Submission rating | Rating data and Evaluator assignments | "ratings": {"phase_id": {"phase_name": {"evaluators": [{"evaluator_username": "username1, username2", "evaluator_fullname": "fullname1, fullname2"}], "criteria_machine_name": {"criteria_name": "string", "average_decimal": "number string", "average_string": "string", "users": integer}, …more criteria}}} |
Returns a primary object indexed first by phase_id and then nested under the phase_name. An array of objects listing all assigned evaluators (usernames / fullnames are comma-separated strings if multiple exist). Each rating criterion criteria_machine_name is an object providing the average rating in both decimal and string format, along with the count of users who provided a rating. |
Roadmap data retrieval
Endpoint /api/roadmap/{id}.json for roadmap data retrieval:
Roadmap layers, elements and milestones (/api/roadmap/{id}.json):
{ "layers": [ { "id": "string", "label": "string", "elements": [ { "element_id": number, "entity_type": "string", "url": "string", "title": "string", "abstract": "string", "start": "YYYY-MM-DD", "end": "YYYY-MM-DD", "status": number, "is_synced": boolean, "milestones": [ { "milestone_date": "YYYY-MM-DD", "milestone_description": "string", "milestone_title": "string", "milestone_type": number, "milestone_generated_id": "string", "id": "string" // ... plus any custom milestone fields ... } ] } ], "children": [ // recursive structure: repeats the "layers" object format for sub-layers ] } ] }
The response is a recursive structure defined by the layers array, preserving the full roadmap hierarchy. Each layer contains an elements array and a children array (for sub-layers). The milestone data is nested within each element object.
Roadmap connections (/api/roadmap/{id}.json?type=connection):
{ "connections": { "connection_id_1": { "connection_id": number, "connection_type_id": number, "origin": { "element_id": number, "entity_type": "string" // or "etype": "string", "type": "milestone", "machine_id": "string" }, "target": { "element_id": number, "entity_type": "string" // or "etype": "string", "type": "milestone", "machine_id": "string" } } // ... additional connections ... } }
The entire response is encapsulated within the connections object, using the connection_id as the unique object key. Each connection links an origin and target element, identified by their element_id and entity_type.
Roadmap managers (/api/roadmap/{id}.json):
"roadmap_managers": { "121": { "field_roadmap_managers_uid": "121", "field_roadmap_managers_uuid": "3f2b8c1e-7a4d-4c9e-b1a5-6d0e2f9a8b34", "field_roadmap_managers_fullname": "Jane Innovation", "field_roadmap_managers_username": "jane.innovation" }, "394": { "field_roadmap_managers_uid": "394", "field_roadmap_managers_uuid": "a91c47d2-5e3b-48f6-9c0d-1b7e4a62f5c8", "field_roadmap_managers_fullname": "John Doe", "field_roadmap_managers_username": "john.doe" } }
Returns the roadmap managers as a JSON object keyed by user ID. Each entry provides the user's ID, UUID, full name, and username. The object is returned in addition to the layers structure.
Roadmap change log retrieval
Endpoint /api/roadmap_logs/roadmap-configuration.json for roadmap change log retrieval:
{ "roadmap_id": number, "roadmap_title": "string", "action": "created / edited / deleted / archived / restored", "changed_by": "username", "timestamp": "YYYY-MM-DD hh:mm:ss", "change_summary": { "general_properties": { "field_machine_name": { "old_value": "…", "new_value": "…" } }, "default_color_label_config": { "color": {}, "dynamic_label": {}, "milestone_color": {} }, "layers": { "added": ["Parent > New Layer"], "deleted": ["Parent > Removed Layer"], "reordered": [ { "old_value": "A, B, C", "new_value": "B, A, C" } ], "parent_changed": [ { "old_value": "X > L", "new_value": "Y > L" } ], "renamed": [ { "old_value": "Parent > Old", "new_value": "Parent > New" } ] } } }
One record per save event. changed_by returns the username of the acting user. change_summary is null for created, deleted, archived, and restored records, and is populated only for edits. Within it, changes are grouped by general_properties, default_color_label_config (split into color, dynamic_label, and milestone_color), and layers. In layers, added and deleted are plain arrays of layer paths, while reordered, parent_changed, and renamed are arrays of objects carrying old_value and new_value. Roadmap managers are returned as an array of usernames. Visibility (users) returns the stored JSON string with each recipient's label and ID, or an empty array where none is set. An empty value is returned as null.
Timeline data retrieval
Endpoints for timeline data retrieval:
/api/timeline.json?entity_type={entity_type}/api/timeline.json?entity_type={entity_type}&entity_id={entity_id}
| Action in ITONICS | Expected API response | Notes on structure |
|---|---|---|
| Element creation (Draft / review / published) | {"changed_by": "username", "changed_at": "hh:mm:ss", "action": "draft_created / review / create"} |
Simple action taken by the user at the point in time hh:mm:ss. Actions can be draft_created, review, or create (for published). |
| Publishing a draft element | {"changed_by": "username", "changed_at": "hh:mm:ss", "action": "published", "field_label": "Status", "new_value": {"field_label": "Published", "field_value": "1"}, "old_value": {"field_label": "Draft", "field_value": "0"}} |
Uses a specific action (e.g., published). The new_value includes the numeric status code (1 for Published, 2 for Review, 0 for draft). |
| Field value update (e.g. Title) | {"changed_by": "username", "changed_at": "hh:mm:ss", "action": "entity_update", "field_label": "Title", "new_value": {"field_label": "Title", "field_value": "old_string_value"}, "old_value": {"field_label": "Title", "field_value": "new_string_value"}} |
Returns the (simple string, number, etc.) value for both new_value and old_value. |
| Element liked / followed | {"changed_by": "username", "changed_at": "hh:mm:ss", "action": "liked / follow"} |
Simple activity action. Actions are liked, unliked, follow, or unfollowed. |
| Element comment | {"changed_by": "username", "changed_at": "hh:mm:ss", "action": "comment", "new_value": "<p>comment_value</p>"} |
Includes the HTML encoded comment text in new_value. |
Table data retrieval
Endpoints for table data retrieval:
/api/table_data.json?entity_type={entity_type}/api/table_data.json?entity_type={entity_type}&entity_id={entity_id}
{ "table_field_name": { "rows": { "row_label": { "label": "string", "column_data": { "column_label": {"option_label": "string"}, "column_label": "number_string", "column_label": "number_string" }, "row_aggregation_label": integer }, // ... "column_aggegration_label": { "column_data": { "column_label": integer // ... }, "row aggregation_label": integer } } } }
A list object is returned containing all table structures for an element. Each row is keyed by its unique machine name. It contains a human-readable label, the raw column_data, and any aggregated fields (column and row aggregations). For columns using a dropdown field type, the response returns an object with the key and the human-readable label. Simple input fields (text or number, date fields, user values as technical usernames) return their value as a string within the column_data object.
User data retrieval
Endpoints /api/user.json and /api/user/{id}.json for user data retrieval:
"uid": "id_string", "username": "string", "mail": "mail_string", "first_name": "string", "last_name": "string", "last_edit_date": "date_string", // 0 if no edit yet "first_login": "string", // null if no login yet "last_login": "string", "profile_image": "https://url/path/image.jpg", "user_roles": {"role_1", "role_2"}, "user_field_machine_name": "string / number"
Returns the unique numerical ID as a string, the user's login identifier/username, primary email address, date strings for last edit date, logins, and access information, as well as profile image (base64 encoded file), user role information, and default- and custom user field information.