# Retrieves a specific activity image by exact file name.

`GET /api/images/activities/{fileName}`

- **Success:** `200 OK`
- **Products:** Operator (`FOH`)
- **Features:** Front of House Generic Access (`FOHGENERIC`)

HTML version: [Retrieves a specific activity image by exact file name.](https://support.gladstonesoftware.cloud/reference/configuration/retrieves-a-specific-activity-image-by-exact-file-name)

## Overview

Confirms that one activity image exists and returns the URL that serves it. The match is on the
exact file name, extension included — there is no searching or partial matching, so use
[List activity images](retrieves-a-list-of-activity-images-from-public-storage-blob-with-optional-pagin.md)
if you do not already know the name.

The lookup is scoped to your own tenant's images and is never served from a cache, so it
always reflects the current state — which makes it a reliable existence check after an
upload. A name that does not exist returns `404`.

The returned URL is an ordinary public URL with no signature and no expiry, so it can be
embedded in a page and cached indefinitely.

## Endpoint

`GET {base_url}/api/images/activities/{fileName}`

`{base_url}` is the environment URL issued to your integration. See [Authenticating with Gladstone APIs](../../guides/authenticating-with-gladstone-apis.md).

## Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `fileName` | string | Yes | The image's file name **including its extension**, exactly as returned in `fileName` by [List activity images](retrieves-a-list-of-activity-images-from-public-storage-blob-with-optional-pagin.md) — `poolside.jpg`, not `poolside`. Case is not significant: the value is lower-cased before the lookup, and names are stored lower-cased at upload. It is a single path segment, so a name containing a slash will not route. An empty or whitespace-only value fails with `400`, an unknown one with `404`. |

## Sample request

```bash title="cURL"
curl -X GET '{base_url}/api/images/activities/{fileName}' \
  -H 'Authorization: Bearer {accessToken}' \
  -H 'X-Use-SSO: true'
```

## Response fields

| Field | Type | Description |
|-------|------|-------------|
| `url` | string | The full public URL of the image, ready to use in an `img` tag. It carries no access token and does not expire, and its path includes your tenant identifier. |
| `fileName` | string | The file name you asked for, lower-cased, including its extension and with no folder path. It echoes your input rather than the image's own recorded name, so it confirms nothing beyond the fact that a match was found. |

## Sample response

```json title="200 OK"
{
  "url": "string",
  "fileName": "string"
}
```

## Errors

| Status | Meaning | When |
|--------|---------|------|
| `400` | Bad request | `fileName` was empty or whitespace only. The body is the plain string `fileName cannot be null or whitespace`. |
| `404` | Not found | No image with that exact name exists for your tenant. The body is the plain string `Activity image '{fileName}' not found`, with the name lower-cased. A near-miss on the name — a wrong extension, for instance — produces this rather than a suggestion. |
| `500` | Internal server error | An unexpected server-side failure, including the image store refusing the lookup. The body is empty. |
