Skip to main content
Solved

OData Metadata Obfuscation

  • February 9, 2026
  • 1 reply
  • 31 views

Stijn Schuurman
Vanguard
Forum|alt.badge.img+1
{
"@odata.context": "https://url/indicium/<appl>/....",
"value": []
}

 

Dear Thinkwise,

In an attempt to connect a part of our system to an external client. We are having trouble with the parser not being able to handle the inline responses. Meaning that the odata.context object is returned next to the actual values. The parser of the other system is expecting a JSON array, like other API’s.

I understand that Indicium HTTP API uses OData under the hood to facilitate the requests and this is working really well. Is there a possibility to pass another parameter that obfuscates this additional metadata information.

For example the docs for implementing OData offers the odata.metadata=none Accept header. Could / is something similar applicable to Indicium?

https://docs.oasis-open.org/odata/odata-json-format/v4.0/csd01/odata-json-format-v4.0-csd01.html#_Toc355172906

 

Found this relevant / similar question on the community:

 

Best answer by Vincent Doppenberg

Hello ​@Stijn Schuurman,

As the OData docs state, you can indeed use the odata.metadata instruction for this in the Accept header.

The following Accept header will cause the @odata.context property to be omitted from the response.

Accept: application/json;odata.metadata=none

Please note though, the response still will not be a simple, flat array. The object wrapper around it will remain and the array will be referred to via the “value” property.

If you want the response to literally just be the array, then you will have to make a custom API. Note that the blog I linked is slightly outdated, the checkbox on the process flow is now called “Custom API”. The rest of the blog still applies though, you can accept any kind of API call and return the response in any kind of format you wish.

I hope this helps.

1 reply

Forum|alt.badge.img+4

Hello ​@Stijn Schuurman,

As the OData docs state, you can indeed use the odata.metadata instruction for this in the Accept header.

The following Accept header will cause the @odata.context property to be omitted from the response.

Accept: application/json;odata.metadata=none

Please note though, the response still will not be a simple, flat array. The object wrapper around it will remain and the array will be referred to via the “value” property.

If you want the response to literally just be the array, then you will have to make a custom API. Note that the blog I linked is slightly outdated, the checkbox on the process flow is now called “Custom API”. The rest of the blog still applies though, you can accept any kind of API call and return the response in any kind of format you wish.

I hope this helps.