Antylogic
DemoApp login

399 operational guides

Docs sections
DocsDocs API
Device

Get Public Docs Asset

Serves an already generated public Docs media file from `GET /api/public/docs/assets/{path}`. The route is public and read-only; it returns binary media only after the requested path is cleaned and kept inside the configured Docs asset root.

In this article

Use this guide when a public help article shows a missing clip or image, or when you need to verify that the landing Docs experience can load bundled media without an app session.

The asset route does not choose locale, platform or theme itself. Article detail performs that selection first and returns `article.media[].src` values that already point to the public asset URL.

The response is the media file, not a Docs JSON article. Keep troubleshooting focused on the Docs asset root and the exact relative path.

Before you start

  • The backend is running with public Docs routes registered.
  • `DOCS_ASSETS_PATH` or the configured Docs assets path points to generated Docs media. If no explicit assets path is configured, assets are read from `{DOCS_CONTENT_PATH}/assets`.
  • The media file exists below that root. Example: `iphone/light/en/access-invites-respond-location/access-invites-location-accept-flow.mp4`.
  • The backend process can read the target file.

Instructions

  1. 1.

    Start From The Public Asset URL

    Use the asset URL returned by a public Docs article, or call `GET /api/public/docs/assets/iphone/light/en/access-invites-respond-location/access-invites-location-accept-flow.mp4` directly. No login, organisation, location, staff member or role is required.

  2. 2.

    Let The Backend Resolve The File Safely

    The handler cleans the route path, joins it to the configured Docs asset root, and rejects paths that resolve outside that root. This route serves Docs media files only, not app file-store objects, S3 links or `/api/app/files/{id}` records.

  3. 3.

    Check The Media Response

    If the target exists and is not a directory, the backend streams the media bytes. For `.mp4`, expect a video content type when the extension is recognised and the configured Docs asset cache policy, which defaults to `public, max-age=31536000, immutable`.

  4. 4.

    Find The Asset Path From Article Detail

    If the asset path is unknown, request `GET /api/public/docs/access-and-users/en-access-invites-respond-location?locale=en&platform=mobile&theme=light` and inspect `article.media[].src`. Locale, platform and theme are applied there before the asset request is made.

Validations and limits

  • Only `GET` and implementation-supported `HEAD` are accepted; any other method returns `metodo no permitido`.
  • Calling `/api/public/docs/assets` without a file path returns `archivo no encontrado`.
  • Blank, dot-only, still-relative or root-escaping paths return `archivo invalido`.
  • Missing files and directory paths return `archivo no encontrado`.
  • If Docs content is not configured, the route returns `documentacion no configurada`.
  • The route is public and read-only; it does not create tickets, media records, capture files, users, organisations, locations or file-store entries.
  • The asset handler does not check `articles.json` or media publication status for direct asset requests.
  • `locale`, `platform`, `theme` and search parameters affect article detail, not direct asset serving.

Expected result

The browser or API client receives the existing Docs media file from the configured asset root with any applicable cache and content headers. No authenticated app data changes.

Related articles