Files
Files in Allpage: its screens, what you can do there and its operations.
Availability. Works when the business has it turned on and its plan includes it. Otherwise its tools answer needs (kind module) with how to turn it on: business.useTool, or a plan that includes it.
Screens
- Files (/files)
What you can do
- Start a file upload: only you can do it, on its screen
- Finish a file upload: only you can do it, on its screen
- Change a file: only you can do it, on its screen
- Add a file from a link: the assistant can do it on its own
- Keep a chat picture in your files: the assistant can do it on its own
- Make an upload link: the assistant can do it on its own
- Close an upload link: the assistant can do it on its own
- Archive a file: the assistant can do it on its own
- Replace a file everywhere it’s used: the assistant asks you first
- Save an album: the assistant can do it on its own
- Delete an album: the assistant can do it on its own
For apps
Tools
- files_importFromUrl (Add a file from a link): a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
- files_fromAttachment (Keep a chat picture in your files): a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
- files_uploadLink (Make an upload link): a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
- files_closeLink (Close an upload link): a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
- files_archive (Archive a file): a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
- files_replace (Replace a file everywhere it’s used): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- files_saveAlbum (Save an album): a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
- files_deleteAlbum (Delete an album): a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
Reads
- files_list (List your files)
- files_usages (See where a file is used)
- files_summary (What’s going on)
Only the owner, in Allpage
- Start a file upload
- Finish a file upload
- Change a file
The owner’s screens
- Files (/files)
Operations
Each one's input and output, as JSON Schema. Ids are typed (typed ids).
files.archive
Archive a file
- Kind
- Change
- Tool
files_archive- Scope
files:write- Reached by
- API, MCP, ChatGPT
a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"fileId": {
"type": "string",
"pattern": "^fil_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A file id: fil_ and 26 letters and digits."
},
"restore": {
"default": false,
"description": "Bring an archived file back instead.",
"type": "boolean"
}
},
"required": [
"fileId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}files.closeLink
Close an upload link
- Kind
- Change
- Tool
files_closeLink- Scope
files:write- Reached by
- API, MCP, ChatGPT
a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"token": {
"type": "string",
"maxLength": 1000
},
"linkId": {
"description": "The link, from files.uploadLink.",
"type": "string",
"pattern": "^upl_[0-9a-hjkmnp-tv-z]{26}$"
}
},
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}files.deleteAlbum
Delete an album
- Kind
- Change
- Tool
files_deleteAlbum- Scope
files:write- Reached by
- API, MCP
a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"albumId": {
"type": "string",
"pattern": "^alb_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A album id: alb_ and 26 letters and digits."
}
},
"required": [
"albumId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}files.fromAttachment
Keep a chat picture in your files
- Kind
- Change
- Tool
files_fromAttachment- Scope
files:write- Reached by
- API, MCP
a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"attachmentId": {
"type": "string",
"pattern": "^fil_[0-9a-hjkmnp-tv-z]{26}$",
"description": "The picture’s id, from its address in the chat. A file id: fil_ and 26 letters and digits."
},
"name": {
"description": "What to call it. Left out, the name in the link.",
"type": "string",
"maxLength": 200
},
"alt": {
"description": "What the picture shows, for people who can’t see it.",
"type": "string",
"maxLength": 200
},
"visibility": {
"default": "public",
"description": "Public files can go on your website; private ones open only through a short-lived link.",
"type": "string",
"enum": [
"public",
"private"
]
},
"albumId": {
"description": "Put it at the end of this album.",
"type": "string",
"pattern": "^alb_[0-9a-hjkmnp-tv-z]{26}$"
},
"tags": {
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 40
}
}
},
"required": [
"attachmentId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}files.importFromUrl
Add a file from a link
- Kind
- Change
- Tool
files_importFromUrl- Scope
files:write- Reached by
- API, MCP, ChatGPT
a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"url": {
"type": "string",
"minLength": 1,
"maxLength": 2000,
"description": "Where the file is: an https:// link anyone can open."
},
"name": {
"description": "What to call it. Left out, the name in the link.",
"type": "string",
"maxLength": 200
},
"alt": {
"description": "What the picture shows, for people who can’t see it.",
"type": "string",
"maxLength": 200
},
"visibility": {
"default": "public",
"description": "Public files can go on your website; private ones open only through a short-lived link.",
"type": "string",
"enum": [
"public",
"private"
]
},
"albumId": {
"description": "Put it at the end of this album.",
"type": "string",
"pattern": "^alb_[0-9a-hjkmnp-tv-z]{26}$"
},
"tags": {
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 40
}
},
"requestId": {
"description": "A fresh random id you make for each new request. Send the same one again only to retry that exact request; a different request with it is refused.",
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"required": [
"url"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}files.list
List your files
- Kind
- Read
- Tool
files_list- Scope
files:read- Reached by
- API, MCP, ChatGPT
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"q": {
"description": "Part of a name, a tag or a description.",
"type": "string",
"maxLength": 80
},
"albumId": {
"description": "Only this album, in its order.",
"type": "string",
"pattern": "^alb_[0-9a-hjkmnp-tv-z]{26}$"
},
"tag": {
"type": "string",
"maxLength": 40
},
"kind": {
"description": "`image`, `raw`, `video` or `pdf`; `web` is photos a website can show (JPEG, PNG, WebP, GIF, AVIF).",
"type": "string",
"enum": [
"image",
"raw",
"video",
"pdf",
"web"
]
},
"visibility": {
"type": "string",
"enum": [
"public",
"private"
]
},
"archived": {
"default": false,
"description": "Archived files instead, kept 30 days.",
"type": "boolean"
},
"limit": {
"default": 60,
"type": "integer",
"minimum": 1,
"maximum": 200
},
"offset": {
"default": 0,
"type": "integer",
"minimum": 0,
"maximum": 100000
}
},
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"files": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"image",
"raw",
"video",
"pdf"
]
},
"contentType": {
"type": "string"
},
"bytes": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"visibility": {
"type": "string",
"enum": [
"public",
"private"
]
},
"sensitive": {
"type": "boolean"
},
"alt": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"url": {
"type": [
"string",
"null"
]
},
"thumb": {
"type": [
"string",
"null"
]
},
"width": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"height": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"fromOutside": {
"type": "boolean"
},
"archived": {
"type": "boolean"
},
"createdAt": {
"type": "string"
},
"albumIds": {
"type": "array",
"items": {
"type": "string"
}
},
"usedIn": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"id",
"name",
"kind",
"contentType",
"bytes",
"visibility",
"sensitive",
"alt",
"tags",
"url",
"thumb",
"width",
"height",
"fromOutside",
"archived",
"createdAt",
"albumIds",
"usedIn"
],
"additionalProperties": false
}
},
"total": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"albums": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"visibility": {
"type": "string",
"enum": [
"public",
"private"
]
},
"files": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"id",
"name",
"description",
"visibility",
"files"
],
"additionalProperties": false
}
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"files",
"total",
"albums",
"tags"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}files.replace
Replace a file everywhere it’s used
- Kind
- Change
- Tool
files_replace- Scope
files:write- Reached by
- API, MCP
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"fileId": {
"type": "string",
"pattern": "^fil_[0-9a-hjkmnp-tv-z]{26}$",
"description": "The file to take out. A file id: fil_ and 26 letters and digits."
},
"withFileId": {
"type": "string",
"pattern": "^fil_[0-9a-hjkmnp-tv-z]{26}$",
"description": "The file to put in its place. A file id: fil_ and 26 letters and digits."
}
},
"required": [
"fileId",
"withFileId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}files.saveAlbum
Save an album
- Kind
- Change
- Tool
files_saveAlbum- Scope
files:write- Reached by
- API, MCP, ChatGPT
a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"albumId": {
"description": "Left out, a new album.",
"type": "string",
"pattern": "^alb_[0-9a-hjkmnp-tv-z]{26}$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"description": {
"type": "string",
"maxLength": 500
},
"visibility": {
"description": "Public albums can show on your website.",
"type": "string",
"enum": [
"public",
"private"
]
},
"order": {
"description": "Files it holds, in the order they go first; the rest keep their order after them.",
"maxItems": 2000,
"type": "array",
"items": {
"type": "string",
"pattern": "^fil_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A file id: fil_ and 26 letters and digits."
}
},
"add": {
"description": "Files to put at the end, in this order.",
"maxItems": 2000,
"type": "array",
"items": {
"type": "string",
"pattern": "^fil_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A file id: fil_ and 26 letters and digits."
}
},
"remove": {
"description": "Files to take out of it.",
"maxItems": 2000,
"type": "array",
"items": {
"type": "string",
"pattern": "^fil_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A file id: fil_ and 26 letters and digits."
}
}
},
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}files.summary
What’s going on
- Kind
- Read
- Tool
files_summary- Scope
files:read- Reached by
- API, MCP
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"facts": {
"type": "array",
"items": {
"type": "string"
},
"description": "One-line facts, e.g. \"3 bookings today\"."
},
"attention": {
"description": "Things that need the owner, each with a plain reason.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"text": {
"type": "string"
},
"href": {
"type": "string"
}
},
"required": [
"id",
"text"
],
"additionalProperties": false
}
},
"happening": {
"description": "What’s on today, each at its time.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"at": {
"type": "number",
"description": "Epoch milliseconds."
},
"text": {
"type": "string"
},
"href": {
"type": "string"
}
},
"required": [
"id",
"at",
"text"
],
"additionalProperties": false
}
},
"metrics": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
},
"value": {
"type": "number"
},
"prior": {
"type": "number"
},
"unit": {
"type": "string",
"enum": [
"count",
"money"
]
},
"href": {
"type": "string"
}
},
"required": [
"id",
"label",
"value"
],
"additionalProperties": false
}
}
},
"required": [
"title",
"facts"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}files.uploadLink
Make an upload link
- Kind
- Change
- Tool
files_uploadLink- Scope
files:write- Reached by
- API, MCP, ChatGPT
a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"albumId": {
"description": "Where what they send goes: an album, or a client gallery’s set (its `collectionId`), where it stays private.",
"type": "string",
"pattern": "^alb_[0-9a-hjkmnp-tv-z]{26}$"
},
"maxFiles": {
"default": 50,
"type": "integer",
"minimum": 1,
"maximum": 500
},
"maxMb": {
"default": 5120,
"description": "The most they can send in all, in megabytes.",
"type": "integer",
"minimum": 1,
"maximum": 51200
},
"days": {
"default": 7,
"type": "integer",
"minimum": 1,
"maximum": 7
}
},
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}files.usages
See where a file is used
- Kind
- Read
- Tool
files_usages- Scope
files:read- Reached by
- API, MCP, ChatGPT
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"fileId": {
"type": "string",
"pattern": "^fil_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A file id: fil_ and 26 letters and digits."
}
},
"required": [
"fileId"
],
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"usages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"label": {
"type": "string"
},
"href": {
"type": "string"
}
},
"required": [
"kind",
"label",
"href"
],
"additionalProperties": false
}
},
"places": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"usages",
"places"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}