---
title: "Link customer integration"
method: POST
path: "/api/v1/customers/{id}/integrations"
tags: ["Customer Integrations"]
---

# Link customer integration

`POST /api/v1/customers/{id}/integrations`

Links a customer to an external integration by specifying the vendor and external entity ID.

## Path parameters

- `id` string, required

## Headers

- `X-ACCOUNT-ID` string
- `X-ENVIRONMENT-ID` string

## Request body

- CreateCustomerIntegrationRequestDto — Links a customer to an external integration.
  - `id` string, required — Integration details
  - `vendorIdentifier` 'AUTH0' | 'ZUORA' | 'STRIPE' | 'HUBSPOT' | 'AWS_MARKETPLACE' | 'SNOWFLAKE' | 'SALESFORCE' | 'BIG_QUERY' | 'OPEN_FGA' | 'APP_STORE' | 'RECEIVED' | 'PREQUEL', required — The vendor identifier of integration
  - `syncedEntityId` string, required — Synced entity id

## Response `201`

The created customer integration object.

- CustomerIntegrationResponseDto — Response object
  - `data` object, required — External billing or CRM integration link
    - `id` string, required — Integration details
    - `vendorIdentifier` 'AUTH0' | 'ZUORA' | 'STRIPE' | 'HUBSPOT' | 'AWS_MARKETPLACE' | 'SNOWFLAKE' | 'SALESFORCE' | 'BIG_QUERY' | 'OPEN_FGA' | 'APP_STORE' | 'RECEIVED' | 'PREQUEL', required — The vendor identifier of integration
    - `syncedEntityId` string, nullable, required — Synced entity id
    - `syncData` union
      - object — Price billing sync revision data containing billing ID, link URL, and price group package billing ID
        - `billingId` string, required — Billing integration id
        - `billingLinkUrl` string, required — Billing integration url
        - `priceGroupPackageBillingId` string, required — Price group package billing id
      - object — Billing sync revision data containing billing ID and link URL
        - `billingId` string, required — Billing integration id
        - `billingLinkUrl` string, required — Billing integration url
      - object — Marketplace sync revision data containing dimensions
        - `dimensions` string, required — Dimensions of the marketplace sync revision

## Other responses

- `400` — bad request.
- `401` — User is not authenticated.
- `403` — User is not allowed to access this resource.
- `409` — CustomerIntegration conflict error.
- `429` — Too many requests.

## Changes

- **2026-06-15** `7296f9e4b654` — 1 warning
  - added the new `InvoicePreviewNotAvailableForDraftContract` enum value to the `code` response property for the response status `409`
- **2026-06-08** `3acd63d6c861` — 2 info
  - added the new optional `header` request parameter `X-ACCOUNT-ID`
  - added the new optional `header` request parameter `X-ENVIRONMENT-ID`
- **2026-06-04** `4fa87d66426d` — 1 warning
  - added the new `PricingModelNotSupportedByBillingIntegration` enum value to the `code` response property for the response status `400`
- **2026-06-01** `3dad98111f0d` — 1 warning, 1 info
  - added the new `PREQUEL` enum value to the `data/vendorIdentifier` response property for the response status `201`
  - added the new `PREQUEL` enum value to the request property `vendorIdentifier`
- **2026-05-31** `0dece860f678` — 1 warning
  - added the new `DataExportIntegrationError` enum value to the `code` response property for the response status `400`

[Full history](https://skmtc.dev/stiggio/apis/stigg-api/changes/api/v1/customers/:id/integrations/post.md)

---

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