_description: "This service provides organization level operations"

get_tags {
    "2.8" {
        description: "Get all the user and system tags used for the company tasks and models"
        request {
            type: object
            properties {
                include_system {
                    description: "If set to 'true' then the list of the system tags is also returned. The default value is 'false'"
                    type: boolean
                    default: false
                }
                filter {
                    description: "Filter on entities to collect tags from"
                    type: object
                    properties {
                        tags {
                            description: "The list of tag values to filter by. Use 'null' value to specify empty tags. Use '__Snot' value to specify that the following value should be excluded"
                            type: array
                            items {type: string}
                        }
                        system_tags {
                            description: "The list of system tag values to filter by. Use 'null' value to specify empty system tags. Use '__Snot' value to specify that the following value should be excluded"
                            type: array
                            items {type: string}
                        }
                    }
                }
            }
        }
        response {
            type: object
            properties {
                tags {
                    description: "The list of unique tag values"
                    type: array
                    items {type: string}
                }
                system_tags {
                    description: "The list of unique system tag values. Returned only if 'include_system' is set to 'true' in the request"
                    type: array
                    items {type: string}
                }
            }
        }
    }
}
get_user_companies {
    "2.12" {
        description: "Get details for all companies associated with the current user"
        request {
            type: object
            properties {}
            additionalProperties: false
        }
        response {
            type: object
            properties {
                companies {
                    description: "List of company information entries. First company is the user's own company"
                    type: array
                    items {
                        type: object
                        properties {
                            id {
                                description: "Company ID"
                                type: string
                            }
                            name {
                                description: "Company name"
                                type: string
                            }
                            allocated {
                                description: "Number of users allocated for company"
                                type: integer
                            }
                            owners {
                                description: "Company owners"
                                type: array
                                items {
                                    type: object
                                    properties {
                                        id {
                                            description: "User ID"
                                            type: string
                                        }
                                        name {
                                            description: "User Name"
                                            type: string
                                        }
                                        avatar {
                                            description: "User avatar (URL or base64-encoded data)"
                                            type: string
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
get_entities_count {
    "2.20": {
        description: "Get counts for the company entities according to the passed search criteria"
        request {
            type: object
            properties {
                projects {
                    type: object
                    additionalProperties: true
                    description: Search criteria for projects
                }
                tasks {
                    type: object
                    additionalProperties: true
                    description: Search criteria for experiments
                }
                models {
                    type: object
                    additionalProperties: true
                    description: Search criteria for models
                }
                pipelines {
                    type: object
                    additionalProperties: true
                    description: Search criteria for pipelines
                }
                datasets {
                    type: object
                    additionalProperties: true
                    description: Search criteria for datasets
                }
            }
        }
        response {
            type: object
            properties {
                projects {
                    type: integer
                    description: The number of projects matching the criteria
                }
                tasks {
                    type: integer
                    description: The number of experiments matching the criteria
                }
                models {
                    type: integer
                    description: The number of models matching the criteria
                }
                pipelines {
                    type: integer
                    description: The number of pipelines matching the criteria
                }
                datasets {
                    type: integer
                    description: The number of datasets matching the criteria
                }
            }
        }
    }
    "2.22": ${get_entities_count."2.20"} {
        request.properties {
            search_hidden {
                description: "If set to 'true' then hidden projects and tasks are included in the search results"
                type: boolean
                default: false
            }
            active_users {
                descritpion: "The list of users that were active in the project. If passes then the resulting projects are filtered to the ones that have tasks created by these users"
                type: array
                items: {type: string}
            }
        }
    }
    "2.23": ${get_entities_count."2.22"} {
        request.properties {
            reports {
                type: object
                additionalProperties: true
                description: Search criteria for reports
            }
            allow_public {
                description: "Allow public entities to be counted in the results"
                type: boolean
                default: true
            }
        }
        response.properties {
            reports {
                type: integer
                description: The number of reports matching the criteria
            }
        }
    }
}