---
updatedAt: 2026-10-01T07:07:23.000Z
agentTools:
  projectIndex: https://docs.nexhealth.com/v2.2.2/llms.txt
---

# Create webhook subscription

# OpenAPI definition

```json
{
  "openapi": "3.0.0",
  "info": {
    "title": "NexHealth API v2.2.2 (Deprecated)",
    "description": "> **⚠️ Deprecated.** v2.2.2 is the legacy version of the NexHealth API and is deprecated; new development should target v3.0.0 (also known by its original date-based name v20240412). Our migration guide walks through every breaking change: https://docs.nexhealth.com/v20240412/docs/api-v2-to-v20240412-migration-guide\n\nWelcome to the developer hub and documentation for NexHealth API. This section of guide describes the operations, response parameters, request parameters, and parameter constraints related to User API. The term Operations refer to functions or methods. The operations are included in requests and send to the web server. Each operation performs a different action or a query on database.",
    "termsOfService": "https://www.nexhealth.com/terms-of-service",
    "contact": {
      "name": "NexHealth",
      "email": "info@nexhealth.com"
    },
    "license": {
      "name": "NexHealth License 1.0",
      "url": "https://www.nexhealth.com/privacy"
    },
    "version": "v2"
  },
  "security": [
    {
      "Authorization": []
    }
  ],
  "tags": [
    {
      "name": "Webhook Subscriptions",
      "description": "Configure webhook subscriptions to receive event based hooks"
    }
  ],
  "paths": {
    "/webhook_endpoints/{id}/webhook_subscriptions": {
      "post": {
        "summary": "Create webhook subscription",
        "parameters": [
          {
            "in": "header",
            "name": "Nex-Api-Version",
            "description": "The NexHealth API version",
            "required": true,
            "schema": {
              "type": "string",
              "default": "v2"
            }
          },
          {
            "in": "path",
            "name": "id",
            "description": "Webhook Endpoint id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "in": "query",
            "name": "subdomain",
            "description": "Used to scope the request to the specified institution",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/postWebhookEndpointsIdWebhookSubscriptions"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful",
            "content": {
              "application/vnd.Nexhealth+json;version=2": {
                "schema": {
                  "$ref": "#/components/schemas/API_V2_Entities_WebhookSubscription_Response"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/vnd.Nexhealth+json;version=2": {
                "schema": {
                  "$ref": "#/components/schemas/API_Errors_BadRequest"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.Nexhealth+json;version=2": {
                "schema": {
                  "$ref": "#/components/schemas/API_Errors_Unauthorized"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.Nexhealth+json;version=2": {
                "schema": {
                  "$ref": "#/components/schemas/API_Errors_Forbidden"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/vnd.Nexhealth+json;version=2": {
                "schema": {
                  "$ref": "#/components/schemas/API_Errors_NotFound"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/vnd.Nexhealth+json;version=2": {
                "schema": {
                  "$ref": "#/components/schemas/API_Errors_InternalServerError"
                }
              }
            }
          }
        },
        "tags": [
          "Webhook Subscriptions"
        ],
        "operationId": "postWebhookEndpointsIdWebhookSubscriptions"
      }
    }
  },
  "servers": [
    {
      "url": "https://nexhealth.info"
    }
  ],
  "components": {
    "securitySchemes": {
      "Authorization": {
        "type": "apiKey",
        "name": "Authorization",
        "in": "header"
      }
    },
    "schemas": {
      "API_Errors_BadRequest": {
        "type": "object",
        "properties": {
          "code": {
            "type": "boolean",
            "description": "Indicates the success or failure of the request."
          },
          "description": {
            "type": "string",
            "description": "Additional context about the request to help with debugging."
          },
          "data": {
            "type": "object"
          },
          "error": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Any errors that occured during the execution of the request."
          }
        },
        "description": "API_Errors_BadRequest model"
      },
      "API_Errors_Unauthorized": {
        "type": "object",
        "properties": {
          "code": {
            "type": "boolean",
            "description": "Indicates the success or failure of the request."
          },
          "description": {
            "type": "string",
            "description": "Additional context about the request to help with debugging."
          },
          "data": {
            "type": "object"
          },
          "error": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Any errors that occured during the execution of the request."
          }
        },
        "description": "API_Errors_Unauthorized model"
      },
      "API_Errors_Forbidden": {
        "type": "object",
        "properties": {
          "code": {
            "type": "boolean",
            "description": "Indicates the success or failure of the request."
          },
          "description": {
            "type": "string",
            "description": "Additional context about the request to help with debugging."
          },
          "data": {
            "type": "object"
          },
          "error": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Any errors that occured during the execution of the request."
          }
        },
        "description": "API_Errors_Forbidden model"
      },
      "API_Errors_InternalServerError": {
        "type": "object",
        "properties": {
          "code": {
            "type": "boolean",
            "description": "Indicates the success or failure of the request."
          },
          "description": {
            "type": "string",
            "description": "Additional context about the request to help with debugging."
          },
          "data": {
            "type": "object"
          },
          "error": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Any errors that occured during the execution of the request."
          }
        },
        "description": "API_Errors_InternalServerError model"
      },
      "API_Errors_NotFound": {
        "type": "object",
        "properties": {
          "code": {
            "type": "boolean",
            "description": "Indicates the success or failure of the request."
          },
          "description": {
            "type": "string",
            "description": "Additional context about the request to help with debugging."
          },
          "data": {
            "type": "object"
          },
          "error": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Any errors that occured during the execution of the request."
          }
        },
        "description": "API_Errors_NotFound model"
      },
      "API_V2_Entities_WebhookSubscription": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32",
            "example": 1,
            "description": "Subscription id"
          },
          "webhook_endpoint_id": {
            "type": "integer",
            "format": "int32",
            "example": 1,
            "description": "Webhook Endpoint id"
          },
          "institution_id": {
            "type": "integer",
            "format": "int32",
            "example": 1,
            "description": "Institution id. Null for subscriptions to resources not owned by an institution (currently: Onboarding)",
            "nullable": true
          },
          "resource_type": {
            "type": "string",
            "example": "Appointment",
            "description": "Resource type"
          },
          "event": {
            "type": "string",
            "example": "appointment_insertion",
            "description": "Event type"
          },
          "active": {
            "type": "boolean",
            "example": true,
            "description": "True if subscription is active"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "example": "2020-06-05T20:16:57.007Z",
            "description": "Subscription create date in UTC"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "example": "2020-06-05T20:16:57.007Z",
            "description": "Subscription update date in UTC"
          }
        }
      },
      "postWebhookEndpointsIdWebhookSubscriptions": {
        "type": "object",
        "properties": {
          "resource_type": {
            "type": "string",
            "description": "The resource to subscribe to",
            "enum": [
              "Appointment",
              "Document",
              "FormResponse",
              "Patient",
              "PatientInsuranceCoverage",
              "Procedure",
              "ProcedureCode",
              "SyncStatus"
            ],
            "example": "Appointment"
          },
          "event": {
            "type": "string",
            "description": "A valid event type to listen to for the defined resource",
            "enum": [
              "appointment_insertion",
              "appointment_created",
              "appointment_updated",
              "appointment_requested",
              "document_insertion",
              "form_response_insertion",
              "patient_created",
              "patient_updated",
              "patient_insurance_created",
              "patient_insurance_updated",
              "procedure_created",
              "procedure_updated",
              "procedure_code_created",
              "procedure_code_updated",
              "procedure_code_deleted",
              "sync_status_read_change",
              "sync_status_write_change"
            ],
            "example": "appointment_insertion"
          },
          "active": {
            "type": "boolean",
            "default": true,
            "example": true
          }
        },
        "required": [
          "resource_type",
          "event"
        ],
        "description": "Create webhook subscription"
      },
      "API_V2_Entities_WebhookSubscription_Response": {
        "type": "object",
        "properties": {
          "code": {
            "type": "boolean",
            "example": false,
            "description": "Indicates the success or failure of the request"
          },
          "description": {
            "type": "string",
            "example": "Description",
            "description": "Additional context on the request to help with debugging."
          },
          "error": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "Error message"
            ],
            "description": "Any errors that occur during the execution of the request."
          },
          "data": {
            "$ref": "#/components/schemas/API_V2_Entities_WebhookSubscription"
          },
          "count": {
            "type": "integer",
            "format": "int32",
            "example": 2,
            "description": "Number of total objects, in case of collection."
          }
        },
        "description": "API_V2_Entities_WebhookSubscription_Response model"
      }
    }
  }
}
```