> For the complete documentation index, see [llms.txt](https://docs.stellic.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.stellic.com/stellic-partner-api/exports/poll-an-async-export-and-fetch-its-presigned-url.md).

# Poll an async export and fetch its presigned URL

Use this endpoint to download an export that ran in the background. Pass the `file_name` from the export's response (`data.file_name`) and poll until `status` is `completed` or `failed`. When it's `completed`, `url` is a download link that's valid for 5 minutes.

## GET /get\_export\_url/

>

```json
{"openapi":"3.0.0","info":{"title":"Stellic for Developers","version":"1.0"},"tags":[{"name":"Exports","description":"Institution-wide datasets as CSV or JSON. Small datasets come back inline; large ones run in the background and return a `file_name` you poll with `GET /get_export_url/` for a download link."}],"servers":[{"url":"https://{institution}.stellic.com/partnerapi/v1","variables":{"institution":{"default":"{institution}","description":"Your institution's Stellic subdomain: the part before `.stellic.com` in the URL you use to sign in. It becomes the host in every request, as in `https://{institution}.stellic.com/partnerapi/v1/...`. Replace the `{institution}` placeholder with your subdomain before sending."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Personal Access Token issued by your Stellic integration partner. Send it as `Authorization: Bearer <token>` on every request. One token per institution; do not share across environments."}}},"paths":{"/get_export_url/":{"get":{"tags":["Exports"],"parameters":[{"name":"file_name","in":"query","required":true,"description":"The `file_name` from a background export's response (`data.file_name`). Only the account that started the export can fetch it: any other value, including a typo, returns HTTP 403 with `{\"errors\": [{\"message\": \"You do not have permission to access this resource.\"}]}`.","schema":{"type":"string"}}],"responses":{"200":{"description":"Success. `status` is `not_started`, `started`, `completed`, or `failed`. `url` is a presigned download link valid for 300 seconds (5 minutes), set only when `status` is `completed` and your institution doesn't suppress it; otherwise `null`. Each `completed` response carries a fresh link. `absolute_file_name` is set only when `status` is `completed`.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized - Invalid or missing API token","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Your IP address isn't on the allowlist for this endpoint. Contact Stellic to add it; the response includes the `client_ip` Stellic saw.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"client_ip":{"type":"string"}}}}}},"500":{"description":"An unexpected error while preparing the polling response.","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}
```

#### Notes

* **Stop on `failed` as well as `completed`.** A failed export never gets a `url`. While the export is pending, the call returns 200 with `url` set to `null`.
* **Poll again for a fresh link.** Every `completed` response has a new 5-minute `url`, so a link that expired before your download started isn't a problem.
* **Only the account that started the export can fetch it.** Any other `file_name`, including a typo, returns a 403 `You do not have permission to access this resource.`
* **Some institutions don't return `url`.** It stays `null` even when the export is complete; download the file at `absolute_file_name` through the channel you've arranged with Stellic.
* **Download before `file_expiry`** from the export's response, three days after it was requested.
* **Keep the trailing slash.** `/get_export_url` without it redirects to `/get_export_url/`.

#### Related APIs

* [`GET /exports/{property}`](/stellic-partner-api/exports/bulk-export-dispatcher.md) for which exports run in the background.
