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

# Account.fetchByExternalId

The `fetchByExternalId` method returns an `Account` object whose ID, the `ExternalId` assigned by you, matches the input. To fetch an account by an external ID, specify a unique value for the `ExternalId` field of the `Account` object when you create it.

Beginning in release 22.0, you can use this optional new unique ID in place of the `merchantAccountId`, or in conjunction with it by mapping the `merchantAccountId` to your merchant-facing Interface, and the `externalId` to your external billing system.

The VID, the `ExternalId`, and the `merchantAccountId` each identify an account in any API call, and this ID is part of the `Account` object in the API and visible in the Portal.

## Input

*srd*: sparse response description, a SOAP string (which must be a JSON object), in which you specify the elements you want returned.This parameter enables the calling system to constrain a `method` call to return only components you specify. This gives you greater control over returned content, and improves response time within the Vindicia platform by reducing the processing needed for the call.

Some fields are required, either practically or in the WSDL, and will be returned regardless of the *srd*. A null *srd* returns the complete response.

*externalId*: your Account ID (`externalId`), which serves as the search criterion.

## Output

*return*: an object of type `Return` that indicates the success or failure of the call.

*account*: the `Account` object whose ID assigned by you (`externalId`) matches the input.

## Returns

In addition to those listed in [The Return Object](The_Return_Object), this call returns:

| Return Code | Return String |
| - | - |
| `400` | One of the following: - `Unable to load account by externalId *externalId:* No match.` - `Unable to load account by externalId *externalId: error-description*.` - `Must specify externalId to load by!` |

## Example

```

// Create a SOAP caller object
$account = new Account();
$externalId = "34583";

// now load an account into the Account object 
// by (unique) Account ID
$response = $account->fetchByByExternalId($externalId);
if($response['returnCode'] == 200) {
   $fetchedAccount = $response['data']->account;
}
else {
   // The call was unsuccessful 
   print "Return code: " . $response['returnCode'] . "\n";
   print "Return string " . $response['returnString'] . "\n";
}
```

**Parent topic:**[Account Methods](../topics/Account_Methods)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.