Siro Folders API

The Folders API from Siro — 2 operation(s) for folders.

OpenAPI Specification

siro-folders-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: 1.0.0
  title: Swagger Audit Folders API
servers:
- url: https://functions.siro.ai/api-externalApi
  description: Siro API external API endpoint
tags:
- name: Folders
paths:
  /v1/folders:
    get:
      summary: Get all folders for a user
      description: Get all folders and folder items for a given user
      parameters:
      - schema:
          type: string
          description: Organization ID to get folders for
        required: false
        description: Organization ID to get folders for
        name: organizationId
        in: query
      responses:
        '200':
          description: Get all folders for a user
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      folders:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              description: Folder ID
                            title:
                              type: string
                              description: Folder title
                            description:
                              type: string
                              nullable: true
                              description: Folder description
                            lastUpdated:
                              type: string
                              description: Last updated date as string
                            dateCreated:
                              type: string
                              description: Date created as string
                            userId:
                              type: string
                              description: User ID who created the folder
                            teamId:
                              type: string
                              description: Team ID of the user who created the folder
                            organizationId:
                              type: string
                              description: Organization ID the folder belongs to
                            isPublic:
                              type: boolean
                              description: Whether the folder is visible to other users in the org
                          required:
                          - id
                          - title
                          - lastUpdated
                          - dateCreated
                          - userId
                          - teamId
                          - organizationId
                        description: List of folders
                      folderItems:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              description: Folder item ID
                            recordingId:
                              type: string
                              description: Recording ID in the folder
                            startTimeInMilliseconds:
                              type: number
                              nullable: true
                              description: Start time of the folder item without recording offset
                            endTimeInMilliseconds:
                              type: number
                              nullable: true
                              description: End time of the folder item without recording offset
                            folderId:
                              type: string
                              description: Folder ID this item belongs to
                            dateCreated:
                              type: string
                              description: Date created as string
                          required:
                          - id
                          - recordingId
                          - folderId
                          - dateCreated
                        description: List of folder items
                    required:
                    - folders
                    - folderItems
                  cursor:
                    anyOf:
                    - type: string
                    - type: number
                    - nullable: true
                  pageSize:
                    type: number
                  limit:
                    type: number
                  total:
                    type: number
                    nullable: true
                  hasNextPage:
                    type: boolean
                required:
                - data
        '400':
          description: Bad Request - Invalid parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message
                required:
                - error
        '401':
          description: Unauthorized - User not authenticated
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Authentication error message
                required:
                - error
        '403':
          description: Forbidden - User does not have access
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Authorization error message
                required:
                - error
        '404':
          description: Not Found - Resource not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Resource not found error message
                required:
                - error
        '422':
          description: Unprocessable Content - The request failed validation checks
          content:
            application/json:
              schema:
                type: object
                properties:
                  issues:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                        expected:
                          type: string
                        received:
                          type: string
                        path:
                          type: array
                          items:
                            anyOf:
                            - type: string
                            - type: number
                        message:
                          type: string
                      required:
                      - code
                      - path
                      - message
                  name:
                    type: string
                    enum:
                    - ZodError
                required:
                - issues
                - name
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Internal server error message
                required:
                - error
      security:
      - SiroAuthToken: []
      tags:
      - Folders
    post:
      summary: Create a folder
      description: Create a new folder in the requested organization
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  description: Folder title
                description:
                  type: string
                  description: Folder description
                organizationId:
                  type: string
                  description: Organization ID to create folder in
              required:
              - title
      responses:
        '200':
          description: Create a folder
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        description: ID of the created folder
                  cursor:
                    anyOf:
                    - type: string
                    - type: number
                    - nullable: true
                  pageSize:
                    type: number
                  limit:
                    type: number
                  total:
                    type: number
                    nullable: true
                  hasNextPage:
                    type: boolean
                required:
                - data
        '400':
          description: Bad Request - Invalid parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message
                required:
                - error
        '401':
          description: Unauthorized - User not authenticated
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Authentication error message
                required:
                - error
        '403':
          description: Forbidden - User does not have access
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Authorization error message
                required:
                - error
        '404':
          description: Not Found - Resource not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Resource not found error message
                required:
                - error
        '422':
          description: Unprocessable Content - The request failed validation checks
          content:
            application/json:
              schema:
                type: object
                properties:
                  issues:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                        expected:
                          type: string
                        received:
                          type: string
                        path:
                          type: array
                          items:
                            anyOf:
                            - type: string
                            - type: number
                        message:
                          type: string
                      required:
                      - code
                      - path
                      - message
                  name:
                    type: string
                    enum:
                    - ZodError
                required:
                - issues
                - name
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Internal server error message
                required:
                - error
      security:
      - SiroAuthToken: []
      tags:
      - Folders
    delete:
      summary: Delete a folder
      description: Delete a folder and all its items from the requested organization
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                folderId:
                  type: string
                  description: ID of the folder to delete
                organizationId:
                  type: string
                  description: Organization ID the folder belongs to
              required:
              - folderId
      responses:
        '200':
          description: Delete a folder
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      success:
                        type: boolean
                        description: Whether the folder was successfully deleted
                    required:
                    - success
                  cursor:
                    anyOf:
                    - type: string
                    - type: number
                    - nullable: true
                  pageSize:
                    type: number
                  limit:
                    type: number
                  total:
                    type: number
                    nullable: true
                  hasNextPage:
                    type: boolean
                required:
                - data
        '400':
          description: Bad Request - Invalid parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message
                required:
                - error
        '401':
          description: Unauthorized - User not authenticated
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Authentication error message
                required:
                - error
        '403':
          description: Forbidden - User does not have access
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Authorization error message
                required:
                - error
        '404':
          description: Not Found - Resource not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Resource not found error message
                required:
                - error
        '422':
          description: Unprocessable Content - The request failed validation checks
          content:
            application/json:
              schema:
                type: object
                properties:
                  issues:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                        expected:
                          type: string
                        received:
                          type: string
                        path:
                          type: array
                          items:
                            anyOf:
                            - type: string
                            - type: number
                        message:
                          type: string
                      required:
                      - code
                      - path
                      - message
                  name:
                    type: string
                    enum:
                    - ZodError
                required:
                - issues
                - name
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Internal server error message
                required:
                - error
      security:
      - SiroAuthToken: []
      tags:
      - Folders
  /v1/folders/{id}/items:
    get:
      summary: Get folder items
      description: Get all items in a specific folder
      parameters:
      - schema:
          type: string
          description: ID of the folder
        required: true
        description: ID of the folder
        name: id
        in: path
      - schema:
          type: string
          description: Organization ID the folder belongs to
        required: false
        description: Organization ID the folder belongs to
        name: organizationId
        in: query
      responses:
        '200':
          description: Get folder items
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      folder:
                        type: object
                        properties:
                          id:
                            type: string
                            description: Folder ID
                          title:
                            type: string
                            description: Folder title
                          description:
                            type: string
                            nullable: true
                            description: Folder description
                          lastUpdated:
                            type: string
                            description: Last updated date as string
                          dateCreated:
                            type: string
                            description: Date created as string
                          userId:
                            type: string
                            description: User ID who created the folder
                          teamId:
                            type: string
                            description: Team ID of the user who created the folder
                          organizationId:
                            type: string
                            description: Organization ID the folder belongs to
                          isPublic:
                            type: boolean
                            description: Whether the folder is visible to other users in the org
                        required:
                        - id
                        - title
                        - lastUpdated
                        - dateCreated
                        - userId
                        - teamId
                        - organizationId
                      folderItems:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              description: Folder item ID
                            recordingId:
                              type: string
                              description: Recording ID in the folder
                            startTimeInMilliseconds:
                              type: number
                              nullable: true
                              description: Start time of the folder item without recording offset
                            endTimeInMilliseconds:
                              type: number
                              nullable: true
                              description: End time of the folder item without recording offset
                            folderId:
                              type: string
                              description: Folder ID this item belongs to
                            dateCreated:
                              type: string
                              description: Date created as string
                          required:
                          - id
                          - recordingId
                          - folderId
                          - dateCreated
                        description: List of folder items
                    required:
                    - folder
                    - folderItems
                  cursor:
                    anyOf:
                    - type: string
                    - type: number
                    - nullable: true
                  pageSize:
                    type: number
                  limit:
                    type: number
                  total:
                    type: number
                    nullable: true
                  hasNextPage:
                    type: boolean
                required:
                - data
        '400':
          description: Bad Request - Invalid parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message
                required:
                - error
        '401':
          description: Unauthorized - User not authenticated
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Authentication error message
                required:
                - error
        '403':
          description: Forbidden - User does not have access
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Authorization error message
                required:
                - error
        '404':
          description: Not Found - Resource not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Resource not found error message
                required:
                - error
        '422':
          description: Unprocessable Content - The request failed validation checks
          content:
            application/json:
              schema:
                type: object
                properties:
                  issues:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                        expected:
                          type: string
                        received:
                          type: string
                        path:
                          type: array
                          items:
                            anyOf:
                            - type: string
                            - type: number
                        message:
                          type: string
                      required:
                      - code
                      - path
                      - message
                  name:
                    type: string
                    enum:
                    - ZodError
                required:
                - issues
                - name
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Internal server error message
                required:
                - error
      security:
      - SiroAuthToken: []
      tags:
      - Folders
    post:
      summary: Add item to folder
      description: Add a recording item to a specific folder
      parameters:
      - schema:
          type: string
          description: ID of the folder
        required: true
        description: ID of the folder
        name: id
        in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                recordingId:
                  type: string
                  description: Recording ID to add to the folder
                startTimeInMilliseconds:
                  type: number
                  description: Start time of the folder item without recording offset
                endTimeInMilliseconds:
                  type: number
                  description: End time of the folder item without recording offset
                organizationId:
                  type: string
                  description: Organization ID the folder belongs to
              required:
              - recordingId
      responses:
        '200':
          description: Add item to folder
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        description: ID of the created folder item
                    required:
                    - id
                  cursor:
                    anyOf:
                    - type: string
                    - type: number
                    - nullable: true
                  pageSize:
                    type: number
                  limit:
                    type: number
                  total:
                    type: number
                    nullable: true
                  hasNextPage:
                    type: boolean
                required:
                - data
        '400':
          description: Bad Request - Invalid parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message
                required:
                - error
        '401':
          description: Unauthorized - User not authenticated
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Authentication error message
                required:
                - error
        '403':
          description: Forbidden - User does not have access
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Authorization error message
                required:
                - error
        '404':
          description: Not Found - Resource not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Resource not found error message
                required:
                - error
        '422':
          description: Unprocessable Content - The request failed validation checks
          content:
            application/json:
              schema:
                type: object
                properties:
                  issues:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                        expected:
                          type: string
                        received:
                          type: string
                        path:
                          type: array
                          items:
                            anyOf:
                            - type: string
                            - type: number
                        message:
                          type: string
                      required:
                      - code
                      - path
                      - message
                  name:
                    type: string
                    enum:
                    - ZodError
                required:
                - issues
                - name
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Internal server error message
                required:
                - error
      security:
      - SiroAuthToken: []
      tags:
      - Folders
    delete:
      summary: Delete a folder item
      description: Delete a specific item from a folder
      parameters:
      - schema:
          type: string
          description: ID of the folder
        required: true
        description: ID of the folder
        name: id
        in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                folderItemId:
                  type: string
                  description: ID of the folder item to delete
                organizationId:
                  type: string
                  description: Organization ID the folder belongs to
              required:
              - folderItemId
              - organizationId
      responses:
        '200':
          description: Delete a folder item
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      success:
                        type: boolean
                        description: Whether the folder item was successfully deleted
                    required:
                    - success
                  cursor:
                    anyOf:
                    - type: string
                    - type: number
                    - nullable: true
                  pageSize:
                    type: number
                  limit:
                    type: number
                  total:
                    type: number
                    nullable: true
                  hasNextPage:
                    type: boolean
                required:
                - data
        '400':
          description: Bad Request - Invalid parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message
                required:
                - error
        '401':
          description: Unauthorized - User not authenticated
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Authentication error message
                required:
                - error
        '403':
          description: Forbidden - User does not have access
          content:
            application/json:
       

# --- truncated at 32 KB (34 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/siro/refs/heads/main/openapi/siro-folders-api-openapi.yml