---
title: "Publish Instance Template"
method: POST
path: "/api/integrations/instances/{instance_id}/publications"
tags: ["integrations"]
---

# Publish Instance Template

`POST /api/integrations/instances/{instance_id}/publications`

## Request

- Base URL: `https://app.thinqos.com` (the document declares no server; this is the origin it was published from)
- URL: `https://app.thinqos.com/api/integrations/instances/{instance_id}/publications`
- Auth: none declared

Publish an integration you own as a reusable, credential-free template (an Integration
Publication) that other people can discover and install with their own credentials — the MCP
equivalent of the 'Publish' button on a connected tool. Pass the registration_id (the
integration instance id from integration_list) and a visibility: 'public' lists it in the
community catalog for any thinqOS user; 'private' keeps it unlisted and reachable only via the
returned share_token link. Secrets, OAuth tokens, and per-account connections are NEVER included
— only the connector shape (transport, auth kind, scopes, setup metadata). Re-publishing the
same definition creates a new version in the same series. Optionally pass name and/or
description to give the PUBLIC template a clean, brand-correct identity distinct from your
private integration name (recommended - your own integration is left untouched); omit them to
inherit the integration's name/description. Returns the publication_id, version, visibility, and
share_token. Fails with a clear message if you don't own the integration or visibility is
invalid.

## Path parameters

- `instance_id` string, uuid, required

## Headers

- `x-impersonate-identity-id` string, nullable

## Request body

- IntegrationPublicationRequest
  - `visibility` string
  - `name` string, nullable
  - `description` string, nullable

## Response `201`

Successful Response

- IntegrationPublicationOut
  - `id` string, uuid, required
  - `source_definition_id` string, uuid, nullable, required
  - `catalog_definition_id` string, uuid, nullable
  - `execution_profile_id` string, uuid, nullable
  - `series_id` string, uuid, required
  - `version` integer, required
  - `name` string, required
  - `slug` string, required
  - `description` string, nullable, required
  - `vendor` string, nullable, required
  - `icon_url` string, nullable, required
  - `visibility` string, required
  - `published_at` string, date-time, required
  - `retracted_at` string, date-time, nullable, required
  - `auth_kind` string, required
  - `transport` string, required
  - `base_url` string, nullable, required
  - `oauth_scopes` string, nullable, required
  - `requires_reconnect` boolean, required
  - `required_secret_names` string[], required
  - `share_token` string, nullable
  - `active_integration_count` integer
  - `installed_by_caller` boolean

## Other responses

- `422`: Validation Error

---

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