Skip to content

company

The company commands work on the company your API key belongs to: its users and their roles, its API keys, the regions you can create sites in, its activity log, and the plugins and themes in use across all its sites.

Terminal window
kinstactl company users list
kinstactl company activity --category siteActions --limit 25
kinstactl company plugins --updates --vulnerable

All of them are scoped to the company of the active profile; see profiles. The listing commands only read. The two role commands change something and accept --dry-run, --no-wait and --timeout <minutes>; see operations. Neither asks for confirmation.

List the users of the company with their roles.

Terminal window
kinstactl company users list
kinstactl company users list [options]

List the users of the company with their roles

Kinsta API: GET /company/{id}/users

The table shows each user’s email, name, roles and ID. Use the email, the full name or the ID wherever another command asks for a <user>.

Show a company user and the roles they hold.

Terminal window
kinstactl company users get [email protected]
kinstactl company users get <user> [options]

Show a company user and the roles they hold

Arguments

ArgumentDescription
useremail, full name or ID, see: company users list

Kinsta API: GET /company/{id}/users, GET /company/{id}/users/{id_user}

The user is looked up by exact email, ID or full name first, then by a unique prefix. If several users match, the command fails with a USAGE error that lists their emails; it never picks one for you. The output shows the email, name and two-factor setting, followed by a table with the roles of the user and the company or site each role applies to.

Set the company-wide role of a user.

Terminal window
kinstactl company users role [email protected] company-developer
kinstactl company users role <user> <role> [options]

Set the company-wide role of a user

Arguments

ArgumentDescription
useremail, full name or ID, see: company users list
rolecompany role Choices: company-admin, company-developer, company-billing.

Options

OptionDescription
--dry-runprint the resolved target and request; change nothing
--no-waitreturn the operation ID instead of waiting
--timeout <minutes>give up waiting after this many minutes (default 30)

Global options --profile, --json and --no-input apply too. See scripting and CI.

Kinsta API: GET /company/{id}/users, POST /company/{company_id}/users/company-capabilities

The role is one of company-admin, company-developer or company-billing. On success the command prints <email> is now <role>; with --json you get user_id, role, status and, when Kinsta started an operation, its operation_id.

Set the role of a user on one site.

Terminal window
kinstactl company users site-role [email protected] my-site site-developer
kinstactl company users site-role <user> <site> <role> [options]

Set the role of a user on one site

Arguments

ArgumentDescription
useremail, full name or ID, see: company users list
sitesite name, display name or ID
rolesite role Choices: site-admin, site-developer.

Options

OptionDescription
--dry-runprint the resolved target and request; change nothing
--no-waitreturn the operation ID instead of waiting
--timeout <minutes>give up waiting after this many minutes (default 30)

Global options --profile, --json and --no-input apply too. See scripting and CI.

Kinsta API: GET /company/{id}/users, GET /sites, POST /company/{company_id}/users/site-capabilities

The role is site-admin or site-developer, and applies to the one site. The site is resolved against fresh data, not the cache. See Sites and environments for how a site is named.

List the API keys of the company.

Terminal window
kinstactl company api-keys
kinstactl company api-keys [options]

List the API keys of the company

Kinsta API: GET /company/{id}/api-keys

The table shows the name, status, expiry (never when the key does not expire) and ID of each key. The key itself is never shown.

List the regions a site can be created in.

Terminal window
kinstactl company regions
kinstactl company regions [options]

List the regions a site can be created in

Kinsta API: GET /company/{id}/available-regions

The table shows the region ID and its name. The ID is what sites create takes in --region.

Show the activity log of the company.

Terminal window
kinstactl company activity --category siteActions --site my-site --limit 25
kinstactl company activity [options]

Show the activity log of the company

Options

OptionDescription
--limit <n>number of entries
--offset <n>entries to skip
--category <category>one of: siteActions, kinstaDns, migrations, billing, notifications, userManagement, personalSettings, samlSso
--site <site>only entries of this site (name, display name or ID)
--language <code>language of the descriptions: da, de, en, es, fr, it, ja, nl, pt, sv

Global options --profile, --json and --no-input apply too. See scripting and CI.

Kinsta API: GET /sites, GET /company/{id}/activity-logs

The command shows 10 entries by default; page through the log with --limit and --offset. The table shows the date, type, site ID, who started it (a user or an API key) and the status (done, pending, warning or failed). A line such as 10 of 340 goes to stderr.

--category narrows the log to one of siteActions, kinstaDns, migrations, billing, notifications, userManagement, personalSettings or samlSso. --site keeps the entries of one site, by name, display name or ID. --language sets the language of the descriptions to one of da, de, en, es, fr, it, ja, nl, pt or sv.

List the plugins in use across the company.

Terminal window
kinstactl company plugins --updates --vulnerable
kinstactl company plugins [options]

List the plugins in use across the company (filters apply client-side)

Options

OptionDescription
--updatesonly plugins with an update available
--vulnerableonly plugins whose latest version is vulnerable

Global options --profile, --json and --no-input apply too. See scripting and CI.

Kinsta API: GET /company/{id}/wp-plugins

The table shows each plugin once, with its latest version, the number of environments that use it, the number of pending updates and whether the latest version is vulnerable. This is the company-wide inventory; for one environment use plugins list.

--updates keeps plugins with at least one update available, and --vulnerable keeps plugins whose latest version is vulnerable. Both filters are applied by kinstactl after the full inventory is fetched, and combining them keeps only plugins that match both. When the inventory is empty, the command prints a message with the time it was last updated instead of a table.

List the themes in use across the company.

Terminal window
kinstactl company themes --updates
kinstactl company themes [options]

List the themes in use across the company (filters apply client-side)

Options

OptionDescription
--updatesonly themes with an update available
--vulnerableonly themes whose latest version is vulnerable

Global options --profile, --json and --no-input apply too. See scripting and CI.

Kinsta API: GET /company/{id}/wp-themes

Works like company plugins, with the same table, the same --updates and --vulnerable filters and the same message for an empty inventory. For one environment use themes list.