ITONICS REST API: GET meta controls and filter options
What is it?
This article describes the meta controls and filters you can pass along with a GET request to slice, page, sort and narrow the data the ITONICS REST API returns.
This article is part of the ITONICS REST API series. For the overview, refer to Overview and getting started. The endpoints these controls apply to are listed in GET endpoints.
To efficiently slice and query your data set, you can pass multiple supported meta controls and filters along with your GET request, combining them using the & symbol, or using the ? character for single parameters, e.g. ?limit=100.
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
- Standard pagination and ordering controls
- Field selection
- Dynamic data and filtering controls
- Rating filters and sorting
- Submission and campaign filters
- Element status filters
Standard pagination and ordering controls
These meta controls are universally available to manage data size, pagination, and sorting.
| Meta control | Details | Sample request |
|---|---|---|
| limit | Returns only the defined limit of elements / users per page. The default limit is 100 results. For structured data, like roadmaps, this limit is applied independently to each layer or sub-layer. If limit=2, only 2 elements will be displayed in the first page of each layer, but the full structural hierarchy is always preserved, including empty layers. |
/api/itonics_trend.json?limit=10/api/user.json?limit=25/api/roadmap/{id}.json?limit=10 |
| page | Used for pagination, specifying the data offset based on the limit. Returns an error if the requested page is empty. Returns those x elements, where x is {limit} and the number of total elements of type {entity_type} is greater than {limit}. The returned data structure contains links to itself (self), the first page (first) and the last page (last). If your current page is not the last or the first one, the data structure will also generate links to the previous page (prev) and the next page (next). The requests are limited to 100 results per page. For structured data, like roadmaps, pagination applies independently to each layer or sub-layer. |
/api/itonics_trend.json?page=2&limit=13/api/roadmap/{id}.json?page=2&limit=13 |
| sort | Defines the field used for ordering the results. Available options are: ds_created (default), ds_updated, or ds_label. On element endpoints, the following values are additionally available: number_of_likes and number_of_followers to rank elements by engagement, and average_decimal to rank elements by rating value. sort=average_decimal requires a rating_criteria parameter in the same request. On submission endpoints, five_star and rating_criteria_average_decimal are additionally available. One sort field applies per request. |
/api/itonics_trend.json?sort=ds_label/api/itonics_trend.json?sort=number_of_likes&direction=DESC&limit=1/api/itonics_trend.json?rating_criteria=rating_116_strategic_relevance&sort=average_decimal&direction=DESC |
| direction | Defines the sorting order. Available options are: DESC (default) or ASC. | /api/itonics_trend.json?direction=DESC |
| from_date | Returns only data created later than the defined date. Date format: YYYY-MM-DD. | /api/user_stats/login_rate.json?from_date=2025-01-01 |
| to_date | Returns only data created earlier than the defined date. Date format: YYYY-MM-DD. | /api/user_stats/login_rate.json?to_date=2025-01-01 |
| range | Defines the time resolution for statistics (e.g., in reporting endpoints). Available options are: days (default), weeks, or months. | /api/user_stats/login_rate.json?range=weeks/api/user_stats/login_rate.json?from_date=2024-01-01&to_date=2025-10-31&range=days |
| firstname and lastname | Returns only users whose first name or last name matches with the sent query. | /api/user.json?firstname=John&lastname=Doe |
| timeline_from_date | Returns only timeline data logged later than the defined date. Date format: YYYY-MM-DD hh:mm:ss. Meta control specific to the /api/timeline.json?entity_type={entity_type} and /api/timeline.json?entity_type={entity_type}&entity_id={entity_id} endpoints. |
/api/timeline.json?entity_type={entity_type}&timeline_from_date=2026-04-01%2001:01:23 |
| timeline_to_date | Returns only timeline data logged earlier than the defined date. Date format: YYYY-MM-DD hh:mm:ss. Meta control specific to the /api/timeline.json?entity_type={entity_type} and /api/timeline.json?entity_type={entity_type}&entity_id={entity_id} endpoints. |
/api/timeline.json?entity_type={entity_type}&timeline_to_date=2026-02-01%2023:59:59 |
| rating_from_date | Returns only rating data with a rating date later than the defined date. Meta control specific to the /api/entity_rating_info.json endpoints. |
/api/entity_rating_info.json?entity_type=itonics_trend&rating_from_date=2026-01-01 |
| rating_to_date | Returns only rating data with a rating date earlier than the defined date. Meta control specific to the /api/entity_rating_info.json endpoints. |
/api/entity_rating_info.json?entity_type=itonics_trend&rating_to_date=2026-06-30 |
| rating_status | Filters the returned rating data by the rating status (Active or Inactive). Meta control specific to the /api/entity_rating_info.json endpoints. |
/api/entity_rating_info.json?entity_type=itonics_trend&rating_status=active |
Field selection
Two meta controls narrow the response payload to the fields an integration actually needs, keeping responses small and avoiding the transfer of large values. Both are available on /api/{entity_type}.json, /api/{entity_type}/{id}.json, /api/user.json, and /api/user/{id}.json.
| Meta control | Details | Sample request |
|---|---|---|
| fields_included | Returns only the listed fields, plus the system-mandatory fields. Accepts a comma-separated list of field machine names. | /api/itonics_trend.json?fields_included=abstract,tags,trend_maturity_level |
| fields_excluded | Returns the full payload without the listed fields. Accepts a comma-separated list of field machine names. | /api/user/212.json?fields_excluded=profile_image |
The two controls cannot be combined in a single request. Where both are provided, the request is rejected with a 400 Bad Request. A machine name that does not exist is likewise rejected with a 400 Bad Request.
System-mandatory fields are always part of the response. Listing one in fields_excluded does not produce an error - the field is retained. On element endpoints these are id, entity_type, title, abstract, and status. The auto-generated generated_id is returned by default and can be included or excluded like any other field. On the user endpoints they are uid and username.
Where neither control is provided, or the value is empty, the full payload is returned. Both controls combine with pagination, sorting, and all filter parameters. POST and PUT requests are unaffected.
Retrieve the available machine names via /api/entity_field_properties.json?type={entity_type} for elements and /api/user_field_properties.json for users.
Dynamic data and filtering controls
These controls are used for complex filtering based on field values, text search, or element properties. To retrieve the configuration details (including machine names) necessary for filtering by specific field values, use the /api/entity_field_properties.json?type={entity_type} GET endpoint of a particular {entity_type}. Note: Filter values must be URL encoded (e.g., spaces converted to %20).
| Filter option | Details | Sample request |
|---|---|---|
| query | Full text search. Returns all elements containing the given string in any text or tag field. | /api/itonics_trend.json?query=creative%20ai |
| title | Returns all elements containing the given string in their title. | /api/itonics_technology.json?title=creative%20ai |
| List fields | Filters by the machine name of a list field. The filter value must be the option ID of the desired list option, as returned by /api/entity_field_properties.json.Note: For radio button fields, the option's display label is also accepted as an alternative to the option ID. An option ID that does not exist returns an empty result set rather than an error. |
/api/itonics_trend.json?field_focus_trend=384 (radio button, by option ID)/api/itonics_trend.json?field_focus_trend=Yes (radio button, by label)/api/itonics_trend.json?field_trend_workflow=381 (pearl chain, by option ID) |
| User search fields | Filters by the machine name of a user search field. Note: The filter value must be the username of the requested user. | /api/itonics_trend.json?internal_experts=john.doe |
| User group search fields (UGSF) | Filters by the machine name of a user group search field. The filter value combines the ID with a kind suffix: {group_id}-group to filter by user group, or {context_option_id}-context to filter by user context. Note: A value without a kind suffix, or with an unrecognised suffix, is rejected. |
/api/itonics_trend.json?field_expert_groups=88-group/api/itonics_trend.json?field_expert_groups=55-context |
| Date fields | Filters elements based on a date field's value. Append _from or _to to the field's machine name. Date format: YYYY-MM-DD.*Note: the date range is validated. Where the _from value is later than the _to value, the request is rejected with a validation error rather than returning a result set.* |
/api/itonics_innovation_project_tr3.json?last_review_date_from=2025-01-01 |
| Number fields | Filters by the machine name of a number field. An exact value returns exact matches; append _from or _to to the field's machine name for an open-ended or closed range.*Note: A non-numeric value is rejected. A range where _from is greater than _to is rejected.* |
/api/itonics_trend.json?field_investment=100/api/itonics_trend.json?field_investment_from=2020&field_investment_to=2030 |
| Single checkbox fields | Filters by the machine name of a single checkbox list field. 1 returns elements where the box is checked, 0 returns elements where it is unchecked. | /api/itonics_trend.json?field_reviewed=1 |
| URL fields | Filters by the machine name of a URL field. The filter matches partially, so a domain fragment returns all elements whose URL field contains it. The filter value must be a URL-encoded string. |
/api/itonics_trend.json?field_source=itonics.de |
| Email fields | Filters by the machine name of an email field. The filter matches the full email address and is not case-sensitive. Partial values return an empty result set. For multi-select email fields, an element is returned when any one of its stored addresses matches. | /api/itonics_trend.json?field_contact=jane.innovation%40itonics-innovation.com |
| Segment / hierarchy fields | Filters by the machine name of a segment field or its sub-segment, using the option ID as the filter value. | /api/itonics_trend.json?trend_segment_hierarchy_entity_segment=40/api/itonics_trend.json?trend_segment_hierarchy_entity_sub_segment=41 |
| Element search fields (ESF) | Filters by the machine name of an element search field. The filter value combines the linked element's ID and its entity type machine name in the format {entity_id}-{entity_type}. Note: A value without the entity type suffix, or with an entity type that does not exist, is rejected. A correctly formatted value that matches no element returns an empty result set rather than an error. |
/api/itonics_trend.json?field_related_projects=3310-itonics_idea |
| Description and Abstract | Full phrase search within the Description (RTE) or Abstract field of an element. The filter value must be a URL-encoded string. Note: Filtering is supported for the default Description and Abstract fields only. |
/api/itonics_trend.json?description=quantum%20leap |
| Relations | Returns all elements related to the requested element. The filter value (element name) must be a URL-encoded string. | /api/itonics_trend.json?relates_to=Data%20Sustainability |
| Tags | Returns all elements tagged with the requested tag. The filter value (tag name) must be a URL-encoded string. | /api/itonics_trend.json?tag=artificial%20intelligence |
| Create date | Filters elements created before (_to) or after (_from) the requested date. Date format: YYYY-MM-DD. |
/api/itonics_trend.json?created_date_from=2025-01-01/api/itonics_trend.json?created_date_to=2024-01-01 |
| Creator | Returns all elements created by the requested user. Note: The filter value must be the user's username. | /api/itonics_trend.json?created_by=john.doe |
| Update date | Filters elements updated before (_to) or after (_from) the requested date. Date format: YYYY-MM-DD. |
/api/itonics_trend.json?updated_date_from=2025-01-01/api/itonics_trend.json?updated_date_to=2024-01-01 |
Multiple filter parameters can be combined in a single request; an element is returned only when it satisfies every filter (AND logic). A filter parameter that is not recognised is rejected with a 412 Precondition Failed response.
Rating filters and sorting
Elements can be filtered and ranked by their rating values directly on the element endpoints /api/{entity_type}.json and /api/{entity_type}/{id}.json.
| Parameter | Details | Sample request |
|---|---|---|
| rating_criteria | Identifies the rating criteria the rating filters and the rating sort apply to, using the {rating_id}_{criteria_machine_name} composite key from the rating_info response object. Required together with rating_criteria_average_min, rating_criteria_average_max, or sort=average_decimal. | /api/itonics_trend.json?rating_criteria=rating_116_strategic_relevance |
| rating_criteria_average_min | Returns only elements whose average rating for the specified criteria is equal to or above the given value. | …&rating_criteria=rating_116_strategic_relevance&rating_criteria_average_min=3 |
| rating_criteria_average_max | Returns only elements whose average rating for the specified criteria is equal to or below the given value. | …&rating_criteria=rating_116_strategic_relevance&rating_criteria_average_max=4.5 |
Both range parameters are optional and can be combined to define a closed range, or used individually for an open-ended threshold. The values are validated against the rating scale configured for the respective rating criteria; a value outside that scale is rejected, as is a maximum lower than the minimum. A rating_criteria value that does not exist is rejected.
To rank the result set by rating value, combine the filters with sort=average_decimal and direction. Sorting orders the result set without reducing it - use limit to cap the number of returned elements:
/api/itonics_trend.json?rating_criteria=rating_116_strategic_relevance&rating_criteria_average_min=3&sort=average_decimal&direction=DESC&limit=4
Note: The dedicated /api/entity_rating_info.json endpoint does not accept these parameters.
Submission and campaign filters
The submission and campaign GET endpoints support filtering on default and custom submission fields.
| Filter option | Details | Sample request |
|---|---|---|
| title | Returns submissions or campaigns containing the given string in their title. | /api/itonics_idea.json?title=creative%20ai |
| abstract | Phrase search within the submission Abstract field. | /api/itonics_idea.json?abstract=machine%20learning |
| description | Phrase search within the campaign Description field. | /api/itonics_campaign_tr3.json?description=quantum%20leap |
| authors | Returns submissions authored by the requested user. The filter value must be the user's username. | /api/itonics_idea.json?authors=john.doe |
| campaign_manager | Returns submissions whose campaign manager matches the requested user. The filter value must be the user's username. | /api/itonics_idea.json?campaign_manager=jane.innovation |
| Custom submission fields | Filters by the machine name of a custom submission field. List fields take the option ID, user search fields take the username, single line input fields take the value, and date picker fields take _from / _to in YYYY-MM-DD format. |
/api/itonics_idea.json?field_expected_impact=22 |
Filters combine with each other and with the existing camp_id parameter via AND logic. Where a campaign's configuration does not include a given custom field, the corresponding filter simply does not apply to that campaign.
Filtering and sorting submissions by rating
| Parameter | Details | Sample request |
|---|---|---|
| five_star_min / five_star_max | Returns only submissions whose five-star rating value falls within the given range. Both are optional and can be combined. Values must fall within the five-star scale, and the maximum must not be lower than the minimum. | /api/itonics_idea.json?five_star_min=4 |
| rating_criteria_average_min / rating_criteria_average_max | Returns only submissions whose average rating for the criteria specified via rating_criteria falls within the given range. Note: A camp_id is required when filtering by rating criteria. |
/api/itonics_idea.json?camp_id=20&rating_criteria=…&rating_criteria_average_min=3 |
| rating_phase_id | Scopes a criteria-based rating filter to a specific campaign phase. Submission rating averages are calculated per phase. | /api/itonics_idea.json?camp_id=20&rating_phase_id=4&rating_criteria=…&rating_criteria_average_min=3 |
To rank submissions, use sort=five_star or sort=rating_criteria_average_decimal together with direction:
/api/itonics_idea.json?camp_id=20&five_star_min=4&sort=five_star&direction=DESC
Element status filters
These specific parameters filter elements based on their status or system flags.
| Filter option | Parameter & value | Description | Sample request |
|---|---|---|---|
| New flag | is_new=1is_new=0 |
1 returns all elements created within the last 30 days. 0 returns all others. | /api/itonics_trend.json?is_new=1 |
| Archived flag | is_archived=1is_archived=0 |
1 returns all elements marked as "Archived." 0 returns all others. | /api/itonics_trend.json?is_archived=1 |
| Status | is_status=[0, 1, or 2] |
Filters by element publishing status: 0 (Draft), 1 (Published), or 2 (Review). | /api/itonics_trend.json?is_status=0 |