---
title: "Fetch a public file"
method: GET
path: "/files/{user_name}/{file_name}"
tags: ["files"]
---

# Fetch a public file

`GET /files/{user_name}/{file_name}`

## Path parameters

- `user_name` string, required
- `file_name` string, required

## Response `200`

File

- PublicFileMeta — Metadata shown to the public
  - `owner` string, required
  - `file_name` string, required
  - `registered_versions` Version[], required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `404` — File not found

## Changes

- **2025-01-20** `20e8e755a09e` — 2 breaking, 2 info
  - added the pattern `/^[a-z\d](?:[a-z\d]|-(?=[a-z\d])){0,38}$/i` to the `path` request parameter `file_name`
  - added the pattern `/^[a-z\d](?:[a-z\d]|-(?=[a-z\d])){0,38}$/i` to the `path` request parameter `user_name`
  - the `file_name` response's property pattern `/^[a-z\d](?:[a-z\d]|-(?=[a-z\d])){0,38}$/i` was added for the status `200`
  - the `owner` response's property pattern `/^[a-z\d](?:[a-z\d]|-(?=[a-z\d])){0,38}$/i` was added for the status `200`
- **2025-01-20** `f64fea330ae3` — 2 warning, 5 info
  - removed the optional property `content` from the response with the `200` status
  - removed the optional property `meta` from the response with the `200` status
  - added the required property `created_at` to the response with the `200` status
  - added the required property `file_name` to the response with the `200` status
  - …3 more

[Change history](https://skmtc.dev/lapisla-prover/apis/lapisla-prover-api/changes/files/:user_name/:file_name/get.md)

---

[API](https://skmtc.dev/lapisla-prover/apis/lapisla-prover-api.md) · [All operations](https://skmtc.dev/lapisla-prover/apis/lapisla-prover-api/llms.txt) · [OpenAPI document](https://skmtc.dev/lapisla-prover/apis/lapisla-prover-api/revisions/211195a7bd6a?raw)
