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 email required.

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

OpenAPI Specification

soda-data-users-api-openapi.yml Raw ↑
# generated: '2026-08-29'
# method: searched
# source: https://docs.soda.io/reference/soda-apis/rest-api/ — assembled from the OpenAPI 3.1.0
#   documents Soda publishes inline on each REST API reference page (16 pages, 103 operations,
#   zero conflicting definitions). Ownership: info.title 'Soda Cloud API v4', servers
#   https://cloud.soda.io + https://cloud.us.soda.io — Soda's own hosts.
openapi: 3.1.0
info:
  title: Soda Cloud API v4 — Users
  version: v1
  description: The Users surface of the Soda Cloud v4 public REST API — 8 operation(s). Harvested verbatim
    from the OpenAPI documents Soda publishes 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.\n\nThis GET is a paginated API that uses the\
        \ following parameters to request specific details:\n\n- `size`: Supply an integer value between\
        \ 10 and 1000, inclusive. The default value is 1000.\n\n- `page`: Supply an integer value. The\
        \ default value is 0.\n\n- `search`: Optionally, use this parameter to perform a fuzzy search\
        \ on the user group name. \n\nIf not specified, the query gathers information for all user groups\
        \ in the account and sorts the results by user group name in ascending order.\n\n## Authentication\n\
        \nUser authentication required: `true`\n\nThis 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.\n\n## Authorization\n\nAny Soda Cloud user in\
        \ your organization may execute this query.\n\n## Tags\n\n`Users`\n\n## Rate limiting\n\n60 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](https://go.soda.io/roles-global) 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](https://go.soda.io/roles-global) 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](https://go.soda.io/roles-global) 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.\n\nThis GET is a paginated API that uses the following parameters to request\
        \ specific details:\n\n- `size`: Supply an integer value between 1 and 1000, inclusive. The default\
        \ value is 1000.\n\n- `page`: Supply an integer value. The default value is 0.\n\n- `search`:\
        \ Optionally, use this parameter to perform a fuzzy search on the user first name, last name,\
        \ or email address. \n\nIf not specified, the query gathers information for all users in the account\
        \ and sorts the results by user name in ascending order.\n\n## Authentication\n\nUser authentication\
        \ required: `true`\n\nThis 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.\n\n## Authorization\n\nAny Soda Cloud user in your organization may execute\
        \ this query.\n\n## Tags\n\n`Users`\n\n## Rate limiting\n\n60 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:
  securitySchemes:
    basicAuthApiKey:
      scheme: basic
      type: http
    cookieToken:
      in: cookie
      name: token
      type: apiKey
  schemas:
    ErrorResponse:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
    FailedInvitationDTO:
      type: object
      properties:
        email:
          type: string
        error:
          type: string
    PublicApiCreateUserGroupRequestDTO:
      type: object
      properties:
        name:
          type: string
        userIds:
          type: array
          items:
            type: string
      required:
      - name
    PublicApiDeleteUserGroupResponse:
      type: object
    PublicApiDisableUserResponse:
      type: object
    PublicApiInviteUserRequestDTO:
      type: object
      properties:
        emails:
          type: array
          items:
            type: string
      required:
      - emails
    PublicApiInviteUserResponse:
      type: object
      properties:
        failedInvitations:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/FailedInvitationDTO'
        validInvitations:
          type: array
          items:
            type: string
    PublicApiUpdateUserGroupRequestDTO:
      type: object
      properties:
        userIds:
          type: array
          items:
            type: string
    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
    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
    UserContentDTO:
      type: object
      properties:
        email:
          type: string
        firstName:
          type: string
        fullName:
          type: string
        lastName:
          type: string
        userId:
          type: string
      required:
      - email
      - userId
    UserGroupContentDTO:
      type: object
      properties:
        name:
          type: string
        userGroupId:
          type: string
        users:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/UserContentDTO'
      required:
      - name
      - userGroupId
      - users