---
title: "POST /v1/orgs/{orgId}/claude-marketplace/sync"
method: POST
path: "/v1/orgs/{orgId}/claude-marketplace/sync"
tags: ["Claude Marketplace", "Orgs"]
---

# POST /v1/orgs/{orgId}/claude-marketplace/sync

`POST /v1/orgs/{orgId}/claude-marketplace/sync`

## Request

- Base URL: `https://api.tessl.io`
- URL: `https://api.tessl.io/v1/orgs/{orgId}/claude-marketplace/sync`
- Auth: none declared

Starts an asynchronous synchronization of the organization's Claude marketplace configuration to its configured GitHub repository. Returns 202 with the created run, or 409 with the existing run when a synchronization is already pending.

## Path parameters

- `orgId` string, uuid, required

## Headers

- `Authorization` string

## Response `202`

Default Response

- object
  - `links` object, required
    - `self` string, uri, required
  - `data` object, required
    - `id` string, uuid, required
    - `type` 'claude-marketplace-sync-run', required
    - `attributes` object, required
      - `lifecycle` union, required
        - 'preparing'
        - 'awaiting_merge'
        - 'completed_changed'
        - 'completed_unchanged'
        - 'failed'
      - `trigger` union, required
        - 'manual'
        - 'scheduled'
      - `additions` integer, nullable, required
      - `updates` integer, nullable, required
      - `removals` integer, nullable, required
      - `commitSha` string, nullable, required
      - `sourceBranch` string, nullable, required
      - `pullRequestNumber` integer, nullable, required
      - `pullRequestUrl` string, nullable, required
      - `proposedCommitSha` string, nullable, required
      - `failureCode` union, required
        - 'configuration_invalid'
        - 'repository_unavailable'
        - 'repository_empty'
        - 'permission_denied'
        - 'plugin_unavailable'
        - 'unsupported_plugin'
        - 'plugin_name_collision'
        - 'repository_too_large'
        - 'repository_conflict'
        - 'commit_unsigned'
        - 'provider_unavailable'
        - 'internal_error'
        - 'pull_request_closed'
        - 'merge_timeout'
        - 'merge_method_not_allowed'
      - `failureMessage` string, nullable, required
      - `conversionWarnings` union[], required
        - union
          - object
            - `code` 'rules_not_activated', required
            - `plugin` string, required
            - `sourcePaths` string[], required
          - object
            - `code` 'manifest_source_omitted', required
            - `plugin` string, required
          - object
            - `code` 'warnings_truncated', required
            - `omittedCount` integer, required
      - `heldBackPlugins` object[], required
        - `tileId` string, required
        - `fullName` string, required
        - `attemptedVersion` string, required
        - `publishedVersion` string, nullable, required
      - `createdAt` string, required
      - `startedAt` string, nullable, required
      - `completedAt` string, nullable, required

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `409`: Default Response
- `422`: Unprocessable Entity
- `500`: Internal Server Error

## Changes

- **2026-10-16** `011f27f8354e`: 2 info
  - added `subschema #7` to the `data/attributes/failureCode/anyOf[subschema #1]/` response property `anyOf` list for the response status `202`
  - added `subschema #7` to the `data/attributes/failureCode/anyOf[subschema #1]/` response property `anyOf` list for the response status `409`
- **2026-10-15** `f06a9f376235`: 2 info
  - added `subschema #14` to the `data/attributes/failureCode/anyOf[subschema #1]/` response property `anyOf` list for the response status `202`
  - added `subschema #14` to the `data/attributes/failureCode/anyOf[subschema #1]/` response property `anyOf` list for the response status `409`
- **2026-10-12** `0638e4a8a146`: 4 info
  - added `subschema #9` to the `data/attributes/failureCode/anyOf[subschema #1]/` response property `anyOf` list for the response status `202`
  - added `subschema #9` to the `data/attributes/failureCode/anyOf[subschema #1]/` response property `anyOf` list for the response status `409`
  - added the required property `data/attributes/heldBackPlugins` to the response with the `202` status
  - added the required property `data/attributes/heldBackPlugins` to the response with the `409` status
- **2026-09-23** `288d28ba107c`: 2 info
  - added the required property `data/attributes/conversionWarnings` to the response with the `202` status
  - added the required property `data/attributes/conversionWarnings` to the response with the `409` status
- …earlier changes not shown

[Operation history](https://skmtc.dev/tessl/apis/tessl-api/changes/v1/orgs/:orgId/claude-marketplace/sync/post.md)

---

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