Marketplace

  • OpenAPI Version: 3.1.1
  • API Version: 2

The Marketplace APIs allow developers to access data related to their app and its usage in the marketplace.

Servers

  • URL: https://api.zoom.us/v2

Operations

Create apps

  • Method: POST
  • Path: /accounts/{accountId}/marketplace/apps
  • Tags: App

Create Server to Server OAuth, Meeting SDK or General apps in the Zoom Marketplace.

Scopes: marketplace_app:master

Granular Scopes: marketplace:write:app:master

Rate Limit Label: HEAVY

Request Body

Content-Type: application/json
  • app_name (required)

    string — The app's name.

  • app_type (required)

    string, possible values: "s2s_oauth", "meeting_sdk", "general" — The app's type: * `s2s_oauth` — Server to Server OAuth app. * `meeting_sdk` — Meeting SDK app. * `general`— UBF General app.

  • company_name (required)

    string — The company's name.

  • contact_email (required)

    string, format: email — The developer's email.

  • contact_name (required)

    string — The developer's name.

  • active

    boolean, default: false — Only valid for s2s_oauth app, whether to activate automatically: * `true` — Automatically activate the app after creation. It is required that at least one scope should be included in the input parameter. * `false` — Do not activate the app after creation.

  • manifest

    object — An app manifest object. It should meet the valid manifest schema. If the app_type equals general, you need to pass this param. Manifest resources: https://developers.zoom.us/docs/build-flow/manifests/

  • publish

    boolean, default: false — Only valid for meeting_sdk app, whether to publish the app to the Marketplace: * `true` — The app contains development credentials and production credentials. * `false` — The app contains only development credentials.

  • scopes

    array — The scopes of the created app: * `s2s_oauth` — If `active` field is true, there must be at least one scope. * `meeting_sdk` — Will automatically include `user_zak:read` scope.

    Items:

    string

Example:

{
  "app_type": "s2s_oauth",
  "app_name": "My App",
  "scopes": [
    "meeting:read"
  ],
  "contact_name": "ZOOM",
  "contact_email": "example@example.com",
  "company_name": "ZOOM",
  "active": false,
  "publish": false,
  "manifest": {}
}

Responses

Status: 201 **HTTP Status Code:** `201` App created successfully.
Content-Type: application/json
  • app_id

    string — The app's id.

  • app_name

    string — The app's name.

  • app_type

    string, possible values: "s2s_oauth", "meeting_sdk" — The app's type: * `s2s_oauth` — Server to Server OAuth app. * `meeting_sdk` — Meeting SDK app.

  • created_at

    string, format: date-time — Date and time this app was created.

  • development_credentials

    object — Only when the type is `meeting_sdk` and the `publish` field is true, there will be `production_credentials`

    • client_id

      string — The app's client id.

    • client_secret

      string — The app's client secret.

  • production_credentials

    object — Only when the type is `meeting_sdk` and the `publish` field is true, there will be `production_credentials`

    • client_id

      string — The app's client id.

    • client_secret

      string — The app's client secret.

  • scopes

    array — The app's scopes.

    Items:

    string

Example:

{
  "created_at": "2023-02-16T17:32:28Z",
  "app_id": "Bwpq5zXvQr-4PKhtYOD23g",
  "app_name": "My App",
  "app_type": "s2s_oauth",
  "scopes": [
    "meeting:read"
  ],
  "production_credentials": {
    "client_id": "2J5nVOGXQXCvXoRWyGQDow",
    "client_secret": "BzFOrwgq1Gw6KCsyeYnmETU5e4zakGwQ"
  },
  "development_credentials": {
    "client_id": "2J5nVOGXQXCvXoRWyGQDow",
    "client_secret": "BzFOrwgq1Gw6KCsyeYnmETU5e4zakGwQ"
  }
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `300` <br> * Validation Failed. <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized **Error Code:** `201` <br> * Invalid access token. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `1500` <br> * The request body is missing required fields. For more information, see the API documentation. * Only `Server to Server OAuth` and `Meeting SDK` apps can be created. * Can't get account owner info. * Only account's owner can use this API. * Can't get account info. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).