snapshot of https://github.com/jitsi/jitsi-meet.git @ fd1749dd28f4138aa80234fc7f311b19aaffa0e7 (2026-09-15)
This commit is contained in:
268
resources/file-sharing.yaml
Normal file
268
resources/file-sharing.yaml
Normal file
@@ -0,0 +1,268 @@
|
||||
openapi: 3.0.1
|
||||
info:
|
||||
title: File Sharing API
|
||||
description: Management of the file sharing feature
|
||||
version: 1.0.0
|
||||
servers:
|
||||
- url: https://your-server-here
|
||||
description: Generated server url
|
||||
security:
|
||||
- HttpBearerKey: []
|
||||
tags:
|
||||
- name: Content sharing history
|
||||
description: crud operation for shared documents
|
||||
paths:
|
||||
/v1/documents/sessions/{sessionId}/files:
|
||||
get:
|
||||
tags:
|
||||
- Document sharing history
|
||||
summary: Return a list of metadata with pre-sign urls for download
|
||||
description: Used to get the list of files in past meetings
|
||||
operationId: retrieveContentSharingHistory_1
|
||||
parameters:
|
||||
- name: sessionId
|
||||
in: path
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
- name: offset
|
||||
in: query
|
||||
required: false
|
||||
schema:
|
||||
type: integer
|
||||
format: int32
|
||||
default: 0
|
||||
- name: page-size
|
||||
in: query
|
||||
required: false
|
||||
schema:
|
||||
type: integer
|
||||
format: int32
|
||||
default: 20
|
||||
responses:
|
||||
'200':
|
||||
description: OK
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
$ref: '#/components/schemas/CssFileMetadataResponse'
|
||||
post:
|
||||
tags:
|
||||
- Document sharing history
|
||||
summary: Save an document and metadata
|
||||
description: Add a document to a meeting - allowed only to those with file-sharing feature if any
|
||||
operationId: addDocumentInMeeting
|
||||
parameters:
|
||||
- name: sessionId
|
||||
in: path
|
||||
description: The session ID of the meeting.
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
requestBody:
|
||||
content:
|
||||
multipart/form-data:
|
||||
schema:
|
||||
required:
|
||||
- file
|
||||
- metadata
|
||||
type: object
|
||||
properties:
|
||||
metadata:
|
||||
type: string
|
||||
description: The metadata of the document in JSON format. Must conform to FileMetadata schema.
|
||||
example: '{"conferenceFullName":"myroomname@conference.tenant.jitsi-meet.example.com","timestamp":1741017572040,"fileSize":1042157,"fileId":"e393a7e5-e790-4f43-836e-d27238201904"}'
|
||||
file:
|
||||
type: string
|
||||
description: The file to be uploaded.
|
||||
format: binary
|
||||
responses:
|
||||
'200':
|
||||
description: Document added successfully
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/AddDocumentResponse'
|
||||
example:
|
||||
fileId: e393a7e5-e790-4f43-836e-d27238201904
|
||||
/v1/documents/sessions/{sessionId}/files/{fileId}:
|
||||
get:
|
||||
tags:
|
||||
- Document sharing history
|
||||
summary: Get file pre-signed URL plus document info
|
||||
description: Used by UI to get the presign url for the file before serving it to the user who needs it
|
||||
operationId: getDocumentInfoDuringMeeting
|
||||
parameters:
|
||||
- name: sessionId
|
||||
in: path
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
- name: fileId
|
||||
in: path
|
||||
description: The file ID to be deleted.
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
responses:
|
||||
'200':
|
||||
description: OK
|
||||
content:
|
||||
'*/*':
|
||||
schema:
|
||||
$ref: '#/components/schemas/DocumentMetadataResponse'
|
||||
delete:
|
||||
tags:
|
||||
- Document sharing history
|
||||
summary: Delete a file by sessionId and fileId
|
||||
description: Delete a file by sessionId and fileId allowed by the "file-upload" feature
|
||||
operationId: deleteFile
|
||||
parameters:
|
||||
- name: sessionId
|
||||
in: path
|
||||
description: The session ID of the meeting.
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
example: 86bf35e2-62a5-497e-9cae-efd35139f81f
|
||||
- name: fileId
|
||||
in: path
|
||||
description: The file ID to be deleted.
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
responses:
|
||||
'200':
|
||||
description: OK
|
||||
components:
|
||||
schemas:
|
||||
FileMetadata:
|
||||
type: object
|
||||
required:
|
||||
- fileId
|
||||
- conferenceFullName
|
||||
- timestamp
|
||||
- fileSize
|
||||
properties:
|
||||
fileId:
|
||||
type: string
|
||||
format: uuid
|
||||
description: Client-generated unique identifier for the file
|
||||
example: e393a7e5-e790-4f43-836e-d27238201904
|
||||
conferenceFullName:
|
||||
type: string
|
||||
description: Full name of the conference/meeting room
|
||||
example: myroomname@conference.tenant.jitsi-meet.example.com
|
||||
timestamp:
|
||||
type: integer
|
||||
format: int64
|
||||
description: Upload timestamp in milliseconds since epoch
|
||||
example: 1741017572040
|
||||
fileSize:
|
||||
type: integer
|
||||
format: int64
|
||||
description: Size of the file in bytes
|
||||
example: 1042157
|
||||
description: Metadata structure that must be sent as JSON string in the metadata field
|
||||
Payload:
|
||||
type: object
|
||||
properties:
|
||||
isBreakout:
|
||||
type: boolean
|
||||
conference:
|
||||
type: string
|
||||
AddDocumentResponse:
|
||||
type: object
|
||||
properties:
|
||||
fileId:
|
||||
type: string
|
||||
description: File ID of the added document
|
||||
example: e393a7e5-e790-4f43-836e-d27238201904
|
||||
description: Response body containing the fileId of the added document
|
||||
CssFileMetadataResponse:
|
||||
type: object
|
||||
properties:
|
||||
objectId:
|
||||
type: string
|
||||
description: Object id - can be file id
|
||||
example: e393a7e5-e790-4f43-836e-d27238201904
|
||||
sessionId:
|
||||
type: string
|
||||
description: Session id
|
||||
example: 85a32e37-ddd5-45de-89a6-e94ccffe547a
|
||||
timestamp:
|
||||
type: integer
|
||||
description: Added timestamp
|
||||
format: int64
|
||||
example: 124
|
||||
contentType:
|
||||
type: string
|
||||
description: Content type
|
||||
example: application/pdf
|
||||
objectName:
|
||||
type: string
|
||||
description: Object name
|
||||
example: e393a7e5-e790-4f43-836e-d27238201904
|
||||
initiatorId:
|
||||
type: string
|
||||
description: User id for the author
|
||||
example: f56g5y4
|
||||
preSignedUrl:
|
||||
type: string
|
||||
description: Presign url - expires after 24h for JaaS
|
||||
example: https://oracle.com/presigned-url
|
||||
description: Response body containing the file metadata
|
||||
PaginatedResponseCssFileMetadataResponse:
|
||||
type: object
|
||||
properties:
|
||||
content:
|
||||
type: array
|
||||
items:
|
||||
$ref: '#/components/schemas/CssFileMetadataResponse'
|
||||
nextStartWith:
|
||||
type: string
|
||||
DocumentMetadataResponse:
|
||||
type: object
|
||||
properties:
|
||||
fileId:
|
||||
type: string
|
||||
description: File ID of the document
|
||||
example: e393a7e5-e790-4f43-836e-d27238201904
|
||||
sessionId:
|
||||
type: string
|
||||
description: Session ID of the document
|
||||
example: 85a32e37-ddd5-45de-89a6-e94ccffe547a
|
||||
fileName:
|
||||
type: string
|
||||
description: Filename
|
||||
example: sample.pdf
|
||||
customerId:
|
||||
type: string
|
||||
description: Customer id
|
||||
example: vthtryv56yb65
|
||||
userId:
|
||||
type: string
|
||||
description: User id
|
||||
example: dvdsvfhjv
|
||||
presignedUrl:
|
||||
type: string
|
||||
description: Presign url - points to document sharing since for CSS the link expires in 3h
|
||||
example: https://content-sharing-url.com
|
||||
createdAt:
|
||||
type: integer
|
||||
description: Created at
|
||||
format: int64
|
||||
example: 1745436546
|
||||
fileSize:
|
||||
type: integer
|
||||
description: File Size
|
||||
format: int64
|
||||
example: 124
|
||||
description: Response body containing the document metadata
|
||||
securitySchemes:
|
||||
HttpBearerKey:
|
||||
type: http
|
||||
description: Http request Authorization header
|
||||
scheme: bearer
|
||||
Reference in New Issue
Block a user