---
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', 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'
  - `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

---

[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/97b15ca35ebf/schema)
