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

# Generate signed path

> Return a signed URL for a storage object path.

# Generate signed path

Returns a signed URL for the storage path you provide.

## Query parameters

<ParamField path="path" type="string" required>
  Storage key to sign, such as `ai-talking-videos/{projectId}/outputs/{file}.mp4`.
</ParamField>

## Example request

```bash theme={null}
curl -G "https://api.techforgeinnovate.com/storage/generate-signed-path" \
  -H "x-api-key: $TFI_API_KEY" \
  --data-urlencode "path=ai-talking-videos/468ea7a0-66e1-4357-a760-236e54167f3e/outputs/15a6331b-3837-4ae8-8fa7-d3ead3388d77.mp4"
```

## Responses

<ResponseField name="signedUrl" type="string" format="uri" required>
  Signed URL for downloading the file.
</ResponseField>

<ResponseField name="error" type="string">
  Returned when the `path` query parameter is omitted.
</ResponseField>

Example success response:

```json theme={null}
{
  "signedUrl": "https://cdn.techforgeinnovate.com/..."
}
```

Example validation response:

```json theme={null}
{
  "error": "Path query parameter is required"
}
```

## Status codes

* `200 OK` when the path is provided
* `401 Unauthorized` when the key is missing or invalid

## Notes

* Generate the URL from the storage path returned by your job output.
* The current controller does not return an explicit expiration timestamp.
