openapi: 3.1.0 info: title: Convert Accounts Files API description: 'Move your app forward with the Convert API. The Convert API allows you to manage your Convert Experiences projects using code. The REST API is an interface for managing and extending functionality of Convert. For example, instead of creating and maintaining projects using the Convert Experiences web dashboard you can create an experiment programmatically. Additionally, if you prefer to run custom analysis on experiment results you can leverage the API to pull data from Convert Experiences into your own workflow. If you do not have a Convert account already, sign up for a free developer account at https://www.convert.com/api/. *[Convert API V1](/doc/v1) is still available and documentation can be found [here](/doc/v1) but using it is highly discouraged as it will be phased out in the future* ' version: 2.0.0 servers: - url: https://api.convert.com/api/v2 description: Live API server - url: https://apidev.convert.com/api/v2 description: DEV API server - url: http://apidev.convert.com:5000/api/v2 description: DEV mocked API server tags: - name: Files description: Various endpoints that allow File Assets loaded through Convert's to be managed paths: /accounts/{account_id}/projects/{project_id}/files/add: post: operationId: uploadFile summary: Upload a generic file to project storage tags: - Files parameters: - name: account_id in: path required: true description: ID of the account that owns the retrieved/saved data schema: type: integer - name: project_id in: path required: true description: ID of the project to be retrieved schema: type: integer requestBody: $ref: '#/components/requestBodies/UploadFileRequest' responses: '201': $ref: '#/components/responses/FileResponse' default: $ref: '#/components/responses/ErrorResponse' /accounts/{account_id}/projects/{project_id}/files/{file_key}: get: operationId: getFile summary: Get content of an uploaded file description: 'Retrieves the content of a previously uploaded file, identified by its `file_key`. The file content is returned base64 encoded. ' tags: - Files parameters: - name: account_id in: path required: true description: ID of the account that owns the retrieved/saved data schema: type: integer - name: project_id in: path required: true description: ID of the project to be retrieved schema: type: integer - name: file_key in: path required: true description: The key of the file to retrieve schema: type: string responses: '200': $ref: '#/components/responses/FileDataResponse' '404': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' /accounts/{account_id}/projects/{project_id}/files/{file_key}/delete: delete: operationId: deleteFile summary: Delete an uploaded file from project storage tags: - Files parameters: - name: account_id in: path required: true description: ID of the account that owns the retrieved/saved data schema: type: integer - name: project_id in: path required: true description: ID of the project to be retrieved schema: type: integer - name: file_key in: path required: true description: The key of the file to be deleted schema: type: string responses: '200': $ref: '#/components/responses/SuccessResponse' default: $ref: '#/components/responses/ErrorResponse' components: schemas: UploadFileRequestData: type: object description: 'Request body for uploading a generic file. Uses multipart/form-data. Supported file types include PDF, DOC(X), XLS(X), PPT(X), TXT, CSV, and common image formats (JPG, PNG, GIF, WEBP, SVG). Maximum file size is 5MB. ' properties: file_name: description: The desired name for the file as it will be stored and identified in Convert (e.g., "campaign_brief.pdf", "logo_variation.svg"). Include the file extension. type: string maxLength: 200 file: description: 'The actual binary file content to be uploaded. Constraints: - Maximum file size: 5MB. - Supported types: PDF, DOC, DOCX, XLS, XLSX, PPT, PPTX, TXT, CSV, JPG, JPEG, BMP, GIF, PNG, WEBP, SVG. ' type: string format: binary required: - file_name - file FileBase: type: object description: Base properties common to an uploaded file in Convert's storage. properties: url: description: The direct URL from which this file can be accessed or downloaded. This URL points to Convert's file storage. type: string example: https://api.convert.com/api/v2/accounts/{account_id}/projects/{project_id}/files/{fileKey} key: description: 'The unique storage key (often including the filename and a unique prefix/suffix) for this file within Convert''s system. This key is used to retrieve or delete the file. ' type: string example: example_file_1234567890.jpg file_name: description: The original filename of the uploaded file, as provided by the user during upload (e.g., "annual_report.pdf", "user_avatar.png"). type: string example: example.jpg file_size: description: The size of the file in bytes. type: integer example: 474702 mime_type: description: The MIME type of the file (e.g., "application/pdf", "image/jpeg", "text/csv"), indicating its format. type: string example: image/jpeg status: description: Indicates the status of the file, primarily relevant during or immediately after an upload operation. type: string enum: - success - error message: description: A message related to the file's status, providing more details in case of an error during upload. type: string UploadedFile: allOf: - $ref: '#/components/schemas/FileBase' - type: object description: File Object in upload response with additional status fields properties: status: description: Status of the file upload operation type: string enum: - success - error message: description: Message related to the file upload status type: string FileData: allOf: - $ref: '#/components/schemas/FileBase' - type: object description: File content object with base64 encoded data properties: content: description: Base64 encoded content of the file type: string example: JVBERi0xLjMKJcTl8uXrp/Og0MTGCjQgMCBvYmoKPDwgL0xlbg... ErrorData: type: object properties: code: type: integer format: int32 message: oneOf: - type: string - type: array items: type: string fields: oneOf: - type: string - type: array items: type: string SuccessData: type: object properties: code: type: integer format: int32 message: type: string requestBodies: UploadFileRequest: content: multipart/form-data: schema: $ref: '#/components/schemas/UploadFileRequestData' responses: ErrorResponse: description: 'Indicates an error occurred while processing the request. The `code` provides an HTTP status code, `message` offers a human-readable explanation or an array of validation errors, and `fields` (if present) specifies which input fields were problematic. ' content: application/json: schema: $ref: '#/components/schemas/ErrorData' FileDataResponse: description: Contains the base64 encoded `content` of a requested file, along with its metadata like `key`, `file_name`, and `mime_type`. content: application/json: schema: $ref: '#/components/schemas/FileData' SuccessResponse: description: 'A generic success response, typically used for operations that don''t return specific data (like deletions or some updates). The `code` is usually 200, and `message` confirms the successful action. ' content: application/json: schema: $ref: '#/components/schemas/SuccessData' FileResponse: description: Details of a single uploaded file, including its access `url`, storage `key`, original `file_name`, `file_size`, and `mime_type`. content: application/json: schema: $ref: '#/components/schemas/UploadedFile' securitySchemes: requestSigning: type: apiKey x-name-applicationId: Convert-Application-ID x-name-expire: Expire name: Authorization in: header description: 'See **[API Key Authentication](#tag/API-KEY-Authentication)** for more information. ' secretKey: type: http scheme: bearer description: 'See **[API Key Authentication](#tag/API-KEY-Authentication)** for more information. ' cookieAuthentication: type: apiKey in: cookie name: sid description: Cookie authentication is used against Convert's own IdentityProvider or third party identity providers and is described more in the "[Cookie Authentication](#tag/Cookie-Authentication)" section x-tagGroups: - name: Client Authentication tags: - API KEY Authentication - Cookie Authentication - OAuth Authorization - name: Common Parameters tags: - Optional Fields - Expandable Fields - name: Requests tags: - User - Accounts - AI content - Collaborators - API Keys - Projects - SDK Keys - Experiences - Experience Variations - Experience Sections - Section Versions - Version Changes - Experiences Reports - Experiences Heatmaps - Goals - Hypotheses - Knowledge Bases - Observations - Locations - Audiences - Domains - Cdn Images - Files - Tags - Features - Visitor Insights - Visitors Data - Visitor Data Placeholders - OAuth