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

# Expanding Resources

export const ExpandableFieldsQueryParams = (resource_type = 'all') => {
  const entity = [{
    name: 'connect',
    description: <>This is an <a href="/reference/entities/overview">Entity</a> property, and refers to the <a href="/reference/entities/connect/overview#connect-objects">Connect Object</a>.</>
  }, {
    name: 'credit_score',
    description: <>This is an <a href="/reference/entities/overview">Entity</a> property, and refers to the <a href="/reference/entities/credit-scores/overview#creditscore-objects">CreditScore Object</a>.</>
  }, {
    name: 'attribute',
    description: <>This is an <a href="/reference/entities/overview">Entity</a> property, and refers to the <a href="/reference/entities/attributes/overview#attribute-objects">Attribute Object</a>.</>
  }, {
    name: 'vehicle',
    description: <>This is an <a href="/reference/entities/overview">Entity</a> property, and refers to the <a href="/reference/entities/vehicles/overview#vehicle-objects">Vehicle Object</a>.</>
  }, {
    name: 'identity_latest_verification_session',
    description: <>This is an <a href="/reference/entities/overview">Entity</a> property, and refers to the <a href="/reference/entities/verification-sessions/overview#entity-verification-session-objects">EntityVerificationSession Object</a>.</>
  }, {
    name: 'phone_latest_verification_session',
    description: <>This is an <a href="/reference/entities/overview">Entity</a> property, and refers to the <a href="/reference/entities/verification-sessions/overview#entity-verification-session-objects">EntityVerificationSession Object</a>.</>
  }];
  const account = [{
    name: 'sensitive',
    description: <>This is an <a href="/reference/accounts/overview">Account</a> property, and refers to the <a href="/reference/accounts/sensitive/overview#sensitive-objects">Sensitive Object</a>.</>
  }, {
    name: 'balance',
    description: <>This is an <a href="/reference/accounts/overview">Account</a> property, and refers to the <a href="/reference/accounts/balances/overview#balances-objects">Balance Object</a>.</>
  }, {
    name: 'card_brand',
    description: <>This is an <a href="/reference/accounts/overview">Account</a> property, and refers to the <a href="/reference/accounts/card-brands/overview#cardbrand-objects">CardBrand Object</a>.</>
  }, {
    name: 'attribute',
    description: <>This is an <a href="/reference/accounts/overview">Account</a> property, and refers to the <a href="/reference/accounts/attributes/overview#attribute-objects">Attribute Object</a>.</>
  }, {
    name: 'payoff',
    description: <>This is an <a href="/reference/accounts/overview">Account</a> property, and refers to the <a href="/reference/accounts/payoffs/overview#payoff-objects">Payoff Object</a>.</>
  }, {
    name: 'transaction',
    description: <>This is an <a href="/reference/accounts/overview">Account</a> property, and refers to the <a href="/reference/accounts/transactions/overview#transaction-objects">Transaction Object</a>.</>
  }, {
    name: 'update',
    description: <>This is an <a href="/reference/accounts/overview">Account</a> property, and refers to the <a href="/reference/accounts/updates/overview#update-objects">Update Object</a>.</>
  }, {
    name: 'payment_instrument',
    description: <>This is an <a href="/reference/accounts/overview">Account</a> property, and refers to the <a href="/reference/accounts/payment-instruments/overview#paymentinstrument-objects">PaymentInstrument Object</a>.</>
  }, {
    name: 'latest_verification_session',
    description: <>This is an <a href="/reference/accounts/overview">Account</a> property, and refers to the <a href="/reference/accounts/verification-sessions/overview#accountverificationsession-objects">AccountVerificationSession Object</a>.</>
  }, {
    name: 'liability.mch_id',
    description: <>This is an <a href="/reference/accounts/overview">Account</a> property, and refers to the <a href="/reference/merchants/overview">Merchant Object</a>.</>
  }];
  const ExpandableFieldsByResourceType = {
    entity,
    account,
    all: Array.from(new Set([...entity, ...account]))
  };
  return {
    name: "expand",
    type: "enum[]",
    description: <>
      Attributes that can be expanded into an object to
      provide additional information.
      </>,
    enums: [...ExpandableFieldsByResourceType[resource_type].map(expandable_field => ({
      ...expandable_field
    }))]
  };
};

export const ParamList = ({items = [], is_child = false}) => {
  return items.map(item => {
    const field_props = {
      id: Math.random().toString(),
      body: item.name,
      name: item.name,
      type: item.type,
      required: item.required
    };
    const enums = item.enums || [];
    const items = item.items || [];
    const has_items = items?.length > 0;
    const has_enums = enums?.length > 0;
    const should_default_open = item.defaultOpen || false;
    const render_child_item = () => {
      const child_props = {
        title: has_enums ? "Possible enum values" : "properties"
      };
      if (should_default_open) child_props.defaultOpen = true;
      const has_inline_enums = has_enums && enums.every(enum_item => typeof enum_item === 'string') && enums.map((enum_item, idx) => {
        const is_last = idx === enums.length - 1;
        const is_2nd_to_last = idx === enums.length - 2;
        return <>
            <code>{enum_item}</code>
            {is_last && ''}
            {is_2nd_to_last && ' or '}
            {!is_last && !is_2nd_to_last && ', '}
          </>;
      });
      const enum_list = has_enums && !has_inline_enums && <Accordion {...child_props}>
          {enums.map((enum_item, index) => <div key={`enum-${index}`}>
              <code>{enum_item.name}</code>
              <br />
              <p>{enum_item.description}</p>
            </div>)}
        </Accordion>;
      const item_list = has_items && <Expandable {...child_props}>
          <ParamList items={items || []} is_child />
        </Expandable>;
      return <>
          <p>
            {item.description}
            {has_inline_enums && [has_inline_enums.length > 1 ? ' One of ' : ' Must be ', ...has_inline_enums]}
          </p>

          {enum_list}
          {item_list}
        </>;
    };
    return is_child ? <ResponseField {...field_props}>{render_child_item()}</ResponseField> : <ParamField {...field_props}>{render_child_item()}</ParamField>;
  });
};

Many objects allow you to request additional information as an expanded response by using the expand query parameter.
This parameter is available for `entities`, `accounts`, and `Connect` and applies to the response of that request only.

In many cases, an object contains the ID of a related object in its response attributes. For example, an `Entity` might have an associated `CreditScore` ID.
You can expand these objects in line with the expand query parameter. The expandable label in this documentation indicates ID fields that you can expand into objects.

You can expand multiple objects at the same time by identifying multiple items in the expand array. Performing expansions on list requests might result in increased response times.

In the case of `Connect`, recursive expansion up to 2 levels is supported. The first level expands the returned `accounts`.
The second level allows expansion of any account-level properties using the notation `accounts.expandable_field`, such as `accounts.update`.
For more information, see <a href="/2026-03-30/reference/entities/connect/create#possible-enum-values">Connect Expand Enum</a>

## Props

<ParamList
  items={[
ExpandableFieldsQueryParams(),
]}
/>

## Returns

Returns a list of the requested resource with the requested attributes expanded.

<RequestExample>
  ```bash cURL theme={null}
  curl "https://production.methodfi.com/entities/ent_BzirqpLEm3BW7?expand[]=connect" \
    -H "Method-Version: 2026-03-30" \
    -H "Authorization: Bearer sk_WyZEWVfTcH7GqmPzUPk65Vjc"
  ```

  ```javascript Node.js theme={null}
  const entity = await method
    .entities
    .retrieve("ent_BzirqpLEm3BW7", {
      expand: ["connect"],
    });
  ```

  ```python Python theme={null}
  entity = method
    .entities
    .retrieve('ent_BzirqpLEm3BW7', {
      'expand': ['connect'],
    })
  ```
</RequestExample>

<ResponseExample>
  ```json theme={null}
    {
      "id": "ent_BzirqpLEm3BW7",
      "type": "individual",
      "individual": {
        "first_name": "Kevin",
        "last_name": "Doyle",
        "phone": "+15121231113",
        "dob": "1997-03-18",
        "email": "kevin.doyle@gmail.com",
        "ssn_4": null,
        "ssn": null
      },
      "error": null,
      "address": {
        "line1": "3300 N Interstate 35",
        "line2": null,
        "city": "Austin",
        "state": "TX",
        "zip": "78705"
      },
      "status": "active",
      "verification": {
        "identity": {
          "verified": true,
          "matched": true,
          "latest_verification_session": "evf_mQ6yr6VVJLNEb",
          "methods": []
        },
        "phone": {
          "verified": true,
          "latest_verification_session": "evf_P4QXNj93Y9J8L",
          "methods": []
        }
      },
      "connect": {
        "id": "cxn_4ewMmBbjYDMR4",
        "entity_id": "ent_qKNBB68bfHGNA",
        "status": "completed",
        "accounts": [
          "acc_eKKmrXDpJBKgw",
          "acc_GV8WbmJW7KGRy",
          "acc_MLPKh9gQDDbT8",
          "acc_LbXE8wVYJLrKt",
          "acc_J3P9fayDFjpAy",
          "acc_eFFRV9zmpLREK"
        ],
        "error": null,
        "created_at": "2024-04-12T14:56:46.645Z",
        "updated_at": "2024-04-12T14:56:46.786Z"
      },
      "credit_score": "crs_pn4ca33GXFaCE",
      "identity": null,
      "products": [
        "connect",
        "credit_score"
      ],
      "restricted_products": [
        "identity",
        "attribute"
      ],
      "subscriptions": [],
      "available_subscriptions": [],
      "restricted_subscriptions": [
        "connect",
        "credit_score"
      ],
      "metadata": null,
      "created_at": "2024-04-12T14:56:34.710Z",
      "updated_at": "2024-04-12T14:56:34.744Z"

  }
  ```
</ResponseExample>
