---
title: "Upload connector from zip file"
method: POST
path: "/connectors/{idOrKey}/upload"
tags: ["Connectors"]
---

# Upload connector from zip file

`POST /connectors/{idOrKey}/upload`

## Path parameters

- `idOrKey` string, required

## Response `200`

- ConnectorDto
  - `id` string, required
  - `key` string, required
  - `uuid` string, required
  - `externalAppId` string
  - `name` string, required
  - `logoUri` string, required
  - `appUri` string — Site URL of the linked external app, denormalized onto public connector listings.
  - `categories` string[]
  - `isPublic` boolean
  - `popularity` number
  - `tenantId` string
  - `archivedAt` string — When set, the connector is archived (soft-deleted).
  - `baseUri` string
  - `revision` string
  - `dataCollectionsCount` number
  - `operationsCount` number
  - `eventsCount` number
  - `udms` string[]
  - `hasTest` boolean
  - `hasAuthTest` boolean
  - `hasOperations` boolean
  - `hasData` boolean
  - `isReadOnly` boolean
  - `version` string, required
  - `credentialsSchema` ConnectorDtoSchema0
    - `title` string
    - `description` string
    - `type` union
      - string
      - string[]
    - `format` string
    - `properties` object
    - `items` ConnectorDtoSchema0 — recursive
    - `additionalProperties` union
      - boolean
      - ConnectorDtoSchema0 — recursive
    - `enum` union[]
      - union
        - string
        - number
    - `referenceRecords` object[]
    - `referenceCollection` object
      - `key` object
      - `parameters` object
    - `referenceUdm` string
    - `default` object
    - `allowCustom` boolean
    - `$ref` string
    - `required` string[]
    - `minLength` number
    - `maxLength` number
    - `minimum` number
    - `maximum` number
    - `maxItems` number
    - `readOnly` boolean
    - `writeOnly` boolean
    - `examples` object[]
    - `anyOf` ConnectorDtoSchema0[]
    - `isImplied` boolean
    - `isSensitive` boolean
    - `referenceCollectionPath` string
    - `referenceCollectionUri` string
  - `type` 'integration-app-token' | 'membrane-token' | 'oauth2' | 'oauth1' | 'client-credentials' | 'proxy' — Authentication protocol used by the connector.
  - `customCredentialsSchema` ConnectorDtoSchema0
    - `title` string
    - `description` string
    - `type` union
      - string
      - string[]
    - `format` string
    - `properties` object
    - `items` ConnectorDtoSchema0 — recursive
    - `additionalProperties` union
      - boolean
      - ConnectorDtoSchema0 — recursive
    - `enum` union[]
      - union
        - string
        - number
    - `referenceRecords` object[]
    - `referenceCollection` object
      - `key` object
      - `parameters` object
    - `referenceUdm` string
    - `default` object
    - `allowCustom` boolean
    - `$ref` string
    - `required` string[]
    - `minLength` number
    - `maxLength` number
    - `minimum` number
    - `maximum` number
    - `maxItems` number
    - `readOnly` boolean
    - `writeOnly` boolean
    - `examples` object[]
    - `anyOf` ConnectorDtoSchema0[]
    - `isImplied` boolean
    - `isSensitive` boolean
    - `referenceCollectionPath` string
    - `referenceCollectionUri` string
  - `inputSchema` ConnectorDtoSchema0
    - `title` string
    - `description` string
    - `type` union
      - string
      - string[]
    - `format` string
    - `properties` object
    - `items` ConnectorDtoSchema0 — recursive
    - `additionalProperties` union
      - boolean
      - ConnectorDtoSchema0 — recursive
    - `enum` union[]
      - union
        - string
        - number
    - `referenceRecords` object[]
    - `referenceCollection` object
      - `key` object
      - `parameters` object
    - `referenceUdm` string
    - `default` object
    - `allowCustom` boolean
    - `$ref` string
    - `required` string[]
    - `minLength` number
    - `maxLength` number
    - `minimum` number
    - `maximum` number
    - `maxItems` number
    - `readOnly` boolean
    - `writeOnly` boolean
    - `examples` object[]
    - `anyOf` ConnectorDtoSchema0[]
    - `isImplied` boolean
    - `isSensitive` boolean
    - `referenceCollectionPath` string
    - `referenceCollectionUri` string
  - `parametersSchema` ConnectorDtoSchema0
    - `title` string
    - `description` string
    - `type` union
      - string
      - string[]
    - `format` string
    - `properties` object
    - `items` ConnectorDtoSchema0 — recursive
    - `additionalProperties` union
      - boolean
      - ConnectorDtoSchema0 — recursive
    - `enum` union[]
      - union
        - string
        - number
    - `referenceRecords` object[]
    - `referenceCollection` object
      - `key` object
      - `parameters` object
    - `referenceUdm` string
    - `default` object
    - `allowCustom` boolean
    - `$ref` string
    - `required` string[]
    - `minLength` number
    - `maxLength` number
    - `minimum` number
    - `maximum` number
    - `maxItems` number
    - `readOnly` boolean
    - `writeOnly` boolean
    - `examples` object[]
    - `anyOf` ConnectorDtoSchema0[]
    - `isImplied` boolean
    - `isSensitive` boolean
    - `referenceCollectionPath` string
    - `referenceCollectionUri` string
  - `getCredentialsFromConnectionParameters` object — Function that derives auth credentials from connection parameters. Use for static-key auth (api-key, basic-auth) where the user-provided input IS the credential.
    - `type` 'mapping' | 'operation-mapping' | 'rest-api-mapping' | 'graphql-api-mapping' | 'javascript'
  - `refreshCredentials` object — Function that refreshes expired credentials. Implement for non-standard OAuth refresh flows or when additional credentials need to be refreshed alongside the OAuth token.
    - `type` 'mapping' | 'operation-mapping' | 'rest-api-mapping' | 'graphql-api-mapping' | 'javascript'
  - `makeApiClient` object — Function that configures the HTTP client used by operations, actions and data sources. Typically a `mapping` type with `baseUri` and auth header wiring.
    - `type` 'mapping' | 'operation-mapping' | 'rest-api-mapping' | 'graphql-api-mapping' | 'javascript'
  - `getOAuthConfig` object — OAuth2: function returning `{ authorizeUri, tokenUri, scopes, noRefreshToken? }` — the authorize/token endpoint URLs and requested scopes.
    - `type` 'mapping' | 'operation-mapping' | 'rest-api-mapping' | 'graphql-api-mapping' | 'javascript'
  - `getTokenData` object — OAuth2: function invoked with the raw token response to extract token metadata. Rarely needed.
    - `type` 'mapping' | 'operation-mapping' | 'rest-api-mapping' | 'graphql-api-mapping' | 'javascript'
  - `getCredentialsFromAccessTokenResponse` object — OAuth2: function that transforms the token endpoint response into the final credentials object. Required for multi-tenant APIs (Microsoft) or APIs that require post-OAuth bootstrap calls.
    - `type` 'mapping' | 'operation-mapping' | 'rest-api-mapping' | 'graphql-api-mapping' | 'javascript'
  - `getCredentialsFromRefreshTokenResponse` object — OAuth2: function that transforms the refresh token endpoint response into the refreshed credentials. Required when refresh responses differ from initial-token responses.
    - `type` 'mapping' | 'operation-mapping' | 'rest-api-mapping' | 'graphql-api-mapping' | 'javascript'
  - `test` object — Function that verifies the connection by making a lightweight authenticated API call (typically a `rest-api-mapping` against a `/me`-style endpoint).
    - `type` 'mapping' | 'operation-mapping' | 'rest-api-mapping' | 'graphql-api-mapping' | 'javascript'
  - `disconnect` object — Function that revokes credentials at the provider when the connection is removed. Implement only if the provider exposes a revoke endpoint.
    - `type` 'mapping' | 'operation-mapping' | 'rest-api-mapping' | 'graphql-api-mapping' | 'javascript'
  - `proxyKey` string — For `type: "proxy"` — identifies which proxy configuration the workspace should use.
  - `options` object

---

[API](https://skmtc.net/integration/apis/membrane-api.md) · [All operations](https://skmtc.net/integration/apis/membrane-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/integration/membrane-api/versions/1db9c5a3d78c/schema)
