---
title: "Sync declarative configuration"
method: POST
path: "/workspaces/{ws_id}/config/sync"
tags: ["Declarative"]
---

# Sync declarative configuration

`POST /workspaces/{ws_id}/config/sync`

## Path parameters

- `ws_id` string, required

## Request body

- Configuration
  - `endpoints` object[]
    - `id` string
    - `name` string, nullable
    - `description` string, nullable
    - `enabled` boolean
    - `request` object
      - `url` string, required
      - `method` 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'
      - `headers` object, nullable
      - `timeout` integer
    - `retry` object
      - `strategy` 'fixed'
      - `config` object
        - `attempts` integer[]
    - `events` string[]
    - `metadata` Metadata
    - `rate_limit` RateLimit, nullable — The rate limit that uses GCRA algorithm (a variant of the leaky bucket algorithm that supports bursts).
      - `quota` integer, required — Rate limiting quota that allowed in every period.
      - `period` integer, required — Rate limiting period in seconds.
    - `created_at` integer
    - `updated_at` integer
    - `plugins` Plugin[]
      - `id` string
      - `name` string
      - `enabled` boolean
      - `endpoint_id` string, nullable
      - `source_id` string, nullable
      - `config` object
      - `metadata` Metadata
      - `created_at` integer
      - `updated_at` integer
  - `sources` object[]
    - `id` string
    - `name` string, nullable
    - `enabled` boolean
    - `type` 'http'
    - `config` object, required
      - `http` HTTPSourceConfig, required
        - `path` string
        - `methods` string[]
        - `response` object, nullable
          - `code` integer, required
          - `content_type` string, required
          - `body` string
    - `async` boolean — Whether to ingest events asynchronously through the queue
    - `metadata` Metadata
    - `rate_limit` RateLimit, nullable — The rate limit that uses GCRA algorithm (a variant of the leaky bucket algorithm that supports bursts).
      - `quota` integer, required — Rate limiting quota that allowed in every period.
      - `period` integer, required — Rate limiting period in seconds.
    - `created_at` integer
    - `updated_at` integer
    - `plugins` Plugin[]
      - `id` string
      - `name` string
      - `enabled` boolean
      - `endpoint_id` string, nullable
      - `source_id` string, nullable
      - `config` object
      - `metadata` Metadata
      - `created_at` integer
      - `updated_at` integer

## Response `200`

OK

---

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