> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usefini.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Test data step

> Test one HTTP call without saving.

Runs a single HTTP call and returns the raw response, without persisting anything. Pass a saved step's `id` to test it as stored, or send the request fields inline to try a call before saving.

## Headers

<ParamField header="Authorization" type="string" required>
  Bearer token containing your Fini workspace API key. Format: `Bearer fini_...` The key needs `write` scope.
</ParamField>

<ParamField header="Content-Type" type="string" required>
  `application/json`
</ParamField>

## Body parameters

<ParamField body="id" type="string">
  Optional saved Data Step ID. When set, the stored URL, method, headers, and body are used, with any inline fields below overriding them. Stored secrets are resolved for the call.
</ParamField>

<ParamField body="requestUrl" type="string">
  Request URL. Required when `id` is omitted.
</ParamField>

<ParamField body="requestMethod" type="string">
  HTTP verb. Required when `id` is omitted.
</ParamField>

<ParamField body="requestHeaders" type="object">
  Optional request headers.
</ParamField>

<ParamField body="requestBody" type="object">
  Optional request body.
</ParamField>

<ParamField body="variables" type="object">
  Optional values used to resolve `{{placeholder}}` tokens in the URL, headers, and body.
</ParamField>

## Response

Returns a [`Data Step test-run result`](/en/api-reference/actions-and-attributes#data-step-test-run-result): `success`, `statusCode`, `responseBody`, and `error` when the call failed.

## Errors

<AccordionGroup>
  <Accordion title="400 Bad Request" icon="circle-exclamation">
    The body is malformed, or `requestUrl` / `requestMethod` is missing when no `id` is provided.
  </Accordion>

  <Accordion title="401 Unauthorized" icon="lock">
    The API key is missing, malformed, revoked, or invalid.
  </Accordion>

  <Accordion title="403 Forbidden" icon="shield-halved">
    The API key does not include the `write` scope required for this route.
  </Accordion>
</AccordionGroup>
