mutation webhookRotateSecretAuthenticated

Returns WebhookSecretResult!

Arguments

ArgumentTypeDescription
inputWebhookRotateSecretInput!

Example request

curl -X POST 'https://graph.clientloop.com/' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer <api-key>' \
  -d '{
    "query": "mutation WebhookRotateSecret($input: WebhookRotateSecretInput!) { webhookRotateSecret(input: $input) { webhook { id ownerId url events description enabled secretCheckValue createdAt updatedAt } signingSecret } }",
    "variables": {
      "input": {
        "id": "abc123"
      }
    }
  }'
const response = await fetch('https://graph.clientloop.com/', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer <api-key>',
  },
  body: JSON.stringify({
    query: `
      mutation WebhookRotateSecret($input: WebhookRotateSecretInput!) {
        webhookRotateSecret(input: $input) {
          webhook {
            id
            ownerId
            url
            events
            description
            enabled
            secretCheckValue
            createdAt
            updatedAt
          }
          signingSecret
        }
      }
    `,
    variables: {
      "input": {
        "id": "abc123"
      }
    },
  }),
});

const { data, errors } = await response.json();
<?php

$body = <<<'JSON'
{
  "query": "mutation WebhookRotateSecret($input: WebhookRotateSecretInput!) { webhookRotateSecret(input: $input) { webhook { id ownerId url events description enabled secretCheckValue createdAt updatedAt } signingSecret } }",
  "variables": {
    "input": {
      "id": "abc123"
    }
  }
}
JSON;

$ch = curl_init('https://graph.clientloop.com/');
curl_setopt_array($ch, [
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_POST => true,
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/json',
    'Authorization: Bearer <api-key>',
  ],
  CURLOPT_POSTFIELDS => $body,
]);

$response = curl_exec($ch);
curl_close($ch);

$result = json_decode($response, true);
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

var body = """
{
  "query": "mutation WebhookRotateSecret($input: WebhookRotateSecretInput!) { webhookRotateSecret(input: $input) { webhook { id ownerId url events description enabled secretCheckValue createdAt updatedAt } signingSecret } }",
  "variables": {
    "input": {
      "id": "abc123"
    }
  }
}
""";

var request = HttpRequest.newBuilder(URI.create("https://graph.clientloop.com/"))
    .header("Content-Type", "application/json")
    .header("Authorization", "Bearer <api-key>")
    .POST(HttpRequest.BodyPublishers.ofString(body))
    .build();

var response = HttpClient.newHttpClient()
    .send(request, HttpResponse.BodyHandlers.ofString());

System.out.println(response.body());
using System.Net.Http;
using System.Text;

var body = """
{
  "query": "mutation WebhookRotateSecret($input: WebhookRotateSecretInput!) { webhookRotateSecret(input: $input) { webhook { id ownerId url events description enabled secretCheckValue createdAt updatedAt } signingSecret } }",
  "variables": {
    "input": {
      "id": "abc123"
    }
  }
}
""";

using var client = new HttpClient();
using var content = new StringContent(body, Encoding.UTF8, "application/json");
client.DefaultRequestHeaders.Add("Authorization", "Bearer <api-key>");

var response = await client.PostAsync("https://graph.clientloop.com/", content);
var result = await response.Content.ReadAsStringAsync();

Types

input WebhookRotateSecretInput

FieldTypeDescription
idID!

type WebhookSecretResult

Returned only by webhookCreate and webhookRotateSecret: the webhook plus its raw signing secret, shown once and never retrievable again. Use it to verify delivered payload signatures.

FieldTypeDescription
webhookWebhook!
signingSecretString!

type Webhook

A subscription that delivers event notifications to an owner-supplied HTTPS endpoint. Referenced by id so its url or event list can change without affecting referencing records.

FieldTypeDescription
idID!
ownerIdID!
urlString!Destination HTTPS endpoint that receives event payloads via POST.
events[String!]!Event types this webhook is subscribed to (e.g. "commitment.created").
descriptionStringOptional human-readable label describing the webhook's purpose.
enabledBoolean!Whether the webhook is active and delivering events.
secretCheckValueString!Checksum of the signing secret, used to confirm which secret is configured without exposing it. The raw secret is only ever returned by webhookCreate and webhookRotateSecret.
createdAtDateTime!
updatedAtDateTime!

scalar DateTime

ISO 8601 formatted date time. Ex. 2023-11-23T14:30:00Z