Dashboards & Visualizations

How do you access the custom endpoint from dashboard javascript?

Dev999
Communicator

I have configured my REST API custom endpoint within a new app, and tested successfully through the service web's UI (:8089). But got 404 from javascript. Splunk version: 7.2.0, User account has admin role:

service.post('services/my_submit', data, function...
http://mysplunk:8000/en-US/splunkd/__raw/services/my_submit?output_mode=json 404 (Not Found)

Accessing from service port prints 'success' from the python script:

https://mysplunk:8089/services/my_submit

web.xml:

[expose:my_submit]
pattern=my_submit
methods=POST

restmap.conf:

[script:my_submit]
match=/my_submit
handler=my_submit.Submit

my_submit.py:

import splunk
class Submit(splunk.rest.BaseRestHandler):
    def handle_submit(self):
        try:
            self.response.setHeader('content-type', 'text/html')
            self.response.write('success')
        except:
            self.response.setHeader('content-type', 'text/html')
            self.response.write('<p>Uh oh! Something wrong!</p>')

    handle_GET = handle_submit    

Should I use 'services/my_submit' as the endpoint in the service call? What else could I miss? Your help is greatly appreciated.
Tony

0 Karma
1 Solution

Dev999
Communicator

After correcting GET/POST, I realized the problem was that the file name should be web.conf, not web.xml.

View solution in original post

Dev999
Communicator

After correcting GET/POST, I realized the problem was that the file name should be web.conf, not web.xml.

lweber
Path Finder

seems that you are mixing Get and Post.

try:

web.xml:
methods=POST,GET

my_submit.py:
handle_GET = handle_POST = handle_submit

and try both js methods:
service.post(...) and service.get(...)

0 Karma

Dev999
Communicator

Thanks lweber. I can see missing handle_POST in python would be a problem. If I replace handle_GET with handle_POST only, I got a specific python error (object has no attribute 'handle_GET' ) on port 8089 web. Now I have both as you suggested, and added to web.xml, but still gets 404 error regardless I do service.get or service.post. I can do curl with -XPOST to get the correct response from port 8089.

0 Karma
Got questions? Get answers!

Join the Splunk Community Slack to learn, troubleshoot, and make connections with fellow Splunk practitioners in real time!

Meet up IRL or virtually!

Join Splunk User Groups to connect and learn in-person by region or remotely by topic or industry.

Get Updates on the Splunk Community!

[Puzzles] Solve, Learn, Repeat: Matching cron expressions

This puzzle (first published here) is based on matching timestamps to cron expressions.All the timestamps ...

Design, Compete, Win: Submit Your Best Splunk Dashboards for a .conf26 Pass

Hello Splunkers,  We’re excited to kick off a Splunk Dashboard contest! We know that dashboards are a primary ...

May 2026 Splunk Expert Sessions: Security & Observability

Level Up Your Operations: May 2026 Splunk Expert Sessions Whether you are refining your security posture or ...