---
title: "Create or update an integration"
method: POST
path: "/secrets/integrations/create/{provider}"
tags: ["Integrations"]
---

# Create or update an integration

`POST /secrets/integrations/create/{provider}`

Use when storing or updating credentials for an external integration (e.g. Stripe, HubSpot). Secrets are encrypted at rest.

## Path parameters

- `provider` string, required

## Request body

- DtoCreateIntegrationRequest
  - `credentials` object, required
  - `name` string, required
  - `provider` 'flexprice' | 'stripe' | 's3' | 'hubspot' | 'razorpay' | 'chargebee' | 'quickbooks' | 'nomod' | 'moyasar' | 'paddle', required

## Response `201`

Created

- DtoSecretResponse
  - `created_at` string
  - `display_id` string
  - `expires_at` string
  - `id` string
  - `last_used_at` string
  - `name` string
  - `provider` 'flexprice' | 'stripe' | 's3' | 'hubspot' | 'razorpay' | 'chargebee' | 'quickbooks' | 'nomod' | 'moyasar' | 'paddle'
  - `roles` string[] — RBAC roles
  - `status` 'published' | 'deleted' | 'archived'
  - `type` 'private_key' | 'publishable_key' | 'integration'
  - `updated_at` string
  - `user_type` 'user' | 'service_account'

## Other responses

- `400` — Invalid request
- `500` — Server error

## Changes

- **2026-03-20** `fdc2d8c76b76` — 1 warning, 1 info
  - added the new `paddle` enum value to the `provider` response property for the response status `201`
  - added the new `paddle` enum value to the request property `provider`

[Change history](https://skmtc.dev/flexprice/apis/flexprice-api/changes/secrets/integrations/create/:provider/post.md)

---

[API](https://skmtc.dev/flexprice/apis/flexprice-api.md) · [All operations](https://skmtc.dev/flexprice/apis/flexprice-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/flexprice/flexprice-api/revisions/fdc2d8c76b76/schema)
