# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Edge Impulse Upload Portal API version: 1.0.0 extends: openapi/edge-impulse-uploadportal-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: 7 - target: $.paths['/api/portals/{portalId}'].get update: x-apievangelist-phrasing: intent: Get details about an upload portal effect: read questions: - What information can I see about an Edge Impulse upload portal? - Which details does an upload portal expose before I start sending files to it? instructions: - text: Show me the details of upload portal {portalId}. slots: portalId: path.portalId - text: Get the name and settings of portal {portalId}. slots: portalId: path.portalId method: generated generated: '2026-10-01' - target: $.paths['/api/portals/{portalId}/upload-link'].post update: x-apievangelist-phrasing: intent: Create a signed link to upload a file to a portal effect: write questions: - How can a client upload a file straight to the portal's storage bucket without going through the server? - What do I need to provide to get a pre-signed upload URL for a portal — file size, hash? instructions: - text: Create a signed upload link on portal {portalId} for file {fileName} of {fileSize} bytes with hash {fileHash}. slots: portalId: path.portalId fileName: requestBody.fileName fileSize: requestBody.fileSize fileHash: requestBody.fileHash - text: Get me a pre-signed URL to upload {fileName} directly into portal {portalId}. slots: fileName: requestBody.fileName portalId: path.portalId method: generated generated: '2026-10-01' - target: $.paths['/api/portals/{portalId}/files'].post update: x-apievangelist-phrasing: intent: List files and folders in an upload portal effect: read questions: - What files have been uploaded to a portal folder so far? - Can I list only the subfolders of a portal path and skip the files? - How do I page through a large portal folder listing? instructions: - text: List the files under {prefix} in portal {portalId}. slots: prefix: requestBody.prefix portalId: path.portalId - text: Show only the subfolders, not the files, under {prefix} in upload portal {portalId}. slots: prefix: requestBody.prefix portalId: path.portalId - text: Continue listing portal {portalId} files under {prefix} from token {continuationToken}. slots: portalId: path.portalId prefix: requestBody.prefix continuationToken: requestBody.continuationToken method: generated generated: '2026-10-01' - target: $.paths['/api/portals/{portalId}/files/delete'].post update: x-apievangelist-phrasing: intent: Delete a file from an upload portal effect: destructive questions: - How do I remove a file someone uploaded to my portal by mistake? - Can I delete a single file from an upload portal? instructions: - text: Delete {path} from upload portal {portalId}. slots: path: requestBody.path portalId: path.portalId - text: Remove the uploaded file at {path} in portal {portalId}. slots: path: requestBody.path portalId: path.portalId method: generated generated: '2026-10-01' - target: $.paths['/api/portals/{portalId}/files/rename'].post update: x-apievangelist-phrasing: intent: Rename or move a file in an upload portal effect: write questions: - Can I rename a file after it was uploaded to a portal? - How do I move an uploaded portal file to a different path? instructions: - text: Rename {oldPath} to {newPath} in portal {portalId}. slots: oldPath: requestBody.oldPath newPath: requestBody.newPath portalId: path.portalId - text: Move the portal file {oldPath} to {newPath}. slots: oldPath: requestBody.oldPath newPath: requestBody.newPath method: generated generated: '2026-10-01' - target: $.paths['/api/portals/{portalId}/files/download'].post update: x-apievangelist-phrasing: intent: Get a download link for a portal file effect: read questions: - How do I download the original file someone put in my upload portal? - Does downloading a portal file give me a signed bucket URL? instructions: - text: Download {path} from upload portal {portalId}. slots: path: requestBody.path portalId: path.portalId - text: Get a signed download URL for the portal file {path}. slots: path: requestBody.path method: generated generated: '2026-10-01' - target: $.paths['/api/portals/{portalId}/files/view'].get update: x-apievangelist-phrasing: intent: Preview a file stored in an upload portal effect: read questions: - Can I preview a Parquet or CSV file in a portal without downloading it? - Why does the preview of a big CSV in my portal look cut off? instructions: - text: Preview the contents of {path} in portal {portalId}. slots: path: query.path portalId: path.portalId - text: Show me what's inside the portal file {path} in a readable form. slots: path: query.path method: generated generated: '2026-10-01'