> ## 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 external API call
> Test one external API 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 external API call 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 `${fieldName}` 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.
<RequestExample>
~~~bash cURL theme={null}
curl --request POST \
--url 'https://api-prod.usefini.com/v2/api-function-configs/test-run/public' \
--header 'Authorization: Bearer fini_your_api_key' \
--header 'Content-Type: application/json' \
--data '{
"id": "4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3",
"requestUrl": "https://help.example.com/refunds",
"requestMethod": "GET",
"requestHeaders": {
"name": "Example",
"value": "message"
},
"requestBody": {
"name": "Example",
"value": "message"
},
"variables": {
"name": "Example",
"value": "message"
}
}'
~~~
~~~javascript Node.js theme={null}
const response = await fetch('https://api-prod.usefini.com/v2/api-function-configs/test-run/public', {
method: 'POST',
headers: {
Authorization: 'Bearer fini_your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
'id': '4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3',
'requestUrl': 'https://help.example.com/refunds',
'requestMethod': 'GET',
'requestHeaders': {
'name': 'Example',
'value': 'message'
},
'requestBody': {
'name': 'Example',
'value': 'message'
},
'variables': {
'name': 'Example',
'value': 'message'
}
}
)
});
const data = await response.json();
~~~
~~~python Python theme={null}
import requests
response = requests.post(
"https://api-prod.usefini.com/v2/api-function-configs/test-run/public",
headers={"Authorization": "Bearer fini_your_api_key", "Content-Type": "application/json"},
json={
"id": "4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3",
"requestUrl": "https://help.example.com/refunds",
"requestMethod": "GET",
"requestHeaders": {
"name": "Example",
"value": "message"
},
"requestBody": {
"name": "Example",
"value": "message"
},
"variables": {
"name": "Example",
"value": "message"
}
},
)
data = response.json()
~~~
</RequestExample>
<ResponseExample>
~~~json 200 OK theme={null}
{
"success": true,
"response": {
"plan": "Enterprise",
"status": "active"
},
"savedFields": {
"plan": "Enterprise",
"status": "active"
}
}
~~~
</ResponseExample>
## 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>
## Related topics
- [Overview](/en/api-reference/actions-and-attributes.md)
- [API overview](/en/api-reference/overview.md)
- [Update external API call](/en/api-reference/update-data-step.md)
This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.
External API calls

