Soda Users API

The Users surface of the Soda Cloud v4 API — 8 operation(s) across 4 path(s).

Operations 8

GET /api/v1/userGroups Get user groups #
POST /api/v1/userGroups Create user group #
GET /api/v1/userGroups/{userGroupId} Get user group #
POST /api/v1/userGroups/{userGroupId} Update user group #
DELETE /api/v1/userGroups/{userGroupId} Delete user group #
GET /api/v1/users Get users #
POST /api/v1/users Invite users #
POST /api/v1/users/{userId}/disable Disable user #

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/soda-data-users-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

soda-data-users-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Soda Cloud API v4 Users API
  version: v1
  description: The Soda Cloud REST API (v4 public API). Assembled verbatim from the OpenAPI 3.1.0 documents Soda publishes inside each REST API reference page at https://docs.soda.io/reference/soda-apis/rest-api/.
  contact:
    name: Soda
    url: https://www.soda.io
servers:
- description: Cloud EU
  url: https://cloud.soda.io
- description: Cloud US
  url: https://cloud.us.soda.io
security:
- basicAuthApiKey: []
- cookieToken: []
tags:
- name: Users
  description: Soda Cloud API Users Endpoints
paths:
  /api/v1/userGroups:
    get:
      description: 'This endpoint enables you to gather information about the user groups in your organization''s Soda Cloud account, including lists of members.


        This GET is a paginated API that uses the following parameters to request specific details:


        - `size`: Supply an integer value between 10 and 1000, inclusive. The default value is 1000.


        - `page`: Supply an integer value. The default value is 0.


        - `search`: Optionally, use this parameter to perform a fuzzy search on the user group name.


        If not specified, the query gathers information for all user groups in the account and sorts the results by user group name in ascending order.


        ## Authentication


        User authentication required: `true`


        This endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated token in HTTP cookie `token`. Cookie sessions extend automatically on each request.


        ## Authorization


        Any Soda Cloud user in your organization may execute this query.


        ## Tags


        `Users`


        ## Rate limiting


        60 requests/60 seconds'
      operationId: GET/api/v1/userGroups
      parameters:
      - in: query
        name: page
        schema:
          type: integer
          format: int32
      - in: query
        name: search
        schema:
          type: string
      - in: query
        name: size
        schema:
          type: integer
          format: int32
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/PublicApiUserGroupsResponse'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad request
        '401':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Not found
        '429':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Too many requests
        '500':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal server error
      summary: Get user groups
      tags:
      - Users
    post:
      description: 'This endpoint enables you to create a new user group in your organization''s Soda Cloud account.


        The Response of this call, when successful, is `201` and contains headers `Location` which is a reference to the newly created User Group.


        ## Authorization


        Only users with **Manage organization settings** permission can update user groups.**See Manage global roles for more information.**


        ## Authentication


        User authentication required: `true`


        This endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated token in HTTP cookie `token`. Cookie sessions extend automatically on each request.


        ## Authorization


        Users must have global role permission MANAGE_ORGANISATION_SETTINGS to execute this call.


        ## Tags


        `Users`


        ## Rate limiting


        60 requests/60 seconds'
      operationId: POST/api/v1/userGroups
      requestBody:
        content:
          application/json:
            schema:
              type: object
              $ref: '#/components/schemas/PublicApiCreateUserGroupRequestDTO'
        required: true
      responses:
        '200':
          description: Successful response
          headers:
            Location:
              schema:
                type: string
        '400':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad request
        '401':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Not found
        '429':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Too many requests
        '500':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal server error
      summary: Create user group
      tags:
      - Users
  /api/v1/userGroups/{userGroupId}:
    get:
      description: 'This endpoint enables you to gather information about a single user group in your organization''s Soda Cloud account, including lists of members.


        This GET is a non-paginated API that returns a single organization based on its ID.


        ## Authentication


        User authentication required: `true`


        This endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated token in HTTP cookie `token`. Cookie sessions extend automatically on each request.


        ## Authorization


        Any Soda Cloud user in your organization may execute this query.


        ## Tags


        `Users`


        ## Rate limiting


        60 requests/60 seconds'
      operationId: GET/api/v1/userGroups/{userGroupId}
      parameters:
      - in: path
        name: userGroupId
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/UserGroupContentDTO'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad request
        '401':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Not found
        '429':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Too many requests
        '500':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal server error
      summary: Get user group
      tags:
      - Users
    post:
      description: 'This endpoint enables you to update an existing user group in your organization''s Soda Cloud account.


        The Response of this call, when successful, is `200` and contains updated User Group details.


        ## Authorization


        Only users with **Manage organization settings** permission can update user groups.**See Manage global roles for more information.**


        ## Authentication


        User authentication required: `true`


        This endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated token in HTTP cookie `token`. Cookie sessions extend automatically on each request.


        ## Authorization


        Users must have global role permission MANAGE_ORGANISATION_SETTINGS to execute this call.


        ## Tags


        `Users`


        ## Rate limiting


        60 requests/60 seconds'
      operationId: POST/api/v1/userGroups/{userGroupId}
      parameters:
      - in: path
        name: userGroupId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              $ref: '#/components/schemas/PublicApiUpdateUserGroupRequestDTO'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/UserGroupContentDTO'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad request
        '401':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Not found
        '429':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Too many requests
        '500':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal server error
      summary: Update user group
      tags:
      - Users
    delete:
      description: 'This endpoint enables you to delete an existing user group from your organization''s Soda Cloud account.


        In case of success, the response returns a `200` (OK) response.


        In case user group is not found, the response returns a `404` (Not found) response.


        ## Authorization


        Only users with **Manage organization settings** permission can update user groups.**See Manage global roles for more information.**


        ## Authentication


        User authentication required: `true`


        This endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated token in HTTP cookie `token`. Cookie sessions extend automatically on each request.


        ## Authorization


        Users must have global role permission MANAGE_ORGANISATION_SETTINGS to execute this call.


        ## Tags


        `Users`


        ## Rate limiting


        60 requests/60 seconds'
      operationId: DELETE/api/v1/userGroups/{userGroupId}
      parameters:
      - in: path
        name: userGroupId
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/PublicApiDeleteUserGroupResponse'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad request
        '401':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Not found
        '429':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Too many requests
        '500':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal server error
      summary: Delete user group
      tags:
      - Users
  /api/v1/users:
    get:
      description: 'This endpoint enables you to gather information about the users in your organization''s Soda Cloud account.


        This GET is a paginated API that uses the following parameters to request specific details:


        - `size`: Supply an integer value between 1 and 1000, inclusive. The default value is 1000.


        - `page`: Supply an integer value. The default value is 0.


        - `search`: Optionally, use this parameter to perform a fuzzy search on the user first name, last name, or email address.


        If not specified, the query gathers information for all users in the account and sorts the results by user name in ascending order.


        ## Authentication


        User authentication required: `true`


        This endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated token in HTTP cookie `token`. Cookie sessions extend automatically on each request.


        ## Authorization


        Any Soda Cloud user in your organization may execute this query.


        ## Tags


        `Users`


        ## Rate limiting


        60 requests/60 seconds'
      operationId: GET/api/v1/users
      parameters:
      - in: query
        name: page
        schema:
          type: integer
          format: int32
      - in: query
        name: search
        schema:
          type: string
      - in: query
        name: size
        schema:
          type: integer
          format: int32
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/PublicApiUsersResponse'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad request
        '401':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Not found
        '429':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Too many requests
        '500':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal server error
      summary: Get users
      tags:
      - Users
    post:
      description: 'This endpoint enables you to invite users to your organization''s Soda Cloud account.


        Invited users will receive an email with a link to set their password and join your organization in Soda Cloud. Once they complete the setup, they will have access to Soda Cloud based on the roles and permissions you assign.


        If your organization is using SSO, invited users will receive an invitation email with a link to Soda Cloud. When they log in using SSO, they are immediately added to the Soda Cloud organization.


        You can invite up to 10 users per request. The response contains lists of successful and failed invitations.


        ## Authentication


        User authentication required: `true`


        This endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated token in HTTP cookie `token`. Cookie sessions extend automatically on each request.


        ## Authorization


        Users must have global role permission MANAGE_ORGANISATION_SETTINGS to execute this call.


        ## Tags


        `Users`


        ## Rate limiting


        10 requests/60 seconds'
      operationId: POST/api/v1/users
      requestBody:
        content:
          application/json:
            schema:
              type: object
              $ref: '#/components/schemas/PublicApiInviteUserRequestDTO'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/PublicApiInviteUserResponse'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad request
        '401':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '429':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Too many requests
        '500':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal server error
      summary: Invite users
      tags:
      - Users
  /api/v1/users/{userId}/disable:
    post:
      description: 'This endpoint disables a user in your organization''s Soda Cloud account.


        Disabling a user deactivates their membership in the organization. The user is not deleted and can be reactivated later.


        Users in SSO-enabled organizations cannot be disabled via this endpoint, as they are managed by the identity provider.


        ## Authentication


        User authentication required: `true`


        This endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated token in HTTP cookie `token`. Cookie sessions extend automatically on each request.


        ## Authorization


        Users must have global role permission MANAGE_ORGANISATION_SETTINGS to execute this call.


        ## Tags


        `Users`


        ## Rate limiting


        60 requests/60 seconds'
      operationId: POST/api/v1/users/{userId}/disable
      parameters:
      - in: path
        name: userId
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/PublicApiDisableUserResponse'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad request
        '401':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Not found
        '429':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Too many requests
        '500':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal server error
      summary: Disable user
      tags:
      - Users
components:
  schemas:
    PublicApiDisableUserResponse:
      type: object
    PublicApiCreateUserGroupRequestDTO:
      type: object
      properties:
        name:
          type: string
        userIds:
          type: array
          items:
            type: string
      required:
      - name
    PublicApiUsersResponse:
      type: object
      properties:
        content:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/UserContentDTO'
        first:
          type: boolean
        last:
          type: boolean
        number:
          type: integer
          format: int32
        size:
          type: integer
          format: int32
        totalElements:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
      required:
      - content
      - first
      - last
      - number
      - size
      - totalElements
      - totalPages
    PublicApiUserGroupsResponse:
      type: object
      properties:
        content:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/UserGroupContentDTO'
        first:
          type: boolean
        last:
          type: boolean
        number:
          type: integer
          format: int32
        size:
          type: integer
          format: int32
        totalElements:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
      required:
      - content
      - first
      - last
      - number
      - size
      - totalElements
      - totalPages
    UserGroupContentDTO:
      type: object
      properties:
        name:
          type: string
        userGroupId:
          type: string
        users:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/UserContentDTO'
      required:
      - name
      - userGroupId
      - users
    PublicApiInviteUserResponse:
      type: object
      properties:
        failedInvitations:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/FailedInvitationDTO'
        validInvitations:
          type: array
          items:
            type: string
    PublicApiDeleteUserGroupResponse:
      type: object
    UserContentDTO:
      type: object
      properties:
        email:
          type: string
        firstName:
          type: string
        fullName:
          type: string
        lastName:
          type: string
        userId:
          type: string
      required:
      - email
      - userId
    PublicApiUpdateUserGroupRequestDTO:
      type: object
      properties:
        userIds:
          type: array
          items:
            type: string
    PublicApiInviteUserRequestDTO:
      type: object
      properties:
        emails:
          type: array
          items:
            type: string
      required:
      - emails
    ErrorResponse:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
    FailedInvitationDTO:
      type: object
      properties:
        email:
          type: string
        error:
          type: string
  securitySchemes:
    basicAuthApiKey:
      scheme: basic
      type: http
    cookieToken:
      in: cookie
      name: token
      type: apiKey