# Has the /api/search/universal/absolute API changed in gl-2.3?

**URL:** <https://community.graylog.org/t/has-the-api-search-universal-absolute-api-changed-in-gl-2-3/2039>\
**Category:** Graylog Central (peer support)\
**Created:** [August 10, 2017, 9:30am UTC](https://community.graylog.org/t/has-the-api-search-universal-absolute-api-changed-in-gl-2-3/2039 "2017-08-10T09:30:59Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![jason](https://avatars.discourse-cdn.com/v4/letter/j/dc4da7/32.png) [@jason](https://community.graylog.org/u/jason)\
**Post date:** [August 10, 2017, 9:30am UTC](https://community.graylog.org/t/has-the-api-search-universal-absolute-api-changed-in-gl-2-3/2039/1 "2017-08-10T09:30:59Z")

</div>

Hi there

We just upgraded from the last 2.2 release to graylog-server-2.3.0-7.noarch and a search script we have no longer works

It seems to be that “Accept: application/json” is no longer supported. If I drop the Accept header, it works - but I get CSV format instead of the JSON I want

ie

curl -m 20 -s -uxxxtoken -H ‘Accept: application/json’ -X GET http…/api/search/universal/absolute?query=blah…

returns a “ApiError” error, but dropping the Accept header works. Looking at the API browser, I can see TWO /api/search/universal/absolute options - the latter supposedly supports JSON - but the examples they give are identical - ie no indication how JSON appears (if not by the Accept header)

Any ideas how to get the JSON back? Thanks

Jason

---

<div class="post-metadata">

**Author:** ![jochen](https://sea2.discourse-cdn.com/flex016/user_avatar/community.graylog.org/jochen/32/8_2.png) [@jochen](https://community.graylog.org/u/jochen)\
**Post date:** [August 10, 2017, 10:15am UTC](https://community.graylog.org/t/has-the-api-search-universal-absolute-api-changed-in-gl-2-3/2039/2 "2017-08-10T10:15:17Z")

</div>

> [@jason](#):
>
> curl -m 20 -s -uxxxtoken -H ‘Accept: application/json’ -X GET http…/api/search/universal/absolute?query=blah…

What’s the complete query?

> [@jason](#):
>
> returns a “ApiError” error,

What kind of error?

---

<div class="post-metadata">

**Author:** ![jason](https://avatars.discourse-cdn.com/v4/letter/j/dc4da7/32.png) [@jason](https://community.graylog.org/u/jason)\
**Post date:** [August 10, 2017, 4:44pm UTC](https://community.graylog.org/t/has-the-api-search-universal-absolute-api-changed-in-gl-2-3/2039/3 "2017-08-10T16:44:54Z")

</div>

OK, this works (but returns CSV)

```auto
curl -X GET 'http://gray.log.servert:12900/search/universal/absolute?query=application_name:squid&from=2017-08-10%2015%3A38%3A53&to=2017-08-10%2016%3A38%3A53&limit=10&fields=message,source,application_name'

```

but this doesn’t

```auto
curl -H 'Accept: application/json' -X GET 'http://gray.log.servert:12900/search/universal/absolute?query=application_name:squid&from=2017-08-10%2015%3A38%3A53&to=2017-08-10%2016%3A38%3A53&limit=10&fields=message,source,application_name'

```

It generates the error

```auto
{"type":"ApiError","message":""}

```

curl -v shows it’s a “HTTP/1.1 500 Internal Server Error” . So I looked at the graylog server log and it shows this

```auto
2017-08-10T16:43:19.077Z ERROR [AnyExceptionClassMapper] Unhandled exception in REST resource
java.lang.NullPointerException: null
	at org.graylog2.indexer.searches.Searches.lambda$search$3(Searches.java:272) ~[graylog.jar:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_141]
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374) ~[?:1.8.0_141]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[?:1.8.0_141]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[?:1.8.0_141]
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) ~[?:1.8.0_141]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_141]
	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) ~[?:1.8.0_141]
	at org.graylog2.indexer.searches.Searches.search(Searches.java:273) ~[graylog.jar:?]
	at org.graylog2.rest.resources.search.AbsoluteSearchResource.searchAbsolute(AbsoluteSearchResource.java:111) ~[graylog.jar:?]
	at sun.reflect.GeneratedMethodAccessor444.invoke(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_141]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_141]
	at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81) ~[graylog.jar:?]
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144) ~[graylog.jar:?]
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161) ~[graylog.jar:?]
	at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:205) ~[graylog.jar:?]
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99) ~[graylog.jar:?]
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389) ~[graylog.jar:?]
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347) ~[graylog.jar:?]
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102) ~[graylog.jar:?]
	at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326) [graylog.jar:?]
	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) [graylog.jar:?]
	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) [graylog.jar:?]
	at org.glassfish.jersey.internal.Errors.process(Errors.java:315) [graylog.jar:?]
	at org.glassfish.jersey.internal.Errors.process(Errors.java:297) [graylog.jar:?]
	at org.glassfish.jersey.internal.Errors.process(Errors.java:267) [graylog.jar:?]
	at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317) [graylog.jar:?]
	at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305) [graylog.jar:?]
	at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154) [graylog.jar:?]
	at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.service(GrizzlyHttpContainer.java:384) [graylog.jar:?]
	at org.glassfish.grizzly.http.server.HttpHandler$1.run(HttpHandler.java:224) [graylog.jar:?]
	at com.codahale.metrics.InstrumentedExecutorService$InstrumentedRunnable.run(InstrumentedExecutorService.java:176) [graylog.jar:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_141]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_141]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_141]

```

---

<div class="post-metadata">

**Author:** ![jochen](https://sea2.discourse-cdn.com/flex016/user_avatar/community.graylog.org/jochen/32/8_2.png) [@jochen](https://community.graylog.org/u/jochen)\
**Post date:** [August 10, 2017, 6:00pm UTC](https://community.graylog.org/t/has-the-api-search-universal-absolute-api-changed-in-gl-2-3/2039/4 "2017-08-10T18:00:14Z")

</div>

This will be fixed in Graylog 2.3.1:

> <https://github.com/Graylog2/graylog2-server/issues/4068>
>
> When trying to use https://github.com/graylog-labs/cli-dashboard I encountered the following exception:
> graylog\_1 | 2017-08-09 07:19:09,217 ERROR: org.graylog2.shared.rest.exceptionmappers.AnyExceptionClassMapper - Unhandled exception in REST resource
> graylog\_1...

  

> <https://github.com/Graylog2/graylog2-server/pull/4069>

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex016/uploads/graylog/original/3X/c/7/c7c09c6b5099570133d6502b83f50ba4430de5b6.png) [@system](https://community.graylog.org/u/system)\
**Post date:** [August 24, 2017, 6:00pm UTC](https://community.graylog.org/t/has-the-api-search-universal-absolute-api-changed-in-gl-2-3/2039/5 "2017-08-24T18:00:15Z")

</div>

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.
