Gremlin users API

Get users (all or active) and activate, deactivate, update, and invite users.

Operations 13

GET /users/active Get all active users. #
GET /users/active/paged Get all active users paginated. #
GET /users Get all users. #
POST /users Add an existing user to the target team #
GET /users/paged Get all users paginated. #
GET /users/self Get information about the authenticated user #
PATCH /users/self Update an existing users info. #
POST /users/invite Invite a user. #
POST /users/renew/rbac Renew authorization. #
PUT /users/{email} Update an existing user. #
DELETE /users/{email} Deactivate a user. #
GET /users/sessions Returns the updated user sessions list for the currently authenticated user. #
DELETE /users/invite/{email} Revoke a pending user invite. #

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/gremlin-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

gremlin-users-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Gremlin agents Users API
  description: The API for interacting with the Gremlin Failure-as-a-Service platform
  termsOfService: https://www.gremlin.com/terms_of_service_2017_03_24
  contact:
    name: Gremlin Support
    email: support@gremlin.com
  license:
    name: Gremlin License
    url: https://www.gremlin.com/license_2017_03_24
  version: '1.0'
servers:
- url: https://api.gremlin.com/v1
  description: Gremlin API v1
tags:
- name: users
  description: Get users (all or active) and activate, deactivate, update, and invite users.
paths:
  /users/active:
    get:
      tags:
      - users
      summary: Get all active users.
      description: Requires the privilege [`USERS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
      operationId: active_4
      parameters:
      - name: teamId
        in: query
        description: Required when using company session token.
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
        '403':
          description: 'User requires privilege for target team: USERS_READ'
        '401':
          description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
      security:
      - privilege:
        - USERS_READ
  /users/active/paged:
    get:
      tags:
      - users
      summary: Get all active users paginated.
      description: Requires the privilege [`USERS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
      operationId: activePaginated
      parameters:
      - name: pageSize
        in: query
        description: This value determines how many results will be returned per call.
        schema:
          type: integer
          format: int32
          default: 10
        example: None (unlimited)
      - name: pageToken
        in: query
        description: Token corresponding to the last page of active company users for team retrieved. Pass the pageToken to get the next page of active company users for team
        schema:
          type: string
        example: None (returns first page)
      - name: teamId
        in: query
        description: Required when using company session token.
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
        '403':
          description: 'User requires privilege for target team: USERS_READ'
        '401':
          description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
      security:
      - privilege:
        - USERS_READ
  /users:
    get:
      tags:
      - users
      summary: Get all users.
      description: Requires the privilege [`USERS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
      operationId: all_4
      parameters:
      - name: teamId
        in: query
        description: Required when using company session token.
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
        '403':
          description: 'User requires privilege for target team: USERS_READ'
        '401':
          description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
      security:
      - privilege:
        - USERS_READ
    post:
      tags:
      - users
      summary: Add an existing user to the target team
      description: 'User must belong to this teams company

        Requires the privilege [`USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)'
      operationId: addUserToTeam
      parameters:
      - name: teamId
        in: query
        description: Required when using company session token.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/AddUserRequest'
        required: true
      responses:
        '200':
          description: Users successfully added
        '400':
          description: One or more users were not found or were revoked, no users added
        '409':
          description: One or more users already belong on team, no users added
        '403':
          description: 'User requires privilege for target team: USERS_WRITE'
        '401':
          description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
      security:
      - privilege:
        - USERS_WRITE
  /users/paged:
    get:
      tags:
      - users
      summary: Get all users paginated.
      description: Requires the privilege [`USERS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
      operationId: allPaginated
      parameters:
      - name: pageSize
        in: query
        description: This value determines how many results will be returned per call.
        schema:
          type: integer
          format: int32
          default: 10
        example: None (unlimited)
      - name: pageToken
        in: query
        description: Token corresponding to the last page of company users for team retrieved. Pass the pageToken to get the next page of company users for team
        schema:
          type: string
        example: None (returns first page)
      - name: teamId
        in: query
        description: Required when using company session token.
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
        '403':
          description: 'User requires privilege for target team: USERS_READ'
        '401':
          description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
      security:
      - privilege:
        - USERS_READ
  /users/self:
    get:
      tags:
      - users
      summary: Get information about the authenticated user
      description: Requires the privilege [`MINIMUM_COMPANY_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
      operationId: getSelf
      parameters: []
      responses:
        default:
          description: default response
          content:
            application/json: {}
        '403':
          description: 'User requires privilege: MINIMUM_COMPANY_PRIVILEGES'
        '401':
          description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
      security:
      - privilege:
        - MINIMUM_COMPANY_PRIVILEGES
    patch:
      tags:
      - users
      summary: Update an existing users info.
      description: 'User must exist.

        Requires the privilege [`MINIMUM_COMPANY_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)'
      operationId: rbacUpdateSelf
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateUserInfoRequest'
        required: true
      responses:
        default:
          description: default response
          content:
            text/plain: {}
        '403':
          description: 'User requires privilege: MINIMUM_COMPANY_PRIVILEGES'
        '401':
          description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
      security:
      - privilege:
        - MINIMUM_COMPANY_PRIVILEGES
  /users/invite:
    post:
      tags:
      - users
      summary: Invite a user.
      description: Requires the privilege [`COMPANY_USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
      operationId: invite_1
      parameters: []
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              required:
              - email
              type: object
              properties:
                email:
                  type: string
                source_detail:
                  type: string
                  enum:
                  - Onboarding
      responses:
        default:
          description: default response
          content:
            text/plain: {}
        '403':
          description: 'User requires privilege: COMPANY_USERS_WRITE'
        '401':
          description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
      security:
      - privilege:
        - COMPANY_USERS_WRITE
  /users/renew/rbac:
    post:
      tags:
      - users
      summary: Renew authorization.
      operationId: rbacAuthRenew
      parameters: []
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              required:
              - companyId
              - email
              - renewToken
              type: object
              properties:
                email:
                  type: string
                companyId:
                  type: string
                teamId:
                  type: string
                renewToken:
                  type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
        '403':
          description: Response was sent via HTTP, please retry using HTTPS
  /users/{email}:
    put:
      tags:
      - users
      summary: Update an existing user.
      description: 'User must exist.

        Requires the privilege [`USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)'
      operationId: update_2
      parameters:
      - name: email
        in: path
        required: true
        schema:
          type: string
      - name: teamId
        in: query
        description: Required when using company session token.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              required:
              - role
              type: object
              properties:
                role:
                  uniqueItems: true
                  type: array
                  items:
                    type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
        '403':
          description: 'User requires privilege for target team: USERS_WRITE'
        '401':
          description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
      security:
      - privilege:
        - USERS_WRITE
    delete:
      tags:
      - users
      summary: Deactivate a user.
      description: Requires the privilege [`USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
      operationId: revokeOrRemoveFromTeam
      parameters:
      - name: email
        in: path
        required: true
        schema:
          type: string
      - name: teamId
        in: query
        description: Required when using company session token.
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            text/plain: {}
        '403':
          description: 'User requires privilege for target team: USERS_WRITE'
        '401':
          description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
      security:
      - privilege:
        - USERS_WRITE
  /users/sessions:
    get:
      tags:
      - users
      summary: Returns the updated user sessions list for the currently authenticated user.
      description: Requires the privilege [`MINIMUM_COMPANY_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
      operationId: refreshSessions
      parameters:
      - name: getCompanySession
        in: query
        schema:
          type: boolean
      responses:
        default:
          description: default response
          content:
            application/json: {}
        '403':
          description: 'User requires privilege: MINIMUM_COMPANY_PRIVILEGES'
        '401':
          description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
      security:
      - privilege:
        - MINIMUM_COMPANY_PRIVILEGES
  /users/invite/{email}:
    delete:
      tags:
      - users
      summary: Revoke a pending user invite.
      description: Requires the privilege [`COMPANY_USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
      operationId: revokeInvite
      parameters:
      - name: email
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            text/plain: {}
        '403':
          description: 'User requires privilege: COMPANY_USERS_WRITE'
        '401':
          description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
      security:
      - privilege:
        - COMPANY_USERS_WRITE
components:
  schemas:
    UpdateUserInfoRequest:
      type: object
      properties:
        first_name:
          type: string
        last_name:
          type: string
    AddUserRequest:
      required:
      - identifier
      type: object
      properties:
        identifier:
          type: string
          description: The unique identifier for the user (user's email)
      description: represents a request to add an existing user to a team