> This page is for version 0.5.0.
> For other versions, use one of these documentation indexes:
> - Latest (default): https://docs.nvidia.com/nemo-helix/latest/llms.txt
> - 0.8.0: https://docs.nvidia.com/nemo-helix/v0.8.0/llms.txt
> - 0.7.1: https://docs.nvidia.com/nemo-helix/v0.7.1/llms.txt
> - 0.7.0: https://docs.nvidia.com/nemo-helix/v0.7.0/llms.txt
> - 0.6.0: https://docs.nvidia.com/nemo-helix/v0.6.0/llms.txt
> - 0.5.1: https://docs.nvidia.com/nemo-helix/v0.5.1/llms.txt
> - 0.5.0: https://docs.nvidia.com/nemo-helix/v0.5.0/llms.txt
> - 0.4.0: https://docs.nvidia.com/nemo-helix/v0.4.0/llms.txt
> - 0.3.0: https://docs.nvidia.com/nemo-helix/v0.3.0/llms.txt
> - 0.2.0: https://docs.nvidia.com/nemo-helix/v0.2.0/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo-helix/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo-helix/_mcp/server.

# Get File Metadata

HEAD /apis/files/v2/workspaces/{workspace}/filesets/{name}/-/{path}

Get file metadata without downloading content.

HEAD requests are often used before Range GETs to ensure the server
supports partial downloads (e.g., DuckDB's httpfs).
Returns Accept-Ranges, Content-Length, and Content-Type headers.

Reference: https://docs.nvidia.com/nemo-helix/documentation/reference/api-reference/files/head-file-apis-files-v-2-workspaces-workspace-filesets-name-path-head

## Request

### Path parameters

- `workspace` (string, required)
- `name` (string, required)
- `path` (string, required)

## Response

### 200

Successful Response

## Errors

### 422 Unprocessable Entity Error

Validation Error

- `detail` (list of ValidationError, optional)

## Types

### ValidationError

- `loc` (list of ValidationErrorLocItems, required)
- `msg` (string, required)
- `type` (string, required)
- `input` (any, optional)
- `ctx` (map from string to any, optional)

### ValidationErrorLocItems

## Examples

**Response**

```json
{}
```

**SDK Code**

```python Python
import requests

url = "http://localhost:8080/apis/files/v2/workspaces/default/filesets/my-fileset/-/path/to/file.txt"
response = requests.head(url)
response.raise_for_status()
print(response.status_code)
print(response.headers)
```

```javascript JavaScript
const response = await fetch(
  "http://localhost:8080/apis/files/v2/workspaces/default/filesets/my-fileset/-/path/to/file.txt",
  { method: "HEAD" },
);

if (!response.ok) {
  throw new Error(`HTTP ${response.status}`);
}
console.log(response.status);
console.log(Object.fromEntries(response.headers));
```

```go Go
package main

import (
  "fmt"
  "net/http"
)

func main() {
  req, err := http.NewRequest("HEAD", "http://localhost:8080/apis/files/v2/workspaces/default/filesets/my-fileset/-/path/to/file.txt", nil)
  if err != nil {
    panic(err)
  }
  res, err := http.DefaultClient.Do(req)
  if err != nil {
    panic(err)
  }
  defer res.Body.Close()

  fmt.Println(res.Status)
  fmt.Println(res.Header)
}
```

```ruby Ruby
require "net/http"

uri = URI("http://localhost:8080/apis/files/v2/workspaces/default/filesets/my-fileset/-/path/to/file.txt")
response = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == "https") do |http|
  http.request(Net::HTTP::Head.new(uri))
end

puts response.code
puts response.to_hash
```

```php PHP
<?php
$ch = curl_init("http://localhost:8080/apis/files/v2/workspaces/default/filesets/my-fileset/-/path/to/file.txt");
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);

echo $status;
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.head("https://api.example.com/apis/files/v2/workspaces/workspace/filesets/name/-/path")
  .asString();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.example.com/apis/files/v2/workspaces/workspace/filesets/name/-/path");
var request = new RestRequest(Method.HEAD);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.example.com/apis/files/v2/workspaces/workspace/filesets/name/-/path")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "HEAD"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```