Conga · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for File Store API
21 actions
21 updates
phrasing
extends
openapi/conga-file-store-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Conga's API. It is a proposal applied on top of the contract, not a document Conga publishes.
What the actions change
x-apievangelist-phrasing
Targets 21 · first 16 shown; the file carries all of them
$.info
$.paths['/api/filestore/v1/files'].delete
$.paths['/api/filestore/v1/files/bulk'].post
$.paths['/api/filestore/v1/files/bulk'].delete
$.paths['/api/filestore/v1/files/limits'].get
$.paths['/api/filestore/v1/files/multipart-uploads'].put
$.paths['/api/filestore/v1/files/multipart-uploads'].post
$.paths['/api/filestore/v1/files/multipart-uploads'].delete
$.paths['/api/filestore/v1/files/multipart-uploads/complete'].post
$.paths['/api/filestore/v1/files/shareduri'].post
$.paths['/api/filestore/v1/files/{filePath}/download'].get
$.paths['/api/filestore/v1/files/{filePath}/filenames/list'].get
$.paths['/api/filestore/v1/files/{filePath}/{fileName}/download'].get
$.paths['/api/filestore/v1/files/{filePath}/{fileName}/exists'].get
$.paths['/api/filestore/v1/files/{filePath}/{fileName}/info'].get
$.paths['/api/filestore/v1/files/{filePath}/{fileName}/upload'].post
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for File Store API
version: 1.0.0
extends: openapi/conga-file-store-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-10-01'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 20
- target: $.paths['/api/filestore/v1/files'].delete
update:
x-apievangelist-phrasing:
intent: Delete a file from the file store
effect: destructive
questions:
- How do I delete one file from the file store?
- Can I remove a stored file by its path and name?
instructions:
- text: Delete file {name} at path {path}.
slots:
name: requestBody.FileName
path: requestBody.FilePath
- text: Remove the stored file {name} from {path}.
slots:
name: requestBody.FileName
path: requestBody.FilePath
method: generated
generated: '2026-10-01'
- target: $.paths['/api/filestore/v1/files/bulk'].post
update:
x-apievangelist-phrasing:
intent: Upload multiple files
effect: write
questions:
- Can I upload several files to the file store at once?
- How do I push a batch of files into one folder path?
instructions:
- text: Upload files {files} to path {path}.
slots:
files: requestBody.Files
path: requestBody.FilePath
- text: 'Bulk upload these files into {path}: {files}.'
slots:
path: requestBody.FilePath
files: requestBody.Files
method: generated
generated: '2026-10-01'
- target: $.paths['/api/filestore/v1/files/bulk'].delete
update:
x-apievangelist-phrasing:
intent: Delete multiple files
effect: destructive
questions:
- Can I delete many files from one path in one call?
- How do I bulk-remove files from the file store?
instructions:
- text: Delete files {names} from path {path}.
slots:
names: requestBody.FileNames
path: requestBody.FilePath
- text: Bulk remove the files {names} under {path}.
slots:
names: requestBody.FileNames
path: requestBody.FilePath
method: generated
generated: '2026-10-01'
- target: $.paths['/api/filestore/v1/files/limits'].get
update:
x-apievangelist-phrasing:
intent: Get file size limits
effect: read
questions:
- What is the maximum file size the file store accepts?
- When do I need to switch to a multipart upload?
instructions:
- text: Show the file store size limits.
- text: Get the file size limitation details.
method: generated
generated: '2026-10-01'
- target: $.paths['/api/filestore/v1/files/multipart-uploads'].put
update:
x-apievangelist-phrasing:
intent: Upload one part of a multipart upload
effect: write
questions:
- How do I send the next chunk of a large file upload?
- Which part number and upload ID does each chunk need?
instructions:
- text: Upload part {part} of multipart upload {upload}.
slots:
part: query.PartNumber
upload: query.UploadId
- text: Send chunk {part} for file {name} in upload {upload}.
slots:
part: query.PartNumber
name: query.FileName
upload: query.UploadId
method: generated
generated: '2026-10-01'
- target: $.paths['/api/filestore/v1/files/multipart-uploads'].post
update:
x-apievangelist-phrasing:
intent: Start a multipart upload
effect: write
questions:
- How do I begin uploading a very large file in parts?
- Can I set tags or an expiry when starting a multipart upload?
instructions:
- text: Start a multipart upload for {name} at {path}.
slots:
name: requestBody.FileName
path: requestBody.FilePath
- text: Initiate a large-file upload of {name} into {path} with tags {tags}.
slots:
name: requestBody.FileName
path: requestBody.FilePath
tags: requestBody.FileTags
method: generated
generated: '2026-10-01'
- target: $.paths['/api/filestore/v1/files/multipart-uploads'].delete
update:
x-apievangelist-phrasing:
intent: Abort a multipart upload
effect: destructive
questions:
- Can I cancel an unfinished multipart upload?
- How do I clean up an incomplete large-file upload?
instructions:
- text: Abort multipart upload {upload} for file {name}.
slots:
upload: requestBody.UploadId
name: requestBody.FileName
- text: Cancel the incomplete upload {upload} at {path}.
slots:
upload: requestBody.UploadId
path: requestBody.FilePath
method: generated
generated: '2026-10-01'
- target: $.paths['/api/filestore/v1/files/multipart-uploads/complete'].post
update:
x-apievangelist-phrasing:
intent: Complete a multipart upload
effect: write
questions:
- How do I finish a multipart upload once all parts are sent?
- What do I pass to combine uploaded parts into one file?
instructions:
- text: Complete multipart upload {upload} for {name} with ETags {etags}.
slots:
upload: requestBody.UploadId
name: requestBody.FileName
etags: requestBody.ETags
- text: Combine the uploaded parts of {upload} into the final file at {path}.
slots:
upload: requestBody.UploadId
path: requestBody.FilePath
method: generated
generated: '2026-10-01'
- target: $.paths['/api/filestore/v1/files/shareduri'].post
update:
x-apievangelist-phrasing:
intent: Create a time-limited shared link to a file
effect: write
questions:
- Can I give someone temporary public access to a stored file?
- How long can a shared file link stay valid?
instructions:
- text: Create a shared link to {name} in {path} valid for {ttl} seconds.
slots:
name: requestBody.FileName
path: requestBody.FilePath
ttl: requestBody.TTLSeconds
- text: Generate a temporary public URL for file {name}.
slots:
name: requestBody.FileName
method: generated
generated: '2026-10-01'
- target: $.paths['/api/filestore/v1/files/{filePath}/download'].get
update:
x-apievangelist-phrasing:
intent: Download several files as a ZIP
effect: read
questions:
- Can I download multiple files from a folder as one ZIP?
- How do I bundle selected files into an archive download?
instructions:
- text: Download files {names} from {path} as a ZIP.
slots:
names: query.fileNames
path: path.filePath
- text: Zip up and download the files under {path}.
slots:
path: path.filePath
method: generated
generated: '2026-10-01'
- target: $.paths['/api/filestore/v1/files/{filePath}/filenames/list'].get
update:
x-apievangelist-phrasing:
intent: List file names in a path
effect: read
questions:
- What files are stored under a given path?
- Can I include file tags when listing file names?
instructions:
- text: List file names under {path}.
slots:
path: path.filePath
- text: List up to {max} file names in {path} with their tags.
slots:
max: query.maxFiles
path: path.filePath
method: generated
generated: '2026-10-01'
- target: $.paths['/api/filestore/v1/files/{filePath}/{fileName}/download'].get
update:
x-apievangelist-phrasing:
intent: Download a single file
effect: read
questions:
- How do I download one file from the file store?
- Can I fetch a stored file by its path and name?
instructions:
- text: Download file {name} from {path}.
slots:
name: path.fileName
path: path.filePath
- text: Get the contents of {name} stored at {path}.
slots:
name: path.fileName
path: path.filePath
method: generated
generated: '2026-10-01'
- target: $.paths['/api/filestore/v1/files/{filePath}/{fileName}/exists'].get
update:
x-apievangelist-phrasing:
intent: Check whether a file exists
effect: read
questions:
- Is a particular file already in the file store?
- Can I check for a file before uploading over it?
instructions:
- text: Check whether {name} exists at {path}.
slots:
name: path.fileName
path: path.filePath
- text: Confirm that file {name} is present in {path}.
slots:
name: path.fileName
path: path.filePath
method: generated
generated: '2026-10-01'
- target: $.paths['/api/filestore/v1/files/{filePath}/{fileName}/info'].get
update:
x-apievangelist-phrasing:
intent: Get a file's details
effect: read
questions:
- What size and metadata does a stored file have?
- Can I see when a stored file expires?
instructions:
- text: Get details for file {name} at {path}.
slots:
name: path.fileName
path: path.filePath
- text: Show the metadata of {name} in {path}.
slots:
name: path.fileName
path: path.filePath
method: generated
generated: '2026-10-01'
- target: $.paths['/api/filestore/v1/files/{filePath}/{fileName}/upload'].post
update:
x-apievangelist-phrasing:
intent: Upload a single file
effect: write
questions:
- How do I upload one file to a specific path?
- Can a file I upload delete itself after some days?
instructions:
- text: Upload {file} as {name} to {path}.
slots:
file: requestBody.file
name: path.fileName
path: path.filePath
- text: Upload {name} to {path} and have it expire after {days} days.
slots:
name: path.fileName
path: path.filePath
days: requestBody.FileExpiresAfterDays
method: generated
generated: '2026-10-01'
- target: $.paths['/api/filestore/v1/folder-operation/{trackingId}/status'].get
update:
x-apievangelist-phrasing:
intent: Check a folder operation's status
effect: read
questions:
- Has my folder delete or copy operation finished?
- How do I track a long-running folder operation?
instructions:
- text: Get the status of folder operation {tracking}.
slots:
tracking: path.trackingId
- text: Check progress on tracking ID {tracking}.
slots:
tracking: path.trackingId
method: generated
generated: '2026-10-01'
- target: $.paths['/api/filestore/v1/folders'].delete
update:
x-apievangelist-phrasing:
intent: Delete all files in a folder location
effect: destructive
questions:
- Can I wipe every file in a folder location?
- How do I empty a folder location in one call?
instructions:
- text: Delete all files in the folder location.
- text: Empty the specified folder location of every file.
method: generated
generated: '2026-10-01'
- target: $.paths['/api/filestore/v1/folders/create'].post
update:
x-apievangelist-phrasing:
intent: Create a folder
effect: write
questions:
- How do I create a new folder in the file store?
- Can I nest a new folder under an existing path?
instructions:
- text: Create folder {name} at {path}.
slots:
name: requestBody.FolderName
path: requestBody.FolderPath
- text: Make a new folder {name}.
slots:
name: requestBody.FolderName
method: generated
generated: '2026-10-01'
- target: $.paths['/api/filestore/v1/folders/delete'].delete
update:
x-apievangelist-phrasing:
intent: Delete a named folder's contents
effect: destructive
questions:
- How do I delete the contents of a specific named folder?
- Can I clear one folder by its path and name?
instructions:
- text: Delete the contents of folder {name} at {path}.
slots:
name: requestBody.FolderName
path: requestBody.FolderPath
- text: Clear out named folder {name}.
slots:
name: requestBody.FolderName
method: generated
generated: '2026-10-01'
- target: $.paths['/api/filestore/v1/folders/{folderName}/list'].post
update:
x-apievangelist-phrasing:
intent: List a folder's contents
effect: read
questions:
- What is inside a particular folder?
- Can I page through a large folder's contents?
instructions:
- text: List the contents of folder {folder}.
slots:
folder: path.folderName
- text: Show {size} items from folder {folder} at {path}.
slots:
size: requestBody.PageSize
folder: path.folderName
path: requestBody.FolderPath
method: generated
generated: '2026-10-01'