openapi: 3.2.0 info: title: Sonetel Internal API version: 1.0.0 contact: name: Sonetel API Support url: https://sonetel.com/en/developer/help/ email: api.support@sonetel.com termsOfService: https://sonetel.com/en/help/help-topics/terms-conditions/terms-conditions/ description: 'Operations tagged Internal across 2 of this provider''s published API definitions: 15_ai_filemanager.yaml, sonetel-ai-file-manager-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://public-api.sonetel.com description: Production security: - {} tags: - name: Internal paths: /internal/filemgr/upload-url: post: summary: Create upload URL (Internal) description: Create an upload URL. Used by internal Sonetel services only. operationId: post-internal-filemgr-upload-url requestBody: $ref: '#/components/requestBodies/post-upload-url-INTERNAL' responses: '200': $ref: '#/components/responses/post-upload-url-rsp' security: - Sonetel: [] servers: - url: https://public-api.sonetel.com description: Production x-internal: true tags: - Internal servers: - url: https://public-api.sonetel.com description: Production /internal/filemgr/file: post: summary: Add a file description: 'Add a file to file manager This endpoint is used by Sonetel services to provide a reference of a file to the file manager, to allow file manager to view and manage that file. File manager allocates a unique `file_id` to the file.' operationId: post-internal-filemgr-file requestBody: $ref: '#/components/requestBodies/post-internal-file' responses: '200': $ref: '#/components/responses/FileWithId' security: - Sonetel: [] servers: - url: https://public-api.sonetel.com description: Production x-internal: true tags: - Internal servers: - url: https://public-api.sonetel.com description: Production components: requestBodies: post-internal-file: description: Add file request content: application/json: schema: type: object properties: storage: type: string enum: - sonetel-call-recording - sonetel-voicemail - google-drive - one-drive - dropbox description: 'The storage type of the file. Storage type other than `file-mgr` applies to files stored by Sonetel services in their own storage' store_obj_id: type: string description: An identifier of the file in the storage system which can be used by the file manager to access the file in_use_with: $ref: '#/components/schemas/InUseWith' account_id: type: string description: Account Id for which this file is added examples: - Yhty234 user_id: type: string description: Sonetel User_id for which this file is added examples: - km5yht3 business_id: type: string description: Business_id for which this file is added examples: - 3jhpoi required: - storage - store_obj_id post-upload-url-INTERNAL: description: Request to get upload URLs by Sonetel internal services content: application/json: schema: type: object properties: count: type: string visibility: type: string account_id: type: string user_id: type: string business_id: type: string description: type: string created_by: type: string in_use_with: $ref: '#/components/schemas/InUseWith' schemas: AudioMetaData: type: object title: AudioMetaData description: Meta data for audio files properties: duration: type: integer description: The audio length in seconds format: int32 examples: - 32 codec: type: string description: The [audio codec](https://www.iana.org/assignments/media-types/media-types.xhtml#audio) used examples: - pcma bitrate: type: integer description: The audio bitrate in kbps examples: - 128 sampling_rate: enum: - 44.1 - 48 - 22.05 - 32 - 88.2 - 96 description: Sampling rate of the audio examples: - 48 FileWithID: type: object description: File meta data properties: file_id: type: string description: The unique ID of the file readOnly: true name: type: string description: The file name with extension examples: - my-file.txt type: type: string enum: - audio - video - image - text - other description: The type of file - audio, video, image, text or other. The file type is automatically detected during upload by the file manager readOnly: true size: type: integer description: The size of the file in bytes format: int64 readOnly: true examples: - 7565 storage: type: string enum: - file-mgr - sonetel-call-recording - sonetel-voicemail - google-drive - one-drive - dropbox description: The storage type of the file. A file may be stored in storage managed by file manager, or storage managed by other services such as Sonetel's call recording, or external cloud storage services such as Google or Microsoft one-drive or dropbox. readOnly: true examples: - file-mgr extension: type: string description: The file name extension such as `jpg`, `mp4` etc. readOnly: true mime_type: type: string description: The [standard IANA mime type](https://www.iana.org/assignments/media-types/media-types.xhtml) of the file readOnly: true public_url: type: string description: The public URL of the file for files that have visibility set to `public` format: uri-reference readOnly: true description: type: string description: Textual description of the file create_date: type: string description: The create date/time of the file format: date-time readOnly: true modify_date: type: string description: The last modified date of the file meta data. File content cannot be modified format: date-time readOnly: true visibility: type: string image_meta_data: $ref: '#/components/schemas/ImageMetaData' description: Image specific meta data for image files video_meta_data: $ref: '#/components/schemas/VideoMetaData' description: Video specific meta data for video files audio_meta_data: $ref: '#/components/schemas/AudioMetaData' description: Audio specific meta data for audio files account_id: type: string description: The Sonetel account Id that owns the file readOnly: true examples: - ty4653 user_id: type: string description: The Sonetel user Id that owns the file readOnly: true examples: - H64yut business_id: type: string description: The Sonetel business Id to which the file is associated examples: - rhY4563 in_use_with: $ref: '#/components/schemas/InUseWith' description: List of services the file is in use with and expiry timestamp for each temp_url: type: string description: A secure temporary URL that expires in 180 seconds. format: uri examples: - https://files.sonetel.com/yh4yth208656Hn5uj3876ki3jj2j created_by: type: string enum: - ai-meeting-mins - user - ai-photo-finder - sonetel-call-recording description: 'The service that created this file. In case a user has created this, this value is set to `user` and the `user_id` field carries the `user_id `of the user that created this ' examples: - user store_obj_id: type: string description: Reference Id of the file in the object storage VideoMetaData: type: object title: VideoMetaData description: Meta data for video files properties: duration: type: integer description: The length in seconds of the video file examples: - 32 codec: type: string description: The [video codec](https://www.iana.org/assignments/media-types/media-types.xhtml#video) used resolution: type: string enum: - 480p - 576p - 720p - 1080p - 1440p - 4K - 8K description: The video resolution bitrate: type: integer description: The video bitrate in kbps format: int32 examples: - 8000 frame_rate: type: integer description: The frame rate in frames per second (fps) format: int32 examples: - 60 audio_codec: type: string description: The [audio code](https://www.iana.org/assignments/media-types/media-types.xhtml#audio) used examples: - pcma audio_channels: type: integer description: The number of audio channels in the video format: int32 language: type: string description: The language of the audio. [2 char ISO](https://en.wikipedia.org/wiki/ISO_639-1) or [IETF language tags](https://en.wikipedia.org/wiki/IETF_language_tag) examples: - en ImageMetaData: type: object title: ImageMetaData description: Meta data for image files properties: resolution: type: string description: The image resolution format: regex pattern: ^\d{3,4}x\d{3,4}$ examples: - 1920x1080 color_space: type: string description: The color space of the image such as `RGB` or `CMYK` examples: - RGB image_format: type: string enum: - jpg - png - gif - bmp - tiff - svg description: The image format such as `jpg`, `png` examples: - jpg bit_depth: type: integer description: The bit depth of the image format: int32 examples: - 32 InUseWith: type: array title: InUseWith description: Information about services file is in use with items: type: object properties: service: type: string enum: - ai-meeting-minutes - ai-call-summary - ai-vmail-summary description: The service the file is in use with examples: - ai-meeting-minutes auto_expire: type: string description: 'Automatic expiry timestamp when the file is no longer required by the service An empty value implies that the file is never automatically deleted' format: date-time responses: FileWithId: description: File meta data content: application/json: schema: $ref: '#/components/schemas/FileWithID' post-upload-url-rsp: description: List of file Ids and upload URLs content: application/json: schema: type: array items: type: object properties: file_id: type: string description: The file Id of the file to be uploaded upload_url: type: string description: The upload URL where the file should be uploaded. The URL is valid for 90 secs format: uri-reference name: type: string description: The file name upload_id: type: string description: 'Unique upload Id used in the case of multi-part uploads. For single file uploads, this field is not sent' examples: - thy3tyi upload_urls: type: array description: 'A list of upload URLs where the file should be uploaded. Each URL is valid for 10 mins A single URL is returned for a single part ' items: type: string format: uri securitySchemes: Sonetel: type: oauth2 flows: password: refreshUrl: https://api.sonetel.com/SonetelAuth/beta tokenUrl: https://api.sonetel.com/SonetelAuth/beta scopes: {} x-refined-from: - 15_ai_filemanager.yaml - sonetel-ai-file-manager-openapi.yml