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

# Update a KBA Verification

export const entity_verification_session_name = "EntityVerificationSession";

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>;
  });
};

Updates an ongoing {entity_verification_session_name} for verifying an Entity's identity via Method's KBA verification process.

The Entity will response with a list of answers to the questions that were sent in the response of initializing the verification process.
Based off the results of the answers, this will determine if the Entity's identity has been verified or not.

## Path Parameters

<ParamList
  items={[
{
  name: "ent_id",
  type: "string",
  description: "The ID of the Entity.",
},
{
  name: "evf_id",
  type: "string",
  description: `The ID of the ${entity_verification_session_name}.`,
},
]}
/>

## Body

<ParamList
  items={[
{
  name: "type",
  type: "enum",
  required: true,
  description: `The ${entity_verification_session_name} will be verifying the Entity's identity.`,
  enums: ["identity"],
},
{
  name: "method",
  type: "enum",
  required: true,
  description: `The ${entity_verification_session_name} will be using Method's KBA verification process.`,
  enums: ["kba"],
},
{
  name: "kba",
  type: "object",
  required: true,
  description: "The KBA verification configuration.",
  items: [
    {
      name: "kba.answers",
      type: "array",
      required: true,
      description: "The list of answers to the questions that were sent in the response of initializing the verification process.",
      items: [
        {
          name: "kba.answers.question_id",
          type: "string",
          required: true,
          description: "The ID of the question that was sent in the response of initializing the verification process.",
        },
        {
          name: "kba.answers.answer_id",
          type: "string",
          required: true,
          description: "The ID of the answer that was chosen by the user as the correct answer to the respective question.",
        },
      ],
    }
  ]
},
]}
/>

## Returns

Returns an EntityVerificationSession object.

<RequestExample>
  ```bash cURL theme={null}
  curl https://production.methodfi.com/entities/ent_hy3xhPDfWDVxi/verification_sessions/evf_ywizPrR6WDxDG \
    -X PUT \
    -H "Method-Version: 2026-03-30" \
    -H "Authorization: Bearer sk_WyZEWVfTcH7GqmPzUPk65Vjc" \
    -H "Content-Type: application/json" \
    -d '{
      "type": "identity",
      "method": "kba",
      "kba": {
        "answers": [
          {
            "question_id": "qtn_xgP6cGhq34fHW",
            "answer_id": "ans_dbKCwDGwrrBgi"
          },
          {
            "question_id": "qtn_kmfdEftQ9zc6T",
            "answer_id": "ans_LXN83xnJAUNFb"
          },
          {
            "question_id": "qtn_6mWegPLBpAFxb",
            "answer_id": "ans_EKi47D8wA6YN3"
          }
        ]
      }
    }'
  ```

  ```javascript Node.js theme={null}
  const response = await method
    .entities("ent_hy3xhPDfWDVxi")
    .verificationSessions
    .update("evf_ywizPrR6WDxDG", {
      type: "identity",
      method: "kba",
      kba: {
        answers: [
          {
            question_id: "qtn_xgP6cGhq34fHW",
            answer_id: "ans_dbKCwDGwrrBgi"
          },
          {
            question_id: "qtn_kmfdEftQ9zc6T",
            answer_id: "ans_LXN83xnJAUNFb"
          },
          {
            question_id: "qtn_6mWegPLBpAFxb",
            answer_id: "ans_EKi47D8wA6YN3"
          }
        ]
      }
    });
  ```

  ```python Python theme={null}
  response = method
    .entities('ent_hy3xhPDfWDVxi')
    .verification_sessions
    .update('evf_ywizPrR6WDxDG', {
      'type': 'identity',
      'method': 'kba',
      'kba': {
        'answers': [
          {
            'question_id': 'qtn_xgP6cGhq34fHW',
            'answer_id': 'ans_dbKCwDGwrrBgi'
          },
          {
            'question_id': 'qtn_kmfdEftQ9zc6T',
            'answer_id': 'ans_LXN83xnJAUNFb'
          },
          {
            'question_id': 'qtn_6mWegPLBpAFxb',
            'answer_id': 'ans_EKi47D8wA6YN3'
          }
        ]
      }
    })
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "id": "evf_ywizPrR6WDxDG",
    "entity_id": "ent_hy3xhPDfWDVxi",
    "status": "verified",
    "type": "identity",
    "method": "kba",
      "kba": {
      "questions": [],
      "authenticated": true
    },
    "error": null,
    "created_at": "2024-04-11T19:23:44.742Z",
    "updated_at": "2024-04-11T19:23:44.742Z"
  }
  ```
</ResponseExample>
