# JustHandled Filename Portability Preflight

> JustHandled Filename Portability Preflight is a paid API for AI agents from justhandled-agent-gateway.netlify.app, paid per call via x402, $0.05/call, status unknown (last checked 2026-09-14).

Validates file paths for reserved names, invalid characters, trailing dots, case collisions, Unicode collisions, and excessive length before storage or deployment.

## Facts

- Endpoint: POST https://justhandled-agent-gateway.netlify.app/api/run/filename-portability-preflight
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/justhandled-filename-portability-preflight-5eb46d2c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ONEwqVzky6qgrvpWp64F_

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability justhandled-filename-portability-preflight-5eb46d2c -d '<json body>'
```

Example prompt: Can you run a portability preflight on these file paths — ['aux.txt', 'résumé.pdf', 'Folder/folder/test.py', 'COM1.log', 'toolong/'.repeat(200)] — with a max path length of 260 characters, and flag any reserved names, bad characters, case or Unicode collisions, or trailing dots?

## When to prefer this

Use this endpoint when you need to pre-screen file paths for cross-platform portability issues before uploading, deploying, or storing them — especially when your pipeline spans Windows, macOS, and Linux environments where reserved names, case sensitivity, and Unicode normalization differ. It is particularly valuable in CI/CD workflows, bulk file migration tools, or any agent that programmatically generates file paths and needs to catch issues before they cause hard-to-debug runtime errors.

## Known failure modes

- Empty paths array returns a validation error (minItems: 1)
- Paths array exceeding 5000 items is rejected
- Individual path strings longer than 4096 characters are rejected
- max_path_length set outside the range 1–32767 is rejected
- Malformed JSON body returns a parse error
- Network timeout if the batch is very large

## How this service works

Flag reserved names, invalid characters, trailing dots, case collisions, Unicode collisions, and long paths.

## Output

A structured response listing each path and any portability violations detected, including flags for reserved names (e.g. CON, AUX, COM1), invalid or unsafe characters, trailing dots, case collisions (two paths that differ only in case), Unicode normalization collisions, and paths exceeding the specified maximum length.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "paths": {
   "type": "array",
   "items": {
    "type": "string",
    "maxLength": 4096
   },
   "maxItems": 5000,
   "minItems": 1
  },
  "max_path_length": {
   "type": "integer",
   "maximum": 32767,
   "minimum": 1
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/justhandled-filename-portability-preflight-5eb46d2c/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from justhandled-agent-gateway.netlify.app](https://www.zero.xyz/host/justhandled-agent-gateway.netlify.app/llms.txt)
