Skip to main content
POST
/
companies
/
{parent_company_id}
/
api_keys
Create child company API key
curl --request POST \
  --url https://api.whop.com/api/v1/companies/{parent_company_id}/api_keys \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "child_company_id": "<string>",
  "name": "<string>",
  "permissions": [
    {
      "actions": [
        "<string>"
      ],
      "grant": true,
      "resources": [
        "<string>"
      ]
    }
  ],
  "role": "owner"
}
'
{
  "id": "<string>",
  "name": "<string>",
  "secret_key": "<string>"
}

Authorizations

Authorization
string
header
required

A company API key, company scoped JWT, app API key, or user OAuth token. You must prepend your key/token with the word 'Bearer', which will look like Bearer ***************************

Path Parameters

parent_company_id
string
required

The unique identifier of the parent platform company (e.g. 'biz_xxx').

Body

application/json

Parameters for CreateChildCompanyApiKey

child_company_id
string
required

The unique identifier of the connected account to create the API key for (e.g. 'biz_xxx').

name
string | null

A human-readable name for the API key, such as 'Production API Key'.

permissions
object[] | null

Granular permission statements defining which actions this API key can perform. Either permissions or role must be provided.

role
enum<string> | null

A system role to inherit permissions from (e.g. owner, admin, moderator). Either role or permissions must be provided.

Available options:
owner,
admin,
moderator,
sales_manager

Response

A successful response

An API key created for a child company, including the one-time secret key.

id
string
required

The unique identifier for the authorized api key.

name
string | null
required

A user set name to identify an API key

secret_key
string
required

The secret key used to authenticate requests. Only returned at creation time.