# Publish updates to instances


> Deploy updated F5 WAF for NGINX security policies, log profiles, signatures, and threat campaigns to your NGINX instances or instance groups using the Publish API.


Use the F5 NGINX Instance Manager Publish API to deploy updated security configurations to your NGINX instances or instance groups.
You can publish security policies, log profiles, attack signatures, bot signatures, and threat campaigns.

Call this endpoint **after** you’ve created or updated the resources you want to deploy.

**Note:** 
Use tools such as `curl` or [Postman](https://www.postman.com) to send requests to the NGINX Instance Manager REST API.
The API base URL is `https://<NIM-FQDN>/api/[nim|platform]/<API_VERSION>`.  
All requests require authentication. For details on authentication methods, see the [API overview](/nim/fundamentals/api-overview.md).

| Method | Endpoint |
|--------|-----------|
| POST | `/api/platform/v1/security/publish` |

### Information to include in your request

Include the following details in your request body, depending on what you’re publishing:

- Instance and instance group UIDs
- Policy UID and name
- Log profile UID and name
- Attack signature library UID and version
- Bot signature library UID and version
- Threat campaign UID and version

### Example request

```shell
curl -X POST https://<NIM_FQDN>/api/platform/v1/security/publish \
    -H "Authorization: Bearer <access token>" \
    -H "Content-Type: application/json" \
    -d @publish-request.json
```

#### JSON request

```json
{
  "publications": [
    {
      "attackSignatureLibrary": {
        "uid": "<attack-signature-library-uid>",
        "versionDateTime": "2022.10.02"
      },
      "botSignatureLibrary": {
        "uid": "<bot-signature-library-uid>",
        "versionDateTime": "2022.10.03"
      },
      "instanceGroups": [
        "<instance-group-uid>"
      ],
      "instances": [
        "<instance-uid>"
      ],
      "logProfileContent": {
        "name": "default-log-profile",
        "uid": "<log-profile-uid>"
      },
      "policyContent": {
        "name": "default-enforcement",
        "uid": "<policy-uid>"
      },
      "threatCampaign": {
        "uid": "<threat-campaign-uid>",
        "versionDateTime": "2022.10.01"
      }
    }
  ]
}
```

#### JSON response

```json
{
  "deployments": [
    {
      "deploymentUID": "ddc781ca-15d6-46c9-86ea-e7bdb91e8dec",
      "links": {
        "rel": "/api/platform/v1/security/deployments/ddc781ca-15d6-46c9-86ea-e7bdb91e8dec"
      },
      "result": "Publish security content request Accepted"
    }
  ]
}
```


