HTTP Submission of dumps
Perhaps you are have a pre-existing crash reporting facility or are
generating dump files using
MiniDumpWriteDump on Windows, this guide shows you how to submit
these over HTTP or HTTPS.
Ensure submission token exists
First step is to ensure you have a submission token created.
Ensure listener exists
Next step is to ensure that a listener exists for submitting crash data. Look for listeners with the
label. Listener settings are found under the
Configuration Organization menu item.
In the above example, if the server is hosted at
we are able to submit dump files to either http://testing.company.com:6097/post
or https://testing.company.com:6098/post. These are the first
two entries in the above screenshot, with the
Submit a dump file
For this example, let us assume that our submission token is
7e7f38ea321471dfdf76adad1bd101c4ec1010dd6eee113d347f6137179ed9c3 and that the
http/writer end-point is
An HTTP POST is used to submit a dump file. See below for an example
curl -v --data-binary @example_minidump.dmp 'https://testing.company.com:6098/post?format=minidump&token=7e7f38ea321471dfdf76adad1bd101c4ec1010dd6eee113d347f6137179ed9c3'
format parameters are required in order for the dump to be submitted.
User-defined attributes can also be passed as additional
query string parameters. For example, let's say that we wanted to submit a minidump and set the
version attribute associated with it to
curl -v --data-binary @example_minidump.dmp 'https://testing.company.com:6098/post?format=minidump&token=7e7f38ea321471dfdf76adad1bd101c4ec1010dd6eee113d347f6137179ed9c3&version=1.0'
For more information on attributes, see: Attributes
User-supplied files can be passed in multipart post requests. The multipart
form must begin with the minidump, and any attachment parts must have a name
starting with "attachment_" and ending in the desired name of the attachment.
For example, say we want to attach a configuration JSON named
curl -v -F "upload_file=@example_minidump.dmp" -F "email@example.com; type=application/json" 'https://testing.company.com:6098/post?format=minidump&token=7e7f38ea321471dfdf76adad1bd101c4ec1010dd6eee113d347f6137179ed9c3'
Alternatively, attachments can be submitted afterwards using standard POST, in this case to object 5:
curl -v --data-binary @config.json -H "Content-Type:application/json" 'https://testing.company.com:6098/post?token=7e7f38ea321471dfdf76adad1bd101c4ec1010dd6eee113d347f6137179ed9c3object=5&attachment_name=config.json'
curl requires explicitly specifying the Content-Type for
attachments, as demonstrated, but a custom client can omit this parameter.
In this case, the server will automatically determine the Content-Type based
on the attachment's name.