# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for qTest Manager API Version 3.0 Attachment API version: 1.0.0 extends: openapi/tricentis-attachment-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: 5 - target: $.paths['/api/v3/projects/{projectId}/attachments'].get update: x-apievangelist-phrasing: intent: Search attachments across a project effect: read questions: - How do I find all attachments on defects in a project? - Can I search attachments by author or creation date? instructions: - text: Search {type} attachments in project {project}. slots: project: path.projectId type: query.type - text: Find {type} attachments in project {project} uploaded by {author}. slots: project: path.projectId type: query.type author: query.author method: generated generated: '2026-10-01' - target: $.paths['/api/v3/projects/{projectId}/{objectType}/{objectId}/attachments'].get update: x-apievangelist-phrasing: intent: List attachments of one object effect: read questions: - What files are attached to this test case or defect? - Can I list attachments on a specific test log? instructions: - text: List attachments of {objectType} {object} in project {project}. slots: project: path.projectId objectType: path.objectType object: path.objectId - text: Show the files attached to defect {object} in project {project}. slots: project: path.projectId object: path.objectId method: generated generated: '2026-10-01' - target: $.paths['/api/v3/projects/{projectId}/{objectType}/{objectId}/attachments/{attachmentId}'].get update: x-apievangelist-phrasing: intent: Download an attachment effect: read questions: - How do I download a specific attachment? - Can I force an attachment to download instead of display inline? instructions: - text: Download attachment {attachment} from {objectType} {object} in project {project}. slots: project: path.projectId objectType: path.objectType object: path.objectId attachment: path.attachmentId - text: Get attachment {attachment} on {object} as a forced download. slots: attachment: path.attachmentId object: path.objectId method: generated generated: '2026-10-01' - target: $.paths['/api/v3/projects/{projectId}/{objectType}/{objectId}/blob-handles'].post update: x-apievangelist-phrasing: intent: Upload an attachment to an object effect: write questions: - How do I attach a screenshot to a defect? - Which headers do I need when uploading an attachment? instructions: - text: Upload file {fileName} of type {contentType} to {objectType} {object} in project {project}. slots: project: path.projectId objectType: path.objectType object: path.objectId fileName: header.File-Name contentType: header.Content-Type - text: Attach {fileName} to test case {object}. slots: fileName: header.File-Name object: path.objectId method: generated generated: '2026-10-01' - target: $.paths['/api/v3/projects/{projectId}/{objectType}/{objectId}/blob-handles/{blobHandleId}'].delete update: x-apievangelist-phrasing: intent: Delete an attachment from an object effect: destructive questions: - How do I remove an attachment from a defect? - Can I delete a file attached to a test step? instructions: - text: Delete attachment {blob} from {objectType} {object} in project {project}. slots: project: path.projectId objectType: path.objectType object: path.objectId blob: path.blobHandleId - text: Remove attached file {blob} on {object}. slots: blob: path.blobHandleId object: path.objectId method: generated generated: '2026-10-01'