Browse the docs

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.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.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": {}
    }
  ]
}