# Update Profile

Please note that when updating a user account, the guestID will remain the same, but the guestHashKey can change based on the data that has been requested to be updated.

## zapiGuests\_UpdateProfile

<mark style="color:green;">`POST`</mark> `https://{yourdomainname}.zaui.net/zapi/`

#### Request Body

| Name                                            | Type    | Description                                                                     |
| ----------------------------------------------- | ------- | ------------------------------------------------------------------------------- |
| lastName<mark style="color:red;">\*</mark>      | string  | Last name listed in Guest profile.                                              |
| zapiUserId<mark style="color:red;">\*</mark>    | integer | Generated by the supplier system when a new contact is created.                 |
| zapiAccountId<mark style="color:red;">\*</mark> | integer | Generated by the supplier system.                                               |
| mobilePhone<mark style="color:red;">\*</mark>   | integer | Mobile phone number listed in Guest profile.                                    |
| firstName<mark style="color:red;">\*</mark>     | string  | First name listed in Guest profile.                                             |
| guestID<mark style="color:red;">\*</mark>       | integer | Retrieved by running Authenticate Guest call.                                   |
| gender                                          | string  | ‘F’ or ‘M’ or blank                                                             |
| methodName<mark style="color:red;">\*</mark>    | string  | The method being called.                                                        |
| email<mark style="color:red;">\*</mark>         | string  | Email address listed in Guest profile.                                          |
| guestHashKey<mark style="color:red;">\*</mark>  | integer | Retrieved by running Authenticate Guest call.                                   |
| birthDate                                       | integer | YYYY:MM:DD                                                                      |
| zapiToken<mark style="color:red;">\*</mark>     | integer | Token that must be used for a reseller to communicate with the supplier system. |
| addressLine1                                    | string  | Primary address                                                                 |
| addressLine2                                    | string  | Secondary address                                                               |
| country                                         | String  | We will attempt to match this against the system-defined list of countries      |
| city                                            | string  | City of provided address                                                        |
| state                                           | string  | State or Province                                                               |
| zipCode                                         | integer | Zip code or Postal Code                                                         |
| userCustomFields                                | object  | Object containing all relevant information for custom fields set in the system. |

{% tabs %}
{% tab title="200: OK " %}

```xml
<?xml version="1.0" encoding="utf-8"?>
<response>
    <zapiVersion>2.1</zapiVersion>
    <error>0</error>
    <message>OK</message>
    <methodResponse>
        <methodName>zapiGuests_UpdateProfile</methodName>
        <guestDetails>
            <guestID>1237</guestID>
            <guestHashKey>ce94e3684085d52c10eae77a911d76dbd5a09e70</guestHashKey>
            <accountId>
                <![CDATA[0]]>
            </accountId>
            <expiryDate>
                <![CDATA[2022-11-17]]>
            </expiryDate>
            <username>
                <![CDATA[her_gra]]>
            </username>
            <firstName>
                <![CDATA[Hermione]]>
            </firstName>
            <lastName>
                <![CDATA[Granger]]>
            </lastName>
            <gender>
                <![CDATA[F]]>
            </gender>
            <mobilePhone>
                <![CDATA[6042559658]]>
            </mobilePhone>
            <email>
                <![CDATA[support@zaui.com]]>
            </email>
            <addressLine1>
                <![CDATA[]]>
            </addressLine1>
            <addressLine2>
                <![CDATA[]]>
            </addressLine2>
            <city>
                <![CDATA[]]>
            </city>
            <state>
                <![CDATA[]]>
            </state>
            <country>
                <![CDATA[]]>
            </country>
            <zipCode>
                <![CDATA[]]>
            </zipCode>
            <birthDate>N/A</birthDate>
            <dateCreated>2021-11-17 08:54:43</dateCreated>
            <userCustomFields>
                <customField>
                    <customFieldId>1</customFieldId>
                    <customFieldRequired>true</customFieldRequired>
                    <customFieldLabel>
                        <![CDATA[Test Custom Field ]]>
                    </customFieldLabel>
                    <customFieldValue>
                        <![CDATA[]]>
                    </customFieldValue>
                </customField>
            </userCustomFields>
            <relatedBookings>
                <totalNumberOfBookings>1</totalNumberOfBookings>
                <totalPurchases>$1.00</totalPurchases>
                <mostRecentBookingCount>1</mostRecentBookingCount>
                <allBookings>
                    <booking>
                        <bookingNumber>40235</bookingNumber>
                        <dateCreated>2021-11-17 08:54:43</dateCreated>
                        <total>$52.50</total>
                        <activities>
                            <activity>
                                <packageId>0</packageId>
                                <activityId>128</activityId>
                                <activityName>
                                    <![CDATA[Electric Bike Rentals]]>
                                </activityName>
                                <activityDate>2021-12-16</activityDate>
                                <activityTime/>
                                <activityTotal>50.000000</activityTotal>
                                <passengers>
                                    <seniors>0</seniors>
                                    <adults>2</adults>
                                    <students>0</students>
                                    <children>0</children>
                                    <infants>0</infants>
                                    <passengersAsString>
                                        <![CDATA[2 (ad)]]>
                                    </passengersAsString>
                                </passengers>
                            </activity>
                        </activities>
                        <products/>
                    </booking>
                </allBookings>
            </relatedBookings>
        </guestDetails>
        <methodErrorCode>0</methodErrorCode>
        <methodErrorMessage>
            <![CDATA[Updated, please note the user hash key could have changed.  The country provided could not be found in our system, and so not applied.]]>
        </methodErrorMessage>
    </methodResponse>
</response>
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Request" %}

```xml
<request>
	<zapiToken></zapiToken>
	<zapiAccountId></zapiAccountId>
	<zapiUserId></zapiUserId>
	<zapiMethod>
		<methodName>zapiGuests_UpdateProfile</methodName>
		<guestID></guestID>
		<guestHashKey></guestHashKey>
		<firstName></firstName>
		<lastName></lastName>
		<mobilePhone></mobilePhone>
		<email></email>
		<birthDate></birthDate>
		<gender></gender>
		<addressLine1></addressLine1>
		<addressLine2></addressLine2>
		<country></country>
		<city></city>
		<state></state>
		<zipCode></zipCode>
		<userCustomFields>
			<userCustomField>
				<customFieldId></customFieldId>
				<customFieldValue></customFieldValue>
			</userCustomField>
		</userCustomFields>
	</zapiMethod>
</request>
```

{% endtab %}

{% tab title="Response" %}

```xml
<?xml version="1.0" encoding="utf-8"?>
<response>
    <zapiVersion>2.1</zapiVersion>
    <error>0</error>
    <message>OK</message>
    <methodResponse>
        <methodName>zapiGuests_UpdateProfile</methodName>
        <guestDetails>
            <guestID></guestID>
            <guestHashKey></guestHashKey>
            <accountId></accountId>
            <expiryDate></expiryDate>
            <username></username>
            <firstName></firstName>
            <lastName></lastName>
            <gender></gender>
            <mobilePhone></mobilePhone>
            <email></email>
            <addressLine1></addressLine1>
            <addressLine2></addressLine2>
            <city></city>
            <state></state>
            <country></country>
            <zipCode></zipCode>
            <birthDate></birthDate>
            <dateCreated></dateCreated>
            <userCustomFields>
                <customField>
                    <customFieldId></customFieldId>
                    <customFieldRequired></customFieldRequired>
                    <customFieldLabel></customFieldLabel>
                    <customFieldValue></customFieldValue>
                </customField>
            </userCustomFields>
            <relatedBookings>
                <totalNumberOfBookings></totalNumberOfBookings>
                <totalPurchases></totalPurchases>
                <mostRecentBookingCount></mostRecentBookingCount>
                <allBookings>
                    <booking>
                        <bookingNumber></bookingNumber>
                        <dateCreated></dateCreated>
                        <total></total>
                        <activities>
                            <activity>
                                <packageId></packageId>
                                <activityId></activityId>
                                <activityName></activityName>
                                <activityDate></activityDate>
                                <activityTime></activityTime>
                                <activityTotal></activityTotal>
                                <passengers>
                                    <seniors></seniors>
                                    <adults></adults>
                                    <students></students>
                                    <children></children>
                                    <infants></infants>
                                    <passengersAsString></passengersAsString>
                                </passengers>
                            </activity>
                        </activities>
                        <products/>
                    </booking>
                </allBookings>
            </relatedBookings>
        </guestDetails>
        <methodErrorCode></methodErrorCode>
        <methodErrorMessage></methodErrorMessage>
    </methodResponse>
</response>
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.zaui.com/zapi/zapi-calls/guest-specific/update-profile.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
