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

# Update Endpoint WSA Settings

> Updates WS-Addressing (WSA) settings for a specific SOAP endpoint. WS-Addressing provides a way to include addressing information in SOAP messages, enabling asynchronous messaging and message correlation.

## Endpoint

```
PATCH /apiops/projects/{projectName}/apiProxies/{apiProxyName}/endpoints/wsa/
```

## Authentication

Requires a Personal API Access Token.

### Header

```
Authorization: Bearer YOUR_TOKEN
```

## Request

### Headers

| Header        | Value            | Required |
| ------------- | ---------------- | -------- |
| Authorization | Bearer {token}   | Yes      |
| Content-Type  | application/json | Yes      |

### Path Parameters

| Parameter    | Type   | Required | Description    |
| ------------ | ------ | -------- | -------------- |
| projectName  | string | Yes      | Project name   |
| apiProxyName | string | Yes      | API Proxy name |

### Request Body

#### Full JSON Body Example - Basic WSA Settings

```json theme={null}
{
  "identifierName": "getUser",
  "identifierHttpMethod": "POST",
  "wsaSettings": {
    "wsaEnabled": true,
    "wsaMustUnderstand": "NONE",
    "wsaVersion": "V200508",
    "wsaAddDefaultAction": true,
    "wsaAction": null,
    "wsaAddDefaultTo": true,
    "wsaTo": null,
    "wsaReplyTo": null,
    "wsaGenerateMessageId": true,
    "wsaMessageId": null,
    "wsaFrom": null,
    "wsaFaultTo": null,
    "wsaRelatesTo": null,
    "wsaRelationShipType": null
  }
}
```

#### Full JSON Body Example - Custom WSA Settings

```json theme={null}
{
  "identifierName": "getUser",
  "identifierHttpMethod": "POST",
  "wsaSettings": {
    "wsaEnabled": true,
    "wsaMustUnderstand": "TRUE",
    "wsaVersion": "V200508",
    "wsaAddDefaultAction": false,
    "wsaAction": "http://example.com/soap/action",
    "wsaAddDefaultTo": false,
    "wsaTo": "http://example.com/soap/service",
    "wsaReplyTo": "http://example.com/soap/reply",
    "wsaGenerateMessageId": false,
    "wsaMessageId": "urn:uuid:12345678-1234-1234-1234-123456789012",
    "wsaFrom": "http://example.com/soap/from",
    "wsaFaultTo": "http://example.com/soap/fault",
    "wsaRelatesTo": "urn:uuid:87654321-4321-4321-4321-210987654321",
    "wsaRelationShipType": "Reply"
  },
  "deploy": false,
  "deployTargetEnvironmentNameList": []
}
```

#### Request Body Fields

| Field                           | Type           | Required | Default | Description                                                                                                       |
| ------------------------------- | -------------- | -------- | ------- | ----------------------------------------------------------------------------------------------------------------- |
| identifierName                  | string         | Yes      | -       | Endpoint name (used to identify the endpoint)                                                                     |
| identifierHttpMethod            | string         | Yes      | -       | HTTP method for the endpoint (used to identify the endpoint). See [EnumHttpRequestMethod](#enumhttprequestmethod) |
| wsaSettings                     | object         | Yes      | -       | WSA settings object (see fields below)                                                                            |
| deploy                          | boolean        | No       | false   | If true, deploy the API proxy after saving changes                                                                |
| deployTargetEnvironmentNameList | array\[string] | No       | -       | List of environment names to deploy to (required when deploy=true)                                                |

#### WSA Settings Object Fields

| Field                | Type    | Required | Default | Description                                                                                 |
| -------------------- | ------- | -------- | ------- | ------------------------------------------------------------------------------------------- |
| wsaEnabled           | boolean | No       | false   | Enable WS-Addressing                                                                        |
| wsaMustUnderstand    | string  | No       | NONE    | MustUnderstand attribute value. See [EnumSoapWsaMustUnderstand](#enumsoapwsamustunderstand) |
| wsaVersion           | string  | No       | V200508 | WSA version. See [EnumSoapWsaVersion](#enumsoapwsaversion)                                  |
| wsaAddDefaultAction  | boolean | No       | false   | Add default Action from SOAP action                                                         |
| wsaAction            | string  | No       | null    | Custom Action URI (if wsaAddDefaultAction is false)                                         |
| wsaAddDefaultTo      | boolean | No       | false   | Add default To address from target                                                          |
| wsaTo                | string  | No       | null    | Custom To address (if wsaAddDefaultTo is false)                                             |
| wsaReplyTo           | string  | No       | null    | ReplyTo address URI                                                                         |
| wsaGenerateMessageId | boolean | No       | false   | Generate MessageID automatically                                                            |
| wsaMessageId         | string  | No       | null    | Custom MessageID (if wsaGenerateMessageId is false)                                         |
| wsaFrom              | string  | No       | null    | From address URI                                                                            |
| wsaFaultTo           | string  | No       | null    | FaultTo address URI                                                                         |
| wsaRelatesTo         | string  | No       | null    | RelatesTo message ID                                                                        |
| wsaRelationShipType  | string  | No       | null    | RelationshipType for RelatesTo                                                              |

### EnumSoapWsaMustUnderstand (wsaMustUnderstand)

* `NONE` - No mustUnderstand attribute (default)
* `TRUE` - mustUnderstand="true"
* `FALSE` - mustUnderstand="false"

### EnumSoapWsaVersion (wsaVersion)

* `V200408` - WS-Addressing 2004/08 ([http://schemas.xmlsoap.org/ws/2004/08/addressing](http://schemas.xmlsoap.org/ws/2004/08/addressing))
* `V200508` - WS-Addressing 2005/08 ([http://www.w3.org/2005/08/addressing](http://www.w3.org/2005/08/addressing)) (default)

### Notes

* This endpoint is only available for SOAP API Proxies.
* `wsaEnabled: true` enables WS-Addressing headers in SOAP messages.
* `wsaAddDefaultAction: true` uses the SOAP action from the method definition.
* `wsaAddDefaultTo: true` uses the target address as the To address.
* `wsaGenerateMessageId: true` automatically generates a UUID-based MessageID.
* MessageID format: `urn:uuid:{UUID}`
* Addresses should be valid URIs.

## Response

### Success Response (200 OK)

```json theme={null}
{
  "success": true
}
```

When `deploy=true` is specified:

```json theme={null}
{
  "success": true,
  "deploymentResult": {
    "success": true,
    "deploymentResults": [
      {
        "environmentName": "production",
        "success": true,
        "message": "Deployment successful"
      }
    ]
  }
}
```

#### Response Fields

| Field                              | Type    | Description                                       |
| ---------------------------------- | ------- | ------------------------------------------------- |
| success                            | boolean | Indicates if the request was successful           |
| deploymentResult                   | object  | Deployment result (only present when deploy=true) |
| deploymentResult.success           | boolean | Whether the overall deployment was successful     |
| deploymentResult.deploymentResults | array   | Per-environment deployment results                |

## cURL Example

```bash theme={null}
curl -X PATCH \
  "https://demo.apinizer.com/apiops/projects/MyProject/apiProxies/MyAPI/endpoints/wsa/" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "identifierName": "getUser",
    "identifierHttpMethod": "POST",
    "wsaSettings": {
      "wsaEnabled": true,
      "wsaMustUnderstand": "NONE",
      "wsaVersion": "V200508",
      "wsaAddDefaultAction": true,
      "wsaAddDefaultTo": true,
      "wsaGenerateMessageId": true
    }
  }'
```

### Save and Deploy

```bash theme={null}
curl -X PATCH \
  "https://demo.apinizer.com/apiops/projects/MyProject/apiProxies/MyAPI/endpoints/wsa/" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "identifierName": "getUser",
    "identifierHttpMethod": "POST",
    "wsaSettings": {
      "wsaEnabled": true,
      "wsaVersion": "V200508",
      "wsaAddDefaultAction": true,
      "wsaAddDefaultTo": true,
      "wsaGenerateMessageId": true
    },
    "deploy": true,
    "deployTargetEnvironmentNameList": ["production"]
  }'
```

## Permissions

User must have **`API_MANAGEMENT` + `MANAGE`** permission in the project.

## Notes and Warnings

* **SOAP Only**:
  * WSA settings are only available for SOAP API Proxies
  * REST endpoints do not support WS-Addressing
* **WSA Version**:
  * `V200508` - Modern standard (recommended)
  * `V200408` - Legacy version
* **Action**:
  * `wsaAddDefaultAction: true` - Uses SOAP action from method
  * `wsaAddDefaultAction: false` - Requires custom `wsaAction`
* **To Address**:
  * `wsaAddDefaultTo: true` - Uses target address
  * `wsaAddDefaultTo: false` - Requires custom `wsaTo`
* **MessageID**:
  * `wsaGenerateMessageId: true` - Auto-generates UUID
  * `wsaGenerateMessageId: false` - Requires custom `wsaMessageId`
* **MustUnderstand**:
  * Controls whether WSA headers must be understood
  * `TRUE` - Headers must be understood (may cause errors if not supported)
  * `FALSE` - Headers optional
  * `NONE` - No mustUnderstand attribute
* **Deploy**: When `deploy=true`, the API proxy is automatically deployed to the specified environments after saving

## Related Documentation

* [List Endpoints](/api-reference/api-proxies/endpoints/list-endpoints) - List all endpoints
* [Get Endpoint](/api-reference/api-proxies/endpoints/get-endpoint) - Get endpoint details
* [Update Endpoint](/api-reference/api-proxies/endpoints/update-endpoint) - Update endpoint configuration
