---
title: "Manually trigger a pull"
method: POST
path: "/api/federation/subscriptions/{id}/sync"
tags: ["Federation"]
---

# Manually trigger a pull

`POST /api/federation/subscriptions/{id}/sync`

## Request

- Base URL: `http://localhost:38200`
- URL: `http://localhost:38200/api/federation/subscriptions/{id}/sync`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `token`

Enqueues the same durable pg-boss `federation-sync` job the scheduler would enqueue, windowed-deduped so a manual trigger, the inbound webhook nudge, and the scheduler's own tick can never enqueue more than one pull per window.

## Path parameters

- `id` integer, required

## Response `202`

Sync job enqueued (or already-throttled no-op).

- object
  - `jobId` string
  - `subscriptionId` integer
  - `throttled` boolean

## Other responses

- `401`: Missing or invalid credentials.
- `403`: The caller has no resolvable tenant context.
- `404`: Resource not found (or not visible to the caller).

---

[API](https://skmtc.dev/contextq/apis/contextq-api.md) · [All operations](https://skmtc.dev/contextq/apis/contextq-api/llms.txt) · [OpenAPI document](https://skmtc.dev/contextq/apis/contextq-api/revisions/7afc44056a22?raw)
