---
title: "Create or update webhooks."
method: POST
path: "/webhook/upsert"
tags: ["Webhook|Webhook"]
---

# Create or update webhooks.

`POST /webhook/upsert`

This endpoint enables you to create or update webhooks.

## Request body

- StandardWebhookUpsertRequest
  - `records` object[] — The records. This Parameter is optional.
    - `keyField` string — This parameter specifies the name of the unique key used to distinctly assign each dataset in the API. | Value | Description | |----------------|------------------------------------| | id | The internal webhook ID | | externalid | The external webhook ID |
    - `data` WebhookUpsertRequestRecordData
      - `id` string — The internal id of the webhook.
      - `externalId` string — The external id of the webhook. (max. 255 characters)
      - `externalName` string — The external name of the webhook. (max. 255 characters)
      - `applicationId` string — The internal id of the application.
      - `applicationExternalId` string — The external id of the application.
      - `configuration` integer[] — The configuration as a JSON Object.
      - `active` boolean — The active flag.
      - `url` string — The url of the webhook. (max. 255 characters) The url may be relative to the application base url.
      - `sequence` integer — The sequence.
      - `applicationName` string — The name of the application, if it were to be created in combination of applicationExternalId.
      - `applicationBaseUrl` string — The base url of the application, if it were to be created in combination of applicationExternalId.
  - `dryRun` boolean — Simulate the operation. (No records will be created or changed) This Parameter is optional.

## Response `200`

Success Response:

- StandardWebhookUpsertResponse
  - `createdWebhooks` object[] — The created webhooks.
    - `id` string — The internal id of the webhook.
    - `application` StandardWebhookApplicationBaseWebhookApplicationReference
      - `id` string — The internal id of the application.
      - `name` string — The name of the application.
      - `externalId` string — The external id of the application.
    - `externalId` string — The external id of the webhook.
    - `externalName` string — The external name.
    - `resolvedUrl` string — The resolved url of the webhook.
    - `url` string — The configured url.
    - `configuration` integer[] — The configuration as a JSON Object.
    - `active` string — Is the webhook active?
    - `sequence` integer — The sequence.
  - `updatedWebhooks` object[] — The changed webhooks.
    - `id` string — The internal id of the webhook.
    - `application` StandardWebhookApplicationBaseWebhookApplicationReference
      - `id` string — The internal id of the application.
      - `name` string — The name of the application.
      - `externalId` string — The external id of the application.
    - `externalId` string — The external id of the webhook.
    - `externalName` string — The external name.
    - `resolvedUrl` string — The resolved url of the webhook.
    - `url` string — The configured url.
    - `configuration` integer[] — The configuration as a JSON Object.
    - `active` string — Is the webhook active?
    - `sequence` integer — The sequence.

---

[API](https://skmtc.net/geocapture/apis/geocapture-api.md) · [All operations](https://skmtc.net/geocapture/apis/geocapture-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/geocapture/geocapture-api/versions/869b05603541/schema)
