---
schema_version: "1"
id: 146603de830ebd0914b5f93886c4e9b43aac845fe1fdd6850d97777d5847caa2
title: ConnectApi.CredentialInput
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/apexref/apex_connectapi_input_credential.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_connectapi_input_credential.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: da80f54c638191d66df9763cb50af24e3815b1b6bf8a19d5606aa64ff7384bfc
description: Credential input.
---
# ConnectApi.CredentialInput

Credential input.

<table class="featureTable sort_table" summary="">
          <thead class="thead sorted" align="left">
            <tr>
              <th class="featureTableHeader vertical-align-top " id="d617429e28">Property</th>

              <th class="featureTableHeader vertical-align-top " id="d617429e31">Type</th>

              <th class="featureTableHeader vertical-align-top " id="d617429e34">Description</th>

              <th class="featureTableHeader vertical-align-top " id="d617429e37">Required or Optional</th>

              <th class="featureTableHeader vertical-align-top " id="d617429e40">Available Version</th>

            </tr>
          </thead>
          <tbody class="tbody">
            <tr>
              <td class="entry" headers="d617429e28 d617429e40" data-title="Property"><samp class="codeph apex_code">authentication​Protocol</samp></td>

              <td class="entry" headers="d617429e31" data-title="Type"><a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/connectAPI_enums.htm#CredentialAuthenticationProtocolEnum"><samp class="codeph apex_code">ConnectApi.​Credential​Authentication​Protocol</samp></a></td>

              <td class="entry" headers="d617429e34" data-title="Description">Authentication protocol of the external credential. Values are:<ul class="ul bulletList">
                  <li class="li"><samp class="codeph apex_code">AwsSv4</samp></li>
                  <li class="li"><samp class="codeph apex_code">Basic</samp></li>
                  <li class="li"><samp class="codeph apex_code">Custom</samp></li>
                  <li class="li"><samp class="codeph apex_code">Jwt</samp></li>
                  <li class="li"><samp class="codeph apex_code">OAuth</samp></li>
                </ul>
              </td>

              <td class="entry" headers="d617429e37" data-title="Required or Optional">Required</td>

              <td class="entry" headers="d617429e28 d617429e40" data-title="Property">56.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d617429e28 d617429e40" data-title="Property"><samp class="codeph apex_code">authentication​ProtocolVariant</samp></td>

              <td class="entry" headers="d617429e31" data-title="Type"><a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/connectAPI_enums.htm#CredentialAuthenticationProtocolVariantEnum"><samp class="codeph apex_code">ConnectApi.​Credential​Authentication​ProtocolVariant</samp></a></td>

              <td class="entry" headers="d617429e34" data-title="Description">Authentication protocol variant of the external credential. Values are:<ul class="ul bulletList">
                  <li class="li">
                    <samp class="codeph apex_code">AwsSv4_STS</samp>—AWS Signature Version 4 with Security Token Service.
                  </li>
                  <li class="li">
                    <samp class="codeph apex_code">ClientCredentialsClientSecret</samp>—OAuth 2.0 Client Credentials client secret. Client secrets are sent in the callout’s request body.
                  </li>
                  <li class="li">
                    <samp class="codeph apex_code">ClientCredentialsClientSecretBasic</samp>—OAuth 2.0 Client Credentials client secret. Client secrets are sent in the callout’s authorization header, as with Basic authentication.
                  </li>
                  <li class="li">
                    <samp class="codeph apex_code">ClientCredentialsJwtAssertion</samp>—OAuth 2.0 Client Credentials JSON Web Token assertion.
                  </li>
                  <li class="li">
                    <samp class="codeph apex_code">JwtBearer</samp>—OAuth 2.0 JSON Web Token bearer flow.
                  </li>
                  <li class="li">
                    <samp class="codeph apex_code">NoAuthentication</samp>—No authentication.
                  </li>
                  <li class="li">
                    <samp class="codeph apex_code">RolesAnywhere</samp>—AWS Signature Version 4 with Identity and Access Management (IAM) Roles Anywhere.
                  </li>
                </ul>
                <span class="ph" id="authenticationProtocolVariant"><a name="authenticationProtocolVariant"><!-- --></a>If specified, the authentication protocol
                  variant must match the actual protocol variant of the external
                  credential.</span>
              </td>

              <td class="entry" headers="d617429e37" data-title="Required or Optional">Optional</td>

              <td class="entry" headers="d617429e28 d617429e40" data-title="Property">57.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d617429e28 d617429e40" data-title="Property"><samp class="codeph apex_code">credentials</samp></td>

              <td class="entry" headers="d617429e31" data-title="Type">
                <a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_methods_system_map.htm#apex_methods_system_map" title="Contains methods for the Map collection type.">Map</a>&lt;String, <a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_connectapi_input_credential_value.htm" title="Credential value input."><samp class="codeph nolang">ConnectApi.​Credential​ValueInput</samp></a>&gt;
              </td>

              <td class="entry" headers="d617429e34" data-title="Description">Map of protocol-specific credentials.<div class="p" id="authProtocolCredAllowlistsEncryptRules">
                  <a name="authProtocolCredAllowlistsEncryptRules"><!-- --></a>Authentication protocols have
                  credential allowlists and encryption rules. <ul class="ul bulletList">
                    <li class="li">
                      <samp class="codeph apex_code">AwsSv4</samp>—<samp class="codeph nolang">awsAccessKeyId</samp> (not encrypted), <samp class="codeph nolang">awsSecretAccessKey</samp> (encrypted), <samp class="codeph nolang">awsRoleArn</samp> (not encrypted)
                    </li>

                    <li class="li">
                      <samp class="codeph apex_code">Custom</samp>—Any credential name is
                      valid (user sets encryption rules)
                    </li>

                  </ul>
                </div>
              </td>

              <td class="entry" headers="d617429e37" data-title="Required or Optional">Required</td>

              <td class="entry" headers="d617429e28 d617429e40" data-title="Property">56.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d617429e28 d617429e40" data-title="Property"><samp class="codeph apex_code">externalCredential</samp></td>

              <td class="entry" headers="d617429e31" data-title="Type">String</td>

              <td class="entry" headers="d617429e34" data-title="Description">Fully qualified developer name of the external credential.</td>

              <td class="entry" headers="d617429e37" data-title="Required or Optional">Required</td>

              <td class="entry" headers="d617429e28 d617429e40" data-title="Property">56.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d617429e28 d617429e40" data-title="Property"><samp class="codeph apex_code">principalName</samp></td>

              <td class="entry" headers="d617429e31" data-title="Type">String</td>

              <td class="entry" headers="d617429e34" data-title="Description">Name of the external credential named principal.</td>

              <td class="entry" headers="d617429e37" data-title="Required or Optional">Required if <samp class="codeph nolang">principalType</samp> is <samp class="codeph apex_code">NamedPrincipal</samp>
              </td>

              <td class="entry" headers="d617429e28 d617429e40" data-title="Property">56.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d617429e28 d617429e40" data-title="Property"><samp class="codeph apex_code">principalType</samp></td>

              <td class="entry" headers="d617429e31" data-title="Type"><a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/connectAPI_enums.htm#CredentialPrincipalTypeEnum"><samp class="codeph apex_code">ConnectApi.​Credential​Principal​Type</samp></a></td>

              <td class="entry" headers="d617429e34" data-title="Description">Type of credential principal. Values are:<ul class="ul bulletList">
                  <li class="li"><samp class="codeph apex_code">AwsStsPrincipal</samp></li>
                  <li class="li"><samp class="codeph apex_code">NamedPrincipal</samp></li>
                  <li class="li"><samp class="codeph apex_code">PerUserPrincipal</samp></li>
                </ul>
              </td>

              <td class="entry" headers="d617429e37" data-title="Required or Optional">Required</td>

              <td class="entry" headers="d617429e28 d617429e40" data-title="Property">56.0</td>

            </tr>

          </tbody>
        </table>