---
title: "POST /v1/app-connections"
method: POST
path: "/v1/app-connections"
tags: ["app-connections"]
---

# POST /v1/app-connections

`POST /v1/app-connections`

Upsert an app connection based on the app name

## Request body

- union
  - object — Secret Text
    - `externalId` string, required
    - `displayName` string, required
    - `pieceName` string, required
    - `projectId` string, required
    - `metadata` object
    - `pieceVersion` string
    - `type` 'SECRET_TEXT', required
    - `value` object, required
      - `type` 'SECRET_TEXT', required
      - `secret_text` string, required
  - object — OAuth2
    - `externalId` string, required
    - `displayName` string, required
    - `pieceName` string, required
    - `projectId` string, required
    - `metadata` object
    - `pieceVersion` string
    - `type` 'OAUTH2', required
    - `value` object, required
      - `client_id` string, required
      - `code` string, required
      - `code_challenge` string
      - `scope` string, required
      - `authorization_method` 'HEADER' | 'BODY'
      - `client_secret` string, required
      - `grant_type` 'authorization_code' | 'client_credentials'
      - `props` object
      - `redirect_url` string, required
      - `type` 'OAUTH2', required
  - object — Cloud OAuth2
    - `externalId` string, required
    - `displayName` string, required
    - `pieceName` string, required
    - `projectId` string, required
    - `metadata` object
    - `pieceVersion` string
    - `type` 'CLOUD_OAUTH2', required
    - `value` object, required
      - `client_id` string, required
      - `code` string, required
      - `code_challenge` string
      - `scope` string, required
      - `authorization_method` 'HEADER' | 'BODY'
      - `props` object
      - `type` 'CLOUD_OAUTH2', required
  - object — Platform OAuth2
    - `externalId` string, required
    - `displayName` string, required
    - `pieceName` string, required
    - `projectId` string, required
    - `metadata` object
    - `pieceVersion` string
    - `type` 'PLATFORM_OAUTH2', required
    - `value` object, required
      - `client_id` string, required
      - `code` string, required
      - `code_challenge` string
      - `scope` string, required
      - `authorization_method` 'HEADER' | 'BODY'
      - `props` object
      - `type` 'PLATFORM_OAUTH2', required
      - `redirect_url` string, required
  - object — Basic Auth
    - `externalId` string, required
    - `displayName` string, required
    - `pieceName` string, required
    - `projectId` string, required
    - `metadata` object
    - `pieceVersion` string
    - `type` 'BASIC_AUTH', required
    - `value` object, required
      - `username` string, required
      - `password` string, required
      - `type` 'BASIC_AUTH', required
  - object — Custom Auth
    - `externalId` string, required
    - `displayName` string, required
    - `pieceName` string, required
    - `projectId` string, required
    - `metadata` object
    - `pieceVersion` string
    - `type` 'CUSTOM_AUTH', required
    - `value` object, required
      - `type` 'CUSTOM_AUTH', required
      - `props` object, required
  - object — No Auth
    - `externalId` string, required
    - `displayName` string, required
    - `pieceName` string, required
    - `projectId` string, required
    - `metadata` object
    - `pieceVersion` string
    - `type` 'NO_AUTH', required
    - `value` object, required
      - `type` 'NO_AUTH', required
  - object — Placeholder
    - `externalId` string, required
    - `displayName` string, required
    - `pieceName` string, required
    - `projectId` string, required
    - `metadata` object
    - `pieceVersion` string
    - `type` 'PLACEHOLDER', required

## Response `200`

Default Response

---

[API](https://skmtc.dev/activepieces/apis/activepieces-documentation.md) · [All operations](https://skmtc.dev/activepieces/apis/activepieces-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/activepieces/activepieces-documentation/revisions/745e4b7f764a/schema)
