> ## 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.

# AutoBill.fetchByAccountAndProduct

The `fetchByAccountAndProduct` method returns all `AutoBill` objects that have the passed in `Account` and `Product`. This method is useful for looking up a customer’s subscriptions to a specific product on your site.

## 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.

*account*: the `Account` object that serves as one of the two search criteria. Use the `merchantAccountId` or `VID` to identify the object.

*product*: the `Product` object that serves as one of the two search criteria. Identify this object with either its VID or your product ID (`merchantProductId`).

*includeChildren*: an optional Boolean flag that, if set to `true`, includes all children associated with this `Account`. If `false` or omitted, children will not be included in the query.

## Output

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

*autobills*: an array of one or more `AutoBill` objects whose `Account` and `Product` objects match the input.

## Returns

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

| Return Code | Return String |
| - | - |
| `400` | `Data validation error:*error-description*.` |

## Example

```

// Create and populate an Account object
$account = new Account();
$account->setMerchantAccountId('abc101');
// Create and populate an Product object
$prod = new Product();
$prod->setMerchantProductId('xyz212');
$autobill = new AutoBill();
$response = $autobill->fetchByAccountAndProduct($account, $prod);
if($response['returnCode'] == 200) {
   $fetchedAutoBills= $response['data']->autobills;
   foreach ($fetchedAutoBills as $autobill) {
      // process each autobill found here
      print "Found account with id: " 
         . $autobill->get() . "\n";
   }
}
```

**Parent topic:**[AutoBill Methods](../topics/AutoBill_Methods)


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