Lucca · Schema
File
A file resource.
CompanyHuman ResourcesSoftware-as-a-ServicePayrollTalent Management
Properties
| Name | Type | Description |
|---|---|---|
| id | string | |
| name | string | File name. |
| createdAt | string | UTC timestamp of the moment this file was uploaded. |
| deletedAt | stringnull | UTC timestamp of the moment this file was deleted. When null, file is not deleted. |
| contentLength | integer | File size in bytes. |
| contentType | string | |
| extension | string | Inferred from content-type (e.g.: '.pdf', '.doc', '.txt', etc...). |
| totalPages | integer | Number of pages of a document file. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/lucca/main/json-schema/lucca-file-schema.json",
"title": "File",
"description": "A file resource.",
"x-generated": "2026-10-14",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/_original/lucca-openapi-specs-openapi.yml#/components/schemas/File",
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string",
"description": "File name."
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "UTC timestamp of the moment this file was uploaded."
},
"deletedAt": {
"description": "UTC timestamp of the moment this file was deleted. When null, file\nis not deleted.",
"type": [
"string",
"null"
]
},
"contentLength": {
"type": "integer",
"minimum": 1,
"description": "File size in bytes."
},
"contentType": {
"type": "string",
"enum": [
"eml message/rfc822",
"image/heic",
"image/heif",
"image/jpe",
"image/jpg",
"image/pjpeg",
"image/gif",
"image/bmp",
"image/tif",
"image/tiff",
"image/x-dcraw",
"image/x-jb2",
"image/x-jbig2",
"image/x-jpf",
"image/x-ms-bmp",
"image/x-panasonic-raw",
"image/x-pcx",
"image/x-icon",
"image/x-png",
"image/vnd.microsoft.icon",
"image/webp",
"image/x-portable-anymap",
"text/plain",
"text/csv",
"text/rtf",
"text/calendar",
"text/comma-separated-values",
"text/markdown",
"application/pdf",
"application/msword",
"application/xls",
"application/x-csv",
"application/ms-excel",
"application/vnd.ms-office",
"application/vnd.ms-word",
"application/vnd.ms-outlook",
"application/vnd.ms-powerpoint",
"application/vnd.ms-excel",
"application/vnd.oasis.opendocument.text",
"application/vnd.oasis.opendocument.spreadsheet",
"application/vnd.oasis.opendocument.presentation",
"application/vnd.oasis.opendocument.graphics",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"application/vnd.openxmlformats-officedocument.presentationml.presentation",
"application/vnd.openxmlformats-officedocument.presentationml.slideshow",
"application/vnd.openxmlformats-officedocument.presentationml.template",
"application/x-7z-compressed",
"application/rar",
"application/x-rar",
"application/zip",
"application/csv",
"application/rtf",
"application/text",
"application/txt",
"application/x-pdf"
]
},
"extension": {
"type": "string",
"description": "Inferred from content-type (e.g.: '.pdf', '.doc', '.txt', etc...)."
},
"totalPages": {
"type": "integer",
"minimum": 0,
"description": "Number of pages of a document file."
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/lucca-file"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.