---
title: "Get a short-lived link to download a file on one of your intents"
method: POST
path: "/intents/{intentId}/evidence-link"
tags: ["evidence"]
---

# Get a short-lived link to download a file on one of your intents

`POST /intents/{intentId}/evidence-link`

## Request

- Base URL: `https://api.catena.com/v1/agent-api`
- URL: `https://api.catena.com/v1/agent-api/intents/{intentId}/evidence-link`
- Auth: HTTP bearer

## Path parameters

- `intentId` string, required

## Request body

- object
  - `field` string, required: The key of the evidence field whose file to download

## Response `200`

A link to the file the intent's evidence holds under the field, on the evidence bucket's own host. Download it before `link.expiresAt`, and ask again for a new one after

- object
  - `link` object, required
    - `url` string, required: A presigned URL on the evidence bucket's own host. Anyone holding it can read the file until it expires, so never log or share it
    - `expiresAt` string, date-time, required

## Other responses

- `400`: The request is malformed
- `404`: Intent missing or not owned by the authenticated agent (`intent_not_found`), or it holds no file under that field (`evidence_attachment_not_found`)
- `503`: Evidence files are unavailable right now

---

[API](https://skmtc.dev/catena/apis/catena-agent-api.md) - [All operations](https://skmtc.dev/catena/apis/catena-agent-api/llms.txt) - [OpenAPI document](https://skmtc.dev/catena/apis/catena-agent-api/revisions/9b72e32d21f1?raw)
