# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: 'API Evangelist conversational phrasing for Microsoft Azure Files: API' version: 1.0.0 extends: openapi/microsoft-azure-files-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 27 - target: $.paths['/files'].get update: x-apievangelist-phrasing: intent: List files owned by an Azure OpenAI resource effect: read questions: - Which training and validation files have I uploaded to my Azure OpenAI resource? - Can I see every file my OpenAI resource owns, including fine-tune result files? instructions: - text: List all files on my Azure OpenAI resource using API version {api-version}. slots: api-version: query.api-version - text: Show me the fine-tune files currently stored on the OpenAI resource. method: generated generated: '2026-09-26' - target: $.paths['/files'].post update: x-apievangelist-phrasing: intent: Upload a local file for fine-tuning effect: write questions: - How do I upload a JSONL training file from my machine to Azure OpenAI? - Can I push a local validation dataset to be used by a fine-tune job? instructions: - text: Upload {file} to Azure OpenAI with purpose {purpose}. slots: file: requestBody.file purpose: requestBody.purpose - text: Send local file {file} up as a fine-tune training file ({purpose}). slots: file: requestBody.file purpose: requestBody.purpose method: generated generated: '2026-09-26' - target: $.paths['/files/{file_id}'].get update: x-apievangelist-phrasing: intent: Get an OpenAI file's status and size (file_id route) effect: read questions: - What is the processing status, size and purpose of one uploaded OpenAI file, looked up by file_id? - Has my fine-tune training file finished importing, using the underscore file_id route? instructions: - text: Get details for OpenAI file {file_id} via the file_id route. slots: file_id: path.file_id - text: Check status and byte size of training file {file_id} using the underscore file_id path. slots: file_id: path.file_id method: generated generated: '2026-09-26' - target: $.paths['/files/{file_id}'].delete update: x-apievangelist-phrasing: intent: Delete an OpenAI file (file_id route) effect: destructive questions: - Can I remove an uploaded file by file_id even after a fine-tune job trained on it? - What happens if I delete a training file that was used by a finished fine-tune, via the file_id route? instructions: - text: Delete OpenAI file {file_id} using the underscore file_id path. slots: file_id: path.file_id - text: Remove old training upload {file_id} through the file_id endpoint. slots: file_id: path.file_id method: generated generated: '2026-09-26' - target: $.paths['/files/{file_id}/content'].get update: x-apievangelist-phrasing: intent: Download an OpenAI file's content (file_id route) effect: read questions: - Can I download the result metrics a fine-tune job produced, using the file_id content route? - Where do I fetch the raw bytes of an uploaded file by its underscore file_id? instructions: - text: Download the content of file {file_id} from the file_id content route. slots: file_id: path.file_id - text: Fetch the fine-tune results file {file_id} body via /files/{file_id}/content. slots: file_id: path.file_id method: generated generated: '2026-09-26' - target: $.paths['/files/import'].post update: x-apievangelist-phrasing: intent: Import a file into Azure OpenAI from a URL effect: write questions: - Can I bring a training file into Azure OpenAI straight from a blob URL instead of uploading it? - How do I import a fine-tune dataset hosted at a remote URL? instructions: - text: Import {content_url} as {filename} with purpose {purpose}. slots: content_url: requestBody.content_url filename: requestBody.filename purpose: requestBody.purpose - text: Pull the dataset at URL {content_url} into OpenAI and name it {filename} for {purpose}. slots: content_url: requestBody.content_url filename: requestBody.filename purpose: requestBody.purpose method: generated generated: '2026-09-26' - target: $.paths['/files/{file-id}'].get update: x-apievangelist-phrasing: intent: Get an OpenAI file's details (file-id route) effect: read questions: - Which purpose and size does an uploaded file report on the hyphenated file-id path? - Is a given file still processing when I query it through the hyphenated file-id path? instructions: - text: Look up file metadata for {file-id} on the hyphenated file-id route. slots: file-id: path.file-id - text: Read status, purpose and size of {file-id} through the file-id path variant. slots: file-id: path.file-id method: generated generated: '2026-09-26' - target: $.paths['/files/{file-id}'].delete update: x-apievangelist-phrasing: intent: Delete an OpenAI file (file-id route) effect: destructive questions: - Can I erase a file through the hyphenated file-id delete path? - Does deleting via the hyphenated file-id route still work for files a fine-tune consumed? instructions: - text: Erase file {file-id} using the hyphenated file-id delete route. slots: file-id: path.file-id - text: Permanently drop upload {file-id} via the file-id variant. slots: file-id: path.file-id method: generated generated: '2026-09-26' - target: $.paths['/files/{file-id}/content'].get update: x-apievangelist-phrasing: intent: Download an OpenAI file's content (file-id route) effect: read questions: - Can I read back what a service-generated file contains via the hyphenated file-id content path? - Which route returns file bytes when my client uses file-id rather than file_id? instructions: - text: Stream the bytes of file {file-id} from the file-id content endpoint. slots: file-id: path.file-id - text: Save the contents of generated file {file-id} using the hyphenated route. slots: file-id: path.file-id method: generated generated: '2026-09-26' - target: $.paths['/files/{fileId}'].get update: x-apievangelist-phrasing: intent: Retrieve file information by fileId effect: read questions: - Can I get information about a file by fileId without pulling down its contents? - What metadata comes back from the camel-case fileId file lookup? instructions: - text: Retrieve file info for {fileId} without downloading its content. slots: fileId: path.fileId - text: Show the record for camel-case fileId {fileId}. slots: fileId: path.fileId method: generated generated: '2026-09-26' - target: $.paths['/files/{fileId}'].delete update: x-apievangelist-phrasing: intent: Delete a previously uploaded file by fileId effect: destructive questions: - Can I delete a previously uploaded file addressed by camel-case fileId? - Is there a delete for files on the camel-case fileId path? instructions: - text: Delete previously uploaded file {fileId}. slots: fileId: path.fileId - text: Get rid of the upload with camel-case fileId {fileId}. slots: fileId: path.fileId method: generated generated: '2026-09-26' - target: $.paths['/jobs/{jobId}/tasks/{taskId}/files/{filePath}'].get update: x-apievangelist-phrasing: intent: Download a file a Batch task wrote effect: read questions: - How do I read the stdout.txt a Batch task produced on its compute node? - Can I fetch only a byte range of a task's output file? instructions: - text: Download {filePath} from task {taskId} in Batch job {jobId}. slots: filePath: path.filePath taskId: path.taskId jobId: path.jobId - text: Get bytes {ocp-range} of task file {filePath} for task {taskId} in job {jobId}. slots: ocp-range: header.ocp-range filePath: path.filePath taskId: path.taskId jobId: path.jobId method: generated generated: '2026-09-26' - target: $.paths['/jobs/{jobId}/tasks/{taskId}/files/{filePath}'].delete update: x-apievangelist-phrasing: intent: Delete a Batch task's file from its node effect: destructive questions: - Can I clean up an output file a task left on the compute node where it ran? - Is it possible to recursively delete a directory in a task's working folder? instructions: - text: Delete task file {filePath} for task {taskId} in job {jobId}. slots: filePath: path.filePath taskId: path.taskId jobId: path.jobId - text: Recursively remove directory {filePath} from task {taskId} of job {jobId} (recursive={recursive}). slots: filePath: path.filePath taskId: path.taskId jobId: path.jobId recursive: query.recursive method: generated generated: '2026-09-26' - target: $.paths['/jobs/{jobId}/tasks/{taskId}/files/{filePath}'].head update: x-apievangelist-phrasing: intent: Get properties of a Batch task file effect: read questions: - What size and last-modified time does a task's output file have, without downloading it? - Can I check whether a task file changed since a given date using only its headers? instructions: - text: Get the properties of {filePath} for task {taskId} in job {jobId}. slots: filePath: path.filePath taskId: path.taskId jobId: path.jobId - text: Check if task file {filePath} on task {taskId}, job {jobId} was modified since {If-Modified-Since}. slots: filePath: path.filePath taskId: path.taskId jobId: path.jobId If-Modified-Since: header.If-Modified-Since method: generated generated: '2026-09-26' - target: $.paths['/pools/{poolId}/nodes/{nodeId}/files/{filePath}'].get update: x-apievangelist-phrasing: intent: Download a file from a Batch compute node effect: read questions: - How do I pull a log file straight off a compute node in a Batch pool? - Can I read part of a node file by byte range rather than the whole thing? instructions: - text: Download {filePath} from node {nodeId} in pool {poolId}. slots: filePath: path.filePath nodeId: path.nodeId poolId: path.poolId - text: Read range {ocp-range} of node file {filePath} on compute node {nodeId}, pool {poolId}. slots: ocp-range: header.ocp-range filePath: path.filePath nodeId: path.nodeId poolId: path.poolId method: generated generated: '2026-09-26' - target: $.paths['/pools/{poolId}/nodes/{nodeId}/files/{filePath}'].delete update: x-apievangelist-phrasing: intent: Delete a file from a Batch compute node effect: destructive questions: - Can I free disk space by deleting a file directly on a pool node? - Does removing a folder on a compute node support a recursive flag? instructions: - text: Delete {filePath} from compute node {nodeId} in pool {poolId}. slots: filePath: path.filePath nodeId: path.nodeId poolId: path.poolId - text: Wipe folder {filePath} on node {nodeId} of pool {poolId} with recursive set to {recursive}. slots: filePath: path.filePath nodeId: path.nodeId poolId: path.poolId recursive: query.recursive method: generated generated: '2026-09-26' - target: $.paths['/pools/{poolId}/nodes/{nodeId}/files/{filePath}'].head update: x-apievangelist-phrasing: intent: Get properties of a file on a compute node effect: read questions: - What is the size and timestamp of a file sitting on a Batch pool node? - Can I tell whether a node file is unchanged since a date without fetching it? instructions: - text: Get the properties of node file {filePath} on {nodeId} in pool {poolId}. slots: filePath: path.filePath nodeId: path.nodeId poolId: path.poolId - text: Check node {nodeId} (pool {poolId}) file {filePath} headers only, unmodified since {If-Unmodified-Since}. slots: nodeId: path.nodeId poolId: path.poolId filePath: path.filePath If-Unmodified-Since: header.If-Unmodified-Since method: generated generated: '2026-09-26' - target: $.paths['/jobs/{jobId}/tasks/{taskId}/files'].get update: x-apievangelist-phrasing: intent: List the files in a Batch task's directory effect: read questions: - Which files did a Batch task write into its working directory? - Can I list a task's files recursively and filter by name? instructions: - text: List files for task {taskId} in job {jobId}. slots: taskId: path.taskId jobId: path.jobId - text: Recursively list task {taskId} files in job {jobId} matching {filter}. slots: taskId: path.taskId jobId: path.jobId filter: query.$filter method: generated generated: '2026-09-26' - target: $.paths['/pools/{poolId}/nodes/{nodeId}/files'].get update: x-apievangelist-phrasing: intent: List task directory files on a compute node effect: read questions: - What files exist across all task directories on one Batch node? - Can I cap how many node files come back in one listing? instructions: - text: List all files on compute node {nodeId} in pool {poolId}. slots: nodeId: path.nodeId poolId: path.poolId - text: Show up to {maxresults} files from node {nodeId} of pool {poolId}. slots: maxresults: query.maxresults nodeId: path.nodeId poolId: path.poolId method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/providers/Microsoft.Support/fileWorkspaces/{fileWorkspaceName}/files'].get update: x-apievangelist-phrasing: intent: List files in a support file workspace effect: read questions: - Which files have I attached to a support file workspace in my subscription? - Can I see everything uploaded to a support ticket workspace scoped to one subscription? instructions: - text: List files in support workspace {fileWorkspaceName} under subscription {subscriptionId}. slots: fileWorkspaceName: path.fileWorkspaceName subscriptionId: path.subscriptionId - text: Show the attachments in subscription {subscriptionId}'s support workspace {fileWorkspaceName}. slots: subscriptionId: path.subscriptionId fileWorkspaceName: path.fileWorkspaceName method: generated generated: '2026-09-26' - target: $.paths['/providers/Microsoft.Support/fileWorkspaces/{fileWorkspaceName}/files'].get update: x-apievangelist-phrasing: intent: List support workspace files without a subscription effect: read questions: - Can I list the files in a support workspace when I have no subscription to scope it to? - What attachments are in a tenant-level support file workspace? instructions: - text: List files in tenant-level support workspace {fileWorkspaceName}. slots: fileWorkspaceName: path.fileWorkspaceName - text: Show attachments in no-subscription workspace {fileWorkspaceName}. slots: fileWorkspaceName: path.fileWorkspaceName method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/providers/Microsoft.Support/fileWorkspaces/{fileWorkspaceName}/files/{fileName}'].get update: x-apievangelist-phrasing: intent: Get a support workspace file in a subscription effect: read questions: - What are the details of one file in my subscription's support workspace? - Can I check the size of a support attachment I uploaded under a subscription? instructions: - text: Get support file {fileName} in workspace {fileWorkspaceName} for subscription {subscriptionId}. slots: fileName: path.fileName fileWorkspaceName: path.fileWorkspaceName subscriptionId: path.subscriptionId - text: Show details of attachment {fileName} from subscription {subscriptionId} workspace {fileWorkspaceName}. slots: fileName: path.fileName subscriptionId: path.subscriptionId fileWorkspaceName: path.fileWorkspaceName method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/providers/Microsoft.Support/fileWorkspaces/{fileWorkspaceName}/files/{fileName}'].put update: x-apievangelist-phrasing: intent: Create a support file in a subscription workspace effect: write questions: - How do I register a new file in a support workspace before uploading its content? - Can I create a support attachment entry scoped to my subscription? instructions: - text: Create file {fileName} in support workspace {fileWorkspaceName} for subscription {subscriptionId}. slots: fileName: path.fileName fileWorkspaceName: path.fileWorkspaceName subscriptionId: path.subscriptionId - text: Register attachment {fileName} under subscription {subscriptionId} workspace {fileWorkspaceName} with properties {properties}. slots: fileName: path.fileName subscriptionId: path.subscriptionId fileWorkspaceName: path.fileWorkspaceName properties: requestBody.properties method: generated generated: '2026-09-26' - target: $.paths['/providers/Microsoft.Support/fileWorkspaces/{fileWorkspaceName}/files/{fileName}'].get update: x-apievangelist-phrasing: intent: Get a support file without a subscription effect: read questions: - What does a support attachment look like in a workspace that isn't tied to a subscription? - Can I look up one file in a tenant-level support workspace? instructions: - text: Get file {fileName} from tenant-level support workspace {fileWorkspaceName}. slots: fileName: path.fileName fileWorkspaceName: path.fileWorkspaceName - text: Look up no-subscription attachment {fileName} in {fileWorkspaceName}. slots: fileName: path.fileName fileWorkspaceName: path.fileWorkspaceName method: generated generated: '2026-09-26' - target: $.paths['/providers/Microsoft.Support/fileWorkspaces/{fileWorkspaceName}/files/{fileName}'].put update: x-apievangelist-phrasing: intent: Create a support file without a subscription effect: write questions: - Can I create a support attachment in a workspace when I have no Azure subscription? - Which call adds a new file entry to a tenant-level support workspace? instructions: - text: Create file {fileName} in tenant-level support workspace {fileWorkspaceName}. slots: fileName: path.fileName fileWorkspaceName: path.fileWorkspaceName - text: Add no-subscription attachment {fileName} to {fileWorkspaceName} with properties {properties}. slots: fileName: path.fileName fileWorkspaceName: path.fileWorkspaceName properties: requestBody.properties method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/providers/Microsoft.Support/fileWorkspaces/{fileWorkspaceName}/files/{fileName}/upload'].post update: x-apievangelist-phrasing: intent: Upload content to a support file in a subscription effect: write questions: - How do I upload the bytes of a support attachment in chunks under my subscription? - Can I send file content to a support workspace one chunk index at a time? instructions: - text: Upload content to support file {fileName} in {fileWorkspaceName} for subscription {subscriptionId}. slots: fileName: path.fileName fileWorkspaceName: path.fileWorkspaceName subscriptionId: path.subscriptionId - text: Send chunk {chunkIndex} of {fileName} to workspace {fileWorkspaceName} in subscription {subscriptionId}. slots: chunkIndex: requestBody.chunkIndex fileName: path.fileName fileWorkspaceName: path.fileWorkspaceName subscriptionId: path.subscriptionId method: generated generated: '2026-09-26' - target: $.paths['/providers/Microsoft.Support/fileWorkspaces/{fileWorkspaceName}/files/{fileName}/upload'].post update: x-apievangelist-phrasing: intent: Upload content to a support file without a subscription effect: write questions: - Can I upload attachment content to a tenant-level support workspace with no subscription? - Which endpoint accepts chunked content for a no-subscription support file? instructions: - text: Upload content to tenant-level support file {fileName} in {fileWorkspaceName}. slots: fileName: path.fileName fileWorkspaceName: path.fileWorkspaceName - text: Push chunk number {chunkIndex} of no-subscription file {fileName} into {fileWorkspaceName}. slots: chunkIndex: requestBody.chunkIndex fileName: path.fileName fileWorkspaceName: path.fileWorkspaceName method: generated generated: '2026-09-26'