Gremlin companies API
Update company preferences, get all users or clients for a company, and get company details
Update company preferences, get all users or clients for a company, and get company details
openapi: 3.0.1
info:
title: Gremlin agents companies 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: companies
description: Update company preferences, get all users or clients for a company, and get company details
paths:
/companies/zones:
get:
tags:
- companies
summary: Gets all names of configured and detected zones
description: 'Get all names of configured zone settings, and all zones detected from agents
Requires the privilege [`TEST_SUITES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)'
operationId: getZones
parameters: []
responses:
default:
description: default response
content:
application/json: {}
'403':
description: 'User requires privilege: TEST_SUITES_READ'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- TEST_SUITES_READ
post:
tags:
- companies
summary: Create a zone
description: 'Creates a new zone setting of the company
Requires the privilege [`TEST_SUITES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)'
operationId: addZoneSetting
parameters: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Zone'
responses:
default:
description: default response
content:
text/plain: {}
'403':
description: 'User requires privilege: TEST_SUITES_WRITE'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- TEST_SUITES_WRITE
/companies:
post:
tags:
- companies
summary: Allows a user to create a new Company
description: User must have been previously invited
operationId: create_1
parameters: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateCompanyRequest'
required: true
responses:
default:
description: default response
content:
application/json: {}
'403':
description: Response was sent via HTTP, please retry using HTTPS
/companies/{identifier}/saml/claim-aliases:
get:
tags:
- companies
summary: Returns all aliases for a company
description: 'Returns all aliases for a company, ordered alphabetically
Requires the privilege [`COMPANY_SAMLCLAIM_ALIAS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)'
operationId: getClaimAliasesForCompany
parameters:
- name: identifier
in: path
required: true
schema:
type: string
responses:
default:
description: default response
content:
application/json:
schema:
$ref: '#/components/schemas/SamlAliasIDs'
'403':
description: 'User requires privilege: COMPANY_SAMLCLAIM_ALIAS_READ'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- COMPANY_SAMLCLAIM_ALIAS_READ
post:
tags:
- companies
summary: Creates a claim alias for the company
description: 'Creates a claim alias for the company. If a claim alias already exists, it will not be updated.
Requires the privilege [`COMPANY_SAMLCLAIM_ALIAS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)'
operationId: createAlias
parameters:
- name: identifier
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrUpdateClaimAliasRequest'
responses:
default:
description: default response
content:
application/json:
schema:
$ref: '#/components/schemas/SamlAlias'
'403':
description: 'User requires privilege: COMPANY_SAMLCLAIM_ALIAS_WRITE'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- COMPANY_SAMLCLAIM_ALIAS_WRITE
/companies/{identifier}/users:
get:
tags:
- companies
summary: Returns all users for the supplied company
description: Requires the privilege [`COMPANY_USERS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: getUsersForCompany
parameters:
- name: identifier
in: path
required: true
schema:
type: string
responses:
default:
description: default response
content:
application/json: {}
'403':
description: 'User requires privilege: COMPANY_USERS_READ'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- COMPANY_USERS_READ
post:
tags:
- companies
summary: Create a new user.
description: User must have been invited.
operationId: createUserFromInvite
parameters:
- name: identifier
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateUserRequest'
required: true
responses:
default:
description: default response
content:
application/json: {}
'403':
description: Response was sent via HTTP, please retry using HTTPS
/companies/{identifier}/saml/claim-aliases/{aliasId}:
get:
tags:
- companies
summary: Returns an alias for a company
description: 'Returns an alias for a company, with the teams and roles ordered alphabetically
Requires the privilege [`COMPANY_SAMLCLAIM_ALIAS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)'
operationId: getClaimAlias
parameters:
- name: identifier
in: path
required: true
schema:
type: string
- name: aliasId
in: path
required: true
schema:
type: string
responses:
default:
description: default response
content:
application/json:
schema:
$ref: '#/components/schemas/OrderedSamlAlias'
'403':
description: 'User requires privilege: COMPANY_SAMLCLAIM_ALIAS_READ'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- COMPANY_SAMLCLAIM_ALIAS_READ
put:
tags:
- companies
summary: Updates a claim alias for the company
description: 'Updates a claim alias for the company, creating it if it doesn''t already exist
Requires the privilege [`COMPANY_SAMLCLAIM_ALIAS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)'
operationId: updateAlias
parameters:
- name: identifier
in: path
required: true
schema:
type: string
- name: aliasId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrUpdateClaimAliasRequest'
responses:
default:
description: default response
content:
application/json:
schema:
$ref: '#/components/schemas/SamlAlias'
'403':
description: 'User requires privilege: COMPANY_SAMLCLAIM_ALIAS_WRITE'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- COMPANY_SAMLCLAIM_ALIAS_WRITE
delete:
tags:
- companies
summary: Deletes a claim alias for the company
description: 'Permanently deletes the specified alias for the company
Requires the privilege [`COMPANY_SAMLCLAIM_ALIAS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)'
operationId: deleteAlias
parameters:
- name: identifier
in: path
required: true
schema:
type: string
- name: aliasId
in: path
required: true
schema:
type: string
responses:
default:
description: default response
content:
text/plain: {}
'403':
description: 'User requires privilege: COMPANY_SAMLCLAIM_ALIAS_WRITE'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- COMPANY_SAMLCLAIM_ALIAS_WRITE
/companies/zones/{zoneId}:
get:
tags:
- companies
summary: Get a zone setting
description: 'Get the zone setting
Requires the privilege [`TEST_SUITES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)'
operationId: getZoneSetting
parameters:
- name: zoneId
in: path
required: true
schema:
type: string
responses:
default:
description: default response
content:
application/json: {}
'403':
description: 'User requires privilege: TEST_SUITES_READ'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- TEST_SUITES_READ
put:
tags:
- companies
summary: Update a zone
description: 'Update a zone setting of the company
Requires the privilege [`TEST_SUITES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)'
operationId: editZoneSetting
parameters:
- name: zoneId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Zone'
responses:
default:
description: default response
content:
text/plain: {}
'403':
description: 'User requires privilege: TEST_SUITES_WRITE'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- TEST_SUITES_WRITE
delete:
tags:
- companies
summary: Delete zone setting
description: 'Deletes the zone setting from the company
Requires the privilege [`TEST_SUITES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)'
operationId: deleteZoneSetting
parameters:
- name: zoneId
in: path
required: true
schema:
type: string
responses:
default:
description: default response
content:
text/plain: {}
'403':
description: 'User requires privilege: TEST_SUITES_WRITE'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- TEST_SUITES_WRITE
/companies/{identifier}/users/active/paged:
get:
tags:
- companies
summary: Returns paginated active users for the supplied company
description: Requires the privilege [`COMPANY_USERS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: getActiveUsersForCompanyPaginated
parameters:
- name: identifier
in: path
required: true
schema:
type: string
- 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 retrieved. Pass the pageToken to get the next page of active company users
schema:
type: string
example: None (returns first page)
responses:
default:
description: default response
content:
application/json: {}
'403':
description: 'User requires privilege: COMPANY_USERS_READ'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- COMPANY_USERS_READ
/companies/{identifier}/clients:
get:
tags:
- companies
summary: Returns all clients for the supplied company
description: 'SUPER users only
Requires the privilege [`COMPANIES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)'
operationId: getClientsForCompany
parameters:
- name: identifier
in: path
required: true
schema:
type: string
responses:
default:
description: default response
content:
application/json: {}
'403':
description: 'User requires privilege: COMPANIES_READ'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- COMPANIES_READ
/companies/{identifier}:
get:
tags:
- companies
summary: Gets a Company by its supplied guid
description: Requires the privilege [`COMPANIES_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: getCompany
parameters:
- name: identifier
in: path
required: true
schema:
type: string
- name: skipTeams
in: query
schema:
type: boolean
responses:
default:
description: default response
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyResponse'
'403':
description: 'User requires privilege: COMPANIES_READ'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- COMPANIES_READ
patch:
tags:
- companies
summary: Update the prefs for company
description: 'This endpoint will allow you to update the prefs for a company based on its identifier.
Requires the privilege [`COMPANY_PREFERENCES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)'
operationId: updateCompanyPrefs
parameters:
- name: identifier
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyPatch'
responses:
default:
description: default response
content:
text/plain: {}
'403':
description: 'User requires privilege: COMPANY_PREFERENCES_WRITE'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- COMPANY_PREFERENCES_WRITE
/companies/{identifier}/users/invited/paged:
get:
tags:
- companies
summary: Returns paginated invited users for the supplied company
description: Requires the privilege [`COMPANY_USERS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: getInvitedUsersForCompanyPaginated
parameters:
- name: identifier
in: path
required: true
schema:
type: string
- 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 invited company users retrieved. Pass the pageToken to get the next page of invited company users
schema:
type: string
example: None (returns first page)
responses:
default:
description: default response
content:
application/json: {}
'403':
description: 'User requires privilege: COMPANY_USERS_READ'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- COMPANY_USERS_READ
/companies/{identifier}/users/revoked/paged:
get:
tags:
- companies
summary: Returns paginated revoked users for the supplied company
description: Requires the privilege [`COMPANY_USERS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: getRevokedUsersForCompanyPaginated
parameters:
- name: identifier
in: path
required: true
schema:
type: string
- 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 revoked company users retrieved. Pass the pageToken to get the next page of revoked company users
schema:
type: string
example: None (returns first page)
responses:
default:
description: default response
content:
application/json: {}
'403':
description: 'User requires privilege: COMPANY_USERS_READ'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- COMPANY_USERS_READ
/companies/{identifier}/users/paged:
get:
tags:
- companies
summary: Returns paginated users for the supplied company
description: Requires the privilege [`COMPANY_USERS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: getUsersForCompanyPaginated
parameters:
- name: identifier
in: path
required: true
schema:
type: string
- 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 retrieved. Pass the pageToken to get the next page of company users
schema:
type: string
example: None (returns first page)
responses:
default:
description: default response
content:
application/json: {}
'403':
description: 'User requires privilege: COMPANY_USERS_READ'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- COMPANY_USERS_READ
/companies/invite:
post:
tags:
- companies
summary: Invites the specified email to create a new Company.
operationId: invite
parameters: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/InviteUserFromSelfSignupRequest'
required: true
responses:
default:
description: default response
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyInviteResponse'
'403':
description: Response was sent via HTTP, please retry using HTTPS
/companies/{identifier}/invites:
post:
tags:
- companies
summary: Invite one or more users to join your Gremlin company
description: Requires the privilege [`COMPANY_USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: inviteUsersToCompany
parameters:
- name: identifier
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/InviteUserRequest'
required: true
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
/companies/{identifier}/users/{email}/active:
post:
tags:
- companies
summary: User must exist. This is primarily used to reactivate a deactivated user.
description: 'Activates a user.
Requires the privilege [`COMPANY_USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)'
operationId: rbacUnrevoke
parameters:
- name: identifier
in: path
required: true
schema:
type: string
- 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
delete:
tags:
- companies
summary: Deactivates a user.
description: 'Once deactivated, user will not be able to do anything on company
Requires the privilege [`COMPANY_USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)'
operationId: rbacRevoke
parameters:
- name: identifier
in: path
required: true
schema:
type: string
- 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
/companies/{identifier}/invites/{email}:
delete:
tags:
- companies
summary: Revoke a pending user invite.
description: Requires the privilege [`COMPANY_USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: rbacRevokeInvite
parameters:
- name: identifier
in: path
required: true
schema:
type: string
- 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
/companies/{identifier}/users/{email}:
put:
tags:
- companies
summary: Update roles of existing user.
description: 'User must exist.
Requires the privilege [`COMPANY_USERS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)'
operationId: rbacUpdate
parameters:
- name: identifier
in: path
required: true
schema:
type: string
- name: email
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetRolesRequest'
required: true
responses:
default:
description: default response
content:
application/json: {}
'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
/companies/trial:
post:
tags:
- companies
summary: Allows an invited user to create a new Company for a trial.
description: User must have been previously invited
operationId: trial
parameters: []
requestBody:
content:
application/x-www-form-urlencoded:
schema:
required:
- adminEmail
- code
- name
type: object
properties:
name:
maxLength: 50
minLength: 3
type: string
code:
type: string
adminEmail:
type: string
adminPassword:
type: string
allowUsStorage:
type: boolean
responses:
default:
description: default response
content:
application/json: {}
'403':
description: Response was sent via HTTP, please retry using HTTPS
deprecated: true
/companies/{identifier}/auth/prefs:
post:
tags:
- companies
summary: Updates the authentication preferences associated with this Company.
description: Requires the privilege [`COMPANY_SECURITY_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: updateAuthMethodPrefs
parameters:
- name: identifier
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateCompanyAuthMethodPrefsRequest'
required: true
responses:
default:
description: default response
content:
text/plain: {}
'403':
description: 'User requires privilege: COMPANY_SECURITY_WRITE'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- COMPANY_SECURITY_WRITE
/companies/{identifier}/mfaPrefs:
post:
tags:
- companies
summary: Updates the MFA preferences associated with this Company.
description: Requires the privilege [`COMPANY_SECURITY_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: updateMfaPrefs
parameters:
- name: identifier
in: path
required: true
schema:
type: string
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
forceMfa:
type: boolean
default: false
responses:
default:
description: default response
content:
text/plain: {}
'403':
description: 'User requires privilege: COMPANY_SECURITY_WRITE'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- COMPANY_SECURITY_WRITE
/companies/{identifier}/oauth/settings:
post:
tags:
- companies
summary: Updates the OAuth settings for this Company.
description: Requires the privilege [`COMPANY_SECURITY_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
operationId: updateOAuthSettings
parameters:
- name: identifier
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateOAuthSettingsRequest'
required: true
responses:
default:
description: default response
content:
text/plain: {}
'403':
description: 'User requires privilege: COMPANY_SECURITY_WRITE'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
security:
- privilege:
- COMPANY_SECURITY_WRITE
/companies/{identifier}/prefs:
post:
tags:
- companies
summary: Updates the preferences associated with this Company.
description: 'SUPER users only
Requires the privilege [`COMPANY_SECURITY_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)'
operationId: updatePrefs
parameters:
- name: identifier
in: path
required: true
schema:
type: string
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
domain:
type: string
default: ''
responses:
default:
description: default response
content:
text/plain: {}
'403':
description: 'User requires privilege: COMPANY_SECURITY_WRITE'
'401':
description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
deprecated: true
security:
- privilege:
- COMPANY_SECURITY_WRITE
/companies/{identifier}/saml/props:
post:
tags:
- companies
summary: Updates the preferences associated with this Company.
description: 'SUPER users only
Requires the privilege [`COMPANY_SECURITY_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)'
operationId: updateSamlProperties
parameters:
# --- truncated at 32 KB (53 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/gremlin/refs/heads/main/openapi/gremlin-companies-api-openapi.yml