# <a id="bitdrift.public.unary.admin.v1.CreateKeyRequest"></a>CreateKeyRequest

**Source definition:** [`src/bitdrift/public/unary/admin/v1/keys.proto#L80-L124`](<https://github.com/bitdriftlabs/api/blob/main/src/bitdrift/public/unary/admin/v1/keys.proto#L80-L124>)

<section class="proto-fields-table" markdown>
| Field | Type | Description |
|---|---|---|
| sdk_key | <span class="proto-type proto-type-message">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">admin</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">CreateKeyRequest</i><i class="proto-type-dot">.</i><i class="proto-type-part">SdkKeyRequest</i>](#bitdrift.public.unary.admin.v1.CreateKeyRequest.SdkKeyRequest "bitdrift.public.unary.admin.v1.CreateKeyRequest.SdkKeyRequest")</span><span class="proto-field-annotation">only one of <em>sdk_key</em>, or <em>api_key</em> can be set</span> | Creates an SDK key. |
| api_key | <span class="proto-type proto-type-message">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">admin</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">CreateKeyRequest</i><i class="proto-type-dot">.</i><i class="proto-type-part">ApiKeyRequest</i>](#bitdrift.public.unary.admin.v1.CreateKeyRequest.ApiKeyRequest "bitdrift.public.unary.admin.v1.CreateKeyRequest.ApiKeyRequest")</span><span class="proto-field-annotation">only one of <em>api_key</em>, or <em>sdk_key</em> can be set</span> | Creates an API key. |
| name | <span class="proto-type proto-type-primitive">string</span><br><em class="proto-field-annotation">between 1 and 255 chars</em> | The name of the key, used for (human) identification purposes. |

</section>
<p class="h4">Example</p>
```json
{
  "name": "Example key",
  "sdk_key": {
    "app_id_postfix": ".staging",
    "bundle_id_regex": "io.example.app"
  }
}
```

# <a id="bitdrift.public.unary.admin.v1.CreateKeyRequest.SdkKeyRequest"></a>CreateKeyRequest.SdkKeyRequest

**Source definition:** [`src/bitdrift/public/unary/admin/v1/keys.proto#L81-L97`](<https://github.com/bitdriftlabs/api/blob/main/src/bitdrift/public/unary/admin/v1/keys.proto#L81-L97>)

<section class="proto-fields-table" markdown>
| Field | Type | Description |
|---|---|---|
| bundle_id_regex | <span class="proto-type proto-type-primitive">string</span><br><em class="proto-field-annotation">between 1 and 2048 chars</em> | The app/bundle ID regex that the key is associated with. |
| app_id_postfix | <span class="proto-type proto-type-primitive">string</span><br><em class="proto-field-annotation">up to 255 chars</em><span class="proto-field-annotation">only one of <em>app_id_postfix</em>, or <em>app_id_replacement</em> can be set</span> | An optional postfix for the app ID associated with the key. The server  appends this to the base app ID during authentication. |
| app_id_replacement | <span class="proto-type proto-type-primitive">string</span><br><em class="proto-field-annotation">up to 255 chars</em><span class="proto-field-annotation">only one of <em>app_id_replacement</em>, or <em>app_id_postfix</em> can be set</span> | An optional replacement for the app ID associated with the key. The server  replaces the base app ID during authentication. |

</section>
<p class="h4">Example</p>
```json
{
  "app_id_postfix": ".staging",
  "bundle_id_regex": "io.example.app"
}
```

# <a id="bitdrift.public.unary.admin.v1.CreateKeyRequest.ApiKeyRequest"></a>CreateKeyRequest.ApiKeyRequest

**Source definition:** [`src/bitdrift/public/unary/admin/v1/keys.proto#L99-L108`](<https://github.com/bitdriftlabs/api/blob/main/src/bitdrift/public/unary/admin/v1/keys.proto#L99-L108>)

<section class="proto-fields-table" markdown>
| Field | Type | Description |
|---|---|---|
| permissions | <span class="proto-type proto-type-enum">array of [<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">admin</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">Permission</i>](bitdrift_public_unary_admin_v1_Permission.md "bitdrift.public.unary.admin.v1.Permission")</span><br><em class="proto-field-annotation">between 1 and 100 items, items must be defined enum values</em> | The permissions that the key should have. Must have at least one permission. |

</section>
<p class="h4">Example</p>
```json
{
  "permissions": [
    "WORKFLOW_READ"
  ]
}
```

