Join the upcoming Developer Hackathon: Splunk Build-a-thon!Register now

Backfill latest

API for sending historical metric time series (MTS) data points to Splunk Observability Cloud, overwriting any existing data points for the same time period.

Requirements

  • You must have an organization access token with the API permission or a session token to use the API.
  • You have to have the Splunk Observability Cloud admin or power role to use the POST /backfill operation.
API Base URL
https://backfill.{REALM}.signalfx.com/v1
Copy to clipboard

Endpoint URL

 
POST
/backfill
Copy full endpoint URL to clipboard

Sends historical metric time series (MTS) data points to Splunk Observability Cloud, overwriting any existing data points for the same time period. Be aware of the following when you use /backfill:

  • A single call to /backfill can only refer to a single MTS specified by its metric type, metric name, and dimensions.
  • Use the API in bulk mode. It's designed to accept thousands of data points in each call, such as 1 hour of points with a resolution of one second or one day of points with a resolution of one minute.
  • Timestamps for each data points must be monotonically ascending.
  • A single call to /backfill must contain one or more hour-long groups of data points, with each hour starting one millisecond after the top of the hour and ending exactly at the top of the following hour.
  • Avoid large gaps in the data, because the provided data replaces all of the data in the equivalent time period of existing data. For example, if you have one hundred data points for an MTS over one hour, and you backfill with 20 data points for the same MTS over the same hour, you're left with 20 data points.

Note: /backfill doesn't support the built-in sf_hires dimension that marks data points as high resolution.

Headers
Name
Description
Content-Type
Required
string
Example: application/json

Always `application/json'.

X-SF-TOKEN
Required
string
Example: x9Xxxxxx9XXXXxxxxX9XxX

Access token (org token) with authScope set to INGEST

Query Parameters
Name
Description
metric
Required
string
Example: demo.trans.count

For backfilled MTS, name of metric

metric_type
string
Example: gauge

The metric type for the metric you're backfilling. Allowed values are gauge, counter, and cumulative_counter. To learn more, refer to the Metric types section in the user documentation.

orgid
string
Example: XxXXX99XXXX

The ID for the organization that should receive the incoming data.

sfxdim_<dimension_name>
string
Example: sfxdim_demo_datacenter:Paris&sfxdim_demo_host:server1

Specifies the dimensions for the MTS you're backfilling. Use the dimension name and value for each dimension, up to the limit of 36 dimensions.

For example, if you want to specify sfxdim_demo_datacenter:Paris as one dimension and sfxdim_demo_host:server1 as another dimension, use the following in your URL: sfxdim_demo_datacenter:Paris&sfxdim_demo_host:server1

You must specify all the dimensions associated with the MTS. If you don't, the backfill creates a new MTS based on the dimensions you specify.

Code Examples
cURL
HTTP
curl -X POST "https://backfill.{REALM}.signalfx.com/v1/backfill" \
    -H "Content-Type: application/json" \
    -H "X-SF-TOKEN: <value>" \
    -d '{
            "timestamp": 205344000000,
            "value": 400
        }'
Copy to clipboard
Request Body
Content Type: application/json

Backfill request, containing a stream of JSON objects separated by whitespace. The request body schema describes the format of each object.

Name
Description
timestamp
Required
integer <int64>

Timestamp of the historical data points, expressed in *nix time in milliseconds. The values of timestamp must be monotonically ascending.

value
Required
number

The metric value, as an integer or floating-point number.

Request Examples
Content Type: application/json
Copy to clipboard
{
  timestamp: 205344000000,
  value: 400
}
Response Body
empty

Successful backfill request. The API doesn't return headers or a response body.