Yoobic Groups API

Groups are used to manage users. This is VERY important as Groups are what make using the application much simpler. By adding Users to Groups, when you need to modify sets of Users, you just change the groups properties and all the Users in the Group inherit these properties (much better than changing each individual user manually). Moreover, Groups allow to restrict visibility when some entities are shared (Missions, News, Documents, ...) ### How do I structure my groups ? Each Group usually corresponds to a population of Users (ex: Admin, HQ, VM Managers, Retail Area Managers, Stores, etc.). ### General Group Usually there is a general group, which has the name of the tenant. This group will contain all of the other Groups and will give the Users access to shared information. Then you will usually find a Group for each type of user. These usually fall into one of these categories: * Admin * Area Managers * HQ * Itinerants * Store Users ### Fields | Field | Type | Required | Readonly | OrderBy | Description | |-----------------------------|:--------:|:--------:|:--------:|:-------:| -------------------------| |`group_id` | string | | x | | The group_id corresponds to the Group title in lowercase letters, with `_` instead of spaces, and without special characters | |`title` | string | x | | | Group Title | |`description` | string | | | | Group Description | |`group_ids` | array | | | x | group ids that belong to this group | |`user_ids` | array | | | x | user ids that belong to this group | |`created_date` | date | | x | | Created Date | |`updated_date` | date | | x | x | Updated Date | |`icon_url` | string | | | | Icon URL | ### Tip To summarise, remember that: * Users are organised in groups * Groups must be created prior to importing any users to the database * A user can belong to multiple groups * There can be sub-groups * Users inherit their level or rights from the group(s) they belong to

Operations 12

GET /public/api/groups/{id} Get #
DELETE /public/api/groups/{id} Delete #
PATCH /public/api/groups/{id} Partial Update #
POST /public/api/groups/{id}/groups Add Groups to Group #
DELETE /public/api/groups/{id}/groups Remove Groups from Group #
POST /public/api/groups/{id}/users Add Users to Group #
DELETE /public/api/groups/{id}/users Remove Users from Group #
GET /public/api/groups?filter={filter} Get All #
GET /public/api/group/count?where={where} Count #
POST /public/api/groups Create #
GET /public/api/groups/export?type={type}&filter={filter} Export #
POST /public/api/groups/import?type={type} Import #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/yoobic-groups-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

yoobic-groups-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: YOOBIC Public Groups API
  version: ''
  description: Welcome to the **YOOBIC Public API** documentation.
servers:
- url: https://<base_url>/
tags:
- name: Groups
  description: Groups are used to manage users.
paths:
  /public/api/groups/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  group_id:
                    type: string
                  user_ids:
                    type: array
                    items:
                      type: string
                  updated_date:
                    type: string
                  created_date:
                    type: string
                  title:
                    type: string
                  description:
                    type: string
                  icon_url:
                    type: string
                example:
                  group_id: mycompany_test
                  user_ids:
                  - 53fb03c6546847ee0d33386b
                  - 53fb03c6546847ee0d30086a
                  updated_date: '2018-05-22T11:45:22.100Z'
                  created_date: '2018-05-22T11:45:22.100Z'
                  title: My Company Title
                  description: My Company Description
                  icon_url: https://res.cloudinary.com/www-yoobic-com/image/upload/a_exif/v1581436892/klsrdxjtz44dtnlsquzc.png
              examples:
                response:
                  value:
                    group_id: mycompany_test
                    user_ids:
                    - 53fb03c6546847ee0d33386b
                    - 53fb03c6546847ee0d30086a
                    updated_date: '2018-05-22T11:45:22.100Z'
                    created_date: '2018-05-22T11:45:22.100Z'
                    title: My Company Title
                    description: My Company Description
                    icon_url: https://res.cloudinary.com/www-yoobic-com/image/upload/a_exif/v1581436892/klsrdxjtz44dtnlsquzc.png
      summary: Get
      operationId: Get
      description: Get a group for the given id.
      tags:
      - Groups
      parameters:
      - name: Accept
        in: header
        description: e.g. application/json
        required: false
        example: application/json
        schema:
          type: string
      security:
      - oauth2: []
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
      summary: Delete
      operationId: Delete
      description: Delete a group by id.
      tags:
      - Groups
      security:
      - oauth2: []
    patch:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  group_id:
                    type: string
                  user_ids:
                    type: array
                    items:
                      type: string
                  title:
                    type: string
                  description:
                    type: string
                  icon_url:
                    type: string
                example:
                  group_id: mycompany_test
                  user_ids:
                  - 53fb03c6546847ee0d33386b
                  - 53fb03c6546847ee0d30086a
                  title: My New Company Title
                  description: My New Company Description
                  icon_url: https://res.cloudinary.com/www-yoobic-com/image/upload/a_exif/v1581436892/klsrdxjtz44dtnlsquzc.png
              examples:
                response:
                  value:
                    group_id: mycompany_test
                    user_ids:
                    - 53fb03c6546847ee0d33386b
                    - 53fb03c6546847ee0d30086a
                    title: My New Company Title
                    description: My New Company Description
                    icon_url: https://res.cloudinary.com/www-yoobic-com/image/upload/a_exif/v1581436892/klsrdxjtz44dtnlsquzc.png
      summary: Partial Update
      operationId: Partial Update
      description: 'Update a subset of properties of a group.


        **Important:**

        It is not possible to update `group_ids` or `user_ids` through this endpoint. To update these properties, please read the endpoints above.'
      tags:
      - Groups
      parameters:
      - name: Accept
        in: header
        description: e.g. application/json
        required: false
        example: application/json
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                description:
                  type: string
                icon_url:
                  type: string
              example:
                title: My New Company Title
                description: My New Company Description
                icon_url: https://res.cloudinary.com/www-yoobic-com/image/upload/a_exif/v1581436892/klsrdxjtz44dtnlsquzc.png
      security:
      - oauth2: []
  /public/api/groups/{id}/groups:
    post:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  group_id:
                    type: string
                  user_ids:
                    type: array
                    items:
                      type: string
                  group_ids:
                    type: array
                    items:
                      type: string
                  updated_date:
                    type: string
                  created_date:
                    type: string
                example:
                  group_id: mycompany_mycompany_test
                  user_ids:
                  - 53fb03c6546847ee0d33386b
                  - 53fb03c6546847ee0d30086a
                  group_ids:
                  - mycompany_mycompany_group_1
                  - mycompany_mycompany_group_2
                  updated_date: '2018-10-08T10:15:22.100Z'
                  created_date: '2018-05-22T11:45:22.100Z'
              examples:
                response:
                  value:
                    group_id: mycompany_mycompany_test
                    user_ids:
                    - 53fb03c6546847ee0d33386b
                    - 53fb03c6546847ee0d30086a
                    group_ids:
                    - mycompany_mycompany_group_1
                    - mycompany_mycompany_group_2
                    updated_date: '2018-10-08T10:15:22.100Z'
                    created_date: '2018-05-22T11:45:22.100Z'
      summary: Add Groups to Group
      operationId: Add Groups to Group
      description: Add groups to a group
      tags:
      - Groups
      parameters:
      - name: Accept
        in: header
        description: e.g. application/json
        required: false
        example: application/json
        schema:
          type: string
      security:
      - oauth2: []
    delete:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  group_id:
                    type: string
                  user_ids:
                    type: array
                    items:
                      type: string
                  updated_date:
                    type: string
                  created_date:
                    type: string
                example:
                  group_id: mycompany_test
                  user_ids:
                  - 53fb03c6546847ee0d33386b
                  - 53fb03c6546847ee0d30086a
                  updated_date: '2018-10-08T10:15:22.100Z'
                  created_date: '2018-05-22T11:45:22.100Z'
              examples:
                response:
                  value:
                    group_id: mycompany_test
                    user_ids:
                    - 53fb03c6546847ee0d33386b
                    - 53fb03c6546847ee0d30086a
                    updated_date: '2018-10-08T10:15:22.100Z'
                    created_date: '2018-05-22T11:45:22.100Z'
      summary: Remove Groups from Group
      operationId: Remove Groups from Group
      description: Remove groups from a group
      tags:
      - Groups
      parameters:
      - name: Accept
        in: header
        description: e.g. application/json
        required: false
        example: application/json
        schema:
          type: string
      security:
      - oauth2: []
  /public/api/groups/{id}/users:
    post:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  group_id:
                    type: string
                  user_ids:
                    type: array
                    items:
                      type: string
                  updated_date:
                    type: string
                  created_date:
                    type: string
                example:
                  group_id: mycompany_test
                  user_ids:
                  - 53fb03c6546847ee0d33386b
                  - 53fb03c6546847ee0d30086a
                  - 53fb03c6546847ee0d33387c
                  - 53fb03c6546847ee0d33387d
                  updated_date: '2018-10-08T10:15:22.100Z'
                  created_date: '2018-05-22T11:45:22.100Z'
              examples:
                response:
                  value:
                    group_id: mycompany_test
                    user_ids:
                    - 53fb03c6546847ee0d33386b
                    - 53fb03c6546847ee0d30086a
                    - 53fb03c6546847ee0d33387c
                    - 53fb03c6546847ee0d33387d
                    updated_date: '2018-10-08T10:15:22.100Z'
                    created_date: '2018-05-22T11:45:22.100Z'
      summary: Add Users to Group
      operationId: Add Users to Group
      description: Add users to a group
      tags:
      - Groups
      parameters:
      - name: Accept
        in: header
        description: e.g. application/json
        required: false
        example: application/json
        schema:
          type: string
      security:
      - oauth2: []
    delete:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  group_id:
                    type: string
                  user_ids:
                    type: array
                    items:
                      type: string
                  updated_date:
                    type: string
                  created_date:
                    type: string
                example:
                  group_id: mycompany_test
                  user_ids:
                  - 53fb03c6546847ee0d33386b
                  - 53fb03c6546847ee0d30086a
                  updated_date: '2018-10-08T10:15:22.100Z'
                  created_date: '2018-05-22T11:45:22.100Z'
              examples:
                response:
                  value:
                    group_id: mycompany_test
                    user_ids:
                    - 53fb03c6546847ee0d33386b
                    - 53fb03c6546847ee0d30086a
                    updated_date: '2018-10-08T10:15:22.100Z'
                    created_date: '2018-05-22T11:45:22.100Z'
      summary: Remove Users from Group
      operationId: Remove Users from Group
      description: Remove users from a group
      tags:
      - Groups
      parameters:
      - name: Accept
        in: header
        description: e.g. application/json
        required: false
        example: application/json
        schema:
          type: string
      security:
      - oauth2: []
  /public/api/groups?filter={filter}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  paging:
                    type: object
                    properties:
                      total:
                        type: number
                      skip:
                        type: number
                      limit:
                        type: number
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        group_id:
                          type: string
                        user_ids:
                          type: array
                          items:
                            type: string
                        updated_date:
                          type: string
                        created_date:
                          type: string
                        title:
                          type: string
                        description:
                          type: string
                        icon_url:
                          type: string
                      required:
                      - group_id
                      - user_ids
                      - updated_date
                      - created_date
                example:
                  paging:
                    total: 2
                    skip: 0
                    limit: 1000
                  data:
                  - group_id: mycompany_test
                    user_ids:
                    - 53fb03c6546847ee0d33386b
                    - 53fb03c6546847ee0d30086a
                    updated_date: '2018-10-08T10:15:22.100Z'
                    created_date: '2018-05-22T11:45:22.100Z'
                    title: My Company Title
                    description: My Company Description
                    icon_url: https://res.cloudinary.com/www-yoobic-com/image/upload/a_exif/v1581436892/klsrdxjtz44dtnlsquzc.png
                  - group_id: mycompany_another_test_group
                    user_ids:
                    - 53fb03c6546847ee0d33387b
                    - 53fb03c6546847ee0d30086a
                    updated_date: '2018-10-08T10:15:22.100Z'
                    created_date: '2018-05-22T11:45:22.100Z'
              examples:
                response:
                  value:
                    paging:
                      total: 2
                      skip: 0
                      limit: 1000
                    data:
                    - group_id: mycompany_test
                      user_ids:
                      - 53fb03c6546847ee0d33386b
                      - 53fb03c6546847ee0d30086a
                      updated_date: '2018-10-08T10:15:22.100Z'
                      created_date: '2018-05-22T11:45:22.100Z'
                      title: My Company Title
                      description: My Company Description
                      icon_url: https://res.cloudinary.com/www-yoobic-com/image/upload/a_exif/v1581436892/klsrdxjtz44dtnlsquzc.png
                    - group_id: mycompany_another_test_group
                      user_ids:
                      - 53fb03c6546847ee0d33387b
                      - 53fb03c6546847ee0d30086a
                      updated_date: '2018-10-08T10:15:22.100Z'
                      created_date: '2018-05-22T11:45:22.100Z'
      summary: Get All
      operationId: Get All
      description: Get all the groups.
      tags:
      - Groups
      parameters:
      - name: filter
        in: query
        description: A valid JSON filter object
        required: false
        example: '{}'
        schema:
          type: string
      - name: Accept
        in: header
        description: e.g. application/json
        required: false
        example: application/json
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/Get_AllBody'
  /public/api/group/count?where={where}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                example:
                  count: 10
              examples:
                response:
                  value:
                    count: 10
      summary: Count
      operationId: Count
      description: Count all the existing entities based on the where filter
      tags:
      - Groups
      parameters:
      - name: where
        in: query
        description: A valid JSON [Where filter](#section-api-requests-filter-where)
        required: false
        example: '{ "property": "value" }'
        schema:
          type: string
      - name: Accept
        in: header
        description: e.g. application/json
        required: false
        example: application/json
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/Get_AllBody'
  /public/api/groups:
    post:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    group_id:
                      type: string
                    user_ids:
                      type: array
                      items:
                        type: string
                    updated_date:
                      type: string
                    created_date:
                      type: string
                    title:
                      type: string
                    description:
                      type: string
                    icon_url:
                      type: string
                    group_ids:
                      type: array
                      items:
                        type: string
                  required:
                  - group_id
                  - user_ids
                  - title
                  - updated_date
                  - created_date
                example:
                - group_id: mycompany_sub-test
                  user_ids:
                  - 53fb03c6546847ee0d33386b
                  - 53fb03c6546847ee0d30086a
                  updated_date: '2018-10-08T10:15:22.100Z'
                  created_date: '2018-05-22T11:45:22.100Z'
                  title: sub-test
                  description: My Company Description
                  icon_url: https://res.cloudinary.com/www-yoobic-com/image/upload/a_exif/v1581436892/klsrdxjtz44dtnlsquzc.png
                - group_id: mycompany_my_company_title
                  user_ids:
                  - 53fb03c6546847ee0d33386b
                  - 53fb03c6546847ee0d30086a
                  group_ids:
                  - mycompany_sub-test
                  title: My Company Title
                  updated_date: '2018-10-08T10:15:22.100Z'
                  created_date: '2018-05-22T11:45:22.100Z'
              examples:
                response:
                  value:
                  - group_id: mycompany_sub-test
                    user_ids:
                    - 53fb03c6546847ee0d33386b
                    - 53fb03c6546847ee0d30086a
                    updated_date: '2018-10-08T10:15:22.100Z'
                    created_date: '2018-05-22T11:45:22.100Z'
                    title: sub-test
                    description: My Company Description
                    icon_url: https://res.cloudinary.com/www-yoobic-com/image/upload/a_exif/v1581436892/klsrdxjtz44dtnlsquzc.png
                  - group_id: mycompany_my_company_title
                    user_ids:
                    - 53fb03c6546847ee0d33386b
                    - 53fb03c6546847ee0d30086a
                    group_ids:
                    - mycompany_sub-test
                    title: My Company Title
                    updated_date: '2018-10-08T10:15:22.100Z'
                    created_date: '2018-05-22T11:45:22.100Z'
      summary: Create
      operationId: Create
      description: 'You may create a new single group or multiple groups using this action.

        When creating a single group the body contains a json object, when creating multiple groups the body contains an array of objects.

        **Warning: a maximum of 1000 items can be sent in a single request.**


        **Important:**

        The `group_id` is generated automatically when a new group is created. The `group_id` corresponds to the group''s title in lowercase letters, with `_` instead of spaces, and without special caracters'
      tags:
      - Groups
      parameters:
      - name: Accept
        in: header
        description: e.g. application/json
        required: false
        example: application/json
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                user_ids:
                  type: array
                  items:
                    type: string
                title:
                  type: string
                description:
                  type: string
                icon_url:
                  type: string
              example:
                user_ids:
                - 53fb03c6546847ee0d33386b
                - 53fb03c6546847ee0d30086a
                title: My Company Title
                description: My Company Description
                icon_url: https://res.cloudinary.com/www-yoobic-com/image/upload/a_exif/v1581436892/klsrdxjtz44dtnlsquzc.png
      security:
      - oauth2: []
  /public/api/groups/export?type={type}&filter={filter}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                  type:
                    type: string
                  priority:
                    type: number
                  nextRunAt:
                    type: string
                  _id:
                    type: string
                example:
                  name: Export file
                  type: normal
                  priority: 0
                  nextRunAt: '2018-09-11T15:56:05.387Z'
                  _id: 5b97e5954b99568b4b9101af
              examples:
                response:
                  value:
                    name: Export file
                    type: normal
                    priority: 0
                    nextRunAt: '2018-09-11T15:56:05.387Z'
                    _id: 5b97e5954b99568b4b9101af
      summary: Export
      operationId: Export
      description: 'Export all results as a file.

        This action is asynchronous and returns the id of a job. See `jobs` endpoint to query the status of the job. The file will contain the results with all of the fields specified on the resource.'
      tags:
      - Groups
      parameters:
      - name: type
        in: path
        description: The type of file, either `csv` (default value) or `excel`
        required: true
        example: csv
        schema:
          type: string
      - name: filter
        in: query
        description: A valid JSON filter object (does not accept a `fields` filter)
        required: false
        example: '{}'
        schema:
          type: string
      - name: Accept
        in: header
        description: e.g. application/json
        required: false
        example: application/json
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/Get_AllBody'
  /public/api/groups/import?type={type}:
    post:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                  type:
                    type: string
                  priority:
                    type: number
                  nextRunAt:
                    type: string
                  _id:
                    type: string
                example:
                  name: Import file
                  type: normal
                  priority: 0
                  nextRunAt: '2018-09-11T15:56:05.387Z'
                  _id: 5b97e5954b99568b4b9101af
              examples:
                response:
                  value:
                    name: Import file
                    type: normal
                    priority: 0
                    nextRunAt: '2018-09-11T15:56:05.387Z'
                    _id: 5b97e5954b99568b4b9101af
      summary: Import
      operationId: Import
      description: 'See the Import file section for more information.


        **Important:**

        The `group_id` is generated automatically when a new group is created. The `group_id` corresponds to the Group title in lowercase letters, with `_` instead of spaces, and without special caracters


        ### Fields


        | Field | Format | Required | Description |

        |--------------------------|---------|:---------:|-----------------|

        |`group_id` | string | | Unique group name/id |

        |`user_ids` | array | | User ids of the group |

        |`group_ids` | array | | Sub group ids of the group|

        |`title` | string | x | Group Title|

        |`description` | string | | Group Description|

        |`icon_url` | string | | Icon URL|'
      tags:
      - Groups
      parameters:
      - name: type
        in: path
        description: The type of file, either `csv` (default value) or `excel`
        required: true
        example: csv
        schema:
          type: string
      - name: Content-Disposition
        in: header
        description: e.g. form-data; name="file"; filename="file.csv"
        required: false
        example: form-data; name="file"; filename="file.csv"
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/ImportBody'
components:
  requestBodies:
    ImportBody:
      content:
        multipart/form-data, boundary=AaB03x:
          schema:
            type: object
            properties:
              Authorization:
                $ref: '#/components/schemas/Default_Header'
    Get_AllBody:
      content:
        application/json:
          schema:
            type: object
            properties:
              Authorization:
                $ref: '#/components/schemas/Default_Header'
  schemas:
    Default_Header:
      type: object
      required:
      - Authorization
      properties:
        Authorization:
          type: string
          example: Bearer JWT
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: /
          tokenUrl: /
          scopes: {}