Publish updates to instances

Use the 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.

Use tools such as curl or Postman 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.
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"
    }
  ]
}