> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kinetica.com/llms.txt
> Use this file to discover all available pages before exploring further.

# /create/credential

```
URL: http://<db.host>:<db.port>/create/credential
```

Create a new [credential](../../concepts/credentials/).

## Input Parameter Description

<ParamField body="credential_name" type="string">
  Name of the credential to be created. Must contain only letters, digits, and underscores, and cannot begin with a digit. Must not match an existing credential name.
</ParamField>

<ParamField body="type" type="string">
  Type of the credential to be created.

  The supported values are:

  * aws\_access\_key
  * aws\_iam\_role
  * azure\_ad
  * azure\_oauth
  * azure\_sas
  * azure\_storage\_key
  * confluent
  * docker
  * gcs\_service\_account\_id
  * gcs\_service\_account\_keys
  * hdfs
  * jdbc
  * kafka
  * nvidia\_api\_key
  * openai\_api\_key
  * rest
</ParamField>

<ParamField body="identity" type="string">
  User of the credential to be created.
</ParamField>

<ParamField body="secret" type="string">
  Password of the credential to be created.
</ParamField>

<ParamField body="options" type="map of string to strings">
  Optional parameters.

  The default value is an empty map ( \{} ).
</ParamField>

## Output Parameter Description

The Kinetica server embeds the endpoint response inside a standard response structure which contains status information and the actual response to the query.  Here is a description of the various fields of the wrapper:

<ResponseField name="status" type="String">
  'OK' or 'ERROR'
</ResponseField>

<ResponseField name="message" type="String">
  Empty if success or an error message
</ResponseField>

<ResponseField name="data_type" type="String">
  'create\_credential\_response' or 'none' in case of an error
</ResponseField>

<ResponseField name="data" type="String">
  Empty string
</ResponseField>

<ResponseField name="data_str" type="JSON or String">
  This embedded JSON represents the result of the /create/credential endpoint:

  <Expandable title="data_str">
    <ResponseField name="credential_name" type="string">
      Value of input parameter *credential\_name*.
    </ResponseField>

    <ResponseField name="info" type="map of string to strings">
      Additional information.
    </ResponseField>
  </Expandable>

  Empty string in case of an error.
</ResponseField>
