> ## 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 action
> Run the whole action with sample inputs.
Runs the full Data Step chain for one action against sample inputs and returns the resolved outputs. This mirrors the dashboard Run button.
## 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>
## Path parameters
<ParamField path="id" type="string" required>
Action ID to run.
</ParamField>
## Body parameters
<ParamField body="inputParams" type="object">
Optional sample inputs, keyed by input field name. These stand in for the runtime values a rule would pass when it invokes the action.
</ParamField>
## Response
Returns an [`Action / Attribute test-run result`](/en/api-reference/actions-and-attributes#action-or-attribute-test-run-result) with per-step results and the final `extractedData`.
<RequestExample>
~~~bash cURL theme={null}
curl --request POST \
--url 'https://api-prod.usefini.com/v2/hc-tools/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/test-run/public' \
--header 'Authorization: Bearer fini_your_api_key' \
--header 'Content-Type: application/json' \
--data '{
"inputParams": {
"name": "Example",
"value": "message"
}
}'
~~~
~~~javascript Node.js theme={null}
const response = await fetch('https://api-prod.usefini.com/v2/hc-tools/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/test-run/public', {
method: 'POST',
headers: {
Authorization: 'Bearer fini_your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
'inputParams': {
'name': 'Example',
'value': 'message'
}
}
)
});
const data = await response.json();
~~~
~~~python Python theme={null}
import requests
response = requests.post(
"https://api-prod.usefini.com/v2/hc-tools/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/test-run/public",
headers={"Authorization": "Bearer fini_your_api_key", "Content-Type": "application/json"},
json={
"inputParams": {
"name": "Example",
"value": "message"
}
},
)
data = response.json()
~~~
</RequestExample>
<ResponseExample>
~~~json 200 OK theme={null}
{
"success": true,
"outputs": {
"confirmationId": "cnf_12345",
"effectiveDate": "2026-08-01"
}
}
~~~
</ResponseExample>
## Errors
<AccordionGroup>
<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>
<Accordion title="404 Not Found" icon="ghost">
No action with that ID exists in your workspace.
</Accordion>
</AccordionGroup>
## Related topics
- [Overview](/en/api-reference/actions-and-attributes.md)
- [Static IP Addresses](/en/api-reference/static-ip.md)
- [Test Suite](/en/testing/test-suite.md)
This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.
Actions

