---
schema_version: "1"
id: c2ef7b96f951c1792848f102be10bf0be09c5e16b28a49a10aea668e3c24e6d1
title: ConnectApi.ExternalCredentialInput
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/apexref/apex_connectapi_input_external_credential.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_connectapi_input_external_credential.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: df54a21887d46f5f67f15370851541abf4ca8b9acfea0e7649d77223b45adc55
description: Input used to create or update an external credential.
---
# ConnectApi.ExternalCredentialInput

Input used to create or update an external credential.

![Important](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/images/icon_note_important.png)

#### Important

Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.

<table class="featureTable sort_table" summary="">




          <thead class="thead sorted" align="left">
            <tr>
              <th class="featureTableHeader vertical-align-top " id="d639405e38">Property</th>

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

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

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

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

            </tr>

          </thead>

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

              <td class="entry" headers="d639405e41" 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="d639405e44" 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="d639405e47" data-title="Required or Optional">Required</td>

              <td class="entry" headers="d639405e38 d639405e50" data-title="Property">58.0</td>

            </tr>

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

              <td class="entry" headers="d639405e41" 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="d639405e44" 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="d639405e47" data-title="Required or Optional">Optional</td>

              <td class="entry" headers="d639405e38 d639405e50" data-title="Property">58.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d639405e38 d639405e50" data-title="Property"><samp class="codeph apex_code">customHeaders</samp></td>

              <td class="entry" headers="d639405e41" data-title="Type">
                <a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_methods_system_list.htm#apex_methods_system_list" title="Contains methods for the List collection type.">List</a>&lt;<a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_connectapi_input_credential_custom_header.htm" title="Credential custom header input."><samp class="codeph apex_code">ConnectApi.​CredentialCustom​HeaderInput</samp></a>&gt;
              </td>

              <td class="entry" headers="d639405e44" data-title="Description">List of credential custom headers.</td>

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

              <td class="entry" headers="d639405e38 d639405e50" data-title="Property">58.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d639405e38 d639405e50" data-title="Property"><samp class="codeph apex_code">developerName</samp></td>

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

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

              <td class="entry" headers="d639405e47" data-title="Required or Optional">Required for creating an external credential<p class="p">Optional for updating an
                  external credential</p>
              </td>

              <td class="entry" headers="d639405e38 d639405e50" data-title="Property">58.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d639405e38 d639405e50" data-title="Property"><samp class="codeph apex_code">masterLabel</samp></td>

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

              <td class="entry" headers="d639405e44" data-title="Description">External credential label.</td>

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

              <td class="entry" headers="d639405e38 d639405e50" data-title="Property">58.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d639405e38 d639405e50" data-title="Property"><samp class="codeph apex_code">parameters</samp></td>

              <td class="entry" headers="d639405e41" data-title="Type">
                <a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_methods_system_list.htm#apex_methods_system_list" title="Contains methods for the List collection type.">List</a>&lt;<a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_connectapi_input_external_credential_parameter.htm" title="External credential parameter input."><samp class="codeph apex_code">ConnectApi.​ExternalCredential​ParameterInput</samp></a>&gt;
              </td>

              <td class="entry" headers="d639405e44" data-title="Description">List of external credential parameters.</td>

              <td class="entry" headers="d639405e47" data-title="Required or Optional">Optional depending on <samp class="codeph apex_code">authenticationProtocol</samp> and <samp class="codeph apex_code">authenticationVariant</samp>
              </td>

              <td class="entry" headers="d639405e38 d639405e50" data-title="Property">58.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d639405e38 d639405e50" data-title="Property"><samp class="codeph apex_code">principals</samp></td>

              <td class="entry" headers="d639405e41" data-title="Type">
                <a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_methods_system_list.htm#apex_methods_system_list" title="Contains methods for the List collection type.">List</a>&lt;<a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_connectapi_input_external_credential_principal.htm" title="External credential principal input."><samp class="codeph apex_code">ConnectApi.​ExternalCredential​PrincipalInput</samp></a>&gt;
              </td>

              <td class="entry" headers="d639405e44" data-title="Description">List of principals the credential has.</td>

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

              <td class="entry" headers="d639405e38 d639405e50" data-title="Property">58.0</td>

            </tr>

          </tbody>

        </table>