Creates an AccountLink object that includes a single-use Stripe URL that the platform can redirect their user to in order to take them through the Connect Onboarding flow.
+ operationId: PostAccountLinks
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ account:
+ description: The identifier of the account to create an account link for.
+ maxLength: 5000
+ type: string
+ collect:
+ description: Which information the platform needs to collect from the user. One of `currently_due` or `eventually_due`. Default is `currently_due`.
+ enum:
+ - currently_due
+ - eventually_due
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ refresh_url:
+ description: The URL the user will be redirected to if the account link is expired, has been previously-visited, or is otherwise invalid. The URL you specify should attempt to generate a new account link with the same parameters used to create the original account link, then redirect the user to the new account link's URL so they can continue with Connect Onboarding. If a new account link cannot be generated or the redirect fails you should display a useful error to the user.
+ type: string
+ return_url:
+ description: The URL that the user will be redirected to upon leaving or completing the linked flow.
+ type: string
+ type:
+ description: The type of account link the user is requesting. Possible values are `account_onboarding` or `account_update`.
+ enum:
+ - account_onboarding
+ - account_update
+ type: string
+ x-stripeBypassValidation: true
+ required:
+ - account
+ - type
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/account_link"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/accounts:
+ get:
+ description:
Returns a list of accounts connected to your platform via Connect. If you’re not a platform, the list is empty.
+ operationId: GetAccounts
+ parameters:
+ - explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/account"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/accounts
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: AccountList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description: |-
+
With Connect, you can create Stripe accounts for your users.
+ To do this, you’ll first need to register your platform.
+
+
If you’ve already collected information for your connected accounts, you can pre-fill that information when
+ creating the account. Connect Onboarding won’t ask for the pre-filled information during account onboarding.
+ You can pre-fill any information on the account.
Accounts created using test-mode keys can be deleted at any time. Standard accounts created using live-mode keys cannot be deleted. Custom or Express accounts created using live-mode keys can only be deleted once all balances are zero.
Updates a connected account by setting the values of the parameters passed. Any parameters not provided are
+ left unchanged.
+
+
For Custom accounts, you can update any information on the account. For other accounts, you can update all information until that
+ account has started to go through Connect Onboarding. Once you create an Account Link
+ for a Standard or Express account, some parameters can no longer be changed. These are marked as Custom Only or Custom and Express
+ below.
+
+
To update your own account, use the Dashboard. Refer to our
+ Connect documentation to learn more about updating accounts.
Updates the metadata, account holder name, account holder type of a bank account belonging to a Custom account, and optionally sets it as the default for its currency. Other bank account details are not editable by design.
+
+
You can re-enable a disabled bank account by performing an update call without providing any arguments or changes.
+ operationId: PostAccountsAccountBankAccountsId
+ parameters:
+ - in: path
+ name: account
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ documents:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ account_holder_name:
+ description: The name of the person or business that owns the bank account.
+ maxLength: 5000
+ type: string
+ account_holder_type:
+ description: The type of entity that holds the account. This can be either `individual` or `company`.
+ enum:
+ - ""
+ - company
+ - individual
+ maxLength: 5000
+ type: string
+ account_type:
+ description: The bank account type. This can only be `checking` or `savings` in most countries. In Japan, this can only be `futsu` or `toza`.
+ enum:
+ - checking
+ - futsu
+ - savings
+ - toza
+ maxLength: 5000
+ type: string
+ address_city:
+ description: City/District/Suburb/Town/Village.
+ maxLength: 5000
+ type: string
+ address_country:
+ description: Billing address country, if provided when creating card.
+ maxLength: 5000
+ type: string
+ address_line1:
+ description: Address line 1 (Street address/PO Box/Company name).
+ maxLength: 5000
+ type: string
+ address_line2:
+ description: Address line 2 (Apartment/Suite/Unit/Building).
+ maxLength: 5000
+ type: string
+ address_state:
+ description: State/County/Province/Region.
+ maxLength: 5000
+ type: string
+ address_zip:
+ description: ZIP or postal code.
+ maxLength: 5000
+ type: string
+ default_for_currency:
+ description: When set to true, this becomes the default external account for its currency.
+ type: boolean
+ documents:
+ description: Documents that may be submitted to satisfy various informational requests.
+ properties:
+ bank_account_ownership_verification:
+ properties:
+ files:
+ items:
+ maxLength: 500
+ type: string
+ type: array
+ title: documents_param
+ type: object
+ title: external_account_documents_param
+ type: object
+ exp_month:
+ description: Two digit number representing the card’s expiration month.
+ maxLength: 5000
+ type: string
+ exp_year:
+ description: Four digit number representing the card’s expiration year.
+ maxLength: 5000
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ name:
+ description: Cardholder name.
+ maxLength: 5000
+ type: string
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/external_account"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/accounts/{account}/capabilities":
+ get:
+ description:
Returns a list of capabilities associated with the account. The capabilities are returned sorted by creation date, with the most recent capability appearing first.
+ operationId: GetAccountsAccountCapabilities
+ parameters:
+ - in: path
+ name: account
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/capability"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: ListAccountCapability
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/accounts/{account}/capabilities/{capability}":
+ get:
+ description:
Retrieves information about the specified Account Capability.
+ operationId: PostAccountsAccountCapabilitiesCapability
+ parameters:
+ - in: path
+ name: account
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - in: path
+ name: capability
+ required: true
+ schema:
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ requested:
+ description: Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
+ type: boolean
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/capability"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/accounts/{account}/external_accounts":
+ get:
+ description:
List external accounts for an account.
+ operationId: GetAccountsAccountExternalAccounts
+ parameters:
+ - in: path
+ name: account
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: The list contains all external accounts that have been attached to the Stripe account. These may be bank accounts or cards.
+ items:
+ anyOf:
+ - $ref: "#/components/schemas/bank_account"
+ - $ref: "#/components/schemas/card"
+ title: Polymorphic
+ x-stripeBypassValidation: true
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: ExternalAccountList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Create an external account for a given account.
+ operationId: PostAccountsAccountExternalAccounts
+ parameters:
+ - in: path
+ name: account
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ bank_account:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ bank_account:
+ anyOf:
+ - properties:
+ account_holder_name:
+ maxLength: 5000
+ type: string
+ account_holder_type:
+ enum:
+ - company
+ - individual
+ maxLength: 5000
+ type: string
+ account_number:
+ maxLength: 5000
+ type: string
+ account_type:
+ enum:
+ - checking
+ - futsu
+ - savings
+ - toza
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ currency:
+ type: string
+ documents:
+ properties:
+ bank_account_ownership_verification:
+ properties:
+ files:
+ items:
+ maxLength: 500
+ type: string
+ type: array
+ title: documents_param
+ type: object
+ title: external_account_documents_param
+ type: object
+ object:
+ enum:
+ - bank_account
+ maxLength: 5000
+ type: string
+ routing_number:
+ maxLength: 5000
+ type: string
+ required:
+ - account_number
+ - country
+ title: external_account_payout_bank_account
+ type: object
+ - maxLength: 5000
+ type: string
+ description: Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary containing a user's bank account details.
+ default_for_currency:
+ description: When set to true, or if this is the first external account added in this currency, this account becomes the default external account for its currency.
+ type: boolean
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ external_account:
+ description: Please refer to full [documentation](https://stripe.com/docs/api) instead.
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/external_account"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/accounts/{account}/external_accounts/{id}":
+ delete:
+ description:
Delete a specified external account for a given account.
Updates the metadata, account holder name, account holder type of a bank account belonging to a Custom account, and optionally sets it as the default for its currency. Other bank account details are not editable by design.
+
+
You can re-enable a disabled bank account by performing an update call without providing any arguments or changes.
+ operationId: PostAccountsAccountExternalAccountsId
+ parameters:
+ - in: path
+ name: account
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ documents:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ account_holder_name:
+ description: The name of the person or business that owns the bank account.
+ maxLength: 5000
+ type: string
+ account_holder_type:
+ description: The type of entity that holds the account. This can be either `individual` or `company`.
+ enum:
+ - ""
+ - company
+ - individual
+ maxLength: 5000
+ type: string
+ account_type:
+ description: The bank account type. This can only be `checking` or `savings` in most countries. In Japan, this can only be `futsu` or `toza`.
+ enum:
+ - checking
+ - futsu
+ - savings
+ - toza
+ maxLength: 5000
+ type: string
+ address_city:
+ description: City/District/Suburb/Town/Village.
+ maxLength: 5000
+ type: string
+ address_country:
+ description: Billing address country, if provided when creating card.
+ maxLength: 5000
+ type: string
+ address_line1:
+ description: Address line 1 (Street address/PO Box/Company name).
+ maxLength: 5000
+ type: string
+ address_line2:
+ description: Address line 2 (Apartment/Suite/Unit/Building).
+ maxLength: 5000
+ type: string
+ address_state:
+ description: State/County/Province/Region.
+ maxLength: 5000
+ type: string
+ address_zip:
+ description: ZIP or postal code.
+ maxLength: 5000
+ type: string
+ default_for_currency:
+ description: When set to true, this becomes the default external account for its currency.
+ type: boolean
+ documents:
+ description: Documents that may be submitted to satisfy various informational requests.
+ properties:
+ bank_account_ownership_verification:
+ properties:
+ files:
+ items:
+ maxLength: 500
+ type: string
+ type: array
+ title: documents_param
+ type: object
+ title: external_account_documents_param
+ type: object
+ exp_month:
+ description: Two digit number representing the card’s expiration month.
+ maxLength: 5000
+ type: string
+ exp_year:
+ description: Four digit number representing the card’s expiration year.
+ maxLength: 5000
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ name:
+ description: Cardholder name.
+ maxLength: 5000
+ type: string
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/external_account"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/accounts/{account}/login_links":
+ post:
+ description: |-
+
Creates a single-use login link for an Express account to access their Stripe dashboard.
+
+
You may only create login links for Express accounts connected to your platform.
Returns a list of people associated with the account’s legal entity. The people are returned sorted by creation date, with the most recent people appearing first.
+ operationId: GetAccountsAccountPeople
+ parameters:
+ - in: path
+ name: account
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: Filters on the list of people returned based on the person's relationship to the account's company.
+ explode: true
+ in: query
+ name: relationship
+ required: false
+ schema:
+ properties:
+ director:
+ type: boolean
+ executive:
+ type: boolean
+ owner:
+ type: boolean
+ representative:
+ type: boolean
+ title: all_people_relationship_specs
+ type: object
+ style: deepObject
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/person"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: PersonList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Creates a new person.
+ operationId: PostAccountsAccountPeople
+ parameters:
+ - in: path
+ name: account
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ address:
+ explode: true
+ style: deepObject
+ address_kana:
+ explode: true
+ style: deepObject
+ address_kanji:
+ explode: true
+ style: deepObject
+ dob:
+ explode: true
+ style: deepObject
+ documents:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ full_name_aliases:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ registered_address:
+ explode: true
+ style: deepObject
+ relationship:
+ explode: true
+ style: deepObject
+ verification:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ address:
+ description: The person's address.
+ properties:
+ city:
+ maxLength: 100
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 200
+ type: string
+ line2:
+ maxLength: 200
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ title: address_specs
+ type: object
+ address_kana:
+ description: The Kana variation of the person's address (Japan only).
+ properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ town:
+ maxLength: 5000
+ type: string
+ title: japan_address_kana_specs
+ type: object
+ address_kanji:
+ description: The Kanji variation of the person's address (Japan only).
+ properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ town:
+ maxLength: 5000
+ type: string
+ title: japan_address_kanji_specs
+ type: object
+ dob:
+ anyOf:
+ - properties:
+ day:
+ type: integer
+ month:
+ type: integer
+ year:
+ type: integer
+ required:
+ - day
+ - month
+ - year
+ title: date_of_birth_specs
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: The person's date of birth.
+ documents:
+ description: Documents that may be submitted to satisfy various informational requests.
+ properties:
+ company_authorization:
+ properties:
+ files:
+ items:
+ maxLength: 500
+ type: string
+ type: array
+ title: documents_param
+ type: object
+ passport:
+ properties:
+ files:
+ items:
+ maxLength: 500
+ type: string
+ type: array
+ title: documents_param
+ type: object
+ visa:
+ properties:
+ files:
+ items:
+ maxLength: 500
+ type: string
+ type: array
+ title: documents_param
+ type: object
+ title: person_documents_specs
+ type: object
+ email:
+ description: The person's email address.
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ first_name:
+ description: The person's first name.
+ maxLength: 5000
+ type: string
+ first_name_kana:
+ description: The Kana variation of the person's first name (Japan only).
+ maxLength: 5000
+ type: string
+ first_name_kanji:
+ description: The Kanji variation of the person's first name (Japan only).
+ maxLength: 5000
+ type: string
+ full_name_aliases:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ description: A list of alternate names or aliases that the person is known by.
+ gender:
+ description: The person's gender (International regulations require either "male" or "female").
+ type: string
+ id_number:
+ description: The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/js/tokens_sources/create_token?type=pii).
+ maxLength: 5000
+ type: string
+ id_number_secondary:
+ description: The person's secondary ID number, as appropriate for their country, will be used for enhanced verification checks. In Thailand, this would be the laser code found on the back of an ID card. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/js/tokens_sources/create_token?type=pii).
+ maxLength: 5000
+ type: string
+ last_name:
+ description: The person's last name.
+ maxLength: 5000
+ type: string
+ last_name_kana:
+ description: The Kana variation of the person's last name (Japan only).
+ maxLength: 5000
+ type: string
+ last_name_kanji:
+ description: The Kanji variation of the person's last name (Japan only).
+ maxLength: 5000
+ type: string
+ maiden_name:
+ description: The person's maiden name.
+ maxLength: 5000
+ type: string
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ nationality:
+ description: The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or "XX" if unavailable.
+ maxLength: 5000
+ type: string
+ person_token:
+ description: A [person token](https://stripe.com/docs/connect/account-tokens), used to securely provide details to the person.
+ maxLength: 5000
+ type: string
+ phone:
+ description: The person's phone number.
+ type: string
+ political_exposure:
+ description: Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction.
+ maxLength: 5000
+ type: string
+ registered_address:
+ description: The person's registered address.
+ properties:
+ city:
+ maxLength: 100
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 200
+ type: string
+ line2:
+ maxLength: 200
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ title: address_specs
+ type: object
+ relationship:
+ description: The relationship that this person has with the account's legal entity.
+ properties:
+ director:
+ type: boolean
+ executive:
+ type: boolean
+ owner:
+ type: boolean
+ percent_ownership:
+ anyOf:
+ - type: number
+ - enum:
+ - ""
+ type: string
+ representative:
+ type: boolean
+ title:
+ maxLength: 5000
+ type: string
+ title: relationship_specs
+ type: object
+ ssn_last_4:
+ description: The last four digits of the person's Social Security number (U.S. only).
+ type: string
+ verification:
+ description: The person's verification status.
+ properties:
+ additional_document:
+ properties:
+ back:
+ maxLength: 500
+ type: string
+ front:
+ maxLength: 500
+ type: string
+ title: person_verification_document_specs
+ type: object
+ document:
+ properties:
+ back:
+ maxLength: 500
+ type: string
+ front:
+ maxLength: 500
+ type: string
+ title: person_verification_document_specs
+ type: object
+ title: person_verification_specs
+ type: object
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/person"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/accounts/{account}/people/{person}":
+ delete:
+ description:
Deletes an existing person’s relationship to the account’s legal entity. Any person with a relationship for an account can be deleted through the API, except if the person is the account_opener. If your integration is using the executive parameter, you cannot delete the only verified executive on file.
+ operationId: PostAccountsAccountPeoplePerson
+ parameters:
+ - in: path
+ name: account
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - in: path
+ name: person
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ address:
+ explode: true
+ style: deepObject
+ address_kana:
+ explode: true
+ style: deepObject
+ address_kanji:
+ explode: true
+ style: deepObject
+ dob:
+ explode: true
+ style: deepObject
+ documents:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ full_name_aliases:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ registered_address:
+ explode: true
+ style: deepObject
+ relationship:
+ explode: true
+ style: deepObject
+ verification:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ address:
+ description: The person's address.
+ properties:
+ city:
+ maxLength: 100
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 200
+ type: string
+ line2:
+ maxLength: 200
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ title: address_specs
+ type: object
+ address_kana:
+ description: The Kana variation of the person's address (Japan only).
+ properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ town:
+ maxLength: 5000
+ type: string
+ title: japan_address_kana_specs
+ type: object
+ address_kanji:
+ description: The Kanji variation of the person's address (Japan only).
+ properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ town:
+ maxLength: 5000
+ type: string
+ title: japan_address_kanji_specs
+ type: object
+ dob:
+ anyOf:
+ - properties:
+ day:
+ type: integer
+ month:
+ type: integer
+ year:
+ type: integer
+ required:
+ - day
+ - month
+ - year
+ title: date_of_birth_specs
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: The person's date of birth.
+ documents:
+ description: Documents that may be submitted to satisfy various informational requests.
+ properties:
+ company_authorization:
+ properties:
+ files:
+ items:
+ maxLength: 500
+ type: string
+ type: array
+ title: documents_param
+ type: object
+ passport:
+ properties:
+ files:
+ items:
+ maxLength: 500
+ type: string
+ type: array
+ title: documents_param
+ type: object
+ visa:
+ properties:
+ files:
+ items:
+ maxLength: 500
+ type: string
+ type: array
+ title: documents_param
+ type: object
+ title: person_documents_specs
+ type: object
+ email:
+ description: The person's email address.
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ first_name:
+ description: The person's first name.
+ maxLength: 5000
+ type: string
+ first_name_kana:
+ description: The Kana variation of the person's first name (Japan only).
+ maxLength: 5000
+ type: string
+ first_name_kanji:
+ description: The Kanji variation of the person's first name (Japan only).
+ maxLength: 5000
+ type: string
+ full_name_aliases:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ description: A list of alternate names or aliases that the person is known by.
+ gender:
+ description: The person's gender (International regulations require either "male" or "female").
+ type: string
+ id_number:
+ description: The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/js/tokens_sources/create_token?type=pii).
+ maxLength: 5000
+ type: string
+ id_number_secondary:
+ description: The person's secondary ID number, as appropriate for their country, will be used for enhanced verification checks. In Thailand, this would be the laser code found on the back of an ID card. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/js/tokens_sources/create_token?type=pii).
+ maxLength: 5000
+ type: string
+ last_name:
+ description: The person's last name.
+ maxLength: 5000
+ type: string
+ last_name_kana:
+ description: The Kana variation of the person's last name (Japan only).
+ maxLength: 5000
+ type: string
+ last_name_kanji:
+ description: The Kanji variation of the person's last name (Japan only).
+ maxLength: 5000
+ type: string
+ maiden_name:
+ description: The person's maiden name.
+ maxLength: 5000
+ type: string
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ nationality:
+ description: The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or "XX" if unavailable.
+ maxLength: 5000
+ type: string
+ person_token:
+ description: A [person token](https://stripe.com/docs/connect/account-tokens), used to securely provide details to the person.
+ maxLength: 5000
+ type: string
+ phone:
+ description: The person's phone number.
+ type: string
+ political_exposure:
+ description: Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction.
+ maxLength: 5000
+ type: string
+ registered_address:
+ description: The person's registered address.
+ properties:
+ city:
+ maxLength: 100
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 200
+ type: string
+ line2:
+ maxLength: 200
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ title: address_specs
+ type: object
+ relationship:
+ description: The relationship that this person has with the account's legal entity.
+ properties:
+ director:
+ type: boolean
+ executive:
+ type: boolean
+ owner:
+ type: boolean
+ percent_ownership:
+ anyOf:
+ - type: number
+ - enum:
+ - ""
+ type: string
+ representative:
+ type: boolean
+ title:
+ maxLength: 5000
+ type: string
+ title: relationship_specs
+ type: object
+ ssn_last_4:
+ description: The last four digits of the person's Social Security number (U.S. only).
+ type: string
+ verification:
+ description: The person's verification status.
+ properties:
+ additional_document:
+ properties:
+ back:
+ maxLength: 500
+ type: string
+ front:
+ maxLength: 500
+ type: string
+ title: person_verification_document_specs
+ type: object
+ document:
+ properties:
+ back:
+ maxLength: 500
+ type: string
+ front:
+ maxLength: 500
+ type: string
+ title: person_verification_document_specs
+ type: object
+ title: person_verification_specs
+ type: object
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/person"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/accounts/{account}/persons":
+ get:
+ description:
Returns a list of people associated with the account’s legal entity. The people are returned sorted by creation date, with the most recent people appearing first.
+ operationId: GetAccountsAccountPersons
+ parameters:
+ - in: path
+ name: account
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: Filters on the list of people returned based on the person's relationship to the account's company.
+ explode: true
+ in: query
+ name: relationship
+ required: false
+ schema:
+ properties:
+ director:
+ type: boolean
+ executive:
+ type: boolean
+ owner:
+ type: boolean
+ representative:
+ type: boolean
+ title: all_people_relationship_specs
+ type: object
+ style: deepObject
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/person"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: PersonList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Creates a new person.
+ operationId: PostAccountsAccountPersons
+ parameters:
+ - in: path
+ name: account
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ address:
+ explode: true
+ style: deepObject
+ address_kana:
+ explode: true
+ style: deepObject
+ address_kanji:
+ explode: true
+ style: deepObject
+ dob:
+ explode: true
+ style: deepObject
+ documents:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ full_name_aliases:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ registered_address:
+ explode: true
+ style: deepObject
+ relationship:
+ explode: true
+ style: deepObject
+ verification:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ address:
+ description: The person's address.
+ properties:
+ city:
+ maxLength: 100
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 200
+ type: string
+ line2:
+ maxLength: 200
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ title: address_specs
+ type: object
+ address_kana:
+ description: The Kana variation of the person's address (Japan only).
+ properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ town:
+ maxLength: 5000
+ type: string
+ title: japan_address_kana_specs
+ type: object
+ address_kanji:
+ description: The Kanji variation of the person's address (Japan only).
+ properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ town:
+ maxLength: 5000
+ type: string
+ title: japan_address_kanji_specs
+ type: object
+ dob:
+ anyOf:
+ - properties:
+ day:
+ type: integer
+ month:
+ type: integer
+ year:
+ type: integer
+ required:
+ - day
+ - month
+ - year
+ title: date_of_birth_specs
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: The person's date of birth.
+ documents:
+ description: Documents that may be submitted to satisfy various informational requests.
+ properties:
+ company_authorization:
+ properties:
+ files:
+ items:
+ maxLength: 500
+ type: string
+ type: array
+ title: documents_param
+ type: object
+ passport:
+ properties:
+ files:
+ items:
+ maxLength: 500
+ type: string
+ type: array
+ title: documents_param
+ type: object
+ visa:
+ properties:
+ files:
+ items:
+ maxLength: 500
+ type: string
+ type: array
+ title: documents_param
+ type: object
+ title: person_documents_specs
+ type: object
+ email:
+ description: The person's email address.
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ first_name:
+ description: The person's first name.
+ maxLength: 5000
+ type: string
+ first_name_kana:
+ description: The Kana variation of the person's first name (Japan only).
+ maxLength: 5000
+ type: string
+ first_name_kanji:
+ description: The Kanji variation of the person's first name (Japan only).
+ maxLength: 5000
+ type: string
+ full_name_aliases:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ description: A list of alternate names or aliases that the person is known by.
+ gender:
+ description: The person's gender (International regulations require either "male" or "female").
+ type: string
+ id_number:
+ description: The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/js/tokens_sources/create_token?type=pii).
+ maxLength: 5000
+ type: string
+ id_number_secondary:
+ description: The person's secondary ID number, as appropriate for their country, will be used for enhanced verification checks. In Thailand, this would be the laser code found on the back of an ID card. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/js/tokens_sources/create_token?type=pii).
+ maxLength: 5000
+ type: string
+ last_name:
+ description: The person's last name.
+ maxLength: 5000
+ type: string
+ last_name_kana:
+ description: The Kana variation of the person's last name (Japan only).
+ maxLength: 5000
+ type: string
+ last_name_kanji:
+ description: The Kanji variation of the person's last name (Japan only).
+ maxLength: 5000
+ type: string
+ maiden_name:
+ description: The person's maiden name.
+ maxLength: 5000
+ type: string
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ nationality:
+ description: The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or "XX" if unavailable.
+ maxLength: 5000
+ type: string
+ person_token:
+ description: A [person token](https://stripe.com/docs/connect/account-tokens), used to securely provide details to the person.
+ maxLength: 5000
+ type: string
+ phone:
+ description: The person's phone number.
+ type: string
+ political_exposure:
+ description: Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction.
+ maxLength: 5000
+ type: string
+ registered_address:
+ description: The person's registered address.
+ properties:
+ city:
+ maxLength: 100
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 200
+ type: string
+ line2:
+ maxLength: 200
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ title: address_specs
+ type: object
+ relationship:
+ description: The relationship that this person has with the account's legal entity.
+ properties:
+ director:
+ type: boolean
+ executive:
+ type: boolean
+ owner:
+ type: boolean
+ percent_ownership:
+ anyOf:
+ - type: number
+ - enum:
+ - ""
+ type: string
+ representative:
+ type: boolean
+ title:
+ maxLength: 5000
+ type: string
+ title: relationship_specs
+ type: object
+ ssn_last_4:
+ description: The last four digits of the person's Social Security number (U.S. only).
+ type: string
+ verification:
+ description: The person's verification status.
+ properties:
+ additional_document:
+ properties:
+ back:
+ maxLength: 500
+ type: string
+ front:
+ maxLength: 500
+ type: string
+ title: person_verification_document_specs
+ type: object
+ document:
+ properties:
+ back:
+ maxLength: 500
+ type: string
+ front:
+ maxLength: 500
+ type: string
+ title: person_verification_document_specs
+ type: object
+ title: person_verification_specs
+ type: object
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/person"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/accounts/{account}/persons/{person}":
+ delete:
+ description:
Deletes an existing person’s relationship to the account’s legal entity. Any person with a relationship for an account can be deleted through the API, except if the person is the account_opener. If your integration is using the executive parameter, you cannot delete the only verified executive on file.
+ operationId: PostAccountsAccountPersonsPerson
+ parameters:
+ - in: path
+ name: account
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - in: path
+ name: person
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ address:
+ explode: true
+ style: deepObject
+ address_kana:
+ explode: true
+ style: deepObject
+ address_kanji:
+ explode: true
+ style: deepObject
+ dob:
+ explode: true
+ style: deepObject
+ documents:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ full_name_aliases:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ registered_address:
+ explode: true
+ style: deepObject
+ relationship:
+ explode: true
+ style: deepObject
+ verification:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ address:
+ description: The person's address.
+ properties:
+ city:
+ maxLength: 100
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 200
+ type: string
+ line2:
+ maxLength: 200
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ title: address_specs
+ type: object
+ address_kana:
+ description: The Kana variation of the person's address (Japan only).
+ properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ town:
+ maxLength: 5000
+ type: string
+ title: japan_address_kana_specs
+ type: object
+ address_kanji:
+ description: The Kanji variation of the person's address (Japan only).
+ properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ town:
+ maxLength: 5000
+ type: string
+ title: japan_address_kanji_specs
+ type: object
+ dob:
+ anyOf:
+ - properties:
+ day:
+ type: integer
+ month:
+ type: integer
+ year:
+ type: integer
+ required:
+ - day
+ - month
+ - year
+ title: date_of_birth_specs
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: The person's date of birth.
+ documents:
+ description: Documents that may be submitted to satisfy various informational requests.
+ properties:
+ company_authorization:
+ properties:
+ files:
+ items:
+ maxLength: 500
+ type: string
+ type: array
+ title: documents_param
+ type: object
+ passport:
+ properties:
+ files:
+ items:
+ maxLength: 500
+ type: string
+ type: array
+ title: documents_param
+ type: object
+ visa:
+ properties:
+ files:
+ items:
+ maxLength: 500
+ type: string
+ type: array
+ title: documents_param
+ type: object
+ title: person_documents_specs
+ type: object
+ email:
+ description: The person's email address.
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ first_name:
+ description: The person's first name.
+ maxLength: 5000
+ type: string
+ first_name_kana:
+ description: The Kana variation of the person's first name (Japan only).
+ maxLength: 5000
+ type: string
+ first_name_kanji:
+ description: The Kanji variation of the person's first name (Japan only).
+ maxLength: 5000
+ type: string
+ full_name_aliases:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ description: A list of alternate names or aliases that the person is known by.
+ gender:
+ description: The person's gender (International regulations require either "male" or "female").
+ type: string
+ id_number:
+ description: The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/js/tokens_sources/create_token?type=pii).
+ maxLength: 5000
+ type: string
+ id_number_secondary:
+ description: The person's secondary ID number, as appropriate for their country, will be used for enhanced verification checks. In Thailand, this would be the laser code found on the back of an ID card. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/js/tokens_sources/create_token?type=pii).
+ maxLength: 5000
+ type: string
+ last_name:
+ description: The person's last name.
+ maxLength: 5000
+ type: string
+ last_name_kana:
+ description: The Kana variation of the person's last name (Japan only).
+ maxLength: 5000
+ type: string
+ last_name_kanji:
+ description: The Kanji variation of the person's last name (Japan only).
+ maxLength: 5000
+ type: string
+ maiden_name:
+ description: The person's maiden name.
+ maxLength: 5000
+ type: string
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ nationality:
+ description: The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or "XX" if unavailable.
+ maxLength: 5000
+ type: string
+ person_token:
+ description: A [person token](https://stripe.com/docs/connect/account-tokens), used to securely provide details to the person.
+ maxLength: 5000
+ type: string
+ phone:
+ description: The person's phone number.
+ type: string
+ political_exposure:
+ description: Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction.
+ maxLength: 5000
+ type: string
+ registered_address:
+ description: The person's registered address.
+ properties:
+ city:
+ maxLength: 100
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 200
+ type: string
+ line2:
+ maxLength: 200
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ title: address_specs
+ type: object
+ relationship:
+ description: The relationship that this person has with the account's legal entity.
+ properties:
+ director:
+ type: boolean
+ executive:
+ type: boolean
+ owner:
+ type: boolean
+ percent_ownership:
+ anyOf:
+ - type: number
+ - enum:
+ - ""
+ type: string
+ representative:
+ type: boolean
+ title:
+ maxLength: 5000
+ type: string
+ title: relationship_specs
+ type: object
+ ssn_last_4:
+ description: The last four digits of the person's Social Security number (U.S. only).
+ type: string
+ verification:
+ description: The person's verification status.
+ properties:
+ additional_document:
+ properties:
+ back:
+ maxLength: 500
+ type: string
+ front:
+ maxLength: 500
+ type: string
+ title: person_verification_document_specs
+ type: object
+ document:
+ properties:
+ back:
+ maxLength: 500
+ type: string
+ front:
+ maxLength: 500
+ type: string
+ title: person_verification_document_specs
+ type: object
+ title: person_verification_specs
+ type: object
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/person"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/accounts/{account}/reject":
+ post:
+ description: |-
+
With Connect, you may flag accounts as suspicious.
+
+
Test-mode Custom and Express accounts can be rejected at any time. Accounts created using live-mode keys may only be rejected once all balances are zero.
+ operationId: GetApplePayDomains
+ parameters:
+ - in: query
+ name: domain_name
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/apple_pay_domain"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/apple_pay/domains
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: ApplePayDomainList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Returns a list of application fees you’ve previously collected. The application fees are returned in sorted order, with the most recent fees appearing first.
+ operationId: GetApplicationFees
+ parameters:
+ - description: Only return application fees for the charge specified by this charge ID.
+ in: query
+ name: charge
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/application_fee"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/application_fees
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: PlatformEarningList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/application_fees/{fee}/refunds/{id}":
+ get:
+ description:
By default, you can see the 10 most recent refunds stored directly on the application fee object, but you can also retrieve details about a specific refund stored on the application fee.
You can see a list of the refunds belonging to a specific application fee. Note that the 10 most recent refunds are always available by default on the application fee object. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional refunds.
+ operationId: GetApplicationFeesIdRefunds
+ parameters:
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - in: path
+ name: id
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/fee_refund"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: FeeRefundList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description: |-
+
Refunds an application fee that has previously been collected but not yet refunded.
+ Funds will be refunded to the Stripe account from which the fee was originally collected.
+
+
You can optionally refund only part of an application fee.
+ You can do so multiple times, until the entire fee has been refunded.
+
+
Once entirely refunded, an application fee can’t be refunded again.
+ This method will raise an error when called on an already-refunded application fee,
+ or when trying to refund more money than is left on an application fee.
+ operationId: PostApplicationFeesIdRefunds
+ parameters:
+ - in: path
+ name: id
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ amount:
+ description: A positive integer, in _cents (or local equivalent)_, representing how much of this fee to refund. Can refund only up to the remaining unrefunded amount of the fee.
+ type: integer
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/fee_refund"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/apps/secrets:
+ get:
+ description:
List all secrets stored on the given scope.
+ operationId: GetAppsSecrets
+ parameters:
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: Specifies the scoping of the secret. Requests originating from UI extensions can only access account-scoped secrets or secrets scoped to their own user.
+ explode: true
+ in: query
+ name: scope
+ required: true
+ schema:
+ properties:
+ type:
+ enum:
+ - account
+ - user
+ type: string
+ user:
+ maxLength: 5000
+ type: string
+ required:
+ - type
+ title: scope_param
+ type: object
+ style: deepObject
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/apps.secret"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/apps/secrets
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: SecretServiceResourceSecretList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Create or replace a secret in the secret store.
+ operationId: PostAppsSecrets
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ scope:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ expires_at:
+ description: The Unix timestamp for the expiry time of the secret, after which the secret deletes.
+ format: unix-time
+ type: integer
+ name:
+ description: A name for the secret that's unique within the scope.
+ maxLength: 5000
+ type: string
+ payload:
+ description: The plaintext secret value to be stored.
+ maxLength: 5000
+ type: string
+ scope:
+ description: Specifies the scoping of the secret. Requests originating from UI extensions can only access account-scoped secrets or secrets scoped to their own user.
+ properties:
+ type:
+ enum:
+ - account
+ - user
+ type: string
+ user:
+ maxLength: 5000
+ type: string
+ required:
+ - type
+ title: scope_param
+ type: object
+ required:
+ - name
+ - payload
+ - scope
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/apps.secret"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/apps/secrets/delete:
+ post:
+ description:
Deletes a secret from the secret store by name and scope.
+ operationId: PostAppsSecretsDelete
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ scope:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ name:
+ description: A name for the secret that's unique within the scope.
+ maxLength: 5000
+ type: string
+ scope:
+ description: Specifies the scoping of the secret. Requests originating from UI extensions can only access account-scoped secrets or secrets scoped to their own user.
+ properties:
+ type:
+ enum:
+ - account
+ - user
+ type: string
+ user:
+ maxLength: 5000
+ type: string
+ required:
+ - type
+ title: scope_param
+ type: object
+ required:
+ - name
+ - scope
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/apps.secret"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/apps/secrets/find:
+ get:
+ description:
Finds a secret in the secret store by name and scope.
+ operationId: GetAppsSecretsFind
+ parameters:
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A name for the secret that's unique within the scope.
+ in: query
+ name: name
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies the scoping of the secret. Requests originating from UI extensions can only access account-scoped secrets or secrets scoped to their own user.
+ explode: true
+ in: query
+ name: scope
+ required: true
+ schema:
+ properties:
+ type:
+ enum:
+ - account
+ - user
+ type: string
+ user:
+ maxLength: 5000
+ type: string
+ required:
+ - type
+ title: scope_param
+ type: object
+ style: deepObject
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/apps.secret"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/balance:
+ get:
+ description: |-
+
Retrieves the current account balance, based on the authentication that was used to make the request.
+ For a sample request, see Accounting for negative balances.
Returns a list of transactions that have contributed to the Stripe account balance (e.g., charges, transfers, and so forth). The transactions are returned in sorted order, with the most recent transactions appearing first.
+
+
Note that this endpoint was previously called “Balance history” and used the path /v1/balance/history.
+ operationId: GetBalanceHistory
+ parameters:
+ - explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: Only return transactions in a certain currency. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ in: query
+ name: currency
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: For automatic Stripe payouts only, only returns transactions that were paid out on the specified payout ID.
+ in: query
+ name: payout
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Only returns the original transaction.
+ in: query
+ name: source
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: "Only returns transactions of the given type. One of: `adjustment`, `advance`, `advance_funding`, `anticipation_repayment`, `application_fee`, `application_fee_refund`, `charge`, `connect_collection_transfer`, `contribution`, `issuing_authorization_hold`, `issuing_authorization_release`, `issuing_dispute`, `issuing_transaction`, `payment`, `payment_failure_refund`, `payment_refund`, `payout`, `payout_cancel`, `payout_failure`, `refund`, `refund_failure`, `reserve_transaction`, `reserved_funds`, `stripe_fee`, `stripe_fx_fee`, `tax_fee`, `topup`, `topup_reversal`, `transfer`, `transfer_cancel`, `transfer_failure`, or `transfer_refund`."
+ in: query
+ name: type
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/balance_transaction"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/balance_transactions
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: BalanceTransactionsList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/balance/history/{id}":
+ get:
+ description: |-
+
Retrieves the balance transaction with the given ID.
+
+
Note that this endpoint previously used the path /v1/balance/history/:id.
Returns a list of transactions that have contributed to the Stripe account balance (e.g., charges, transfers, and so forth). The transactions are returned in sorted order, with the most recent transactions appearing first.
+
+
Note that this endpoint was previously called “Balance history” and used the path /v1/balance/history.
+ operationId: GetBalanceTransactions
+ parameters:
+ - explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: Only return transactions in a certain currency. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ in: query
+ name: currency
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: For automatic Stripe payouts only, only returns transactions that were paid out on the specified payout ID.
+ in: query
+ name: payout
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Only returns the original transaction.
+ in: query
+ name: source
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: "Only returns transactions of the given type. One of: `adjustment`, `advance`, `advance_funding`, `anticipation_repayment`, `application_fee`, `application_fee_refund`, `charge`, `connect_collection_transfer`, `contribution`, `issuing_authorization_hold`, `issuing_authorization_release`, `issuing_dispute`, `issuing_transaction`, `payment`, `payment_failure_refund`, `payment_refund`, `payout`, `payout_cancel`, `payout_failure`, `refund`, `refund_failure`, `reserve_transaction`, `reserved_funds`, `stripe_fee`, `stripe_fx_fee`, `tax_fee`, `topup`, `topup_reversal`, `transfer`, `transfer_cancel`, `transfer_failure`, or `transfer_refund`."
+ in: query
+ name: type
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/balance_transaction"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/balance_transactions
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: BalanceTransactionsList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/balance_transactions/{id}":
+ get:
+ description: |-
+
Retrieves the balance transaction with the given ID.
+
+
Note that this endpoint previously used the path /v1/balance/history/:id.
Returns a list of configurations that describe the functionality of the customer portal.
+ operationId: GetBillingPortalConfigurations
+ parameters:
+ - description: Only return configurations that are active or inactive (e.g., pass `true` to only list active configurations).
+ in: query
+ name: active
+ required: false
+ schema:
+ type: boolean
+ style: form
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: Only return the default or non-default configurations (e.g., pass `true` to only list the default configuration).
+ in: query
+ name: is_default
+ required: false
+ schema:
+ type: boolean
+ style: form
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/billing_portal.configuration"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/billing_portal/configurations
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: PortalPublicResourceConfigurationList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Creates a configuration that describes the functionality and behavior of a PortalSession
+ operationId: PostBillingPortalConfigurations
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ business_profile:
+ explode: true
+ style: deepObject
+ default_return_url:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ features:
+ explode: true
+ style: deepObject
+ login_page:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ business_profile:
+ description: The business information shown to customers in the portal.
+ properties:
+ headline:
+ maxLength: 60
+ type: string
+ privacy_policy_url:
+ type: string
+ terms_of_service_url:
+ type: string
+ title: business_profile_create_param
+ type: object
+ default_return_url:
+ anyOf:
+ - type: string
+ - enum:
+ - ""
+ type: string
+ description: The default URL to redirect customers to when they click on the portal's link to return to your website. This can be [overriden](https://stripe.com/docs/api/customer_portal/sessions/create#create_portal_session-return_url) when creating the session.
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ features:
+ description: Information about the features available in the portal.
+ properties:
+ customer_update:
+ properties:
+ allowed_updates:
+ anyOf:
+ - items:
+ enum:
+ - address
+ - email
+ - name
+ - phone
+ - shipping
+ - tax_id
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ enabled:
+ type: boolean
+ required:
+ - enabled
+ title: customer_update_creation_param
+ type: object
+ invoice_history:
+ properties:
+ enabled:
+ type: boolean
+ required:
+ - enabled
+ title: invoice_list_param
+ type: object
+ payment_method_update:
+ properties:
+ enabled:
+ type: boolean
+ required:
+ - enabled
+ title: payment_method_update_param
+ type: object
+ subscription_cancel:
+ properties:
+ cancellation_reason:
+ properties:
+ enabled:
+ type: boolean
+ options:
+ anyOf:
+ - items:
+ enum:
+ - customer_service
+ - low_quality
+ - missing_features
+ - other
+ - switched_service
+ - too_complex
+ - too_expensive
+ - unused
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ required:
+ - enabled
+ - options
+ title: subscription_cancellation_reason_creation_param
+ type: object
+ enabled:
+ type: boolean
+ mode:
+ enum:
+ - at_period_end
+ - immediately
+ type: string
+ proration_behavior:
+ enum:
+ - always_invoice
+ - create_prorations
+ - none
+ type: string
+ required:
+ - enabled
+ title: subscription_cancel_creation_param
+ type: object
+ subscription_pause:
+ properties:
+ enabled:
+ type: boolean
+ title: subscription_pause_param
+ type: object
+ subscription_update:
+ properties:
+ default_allowed_updates:
+ anyOf:
+ - items:
+ enum:
+ - price
+ - promotion_code
+ - quantity
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ enabled:
+ type: boolean
+ products:
+ anyOf:
+ - items:
+ properties:
+ prices:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ product:
+ maxLength: 5000
+ type: string
+ required:
+ - prices
+ - product
+ title: subscription_update_product_param
+ type: object
+ type: array
+ - enum:
+ - ""
+ type: string
+ proration_behavior:
+ enum:
+ - always_invoice
+ - create_prorations
+ - none
+ type: string
+ required:
+ - default_allowed_updates
+ - enabled
+ - products
+ title: subscription_update_creation_param
+ type: object
+ title: features_creation_param
+ type: object
+ login_page:
+ description: The hosted login page for this configuration. Learn more about the portal login page in our [integration docs](https://stripe.com/docs/billing/subscriptions/integrating-customer-portal#share).
+ properties:
+ enabled:
+ type: boolean
+ required:
+ - enabled
+ title: login_page_create_param
+ type: object
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ required:
+ - business_profile
+ - features
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/billing_portal.configuration"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/billing_portal/configurations/{configuration}":
+ get:
+ description:
Retrieves a configuration that describes the functionality of the customer portal.
Updates a configuration that describes the functionality of the customer portal.
+ operationId: PostBillingPortalConfigurationsConfiguration
+ parameters:
+ - in: path
+ name: configuration
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ business_profile:
+ explode: true
+ style: deepObject
+ default_return_url:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ features:
+ explode: true
+ style: deepObject
+ login_page:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ active:
+ description: Whether the configuration is active and can be used to create portal sessions.
+ type: boolean
+ business_profile:
+ description: The business information shown to customers in the portal.
+ properties:
+ headline:
+ maxLength: 60
+ type: string
+ privacy_policy_url:
+ anyOf:
+ - type: string
+ - enum:
+ - ""
+ type: string
+ terms_of_service_url:
+ anyOf:
+ - type: string
+ - enum:
+ - ""
+ type: string
+ title: business_profile_update_param
+ type: object
+ default_return_url:
+ anyOf:
+ - type: string
+ - enum:
+ - ""
+ type: string
+ description: The default URL to redirect customers to when they click on the portal's link to return to your website. This can be [overriden](https://stripe.com/docs/api/customer_portal/sessions/create#create_portal_session-return_url) when creating the session.
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ features:
+ description: Information about the features available in the portal.
+ properties:
+ customer_update:
+ properties:
+ allowed_updates:
+ anyOf:
+ - items:
+ enum:
+ - address
+ - email
+ - name
+ - phone
+ - shipping
+ - tax_id
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ enabled:
+ type: boolean
+ title: customer_update_updating_param
+ type: object
+ invoice_history:
+ properties:
+ enabled:
+ type: boolean
+ required:
+ - enabled
+ title: invoice_list_param
+ type: object
+ payment_method_update:
+ properties:
+ enabled:
+ type: boolean
+ required:
+ - enabled
+ title: payment_method_update_param
+ type: object
+ subscription_cancel:
+ properties:
+ cancellation_reason:
+ properties:
+ enabled:
+ type: boolean
+ options:
+ anyOf:
+ - items:
+ enum:
+ - customer_service
+ - low_quality
+ - missing_features
+ - other
+ - switched_service
+ - too_complex
+ - too_expensive
+ - unused
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ required:
+ - enabled
+ title: subscription_cancellation_reason_updating_param
+ type: object
+ enabled:
+ type: boolean
+ mode:
+ enum:
+ - at_period_end
+ - immediately
+ type: string
+ proration_behavior:
+ enum:
+ - always_invoice
+ - create_prorations
+ - none
+ type: string
+ title: subscription_cancel_updating_param
+ type: object
+ subscription_pause:
+ properties:
+ enabled:
+ type: boolean
+ title: subscription_pause_param
+ type: object
+ subscription_update:
+ properties:
+ default_allowed_updates:
+ anyOf:
+ - items:
+ enum:
+ - price
+ - promotion_code
+ - quantity
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ enabled:
+ type: boolean
+ products:
+ anyOf:
+ - items:
+ properties:
+ prices:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ product:
+ maxLength: 5000
+ type: string
+ required:
+ - prices
+ - product
+ title: subscription_update_product_param
+ type: object
+ type: array
+ - enum:
+ - ""
+ type: string
+ proration_behavior:
+ enum:
+ - always_invoice
+ - create_prorations
+ - none
+ type: string
+ title: subscription_update_updating_param
+ type: object
+ title: features_updating_param
+ type: object
+ login_page:
+ description: The hosted login page for this configuration. Learn more about the portal login page in our [integration docs](https://stripe.com/docs/billing/subscriptions/integrating-customer-portal#share).
+ properties:
+ enabled:
+ type: boolean
+ required:
+ - enabled
+ title: login_page_update_param
+ type: object
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/billing_portal.configuration"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/billing_portal/sessions:
+ post:
+ description:
Creates a session of the customer portal.
+ operationId: PostBillingPortalSessions
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ flow_data:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ configuration:
+ description: The ID of an existing [configuration](https://stripe.com/docs/api/customer_portal/configuration) to use for this session, describing its functionality and features. If not specified, the session uses the default configuration.
+ maxLength: 5000
+ type: string
+ customer:
+ description: The ID of an existing customer.
+ maxLength: 5000
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ flow_data:
+ description: Information about a specific flow for the customer to go through. See the [docs](https://stripe.com/docs/customer-management/portal-deep-links) to learn more about using customer portal deep links and flows.
+ properties:
+ after_completion:
+ properties:
+ hosted_confirmation:
+ properties:
+ custom_message:
+ maxLength: 500
+ type: string
+ title: after_completion_hosted_confirmation_param
+ type: object
+ redirect:
+ properties:
+ return_url:
+ type: string
+ required:
+ - return_url
+ title: after_completion_redirect_param
+ type: object
+ type:
+ enum:
+ - hosted_confirmation
+ - portal_homepage
+ - redirect
+ type: string
+ required:
+ - type
+ title: flow_data_after_completion_param
+ type: object
+ subscription_cancel:
+ properties:
+ subscription:
+ maxLength: 5000
+ type: string
+ required:
+ - subscription
+ title: flow_data_subscription_cancel_param
+ type: object
+ type:
+ enum:
+ - payment_method_update
+ - subscription_cancel
+ type: string
+ x-stripeBypassValidation: true
+ required:
+ - type
+ title: flow_data_param
+ type: object
+ locale:
+ description: The IETF language tag of the locale Customer Portal is displayed in. If blank or auto, the customer’s `preferred_locales` or browser’s locale is used.
+ enum:
+ - auto
+ - bg
+ - cs
+ - da
+ - de
+ - el
+ - en
+ - en-AU
+ - en-CA
+ - en-GB
+ - en-IE
+ - en-IN
+ - en-NZ
+ - en-SG
+ - es
+ - es-419
+ - et
+ - fi
+ - fil
+ - fr
+ - fr-CA
+ - hr
+ - hu
+ - id
+ - it
+ - ja
+ - ko
+ - lt
+ - lv
+ - ms
+ - mt
+ - nb
+ - nl
+ - pl
+ - pt
+ - pt-BR
+ - ro
+ - ru
+ - sk
+ - sl
+ - sv
+ - th
+ - tr
+ - vi
+ - zh
+ - zh-HK
+ - zh-TW
+ type: string
+ on_behalf_of:
+ description: The `on_behalf_of` account to use for this session. When specified, only subscriptions and invoices with this `on_behalf_of` account appear in the portal. For more information, see the [docs](https://stripe.com/docs/connect/charges-transfers#on-behalf-of). Use the [Accounts API](https://stripe.com/docs/api/accounts/object#account_object-settings-branding) to modify the `on_behalf_of` account's branding settings, which the portal displays.
+ type: string
+ return_url:
+ description: The default URL to redirect customers to when they click on the portal's link to return to your website.
+ type: string
+ required:
+ - customer
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/billing_portal.session"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/charges:
+ get:
+ description:
Returns a list of charges you’ve previously created. The charges are returned in sorted order, with the most recent charges appearing first.
+ operationId: GetCharges
+ parameters:
+ - explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: Only return charges for the customer specified by this customer ID.
+ in: query
+ name: customer
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: Only return charges that were created by the PaymentIntent specified by this PaymentIntent ID.
+ in: query
+ name: payment_intent
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Only return charges for this transfer group.
+ in: query
+ name: transfer_group
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/charge"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/charges
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: ChargeList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
To charge a credit card or other payment source, you create a Charge object. If your API key is in test mode, the supplied payment source (e.g., card) won’t actually be charged, although everything else will occur as if in live mode. (Stripe assumes that the charge would have completed successfully).
+ operationId: PostCharges
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ card:
+ explode: true
+ style: deepObject
+ destination:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ radar_options:
+ explode: true
+ style: deepObject
+ shipping:
+ explode: true
+ style: deepObject
+ transfer_data:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ amount:
+ description: Amount intended to be collected by this payment. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).
+ type: integer
+ application_fee:
+ type: integer
+ application_fee_amount:
+ description: A fee in cents (or local equivalent) that will be applied to the charge and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the `Stripe-Account` header in order to take an application fee. For more information, see the application fees [documentation](https://stripe.com/docs/connect/direct-charges#collecting-fees).
+ type: integer
+ capture:
+ description: Whether to immediately capture the charge. Defaults to `true`. When `false`, the charge issues an authorization (or pre-authorization), and will need to be [captured](https://stripe.com/docs/api#capture_charge) later. Uncaptured charges expire after a set number of days (7 by default). For more information, see the [authorizing charges and settling later](https://stripe.com/docs/charges/placing-a-hold) documentation.
+ type: boolean
+ card:
+ anyOf:
+ - properties:
+ address_city:
+ maxLength: 5000
+ type: string
+ address_country:
+ maxLength: 5000
+ type: string
+ address_line1:
+ maxLength: 5000
+ type: string
+ address_line2:
+ maxLength: 5000
+ type: string
+ address_state:
+ maxLength: 5000
+ type: string
+ address_zip:
+ maxLength: 5000
+ type: string
+ cvc:
+ maxLength: 5000
+ type: string
+ exp_month:
+ type: integer
+ exp_year:
+ type: integer
+ metadata:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ maxLength: 5000
+ type: string
+ number:
+ maxLength: 5000
+ type: string
+ object:
+ enum:
+ - card
+ maxLength: 5000
+ type: string
+ required:
+ - exp_month
+ - exp_year
+ - number
+ title: customer_payment_source_card
+ type: object
+ - maxLength: 5000
+ type: string
+ description: A token, like the ones returned by [Stripe.js](https://stripe.com/docs/js).
+ x-stripeBypassValidation: true
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ customer:
+ description: The ID of an existing customer that will be charged in this request.
+ maxLength: 500
+ type: string
+ description:
+ description: An arbitrary string which you can attach to a `Charge` object. It is displayed when in the web interface alongside the charge. Note that if you use Stripe to send automatic email receipts to your customers, your receipt emails will include the `description` of the charge(s) that they are describing.
+ maxLength: 40000
+ type: string
+ destination:
+ anyOf:
+ - properties:
+ account:
+ maxLength: 5000
+ type: string
+ amount:
+ type: integer
+ required:
+ - account
+ title: destination_specs
+ type: object
+ - type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ on_behalf_of:
+ description: The Stripe account ID for which these funds are intended. Automatically set if you use the `destination` parameter. For details, see [Creating Separate Charges and Transfers](https://stripe.com/docs/connect/charges-transfers#on-behalf-of).
+ maxLength: 5000
+ type: string
+ radar_options:
+ description: Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information.
+ properties:
+ session:
+ maxLength: 5000
+ type: string
+ title: radar_options
+ type: object
+ receipt_email:
+ description: The email address to which this charge's [receipt](https://stripe.com/docs/dashboard/receipts) will be sent. The receipt will not be sent until the charge is paid, and no receipts will be sent for test mode charges. If this charge is for a [Customer](https://stripe.com/docs/api/customers/object), the email address specified here will override the customer's email address. If `receipt_email` is specified for a charge in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails).
+ type: string
+ shipping:
+ description: Shipping information for the charge. Helps prevent fraud on charges for physical goods.
+ properties:
+ address:
+ properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ title: optional_fields_address
+ type: object
+ carrier:
+ maxLength: 5000
+ type: string
+ name:
+ maxLength: 5000
+ type: string
+ phone:
+ maxLength: 5000
+ type: string
+ tracking_number:
+ maxLength: 5000
+ type: string
+ required:
+ - address
+ - name
+ title: optional_fields_shipping
+ type: object
+ source:
+ description: A payment source to be charged. This can be the ID of a [card](https://stripe.com/docs/api#cards) (i.e., credit or debit card), a [bank account](https://stripe.com/docs/api#bank_accounts), a [source](https://stripe.com/docs/api#sources), a [token](https://stripe.com/docs/api#tokens), or a [connected account](https://stripe.com/docs/connect/account-debits#charging-a-connected-account). For certain sources---namely, [cards](https://stripe.com/docs/api#cards), [bank accounts](https://stripe.com/docs/api#bank_accounts), and attached [sources](https://stripe.com/docs/api#sources)---you must also pass the ID of the associated customer.
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ statement_descriptor:
+ description: For card charges, use `statement_descriptor_suffix` instead. Otherwise, you can use this value as the complete description of a charge on your customers’ statements. Must contain at least one letter, maximum 22 characters.
+ maxLength: 22
+ type: string
+ statement_descriptor_suffix:
+ description: Provides information about the charge that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.
+ maxLength: 22
+ type: string
+ transfer_data:
+ description: An optional dictionary including the account to automatically transfer to as part of a destination charge. [See the Connect documentation](https://stripe.com/docs/connect/destination-charges) for details.
+ properties:
+ amount:
+ type: integer
+ destination:
+ maxLength: 5000
+ type: string
+ required:
+ - destination
+ title: transfer_data_specs
+ type: object
+ transfer_group:
+ description: A string that identifies this transaction as part of a group. For details, see [Grouping transactions](https://stripe.com/docs/connect/charges-transfers#transfer-options).
+ type: string
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/charge"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/charges/search:
+ get:
+ description: |-
+
Search for charges you’ve previously created using Stripe’s Search Query Language.
+ Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating
+ conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up
+ to an hour behind during outages. Search functionality is not available to merchants in India.
+ operationId: GetChargesSearch
+ parameters:
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results.
+ in: query
+ name: page
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for charges](https://stripe.com/docs/search#query-fields-for-charges).
+ in: query
+ name: query
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/charge"
+ type: array
+ has_more:
+ type: boolean
+ next_page:
+ maxLength: 5000
+ nullable: true
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - search_result
+ type: string
+ total_count:
+ description: The total number of objects that match the query, only accurate up to 10,000.
+ type: integer
+ url:
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: SearchResult
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/charges/{charge}":
+ get:
+ description:
Retrieves the details of a charge that has previously been created. Supply the unique charge ID that was returned from your previous request, and Stripe will return the corresponding charge information. The same information is returned when creating or refunding the charge.
Updates the specified charge by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
+ operationId: PostChargesCharge
+ parameters:
+ - in: path
+ name: charge
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ fraud_details:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ shipping:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ customer:
+ description: The ID of an existing customer that will be associated with this request. This field may only be updated if there is no existing associated customer with this charge.
+ maxLength: 5000
+ type: string
+ description:
+ description: An arbitrary string which you can attach to a charge object. It is displayed when in the web interface alongside the charge. Note that if you use Stripe to send automatic email receipts to your customers, your receipt emails will include the `description` of the charge(s) that they are describing.
+ maxLength: 40000
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ fraud_details:
+ description: A set of key-value pairs you can attach to a charge giving information about its riskiness. If you believe a charge is fraudulent, include a `user_report` key with a value of `fraudulent`. If you believe a charge is safe, include a `user_report` key with a value of `safe`. Stripe will use the information you send to improve our fraud detection algorithms.
+ properties:
+ user_report:
+ enum:
+ - ""
+ - fraudulent
+ - safe
+ maxLength: 5000
+ type: string
+ required:
+ - user_report
+ title: fraud_details
+ type: object
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ receipt_email:
+ description: This is the email address that the receipt for this charge will be sent to. If this field is updated, then a new email receipt will be sent to the updated address.
+ maxLength: 5000
+ type: string
+ shipping:
+ description: Shipping information for the charge. Helps prevent fraud on charges for physical goods.
+ properties:
+ address:
+ properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ title: optional_fields_address
+ type: object
+ carrier:
+ maxLength: 5000
+ type: string
+ name:
+ maxLength: 5000
+ type: string
+ phone:
+ maxLength: 5000
+ type: string
+ tracking_number:
+ maxLength: 5000
+ type: string
+ required:
+ - address
+ - name
+ title: optional_fields_shipping
+ type: object
+ transfer_group:
+ description: A string that identifies this transaction as part of a group. `transfer_group` may only be provided if it has not been set. See the [Connect documentation](https://stripe.com/docs/connect/charges-transfers#transfer-options) for details.
+ type: string
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/charge"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/charges/{charge}/capture":
+ post:
+ description: |-
+
Capture the payment of an existing, uncaptured, charge. This is the second half of the two-step payment flow, where first you created a charge with the capture option set to false.
+
+
Uncaptured payments expire a set number of days after they are created (7 by default). If they are not captured by that point in time, they will be marked as refunded and will no longer be capturable.
+ operationId: PostChargesChargeCapture
+ parameters:
+ - in: path
+ name: charge
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ transfer_data:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ amount:
+ description: The amount to capture, which must be less than or equal to the original amount. Any additional amount will be automatically refunded.
+ type: integer
+ application_fee:
+ description: An application fee to add on to this charge.
+ type: integer
+ application_fee_amount:
+ description: An application fee amount to add on to this charge, which must be less than or equal to the original amount.
+ type: integer
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ receipt_email:
+ description: The email address to send this charge's receipt to. This will override the previously-specified email address for this charge, if one was set. Receipts will not be sent in test mode.
+ type: string
+ statement_descriptor:
+ description: For card charges, use `statement_descriptor_suffix` instead. Otherwise, you can use this value as the complete description of a charge on your customers’ statements. Must contain at least one letter, maximum 22 characters.
+ maxLength: 22
+ type: string
+ statement_descriptor_suffix:
+ description: Provides information about the charge that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.
+ maxLength: 22
+ type: string
+ transfer_data:
+ description: An optional dictionary including the account to automatically transfer to as part of a destination charge. [See the Connect documentation](https://stripe.com/docs/connect/destination-charges) for details.
+ properties:
+ amount:
+ type: integer
+ title: transfer_data_specs
+ type: object
+ transfer_group:
+ description: A string that identifies this transaction as part of a group. `transfer_group` may only be provided if it has not been set. See the [Connect documentation](https://stripe.com/docs/connect/charges-transfers#transfer-options) for details.
+ type: string
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/charge"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/charges/{charge}/dispute":
+ get:
+ description:
Retrieve a dispute for a specified charge.
+ operationId: GetChargesChargeDispute
+ parameters:
+ - in: path
+ name: charge
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/dispute"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description: ""
+ operationId: PostChargesChargeDispute
+ parameters:
+ - in: path
+ name: charge
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ evidence:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ evidence:
+ description: Evidence to upload, to respond to a dispute. Updating any field in the hash will submit all fields in the hash for review. The combined character count of all fields is limited to 150,000.
+ properties:
+ access_activity_log:
+ maxLength: 20000
+ type: string
+ billing_address:
+ maxLength: 5000
+ type: string
+ cancellation_policy:
+ type: string
+ cancellation_policy_disclosure:
+ maxLength: 20000
+ type: string
+ cancellation_rebuttal:
+ maxLength: 20000
+ type: string
+ customer_communication:
+ type: string
+ customer_email_address:
+ maxLength: 5000
+ type: string
+ customer_name:
+ maxLength: 5000
+ type: string
+ customer_purchase_ip:
+ maxLength: 5000
+ type: string
+ customer_signature:
+ type: string
+ duplicate_charge_documentation:
+ type: string
+ duplicate_charge_explanation:
+ maxLength: 20000
+ type: string
+ duplicate_charge_id:
+ maxLength: 5000
+ type: string
+ product_description:
+ maxLength: 20000
+ type: string
+ receipt:
+ type: string
+ refund_policy:
+ type: string
+ refund_policy_disclosure:
+ maxLength: 20000
+ type: string
+ refund_refusal_explanation:
+ maxLength: 20000
+ type: string
+ service_date:
+ maxLength: 5000
+ type: string
+ service_documentation:
+ type: string
+ shipping_address:
+ maxLength: 5000
+ type: string
+ shipping_carrier:
+ maxLength: 5000
+ type: string
+ shipping_date:
+ maxLength: 5000
+ type: string
+ shipping_documentation:
+ type: string
+ shipping_tracking_number:
+ maxLength: 5000
+ type: string
+ uncategorized_file:
+ type: string
+ uncategorized_text:
+ maxLength: 20000
+ type: string
+ title: dispute_evidence_params
+ type: object
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ submit:
+ description: Whether to immediately submit evidence to the bank. If `false`, evidence is staged on the dispute. Staged evidence is visible in the API and Dashboard, and can be submitted to the bank by making another request with this attribute set to `true` (the default).
+ type: boolean
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/dispute"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/charges/{charge}/dispute/close":
+ post:
+ description: ""
+ operationId: PostChargesChargeDisputeClose
+ parameters:
+ - in: path
+ name: charge
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/dispute"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/charges/{charge}/refund":
+ post:
+ description: |-
+
When you create a new refund, you must specify a Charge or a PaymentIntent object on which to create it.
+
+
Creating a new refund will refund a charge that has previously been created but not yet refunded.
+ Funds will be refunded to the credit or debit card that was originally charged.
+
+
You can optionally refund only part of a charge.
+ You can do so multiple times, until the entire charge has been refunded.
+
+
Once entirely refunded, a charge can’t be refunded again.
+ This method will raise an error when called on an already-refunded charge,
+ or when trying to refund more money than is left on a charge.
+ operationId: PostChargesChargeRefund
+ parameters:
+ - in: path
+ name: charge
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ amount:
+ type: integer
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ instructions_email:
+ description: For payment methods without native refund support (e.g., Konbini, PromptPay), use this email from the customer to receive refund instructions.
+ type: string
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ payment_intent:
+ maxLength: 5000
+ type: string
+ reason:
+ enum:
+ - duplicate
+ - fraudulent
+ - requested_by_customer
+ maxLength: 5000
+ type: string
+ refund_application_fee:
+ type: boolean
+ reverse_transfer:
+ type: boolean
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/charge"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/charges/{charge}/refunds":
+ get:
+ description:
You can see a list of the refunds belonging to a specific charge. Note that the 10 most recent refunds are always available by default on the charge object. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional refunds.
+ operationId: GetChargesChargeRefunds
+ parameters:
+ - in: path
+ name: charge
+ required: true
+ schema:
+ type: string
+ style: simple
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/refund"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: RefundList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Create a refund.
+ operationId: PostChargesChargeRefunds
+ parameters:
+ - in: path
+ name: charge
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ amount:
+ description: A positive integer representing how much to refund.
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ customer:
+ description: Customer whose customer balance to refund from.
+ maxLength: 5000
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ instructions_email:
+ description: For payment methods without native refund support (e.g., Konbini, PromptPay), use this email from the customer to receive refund instructions.
+ type: string
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ origin:
+ description: Origin of the refund
+ enum:
+ - customer_balance
+ type: string
+ payment_intent:
+ maxLength: 5000
+ type: string
+ reason:
+ enum:
+ - duplicate
+ - fraudulent
+ - requested_by_customer
+ maxLength: 5000
+ type: string
+ refund_application_fee:
+ type: boolean
+ reverse_transfer:
+ type: boolean
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/refund"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/charges/{charge}/refunds/{refund}":
+ get:
+ description:
+ operationId: GetCheckoutSessions
+ parameters:
+ - description: Only return the Checkout Sessions for the Customer specified.
+ in: query
+ name: customer
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Only return the Checkout Sessions for the Customer details specified.
+ explode: true
+ in: query
+ name: customer_details
+ required: false
+ schema:
+ properties:
+ email:
+ type: string
+ required:
+ - email
+ title: customer_details_params
+ type: object
+ style: deepObject
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: Only return the Checkout Session for the PaymentIntent specified.
+ in: query
+ name: payment_intent
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Only return the Checkout Sessions for the Payment Link specified.
+ in: query
+ name: payment_link
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Only return the Checkout Session for the subscription specified.
+ in: query
+ name: subscription
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/checkout.session"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: PaymentPagesCheckoutSessionList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Creates a Session object.
+ operationId: PostCheckoutSessions
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ after_expiration:
+ explode: true
+ style: deepObject
+ automatic_tax:
+ explode: true
+ style: deepObject
+ consent_collection:
+ explode: true
+ style: deepObject
+ custom_fields:
+ explode: true
+ style: deepObject
+ custom_text:
+ explode: true
+ style: deepObject
+ customer_update:
+ explode: true
+ style: deepObject
+ discounts:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ invoice_creation:
+ explode: true
+ style: deepObject
+ line_items:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ payment_intent_data:
+ explode: true
+ style: deepObject
+ payment_method_options:
+ explode: true
+ style: deepObject
+ payment_method_types:
+ explode: true
+ style: deepObject
+ phone_number_collection:
+ explode: true
+ style: deepObject
+ setup_intent_data:
+ explode: true
+ style: deepObject
+ shipping_address_collection:
+ explode: true
+ style: deepObject
+ shipping_options:
+ explode: true
+ style: deepObject
+ subscription_data:
+ explode: true
+ style: deepObject
+ tax_id_collection:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ after_expiration:
+ description: Configure actions after a Checkout Session has expired.
+ properties:
+ recovery:
+ properties:
+ allow_promotion_codes:
+ type: boolean
+ enabled:
+ type: boolean
+ required:
+ - enabled
+ title: recovery_params
+ type: object
+ title: after_expiration_params
+ type: object
+ allow_promotion_codes:
+ description: Enables user redeemable promotion codes.
+ type: boolean
+ automatic_tax:
+ description: Settings for automatic tax lookup for this session and resulting payments, invoices, and subscriptions.
+ properties:
+ enabled:
+ type: boolean
+ required:
+ - enabled
+ title: automatic_tax_params
+ type: object
+ billing_address_collection:
+ description: Specify whether Checkout should collect the customer's billing address.
+ enum:
+ - auto
+ - required
+ type: string
+ cancel_url:
+ description: If set, Checkout displays a back button and customers will be directed to this URL if they decide to cancel payment and return to your website.
+ maxLength: 5000
+ type: string
+ client_reference_id:
+ description: |-
+ A unique string to reference the Checkout Session. This can be a
+ customer ID, a cart ID, or similar, and can be used to reconcile the
+ session with your internal systems.
+ maxLength: 200
+ type: string
+ consent_collection:
+ description: Configure fields for the Checkout Session to gather active consent from customers.
+ properties:
+ promotions:
+ enum:
+ - auto
+ - none
+ type: string
+ terms_of_service:
+ enum:
+ - none
+ - required
+ type: string
+ title: consent_collection_params
+ type: object
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ custom_fields:
+ description: Collect additional information from your customer using custom fields. Up to 2 fields are supported.
+ items:
+ properties:
+ dropdown:
+ properties:
+ options:
+ items:
+ properties:
+ label:
+ maxLength: 100
+ type: string
+ value:
+ maxLength: 100
+ type: string
+ required:
+ - label
+ - value
+ title: custom_field_option_param
+ type: object
+ type: array
+ required:
+ - options
+ title: custom_field_dropdown_param
+ type: object
+ key:
+ maxLength: 200
+ type: string
+ label:
+ properties:
+ custom:
+ maxLength: 50
+ type: string
+ type:
+ enum:
+ - custom
+ type: string
+ required:
+ - custom
+ - type
+ title: custom_field_label_param
+ type: object
+ optional:
+ type: boolean
+ type:
+ enum:
+ - dropdown
+ - numeric
+ - text
+ type: string
+ required:
+ - key
+ - label
+ - type
+ title: custom_field_param
+ type: object
+ type: array
+ custom_text:
+ description: Display additional text for your customers using custom text.
+ properties:
+ shipping_address:
+ anyOf:
+ - properties:
+ message:
+ maxLength: 1000
+ type: string
+ required:
+ - message
+ title: custom_text_position_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ submit:
+ anyOf:
+ - properties:
+ message:
+ maxLength: 1000
+ type: string
+ required:
+ - message
+ title: custom_text_position_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ title: custom_text_param
+ type: object
+ customer:
+ description: |-
+ ID of an existing Customer, if one exists. In `payment` mode, the customer’s most recent card
+ payment method will be used to prefill the email, name, card details, and billing address
+ on the Checkout page. In `subscription` mode, the customer’s [default payment method](https://stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method)
+ will be used if it’s a card, and otherwise the most recent card will be used. A valid billing address, billing name and billing email are required on the payment method for Checkout to prefill the customer's card details.
+
+ If the Customer already has a valid [email](https://stripe.com/docs/api/customers/object#customer_object-email) set, the email will be prefilled and not editable in Checkout.
+ If the Customer does not have a valid `email`, Checkout will set the email entered during the session on the Customer.
+
+ If blank for Checkout Sessions in `payment` or `subscription` mode, Checkout will create a new Customer object based on information provided during the payment flow.
+
+ You can set [`payment_intent_data.setup_future_usage`](https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-payment_intent_data-setup_future_usage) to have Checkout automatically attach the payment method to the Customer you pass in for future reuse.
+ maxLength: 5000
+ type: string
+ customer_creation:
+ description: |-
+ Configure whether a Checkout Session creates a [Customer](https://stripe.com/docs/api/customers) during Session confirmation.
+
+ When a Customer is not created, you can still retrieve email, address, and other customer data entered in Checkout
+ with [customer_details](https://stripe.com/docs/api/checkout/sessions/object#checkout_session_object-customer_details).
+
+ Sessions that don't create Customers instead are grouped by [guest customers](https://stripe.com/docs/payments/checkout/guest-customers)
+ in the Dashboard. Promotion codes limited to first time customers will return invalid for these Sessions.
+
+ Can only be set in `payment` and `setup` mode.
+ enum:
+ - always
+ - if_required
+ type: string
+ customer_email:
+ description: |-
+ If provided, this value will be used when the Customer object is created.
+ If not provided, customers will be asked to enter their email address.
+ Use this parameter to prefill customer data if you already have an email
+ on file. To access information about the customer once a session is
+ complete, use the `customer` field.
+ type: string
+ customer_update:
+ description: Controls what fields on Customer can be updated by the Checkout Session. Can only be provided when `customer` is provided.
+ properties:
+ address:
+ enum:
+ - auto
+ - never
+ type: string
+ x-stripeBypassValidation: true
+ name:
+ enum:
+ - auto
+ - never
+ type: string
+ x-stripeBypassValidation: true
+ shipping:
+ enum:
+ - auto
+ - never
+ type: string
+ x-stripeBypassValidation: true
+ title: customer_update_params
+ type: object
+ discounts:
+ description: The coupon or promotion code to apply to this Session. Currently, only up to one may be specified.
+ items:
+ properties:
+ coupon:
+ maxLength: 5000
+ type: string
+ promotion_code:
+ maxLength: 5000
+ type: string
+ title: discount_params
+ type: object
+ type: array
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ expires_at:
+ description: The Epoch time in seconds at which the Checkout Session will expire. It can be anywhere from 30 minutes to 24 hours after Checkout Session creation. By default, this value is 24 hours from creation.
+ format: unix-time
+ type: integer
+ invoice_creation:
+ description: Generate a post-purchase Invoice for one-time payments.
+ properties:
+ enabled:
+ type: boolean
+ invoice_data:
+ properties:
+ account_tax_ids:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ custom_fields:
+ anyOf:
+ - items:
+ properties:
+ name:
+ maxLength: 30
+ type: string
+ value:
+ maxLength: 30
+ type: string
+ required:
+ - name
+ - value
+ title: custom_field_params
+ type: object
+ type: array
+ - enum:
+ - ""
+ type: string
+ description:
+ maxLength: 1500
+ type: string
+ footer:
+ maxLength: 5000
+ type: string
+ metadata:
+ additionalProperties:
+ type: string
+ type: object
+ rendering_options:
+ anyOf:
+ - properties:
+ amount_tax_display:
+ enum:
+ - ""
+ - exclude_tax
+ - include_inclusive_tax
+ type: string
+ title: rendering_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ title: invoice_data_params
+ type: object
+ required:
+ - enabled
+ title: invoice_creation_params
+ type: object
+ line_items:
+ description: |-
+ A list of items the customer is purchasing. Use this parameter to pass one-time or recurring [Prices](https://stripe.com/docs/api/prices).
+
+ For `payment` mode, there is a maximum of 100 line items, however it is recommended to consolidate line items if there are more than a few dozen.
+
+ For `subscription` mode, there is a maximum of 20 line items with recurring Prices and 20 line items with one-time Prices. Line items with one-time Prices will be on the initial invoice only.
+ items:
+ properties:
+ adjustable_quantity:
+ properties:
+ enabled:
+ type: boolean
+ maximum:
+ type: integer
+ minimum:
+ type: integer
+ required:
+ - enabled
+ title: adjustable_quantity_params
+ type: object
+ dynamic_tax_rates:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ price:
+ maxLength: 5000
+ type: string
+ price_data:
+ properties:
+ currency:
+ type: string
+ product:
+ maxLength: 5000
+ type: string
+ product_data:
+ properties:
+ description:
+ maxLength: 40000
+ type: string
+ images:
+ items:
+ type: string
+ type: array
+ metadata:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ maxLength: 5000
+ type: string
+ tax_code:
+ maxLength: 5000
+ type: string
+ required:
+ - name
+ title: product_data
+ type: object
+ recurring:
+ properties:
+ interval:
+ enum:
+ - day
+ - month
+ - week
+ - year
+ type: string
+ interval_count:
+ type: integer
+ required:
+ - interval
+ title: recurring_adhoc
+ type: object
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ required:
+ - currency
+ title: price_data_with_product_data
+ type: object
+ quantity:
+ type: integer
+ tax_rates:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ title: line_item_params
+ type: object
+ type: array
+ locale:
+ description: The IETF language tag of the locale Checkout is displayed in. If blank or `auto`, the browser's locale is used.
+ enum:
+ - auto
+ - bg
+ - cs
+ - da
+ - de
+ - el
+ - en
+ - en-GB
+ - es
+ - es-419
+ - et
+ - fi
+ - fil
+ - fr
+ - fr-CA
+ - hr
+ - hu
+ - id
+ - it
+ - ja
+ - ko
+ - lt
+ - lv
+ - ms
+ - mt
+ - nb
+ - nl
+ - pl
+ - pt
+ - pt-BR
+ - ro
+ - ru
+ - sk
+ - sl
+ - sv
+ - th
+ - tr
+ - vi
+ - zh
+ - zh-HK
+ - zh-TW
+ type: string
+ x-stripeBypassValidation: true
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ mode:
+ description: The mode of the Checkout Session. Pass `subscription` if the Checkout Session includes at least one recurring item.
+ enum:
+ - payment
+ - setup
+ - subscription
+ type: string
+ payment_intent_data:
+ description: A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in `payment` mode.
+ properties:
+ application_fee_amount:
+ type: integer
+ capture_method:
+ enum:
+ - automatic
+ - automatic_async
+ - manual
+ type: string
+ description:
+ maxLength: 1000
+ type: string
+ metadata:
+ additionalProperties:
+ type: string
+ type: object
+ on_behalf_of:
+ type: string
+ receipt_email:
+ type: string
+ setup_future_usage:
+ enum:
+ - off_session
+ - on_session
+ type: string
+ shipping:
+ properties:
+ address:
+ properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ required:
+ - line1
+ title: address
+ type: object
+ carrier:
+ maxLength: 5000
+ type: string
+ name:
+ maxLength: 5000
+ type: string
+ phone:
+ maxLength: 5000
+ type: string
+ tracking_number:
+ maxLength: 5000
+ type: string
+ required:
+ - address
+ - name
+ title: shipping
+ type: object
+ statement_descriptor:
+ maxLength: 22
+ type: string
+ statement_descriptor_suffix:
+ maxLength: 22
+ type: string
+ transfer_data:
+ properties:
+ amount:
+ type: integer
+ destination:
+ type: string
+ required:
+ - destination
+ title: transfer_data_params
+ type: object
+ transfer_group:
+ type: string
+ title: payment_intent_data_params
+ type: object
+ payment_method_collection:
+ description: |-
+ Specify whether Checkout should collect a payment method. When set to `if_required`, Checkout will not collect a payment method when the total due for the session is 0.
+ This may occur if the Checkout Session includes a free trial or a discount.
+
+ Can only be set in `subscription` mode.
+
+ If you'd like information on how to collect a payment method outside of Checkout, read the guide on configuring [subscriptions with a free trial](https://stripe.com/docs/payments/checkout/free-trials).
+ enum:
+ - always
+ - if_required
+ type: string
+ payment_method_options:
+ description: Payment-method-specific configuration.
+ properties:
+ acss_debit:
+ properties:
+ currency:
+ enum:
+ - cad
+ - usd
+ type: string
+ mandate_options:
+ properties:
+ custom_mandate_url:
+ anyOf:
+ - type: string
+ - enum:
+ - ""
+ type: string
+ default_for:
+ items:
+ enum:
+ - invoice
+ - subscription
+ type: string
+ type: array
+ interval_description:
+ maxLength: 500
+ type: string
+ payment_schedule:
+ enum:
+ - combined
+ - interval
+ - sporadic
+ type: string
+ transaction_type:
+ enum:
+ - business
+ - personal
+ type: string
+ title: mandate_options_param
+ type: object
+ setup_future_usage:
+ enum:
+ - none
+ - off_session
+ - on_session
+ type: string
+ verification_method:
+ enum:
+ - automatic
+ - instant
+ - microdeposits
+ type: string
+ x-stripeBypassValidation: true
+ title: payment_method_options_param
+ type: object
+ affirm:
+ properties:
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ title: payment_method_options_param
+ type: object
+ afterpay_clearpay:
+ properties:
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ title: payment_method_options_param
+ type: object
+ alipay:
+ properties:
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ title: payment_method_options_param
+ type: object
+ au_becs_debit:
+ properties:
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ title: payment_method_options_param
+ type: object
+ bacs_debit:
+ properties:
+ setup_future_usage:
+ enum:
+ - none
+ - off_session
+ - on_session
+ type: string
+ title: payment_method_options_param
+ type: object
+ bancontact:
+ properties:
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ title: payment_method_options_param
+ type: object
+ boleto:
+ properties:
+ expires_after_days:
+ type: integer
+ setup_future_usage:
+ enum:
+ - none
+ - off_session
+ - on_session
+ type: string
+ title: payment_method_options_param
+ type: object
+ card:
+ properties:
+ installments:
+ properties:
+ enabled:
+ type: boolean
+ title: installments_param
+ type: object
+ setup_future_usage:
+ enum:
+ - off_session
+ - on_session
+ type: string
+ statement_descriptor_suffix_kana:
+ maxLength: 22
+ type: string
+ statement_descriptor_suffix_kanji:
+ maxLength: 17
+ type: string
+ title: payment_method_options_param
+ type: object
+ cashapp:
+ properties:
+ setup_future_usage:
+ enum:
+ - none
+ - off_session
+ - on_session
+ type: string
+ title: payment_method_options_param
+ type: object
+ customer_balance:
+ properties:
+ bank_transfer:
+ properties:
+ eu_bank_transfer:
+ properties:
+ country:
+ maxLength: 5000
+ type: string
+ required:
+ - country
+ title: eu_bank_transfer_params
+ type: object
+ requested_address_types:
+ items:
+ enum:
+ - iban
+ - sepa
+ - sort_code
+ - spei
+ - zengin
+ type: string
+ x-stripeBypassValidation: true
+ type: array
+ type:
+ enum:
+ - eu_bank_transfer
+ - gb_bank_transfer
+ - jp_bank_transfer
+ - mx_bank_transfer
+ type: string
+ x-stripeBypassValidation: true
+ required:
+ - type
+ title: bank_transfer_param
+ type: object
+ funding_type:
+ enum:
+ - bank_transfer
+ type: string
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ title: payment_method_options_param
+ type: object
+ eps:
+ properties:
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ title: payment_method_options_param
+ type: object
+ fpx:
+ properties:
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ title: payment_method_options_param
+ type: object
+ giropay:
+ properties:
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ title: payment_method_options_param
+ type: object
+ grabpay:
+ properties:
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ title: payment_method_options_param
+ type: object
+ ideal:
+ properties:
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ title: payment_method_options_param
+ type: object
+ klarna:
+ properties:
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ title: payment_method_options_param
+ type: object
+ konbini:
+ properties:
+ expires_after_days:
+ type: integer
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ title: payment_method_options_param
+ type: object
+ oxxo:
+ properties:
+ expires_after_days:
+ type: integer
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ title: payment_method_options_param
+ type: object
+ p24:
+ properties:
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ tos_shown_and_accepted:
+ type: boolean
+ title: payment_method_options_param
+ type: object
+ paynow:
+ properties:
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ title: payment_method_options_param
+ type: object
+ pix:
+ properties:
+ expires_after_seconds:
+ type: integer
+ title: payment_method_options_param
+ type: object
+ sepa_debit:
+ properties:
+ setup_future_usage:
+ enum:
+ - none
+ - off_session
+ - on_session
+ type: string
+ title: payment_method_options_param
+ type: object
+ sofort:
+ properties:
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ title: payment_method_options_param
+ type: object
+ us_bank_account:
+ properties:
+ financial_connections:
+ properties:
+ permissions:
+ items:
+ enum:
+ - balances
+ - ownership
+ - payment_method
+ - transactions
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ type: array
+ title: linked_account_options_param
+ type: object
+ setup_future_usage:
+ enum:
+ - none
+ - off_session
+ - on_session
+ type: string
+ verification_method:
+ enum:
+ - automatic
+ - instant
+ type: string
+ x-stripeBypassValidation: true
+ title: payment_method_options_param
+ type: object
+ wechat_pay:
+ properties:
+ app_id:
+ maxLength: 5000
+ type: string
+ client:
+ enum:
+ - android
+ - ios
+ - web
+ type: string
+ x-stripeBypassValidation: true
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ required:
+ - client
+ title: payment_method_options_param
+ type: object
+ title: payment_method_options_param
+ type: object
+ payment_method_types:
+ description: |-
+ A list of the types of payment methods (e.g., `card`) this Checkout Session can accept.
+
+ In `payment` and `subscription` mode, you can omit this attribute to manage your payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods).
+ It is required in `setup` mode.
+
+ Read more about the supported payment methods and their requirements in our [payment
+ method details guide](/docs/payments/checkout/payment-methods).
+
+ If multiple payment methods are passed, Checkout will dynamically reorder them to
+ prioritize the most relevant payment methods based on the customer's location and
+ other characteristics.
+ items:
+ enum:
+ - acss_debit
+ - affirm
+ - afterpay_clearpay
+ - alipay
+ - au_becs_debit
+ - bacs_debit
+ - bancontact
+ - blik
+ - boleto
+ - card
+ - cashapp
+ - customer_balance
+ - eps
+ - fpx
+ - giropay
+ - grabpay
+ - ideal
+ - klarna
+ - konbini
+ - link
+ - oxxo
+ - p24
+ - paynow
+ - pix
+ - promptpay
+ - sepa_debit
+ - sofort
+ - us_bank_account
+ - wechat_pay
+ type: string
+ x-stripeBypassValidation: true
+ type: array
+ phone_number_collection:
+ description: |-
+ Controls phone number collection settings for the session.
+
+ We recommend that you review your privacy policy and check with your legal contacts
+ before using this feature. Learn more about [collecting phone numbers with Checkout](https://stripe.com/docs/payments/checkout/phone-numbers).
+ properties:
+ enabled:
+ type: boolean
+ required:
+ - enabled
+ title: phone_number_collection_params
+ type: object
+ setup_intent_data:
+ description: A subset of parameters to be passed to SetupIntent creation for Checkout Sessions in `setup` mode.
+ properties:
+ description:
+ maxLength: 1000
+ type: string
+ metadata:
+ additionalProperties:
+ type: string
+ type: object
+ on_behalf_of:
+ type: string
+ title: setup_intent_data_param
+ type: object
+ shipping_address_collection:
+ description: When set, provides configuration for Checkout to collect a shipping address from a customer.
+ properties:
+ allowed_countries:
+ items:
+ enum:
+ - AC
+ - AD
+ - AE
+ - AF
+ - AG
+ - AI
+ - AL
+ - AM
+ - AO
+ - AQ
+ - AR
+ - AT
+ - AU
+ - AW
+ - AX
+ - AZ
+ - BA
+ - BB
+ - BD
+ - BE
+ - BF
+ - BG
+ - BH
+ - BI
+ - BJ
+ - BL
+ - BM
+ - BN
+ - BO
+ - BQ
+ - BR
+ - BS
+ - BT
+ - BV
+ - BW
+ - BY
+ - BZ
+ - CA
+ - CD
+ - CF
+ - CG
+ - CH
+ - CI
+ - CK
+ - CL
+ - CM
+ - CN
+ - CO
+ - CR
+ - CV
+ - CW
+ - CY
+ - CZ
+ - DE
+ - DJ
+ - DK
+ - DM
+ - DO
+ - DZ
+ - EC
+ - EE
+ - EG
+ - EH
+ - ER
+ - ES
+ - ET
+ - FI
+ - FJ
+ - FK
+ - FO
+ - FR
+ - GA
+ - GB
+ - GD
+ - GE
+ - GF
+ - GG
+ - GH
+ - GI
+ - GL
+ - GM
+ - GN
+ - GP
+ - GQ
+ - GR
+ - GS
+ - GT
+ - GU
+ - GW
+ - GY
+ - HK
+ - HN
+ - HR
+ - HT
+ - HU
+ - ID
+ - IE
+ - IL
+ - IM
+ - IN
+ - IO
+ - IQ
+ - IS
+ - IT
+ - JE
+ - JM
+ - JO
+ - JP
+ - KE
+ - KG
+ - KH
+ - KI
+ - KM
+ - KN
+ - KR
+ - KW
+ - KY
+ - KZ
+ - LA
+ - LB
+ - LC
+ - LI
+ - LK
+ - LR
+ - LS
+ - LT
+ - LU
+ - LV
+ - LY
+ - MA
+ - MC
+ - MD
+ - ME
+ - MF
+ - MG
+ - MK
+ - ML
+ - MM
+ - MN
+ - MO
+ - MQ
+ - MR
+ - MS
+ - MT
+ - MU
+ - MV
+ - MW
+ - MX
+ - MY
+ - MZ
+ - NA
+ - NC
+ - NE
+ - NG
+ - NI
+ - NL
+ - NO
+ - NP
+ - NR
+ - NU
+ - NZ
+ - OM
+ - PA
+ - PE
+ - PF
+ - PG
+ - PH
+ - PK
+ - PL
+ - PM
+ - PN
+ - PR
+ - PS
+ - PT
+ - PY
+ - QA
+ - RE
+ - RO
+ - RS
+ - RU
+ - RW
+ - SA
+ - SB
+ - SC
+ - SE
+ - SG
+ - SH
+ - SI
+ - SJ
+ - SK
+ - SL
+ - SM
+ - SN
+ - SO
+ - SR
+ - SS
+ - ST
+ - SV
+ - SX
+ - SZ
+ - TA
+ - TC
+ - TD
+ - TF
+ - TG
+ - TH
+ - TJ
+ - TK
+ - TL
+ - TM
+ - TN
+ - TO
+ - TR
+ - TT
+ - TV
+ - TW
+ - TZ
+ - UA
+ - UG
+ - US
+ - UY
+ - UZ
+ - VA
+ - VC
+ - VE
+ - VG
+ - VN
+ - VU
+ - WF
+ - WS
+ - XK
+ - YE
+ - YT
+ - ZA
+ - ZM
+ - ZW
+ - ZZ
+ type: string
+ type: array
+ required:
+ - allowed_countries
+ title: shipping_address_collection_params
+ type: object
+ shipping_options:
+ description: The shipping rate options to apply to this Session.
+ items:
+ properties:
+ shipping_rate:
+ maxLength: 5000
+ type: string
+ shipping_rate_data:
+ properties:
+ delivery_estimate:
+ properties:
+ maximum:
+ properties:
+ unit:
+ enum:
+ - business_day
+ - day
+ - hour
+ - month
+ - week
+ type: string
+ value:
+ type: integer
+ required:
+ - unit
+ - value
+ title: delivery_estimate_bound
+ type: object
+ minimum:
+ properties:
+ unit:
+ enum:
+ - business_day
+ - day
+ - hour
+ - month
+ - week
+ type: string
+ value:
+ type: integer
+ required:
+ - unit
+ - value
+ title: delivery_estimate_bound
+ type: object
+ title: delivery_estimate
+ type: object
+ display_name:
+ maxLength: 100
+ type: string
+ fixed_amount:
+ properties:
+ amount:
+ type: integer
+ currency:
+ type: string
+ currency_options:
+ additionalProperties:
+ properties:
+ amount:
+ type: integer
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ required:
+ - amount
+ title: currency_option
+ type: object
+ type: object
+ required:
+ - amount
+ - currency
+ title: fixed_amount
+ type: object
+ metadata:
+ additionalProperties:
+ type: string
+ type: object
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ tax_code:
+ type: string
+ type:
+ enum:
+ - fixed_amount
+ type: string
+ required:
+ - display_name
+ title: method_params
+ type: object
+ title: shipping_option_params
+ type: object
+ type: array
+ submit_type:
+ description: |-
+ Describes the type of transaction being performed by Checkout in order to customize
+ relevant text on the page, such as the submit button. `submit_type` can only be
+ specified on Checkout Sessions in `payment` mode, but not Checkout Sessions
+ in `subscription` or `setup` mode.
+ enum:
+ - auto
+ - book
+ - donate
+ - pay
+ type: string
+ subscription_data:
+ description: A subset of parameters to be passed to subscription creation for Checkout Sessions in `subscription` mode.
+ properties:
+ application_fee_percent:
+ type: number
+ default_tax_rates:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ description:
+ maxLength: 500
+ type: string
+ metadata:
+ additionalProperties:
+ type: string
+ type: object
+ on_behalf_of:
+ type: string
+ transfer_data:
+ properties:
+ amount_percent:
+ type: number
+ destination:
+ type: string
+ required:
+ - destination
+ title: transfer_data_specs
+ type: object
+ trial_end:
+ format: unix-time
+ type: integer
+ trial_period_days:
+ type: integer
+ trial_settings:
+ properties:
+ end_behavior:
+ properties:
+ missing_payment_method:
+ enum:
+ - cancel
+ - create_invoice
+ - pause
+ type: string
+ required:
+ - missing_payment_method
+ title: end_behavior
+ type: object
+ required:
+ - end_behavior
+ title: trial_settings_config
+ type: object
+ title: subscription_data_params
+ type: object
+ success_url:
+ description: |-
+ The URL to which Stripe should send customers when payment or setup
+ is complete.
+ If you’d like to use information from the successful Checkout Session on your page,
+ read the guide on [customizing your success page](https://stripe.com/docs/payments/checkout/custom-success-page).
+ maxLength: 5000
+ type: string
+ tax_id_collection:
+ description: Controls tax ID collection settings for the session.
+ properties:
+ enabled:
+ type: boolean
+ required:
+ - enabled
+ title: tax_id_collection_params
+ type: object
+ required:
+ - success_url
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/checkout.session"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/checkout/sessions/{session}":
+ get:
+ description:
When retrieving a Checkout Session, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
+ operationId: GetCheckoutSessionsSessionLineItems
+ parameters:
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - in: path
+ name: session
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/item"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: PaymentPagesCheckoutSessionListLineItems
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/country_specs:
+ get:
+ description:
Lists all Country Spec objects available in the API.
+ operationId: GetCountrySpecs
+ parameters:
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/country_spec"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/country_specs
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: CountrySpecList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/country_specs/{country}":
+ get:
+ description:
+ operationId: GetCoupons
+ parameters:
+ - description: A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options.
+ explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/coupon"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/coupons
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: CouponsResourceCouponList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description: |-
+
You can create coupons easily via the coupon management page of the Stripe dashboard. Coupon creation is also accessible via the API if you need to create coupons on the fly.
+
+
A coupon has either a percent_off or an amount_off and currency. If you set an amount_off, that amount will be subtracted from any invoice’s subtotal. For example, an invoice with a subtotal of 100 will have a final total of 0 if a coupon with an amount_off of 200 is applied to it and an invoice with a subtotal of 300 will have a final total of 100 if a coupon with an amount_off of 200 is applied to it.
+ operationId: PostCoupons
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ applies_to:
+ explode: true
+ style: deepObject
+ currency_options:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ amount_off:
+ description: A positive integer representing the amount to subtract from an invoice total (required if `percent_off` is not passed).
+ type: integer
+ applies_to:
+ description: A hash containing directions for what this Coupon will apply discounts to.
+ properties:
+ products:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ title: applies_to_params
+ type: object
+ currency:
+ description: Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) of the `amount_off` parameter (required if `amount_off` is passed).
+ type: string
+ currency_options:
+ additionalProperties:
+ properties:
+ amount_off:
+ type: integer
+ required:
+ - amount_off
+ title: currency_option
+ type: object
+ description: Coupons defined in each available currency option (only supported if `amount_off` is passed). Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies).
+ type: object
+ duration:
+ description: Specifies how long the discount will be in effect if used on a subscription. Defaults to `once`.
+ enum:
+ - forever
+ - once
+ - repeating
+ type: string
+ x-stripeBypassValidation: true
+ duration_in_months:
+ description: Required only if `duration` is `repeating`, in which case it must be a positive integer that specifies the number of months the discount will be in effect.
+ type: integer
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ id:
+ description: Unique string of your choice that will be used to identify this coupon when applying it to a customer. If you don't want to specify a particular code, you can leave the ID blank and we'll generate a random code for you.
+ maxLength: 5000
+ type: string
+ max_redemptions:
+ description: A positive integer specifying the number of times the coupon can be redeemed before it's no longer valid. For example, you might have a 50% off coupon that the first 20 readers of your blog can use.
+ type: integer
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ name:
+ description: Name of the coupon displayed to customers on, for instance invoices, or receipts. By default the `id` is shown if `name` is not set.
+ maxLength: 40
+ type: string
+ percent_off:
+ description: A positive float larger than 0, and smaller or equal to 100, that represents the discount the coupon will apply (required if `amount_off` is not passed).
+ type: number
+ redeem_by:
+ description: Unix timestamp specifying the last time at which the coupon can be redeemed. After the redeem_by date, the coupon can no longer be applied to new customers.
+ format: unix-time
+ type: integer
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/coupon"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/coupons/{coupon}":
+ delete:
+ description:
You can delete coupons via the coupon management page of the Stripe dashboard. However, deleting a coupon does not affect any customers who have already applied the coupon; it means that new customers can’t redeem the coupon. You can also delete coupons via the API.
Updates the metadata of a coupon. Other coupon details (currency, duration, amount_off) are, by design, not editable.
+ operationId: PostCouponsCoupon
+ parameters:
+ - in: path
+ name: coupon
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ currency_options:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ currency_options:
+ additionalProperties:
+ properties:
+ amount_off:
+ type: integer
+ required:
+ - amount_off
+ title: currency_option
+ type: object
+ description: Coupons defined in each available currency option (only supported if the coupon is amount-based). Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies).
+ type: object
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ name:
+ description: Name of the coupon displayed to customers on, for instance invoices, or receipts. By default the `id` is shown if `name` is not set.
+ maxLength: 40
+ type: string
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/coupon"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/credit_notes:
+ get:
+ description:
Returns a list of credit notes.
+ operationId: GetCreditNotes
+ parameters:
+ - description: Only return credit notes for the customer specified by this customer ID.
+ in: query
+ name: customer
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: Only return credit notes for the invoice specified by this invoice ID.
+ in: query
+ name: invoice
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/credit_note"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: CreditNotesList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description: |-
+
Issue a credit note to adjust the amount of a finalized invoice. For a status=open invoice, a credit note reduces
+ its amount_due. For a status=paid invoice, a credit note does not affect its amount_due. Instead, it can result
+ in any combination of the following:
+
+
+
Refund: create a new refund (using refund_amount) or link an existing refund (using refund).
+
Customer balance credit: credit the customer’s balance (using credit_amount) which will be automatically applied to their next invoice when it’s finalized.
+
Outside of Stripe credit: record the amount that is or will be credited outside of Stripe (using out_of_band_amount).
+
+
+
For post-payment credit notes the sum of the refund, credit and outside of Stripe amounts must equal the credit note total.
+
+
You may issue multiple credit notes for an invoice. Each credit note will increment the invoice’s pre_payment_credit_notes_amount
+ or post_payment_credit_notes_amount depending on its status at the time of credit note creation.
+ operationId: PostCreditNotes
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ lines:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ shipping_cost:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ amount:
+ description: The integer amount in cents (or local equivalent) representing the total amount of the credit note.
+ type: integer
+ credit_amount:
+ description: The integer amount in cents (or local equivalent) representing the amount to credit the customer's balance, which will be automatically applied to their next invoice.
+ type: integer
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ invoice:
+ description: ID of the invoice.
+ maxLength: 5000
+ type: string
+ lines:
+ description: Line items that make up the credit note.
+ items:
+ properties:
+ amount:
+ type: integer
+ description:
+ maxLength: 5000
+ type: string
+ invoice_line_item:
+ maxLength: 5000
+ type: string
+ quantity:
+ type: integer
+ tax_rates:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ type:
+ enum:
+ - custom_line_item
+ - invoice_line_item
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ required:
+ - type
+ title: credit_note_line_item_params
+ type: object
+ type: array
+ memo:
+ description: The credit note's memo appears on the credit note PDF.
+ maxLength: 5000
+ type: string
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ out_of_band_amount:
+ description: The integer amount in cents (or local equivalent) representing the amount that is credited outside of Stripe.
+ type: integer
+ reason:
+ description: Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory`
+ enum:
+ - duplicate
+ - fraudulent
+ - order_change
+ - product_unsatisfactory
+ type: string
+ refund:
+ description: ID of an existing refund to link this credit note to.
+ type: string
+ refund_amount:
+ description: The integer amount in cents (or local equivalent) representing the amount to refund. If set, a refund will be created for the charge associated with the invoice.
+ type: integer
+ shipping_cost:
+ description: When shipping_cost contains the shipping_rate from the invoice, the shipping_cost is included in the credit note.
+ properties:
+ shipping_rate:
+ maxLength: 5000
+ type: string
+ title: credit_note_shipping_cost
+ type: object
+ required:
+ - invoice
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/credit_note"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/credit_notes/preview:
+ get:
+ description:
Get a preview of a credit note without creating it.
+ operationId: GetCreditNotesPreview
+ parameters:
+ - description: The integer amount in cents (or local equivalent) representing the total amount of the credit note.
+ in: query
+ name: amount
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: The integer amount in cents (or local equivalent) representing the amount to credit the customer's balance, which will be automatically applied to their next invoice.
+ in: query
+ name: credit_amount
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: ID of the invoice.
+ in: query
+ name: invoice
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Line items that make up the credit note.
+ explode: true
+ in: query
+ name: lines
+ required: false
+ schema:
+ items:
+ properties:
+ amount:
+ type: integer
+ description:
+ maxLength: 5000
+ type: string
+ invoice_line_item:
+ maxLength: 5000
+ type: string
+ quantity:
+ type: integer
+ tax_rates:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ type:
+ enum:
+ - custom_line_item
+ - invoice_line_item
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ required:
+ - type
+ title: credit_note_line_item_params
+ type: object
+ type: array
+ style: deepObject
+ - description: The credit note's memo appears on the credit note PDF.
+ in: query
+ name: memo
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ explode: true
+ in: query
+ name: metadata
+ required: false
+ schema:
+ additionalProperties:
+ type: string
+ type: object
+ style: deepObject
+ - description: The integer amount in cents (or local equivalent) representing the amount that is credited outside of Stripe.
+ in: query
+ name: out_of_band_amount
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory`
+ in: query
+ name: reason
+ required: false
+ schema:
+ enum:
+ - duplicate
+ - fraudulent
+ - order_change
+ - product_unsatisfactory
+ type: string
+ style: form
+ - description: ID of an existing refund to link this credit note to.
+ in: query
+ name: refund
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: The integer amount in cents (or local equivalent) representing the amount to refund. If set, a refund will be created for the charge associated with the invoice.
+ in: query
+ name: refund_amount
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: When shipping_cost contains the shipping_rate from the invoice, the shipping_cost is included in the credit note.
+ explode: true
+ in: query
+ name: shipping_cost
+ required: false
+ schema:
+ properties:
+ shipping_rate:
+ maxLength: 5000
+ type: string
+ title: credit_note_shipping_cost
+ type: object
+ style: deepObject
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/credit_note"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/credit_notes/preview/lines:
+ get:
+ description:
When retrieving a credit note preview, you’ll get a lines property containing the first handful of those items. This URL you can retrieve the full (paginated) list of line items.
+ operationId: GetCreditNotesPreviewLines
+ parameters:
+ - description: The integer amount in cents (or local equivalent) representing the total amount of the credit note.
+ in: query
+ name: amount
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: The integer amount in cents (or local equivalent) representing the amount to credit the customer's balance, which will be automatically applied to their next invoice.
+ in: query
+ name: credit_amount
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: ID of the invoice.
+ in: query
+ name: invoice
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: Line items that make up the credit note.
+ explode: true
+ in: query
+ name: lines
+ required: false
+ schema:
+ items:
+ properties:
+ amount:
+ type: integer
+ description:
+ maxLength: 5000
+ type: string
+ invoice_line_item:
+ maxLength: 5000
+ type: string
+ quantity:
+ type: integer
+ tax_rates:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ type:
+ enum:
+ - custom_line_item
+ - invoice_line_item
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ required:
+ - type
+ title: credit_note_line_item_params
+ type: object
+ type: array
+ style: deepObject
+ - description: The credit note's memo appears on the credit note PDF.
+ in: query
+ name: memo
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ explode: true
+ in: query
+ name: metadata
+ required: false
+ schema:
+ additionalProperties:
+ type: string
+ type: object
+ style: deepObject
+ - description: The integer amount in cents (or local equivalent) representing the amount that is credited outside of Stripe.
+ in: query
+ name: out_of_band_amount
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory`
+ in: query
+ name: reason
+ required: false
+ schema:
+ enum:
+ - duplicate
+ - fraudulent
+ - order_change
+ - product_unsatisfactory
+ type: string
+ style: form
+ - description: ID of an existing refund to link this credit note to.
+ in: query
+ name: refund
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: The integer amount in cents (or local equivalent) representing the amount to refund. If set, a refund will be created for the charge associated with the invoice.
+ in: query
+ name: refund_amount
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: When shipping_cost contains the shipping_rate from the invoice, the shipping_cost is included in the credit note.
+ explode: true
+ in: query
+ name: shipping_cost
+ required: false
+ schema:
+ properties:
+ shipping_rate:
+ maxLength: 5000
+ type: string
+ title: credit_note_shipping_cost
+ type: object
+ style: deepObject
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/credit_note_line_item"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: CreditNoteLinesList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/credit_notes/{credit_note}/lines":
+ get:
+ description:
When retrieving a credit note, you’ll get a lines property containing the the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
+ operationId: GetCreditNotesCreditNoteLines
+ parameters:
+ - in: path
+ name: credit_note
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/credit_note_line_item"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: CreditNoteLinesList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/credit_notes/{id}":
+ get:
+ description:
Retrieves the credit note object with the given identifier.
Returns a list of your customers. The customers are returned sorted by creation date, with the most recent customers appearing first.
+ operationId: GetCustomers
+ parameters:
+ - explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: A case-sensitive filter on the list based on the customer's `email` field. The value must be a string.
+ in: query
+ name: email
+ required: false
+ schema:
+ maxLength: 512
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Provides a list of customers that are associated with the specified test clock. The response will not include customers with test clocks if this parameter is not set.
+ in: query
+ name: test_clock
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/customer"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/customers
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: CustomerResourceCustomerList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Creates a new customer object.
+ operationId: PostCustomers
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ address:
+ explode: true
+ style: deepObject
+ cash_balance:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ invoice_settings:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ preferred_locales:
+ explode: true
+ style: deepObject
+ shipping:
+ explode: true
+ style: deepObject
+ tax:
+ explode: true
+ style: deepObject
+ tax_id_data:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ address:
+ anyOf:
+ - properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ title: optional_fields_address
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: The customer's address.
+ balance:
+ description: An integer amount in cents (or local equivalent) that represents the customer's current balance, which affect the customer's future invoices. A negative amount represents a credit that decreases the amount due on an invoice; a positive amount increases the amount due on an invoice.
+ type: integer
+ cash_balance:
+ description: Balance information and default balance settings for this customer.
+ properties:
+ settings:
+ properties:
+ reconciliation_mode:
+ enum:
+ - automatic
+ - manual
+ - merchant_default
+ type: string
+ title: balance_settings_param
+ type: object
+ title: cash_balance_param
+ type: object
+ coupon:
+ maxLength: 5000
+ type: string
+ description:
+ description: An arbitrary string that you can attach to a customer object. It is displayed alongside the customer in the dashboard.
+ maxLength: 5000
+ type: string
+ email:
+ description: Customer's email address. It's displayed alongside the customer in your dashboard and can be useful for searching and tracking. This may be up to *512 characters*.
+ maxLength: 512
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ invoice_prefix:
+ description: The prefix for the customer used to generate unique invoice numbers. Must be 3–12 uppercase letters or numbers.
+ maxLength: 5000
+ type: string
+ invoice_settings:
+ description: Default invoice settings for this customer.
+ properties:
+ custom_fields:
+ anyOf:
+ - items:
+ properties:
+ name:
+ maxLength: 30
+ type: string
+ value:
+ maxLength: 30
+ type: string
+ required:
+ - name
+ - value
+ title: custom_field_params
+ type: object
+ type: array
+ - enum:
+ - ""
+ type: string
+ default_payment_method:
+ maxLength: 5000
+ type: string
+ footer:
+ maxLength: 5000
+ type: string
+ rendering_options:
+ anyOf:
+ - properties:
+ amount_tax_display:
+ enum:
+ - ""
+ - exclude_tax
+ - include_inclusive_tax
+ type: string
+ title: rendering_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ title: customer_param
+ type: object
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ name:
+ description: The customer's full name or business name.
+ maxLength: 256
+ type: string
+ next_invoice_sequence:
+ description: The sequence to be used on the customer's next invoice. Defaults to 1.
+ type: integer
+ payment_method:
+ maxLength: 5000
+ type: string
+ phone:
+ description: The customer's phone number.
+ maxLength: 20
+ type: string
+ preferred_locales:
+ description: Customer's preferred languages, ordered by preference.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ promotion_code:
+ description: The API ID of a promotion code to apply to the customer. The customer will have a discount applied on all recurring payments. Charges you create through the API will not have the discount.
+ maxLength: 5000
+ type: string
+ shipping:
+ anyOf:
+ - properties:
+ address:
+ properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ title: optional_fields_address
+ type: object
+ name:
+ maxLength: 5000
+ type: string
+ phone:
+ maxLength: 5000
+ type: string
+ required:
+ - address
+ - name
+ title: customer_shipping
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: The customer's shipping information. Appears on invoices emailed to this customer.
+ source:
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ tax:
+ description: Tax details about the customer.
+ properties:
+ ip_address:
+ anyOf:
+ - type: string
+ - enum:
+ - ""
+ type: string
+ title: tax_param
+ type: object
+ tax_exempt:
+ description: The customer's tax exemption. One of `none`, `exempt`, or `reverse`.
+ enum:
+ - ""
+ - exempt
+ - none
+ - reverse
+ type: string
+ tax_id_data:
+ description: The customer's tax IDs.
+ items:
+ properties:
+ type:
+ enum:
+ - ae_trn
+ - au_abn
+ - au_arn
+ - bg_uic
+ - br_cnpj
+ - br_cpf
+ - ca_bn
+ - ca_gst_hst
+ - ca_pst_bc
+ - ca_pst_mb
+ - ca_pst_sk
+ - ca_qst
+ - ch_vat
+ - cl_tin
+ - eg_tin
+ - es_cif
+ - eu_oss_vat
+ - eu_vat
+ - gb_vat
+ - ge_vat
+ - hk_br
+ - hu_tin
+ - id_npwp
+ - il_vat
+ - in_gst
+ - is_vat
+ - jp_cn
+ - jp_rn
+ - jp_trn
+ - ke_pin
+ - kr_brn
+ - li_uid
+ - mx_rfc
+ - my_frp
+ - my_itn
+ - my_sst
+ - no_vat
+ - nz_gst
+ - ph_tin
+ - ru_inn
+ - ru_kpp
+ - sa_vat
+ - sg_gst
+ - sg_uen
+ - si_tin
+ - th_vat
+ - tr_tin
+ - tw_vat
+ - ua_vat
+ - us_ein
+ - za_vat
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ value:
+ type: string
+ required:
+ - type
+ - value
+ title: data_params
+ type: object
+ type: array
+ test_clock:
+ description: ID of the test clock to attach to the customer.
+ maxLength: 5000
+ type: string
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/customer"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/customers/search:
+ get:
+ description: |-
+
Search for customers you’ve previously created using Stripe’s Search Query Language.
+ Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating
+ conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up
+ to an hour behind during outages. Search functionality is not available to merchants in India.
+ operationId: GetCustomersSearch
+ parameters:
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results.
+ in: query
+ name: page
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for customers](https://stripe.com/docs/search#query-fields-for-customers).
+ in: query
+ name: query
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/customer"
+ type: array
+ has_more:
+ type: boolean
+ next_page:
+ maxLength: 5000
+ nullable: true
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - search_result
+ type: string
+ total_count:
+ description: The total number of objects that match the query, only accurate up to 10,000.
+ type: integer
+ url:
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: SearchResult
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/customers/{customer}":
+ delete:
+ description:
Permanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions on the customer.
Updates the specified customer by setting the values of the parameters passed. Any parameters not provided will be left unchanged. For example, if you pass the source parameter, that becomes the customer’s active source (e.g., a card) to be used for all charges in the future. When you update a customer to a new valid card source by passing the source parameter: for each of the customer’s current subscriptions, if the subscription bills automatically and is in the past_due state, then the latest open invoice for the subscription with automatic collection enabled will be retried. This retry will not count as an automatic retry, and will not affect the next regularly scheduled payment for the invoice. Changing the default_source for a customer will not trigger this behavior.
+
+
This request accepts mostly the same arguments as the customer creation call.
+ operationId: PostCustomersCustomer
+ parameters:
+ - in: path
+ name: customer
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ address:
+ explode: true
+ style: deepObject
+ bank_account:
+ explode: true
+ style: deepObject
+ card:
+ explode: true
+ style: deepObject
+ cash_balance:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ invoice_settings:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ preferred_locales:
+ explode: true
+ style: deepObject
+ shipping:
+ explode: true
+ style: deepObject
+ tax:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ address:
+ anyOf:
+ - properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ title: optional_fields_address
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: The customer's address.
+ balance:
+ description: An integer amount in cents (or local equivalent) that represents the customer's current balance, which affect the customer's future invoices. A negative amount represents a credit that decreases the amount due on an invoice; a positive amount increases the amount due on an invoice.
+ type: integer
+ bank_account:
+ anyOf:
+ - properties:
+ account_holder_name:
+ maxLength: 5000
+ type: string
+ account_holder_type:
+ enum:
+ - company
+ - individual
+ maxLength: 5000
+ type: string
+ account_number:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ currency:
+ type: string
+ object:
+ enum:
+ - bank_account
+ maxLength: 5000
+ type: string
+ routing_number:
+ maxLength: 5000
+ type: string
+ required:
+ - account_number
+ - country
+ title: customer_payment_source_bank_account
+ type: object
+ - maxLength: 5000
+ type: string
+ description: Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary containing a user's bank account details.
+ card:
+ anyOf:
+ - properties:
+ address_city:
+ maxLength: 5000
+ type: string
+ address_country:
+ maxLength: 5000
+ type: string
+ address_line1:
+ maxLength: 5000
+ type: string
+ address_line2:
+ maxLength: 5000
+ type: string
+ address_state:
+ maxLength: 5000
+ type: string
+ address_zip:
+ maxLength: 5000
+ type: string
+ cvc:
+ maxLength: 5000
+ type: string
+ exp_month:
+ type: integer
+ exp_year:
+ type: integer
+ metadata:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ maxLength: 5000
+ type: string
+ number:
+ maxLength: 5000
+ type: string
+ object:
+ enum:
+ - card
+ maxLength: 5000
+ type: string
+ required:
+ - exp_month
+ - exp_year
+ - number
+ title: customer_payment_source_card
+ type: object
+ - maxLength: 5000
+ type: string
+ description: A token, like the ones returned by [Stripe.js](https://stripe.com/docs/js).
+ x-stripeBypassValidation: true
+ cash_balance:
+ description: Balance information and default balance settings for this customer.
+ properties:
+ settings:
+ properties:
+ reconciliation_mode:
+ enum:
+ - automatic
+ - manual
+ - merchant_default
+ type: string
+ title: balance_settings_param
+ type: object
+ title: cash_balance_param
+ type: object
+ coupon:
+ maxLength: 5000
+ type: string
+ default_alipay_account:
+ description: ID of Alipay account to make the customer's new default for invoice payments.
+ maxLength: 500
+ type: string
+ default_bank_account:
+ description: ID of bank account to make the customer's new default for invoice payments.
+ maxLength: 500
+ type: string
+ default_card:
+ description: ID of card to make the customer's new default for invoice payments.
+ maxLength: 500
+ type: string
+ default_source:
+ description: |-
+ If you are using payment methods created via the PaymentMethods API, see the [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method) parameter.
+
+ Provide the ID of a payment source already attached to this customer to make it this customer's default payment source.
+
+ If you want to add a new payment source and make it the default, see the [source](https://stripe.com/docs/api/customers/update#update_customer-source) property.
+ maxLength: 500
+ type: string
+ description:
+ description: An arbitrary string that you can attach to a customer object. It is displayed alongside the customer in the dashboard.
+ maxLength: 5000
+ type: string
+ email:
+ description: Customer's email address. It's displayed alongside the customer in your dashboard and can be useful for searching and tracking. This may be up to *512 characters*.
+ maxLength: 512
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ invoice_prefix:
+ description: The prefix for the customer used to generate unique invoice numbers. Must be 3–12 uppercase letters or numbers.
+ maxLength: 5000
+ type: string
+ invoice_settings:
+ description: Default invoice settings for this customer.
+ properties:
+ custom_fields:
+ anyOf:
+ - items:
+ properties:
+ name:
+ maxLength: 30
+ type: string
+ value:
+ maxLength: 30
+ type: string
+ required:
+ - name
+ - value
+ title: custom_field_params
+ type: object
+ type: array
+ - enum:
+ - ""
+ type: string
+ default_payment_method:
+ maxLength: 5000
+ type: string
+ footer:
+ maxLength: 5000
+ type: string
+ rendering_options:
+ anyOf:
+ - properties:
+ amount_tax_display:
+ enum:
+ - ""
+ - exclude_tax
+ - include_inclusive_tax
+ type: string
+ title: rendering_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ title: customer_param
+ type: object
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ name:
+ description: The customer's full name or business name.
+ maxLength: 256
+ type: string
+ next_invoice_sequence:
+ description: The sequence to be used on the customer's next invoice. Defaults to 1.
+ type: integer
+ phone:
+ description: The customer's phone number.
+ maxLength: 20
+ type: string
+ preferred_locales:
+ description: Customer's preferred languages, ordered by preference.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ promotion_code:
+ description: The API ID of a promotion code to apply to the customer. The customer will have a discount applied on all recurring payments. Charges you create through the API will not have the discount.
+ maxLength: 5000
+ type: string
+ shipping:
+ anyOf:
+ - properties:
+ address:
+ properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ title: optional_fields_address
+ type: object
+ name:
+ maxLength: 5000
+ type: string
+ phone:
+ maxLength: 5000
+ type: string
+ required:
+ - address
+ - name
+ title: customer_shipping
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: The customer's shipping information. Appears on invoices emailed to this customer.
+ source:
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ tax:
+ description: Tax details about the customer.
+ properties:
+ ip_address:
+ anyOf:
+ - type: string
+ - enum:
+ - ""
+ type: string
+ title: tax_param
+ type: object
+ tax_exempt:
+ description: The customer's tax exemption. One of `none`, `exempt`, or `reverse`.
+ enum:
+ - ""
+ - exempt
+ - none
+ - reverse
+ type: string
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/customer"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/customers/{customer}/balance_transactions":
+ get:
+ description:
Returns a list of transactions that updated the customer’s balances.
+ operationId: GetCustomersCustomerBalanceTransactions
+ parameters:
+ - in: path
+ name: customer
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/customer_balance_transaction"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: CustomerBalanceTransactionList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Creates an immutable transaction that updates the customer’s credit balance.
+ operationId: PostCustomersCustomerBalanceTransactions
+ parameters:
+ - in: path
+ name: customer
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ amount:
+ description: The integer amount in **cents (or local equivalent)** to apply to the customer's credit balance.
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). Specifies the [`invoice_credit_balance`](https://stripe.com/docs/api/customers/object#customer_object-invoice_credit_balance) that this transaction will apply to. If the customer's `currency` is not set, it will be updated to this value.
+ type: string
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 350
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ required:
+ - amount
+ - currency
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/customer_balance_transaction"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/customers/{customer}/balance_transactions/{transaction}":
+ get:
+ description:
Retrieves a specific customer balance transaction that updated the customer’s balances.
Most credit balance transaction fields are immutable, but you may update its description and metadata.
+ operationId: PostCustomersCustomerBalanceTransactionsTransaction
+ parameters:
+ - in: path
+ name: customer
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - in: path
+ name: transaction
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 350
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/customer_balance_transaction"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/customers/{customer}/bank_accounts":
+ get:
+ deprecated: true
+ description:
You can see a list of the bank accounts belonging to a Customer. Note that the 10 most recent sources are always available by default on the Customer. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional bank accounts.
+ operationId: GetCustomersCustomerBankAccounts
+ parameters:
+ - in: path
+ name: customer
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/bank_account"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: BankAccountList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description: |-
+
When you create a new credit card, you must specify a customer or recipient on which to create it.
+
+
If the card’s owner has no default card, then the new card will become the default.
+ However, if the owner already has a default, then it will not change.
+ To change the default, you should update the customer to have a new default_source.
+ operationId: PostCustomersCustomerBankAccounts
+ parameters:
+ - in: path
+ name: customer
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ bank_account:
+ explode: true
+ style: deepObject
+ card:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ alipay_account:
+ description: A token returned by [Stripe.js](https://stripe.com/docs/js) representing the user’s Alipay account details.
+ maxLength: 5000
+ type: string
+ bank_account:
+ anyOf:
+ - properties:
+ account_holder_name:
+ maxLength: 5000
+ type: string
+ account_holder_type:
+ enum:
+ - company
+ - individual
+ maxLength: 5000
+ type: string
+ account_number:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ currency:
+ type: string
+ object:
+ enum:
+ - bank_account
+ maxLength: 5000
+ type: string
+ routing_number:
+ maxLength: 5000
+ type: string
+ required:
+ - account_number
+ - country
+ title: customer_payment_source_bank_account
+ type: object
+ - maxLength: 5000
+ type: string
+ description: Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary containing a user's bank account details.
+ card:
+ anyOf:
+ - properties:
+ address_city:
+ maxLength: 5000
+ type: string
+ address_country:
+ maxLength: 5000
+ type: string
+ address_line1:
+ maxLength: 5000
+ type: string
+ address_line2:
+ maxLength: 5000
+ type: string
+ address_state:
+ maxLength: 5000
+ type: string
+ address_zip:
+ maxLength: 5000
+ type: string
+ cvc:
+ maxLength: 5000
+ type: string
+ exp_month:
+ type: integer
+ exp_year:
+ type: integer
+ metadata:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ maxLength: 5000
+ type: string
+ number:
+ maxLength: 5000
+ type: string
+ object:
+ enum:
+ - card
+ maxLength: 5000
+ type: string
+ required:
+ - exp_month
+ - exp_year
+ - number
+ title: customer_payment_source_card
+ type: object
+ - maxLength: 5000
+ type: string
+ description: A token, like the ones returned by [Stripe.js](https://stripe.com/docs/js).
+ x-stripeBypassValidation: true
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ source:
+ description: Please refer to full [documentation](https://stripe.com/docs/api) instead.
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/payment_source"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/customers/{customer}/bank_accounts/{id}":
+ delete:
+ description:
By default, you can see the 10 most recent sources stored on a Customer directly on the object, but you can also retrieve details about a specific bank account stored on the Stripe account.
You can see a list of the cards belonging to a customer.
+ Note that the 10 most recent sources are always available on the Customer object.
+ If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional cards.
+ operationId: GetCustomersCustomerCards
+ parameters:
+ - in: path
+ name: customer
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/card"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: CardList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description: |-
+
When you create a new credit card, you must specify a customer or recipient on which to create it.
+
+
If the card’s owner has no default card, then the new card will become the default.
+ However, if the owner already has a default, then it will not change.
+ To change the default, you should update the customer to have a new default_source.
+ operationId: PostCustomersCustomerCards
+ parameters:
+ - in: path
+ name: customer
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ bank_account:
+ explode: true
+ style: deepObject
+ card:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ alipay_account:
+ description: A token returned by [Stripe.js](https://stripe.com/docs/js) representing the user’s Alipay account details.
+ maxLength: 5000
+ type: string
+ bank_account:
+ anyOf:
+ - properties:
+ account_holder_name:
+ maxLength: 5000
+ type: string
+ account_holder_type:
+ enum:
+ - company
+ - individual
+ maxLength: 5000
+ type: string
+ account_number:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ currency:
+ type: string
+ object:
+ enum:
+ - bank_account
+ maxLength: 5000
+ type: string
+ routing_number:
+ maxLength: 5000
+ type: string
+ required:
+ - account_number
+ - country
+ title: customer_payment_source_bank_account
+ type: object
+ - maxLength: 5000
+ type: string
+ description: Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary containing a user's bank account details.
+ card:
+ anyOf:
+ - properties:
+ address_city:
+ maxLength: 5000
+ type: string
+ address_country:
+ maxLength: 5000
+ type: string
+ address_line1:
+ maxLength: 5000
+ type: string
+ address_line2:
+ maxLength: 5000
+ type: string
+ address_state:
+ maxLength: 5000
+ type: string
+ address_zip:
+ maxLength: 5000
+ type: string
+ cvc:
+ maxLength: 5000
+ type: string
+ exp_month:
+ type: integer
+ exp_year:
+ type: integer
+ metadata:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ maxLength: 5000
+ type: string
+ number:
+ maxLength: 5000
+ type: string
+ object:
+ enum:
+ - card
+ maxLength: 5000
+ type: string
+ required:
+ - exp_month
+ - exp_year
+ - number
+ title: customer_payment_source_card
+ type: object
+ - maxLength: 5000
+ type: string
+ description: A token, like the ones returned by [Stripe.js](https://stripe.com/docs/js).
+ x-stripeBypassValidation: true
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ source:
+ description: Please refer to full [documentation](https://stripe.com/docs/api) instead.
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/payment_source"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/customers/{customer}/cards/{id}":
+ delete:
+ description:
You can always see the 10 most recent cards directly on a customer; this method lets you retrieve details about a specific card stored on the customer.
Returns a list of transactions that modified the customer’s cash balance.
+ operationId: GetCustomersCustomerCashBalanceTransactions
+ parameters:
+ - in: path
+ name: customer
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: |-
+ Customers with certain payments enabled have a cash balance, representing funds that were paid
+ by the customer to a merchant, but have not yet been allocated to a payment. Cash Balance Transactions
+ represent when funds are moved into or out of this balance. This includes funding by the customer, allocation
+ to payments, and refunds to the customer.
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/customer_cash_balance_transaction"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: CustomerCashBalanceTransactionList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/customers/{customer}/cash_balance_transactions/{transaction}":
+ get:
+ description:
Retrieves a specific cash balance transaction, which updated the customer’s cash balance.
Retrieve funding instructions for a customer cash balance. If funding instructions do not yet exist for the customer, new
+ funding instructions will be created. If funding instructions have already been created for a given customer, the same
+ funding instructions will be retrieved. In other words, we will return the same funding instructions each time.
Returns a list of PaymentMethods for a given Customer
+ operationId: GetCustomersCustomerPaymentMethods
+ parameters:
+ - in: path
+ name: customer
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: An optional filter on the list, based on the object `type` field. Without the filter, the list includes all current and future payment method types. If your integration expects only one type of payment method in the response, make sure to provide a type value in the request.
+ in: query
+ name: type
+ required: false
+ schema:
+ enum:
+ - acss_debit
+ - affirm
+ - afterpay_clearpay
+ - alipay
+ - au_becs_debit
+ - bacs_debit
+ - bancontact
+ - blik
+ - boleto
+ - card
+ - cashapp
+ - customer_balance
+ - eps
+ - fpx
+ - giropay
+ - grabpay
+ - ideal
+ - klarna
+ - konbini
+ - link
+ - oxxo
+ - p24
+ - paynow
+ - pix
+ - promptpay
+ - sepa_debit
+ - sofort
+ - us_bank_account
+ - wechat_pay
+ type: string
+ x-stripeBypassValidation: true
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/payment_method"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: CustomerPaymentMethodResourceList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/customers/{customer}/payment_methods/{payment_method}":
+ get:
+ description:
Retrieves a PaymentMethod object for a given Customer.
+ operationId: GetCustomersCustomerSources
+ parameters:
+ - in: path
+ name: customer
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: Filter sources according to a particular object type.
+ in: query
+ name: object
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ anyOf:
+ - $ref: "#/components/schemas/bank_account"
+ - $ref: "#/components/schemas/card"
+ - $ref: "#/components/schemas/source"
+ title: Polymorphic
+ x-stripeBypassValidation: true
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: ApmsSourcesSourceList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description: |-
+
When you create a new credit card, you must specify a customer or recipient on which to create it.
+
+
If the card’s owner has no default card, then the new card will become the default.
+ However, if the owner already has a default, then it will not change.
+ To change the default, you should update the customer to have a new default_source.
+ operationId: PostCustomersCustomerSources
+ parameters:
+ - in: path
+ name: customer
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ bank_account:
+ explode: true
+ style: deepObject
+ card:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ alipay_account:
+ description: A token returned by [Stripe.js](https://stripe.com/docs/js) representing the user’s Alipay account details.
+ maxLength: 5000
+ type: string
+ bank_account:
+ anyOf:
+ - properties:
+ account_holder_name:
+ maxLength: 5000
+ type: string
+ account_holder_type:
+ enum:
+ - company
+ - individual
+ maxLength: 5000
+ type: string
+ account_number:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ currency:
+ type: string
+ object:
+ enum:
+ - bank_account
+ maxLength: 5000
+ type: string
+ routing_number:
+ maxLength: 5000
+ type: string
+ required:
+ - account_number
+ - country
+ title: customer_payment_source_bank_account
+ type: object
+ - maxLength: 5000
+ type: string
+ description: Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary containing a user's bank account details.
+ card:
+ anyOf:
+ - properties:
+ address_city:
+ maxLength: 5000
+ type: string
+ address_country:
+ maxLength: 5000
+ type: string
+ address_line1:
+ maxLength: 5000
+ type: string
+ address_line2:
+ maxLength: 5000
+ type: string
+ address_state:
+ maxLength: 5000
+ type: string
+ address_zip:
+ maxLength: 5000
+ type: string
+ cvc:
+ maxLength: 5000
+ type: string
+ exp_month:
+ type: integer
+ exp_year:
+ type: integer
+ metadata:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ maxLength: 5000
+ type: string
+ number:
+ maxLength: 5000
+ type: string
+ object:
+ enum:
+ - card
+ maxLength: 5000
+ type: string
+ required:
+ - exp_month
+ - exp_year
+ - number
+ title: customer_payment_source_card
+ type: object
+ - maxLength: 5000
+ type: string
+ description: A token, like the ones returned by [Stripe.js](https://stripe.com/docs/js).
+ x-stripeBypassValidation: true
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ source:
+ description: Please refer to full [documentation](https://stripe.com/docs/api) instead.
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/payment_source"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/customers/{customer}/sources/{id}":
+ delete:
+ description:
You can see a list of the customer’s active subscriptions. Note that the 10 most recent active subscriptions are always available by default on the customer object. If you need more than those 10, you can use the limit and starting_after parameters to page through additional subscriptions.
+ operationId: GetCustomersCustomerSubscriptions
+ parameters:
+ - in: path
+ name: customer
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/subscription"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: SubscriptionList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Creates a new subscription on an existing customer.
+ operationId: PostCustomersCustomerSubscriptions
+ parameters:
+ - in: path
+ name: customer
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ add_invoice_items:
+ explode: true
+ style: deepObject
+ automatic_tax:
+ explode: true
+ style: deepObject
+ billing_thresholds:
+ explode: true
+ style: deepObject
+ default_tax_rates:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ items:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ payment_settings:
+ explode: true
+ style: deepObject
+ pending_invoice_item_interval:
+ explode: true
+ style: deepObject
+ transfer_data:
+ explode: true
+ style: deepObject
+ trial_end:
+ explode: true
+ style: deepObject
+ trial_settings:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ add_invoice_items:
+ description: A list of prices and quantities that will generate invoice items appended to the next invoice for this subscription. You may pass up to 20 items.
+ items:
+ properties:
+ price:
+ maxLength: 5000
+ type: string
+ price_data:
+ properties:
+ currency:
+ type: string
+ product:
+ maxLength: 5000
+ type: string
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ required:
+ - currency
+ - product
+ title: one_time_price_data_with_negative_amounts
+ type: object
+ quantity:
+ type: integer
+ tax_rates:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ title: add_invoice_item_entry
+ type: object
+ type: array
+ application_fee_percent:
+ description: A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions).
+ type: number
+ automatic_tax:
+ description: Automatic tax settings for this subscription. We recommend you only include this parameter when the existing value is being changed.
+ properties:
+ enabled:
+ type: boolean
+ required:
+ - enabled
+ title: automatic_tax_config
+ type: object
+ backdate_start_date:
+ description: For new subscriptions, a past timestamp to backdate the subscription's start date to. If set, the first invoice will contain a proration for the timespan between the start date and the current time. Can be combined with trials and the billing cycle anchor.
+ format: unix-time
+ type: integer
+ billing_cycle_anchor:
+ description: A future timestamp to anchor the subscription's [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle). This is used to determine the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. The timestamp is in UTC format.
+ format: unix-time
+ type: integer
+ x-stripeBypassValidation: true
+ billing_thresholds:
+ anyOf:
+ - properties:
+ amount_gte:
+ type: integer
+ reset_billing_cycle_anchor:
+ type: boolean
+ title: billing_thresholds_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds.
+ cancel_at:
+ description: A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period.
+ format: unix-time
+ type: integer
+ cancel_at_period_end:
+ description: Boolean indicating whether this subscription should cancel at the end of the current period.
+ type: boolean
+ collection_method:
+ description: Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`.
+ enum:
+ - charge_automatically
+ - send_invoice
+ type: string
+ coupon:
+ description: The ID of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription.
+ maxLength: 5000
+ type: string
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ days_until_due:
+ description: Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where `collection_method` is set to `send_invoice`.
+ type: integer
+ default_payment_method:
+ description: ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source).
+ maxLength: 5000
+ type: string
+ default_source:
+ description: ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source).
+ maxLength: 5000
+ type: string
+ default_tax_rates:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ description: The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription.
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ items:
+ description: A list of up to 20 subscription items, each with an attached price.
+ items:
+ properties:
+ billing_thresholds:
+ anyOf:
+ - properties:
+ usage_gte:
+ type: integer
+ required:
+ - usage_gte
+ title: item_billing_thresholds_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ metadata:
+ additionalProperties:
+ type: string
+ type: object
+ price:
+ maxLength: 5000
+ type: string
+ price_data:
+ properties:
+ currency:
+ type: string
+ product:
+ maxLength: 5000
+ type: string
+ recurring:
+ properties:
+ interval:
+ enum:
+ - day
+ - month
+ - week
+ - year
+ type: string
+ interval_count:
+ type: integer
+ required:
+ - interval
+ title: recurring_adhoc
+ type: object
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ required:
+ - currency
+ - product
+ - recurring
+ title: recurring_price_data
+ type: object
+ quantity:
+ type: integer
+ tax_rates:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ title: subscription_item_create_params
+ type: object
+ type: array
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ off_session:
+ description: Indicates if a customer is on or off-session while an invoice payment is attempted.
+ type: boolean
+ payment_behavior:
+ description: |-
+ Only applies to subscriptions with `collection_method=charge_automatically`.
+
+ Use `allow_incomplete` to create subscriptions with `status=incomplete` if the first invoice cannot be paid. Creating subscriptions with this status allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior.
+
+ Use `default_incomplete` to create Subscriptions with `status=incomplete` when the first invoice requires payment, otherwise start as active. Subscriptions transition to `status=active` when successfully confirming the payment intent on the first invoice. This allows simpler management of scenarios where additional user actions are needed to pay a subscription’s invoice. Such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method. If the payment intent is not confirmed within 23 hours subscriptions transition to `status=incomplete_expired`, which is a terminal state.
+
+ Use `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's first invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not create a subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more.
+
+ `pending_if_incomplete` is only used with updates and cannot be passed when creating a subscription.
+
+ Subscriptions with `collection_method=send_invoice` are automatically activated regardless of the first invoice status.
+ enum:
+ - allow_incomplete
+ - default_incomplete
+ - error_if_incomplete
+ - pending_if_incomplete
+ type: string
+ payment_settings:
+ description: Payment settings to pass to invoices created by the subscription.
+ properties:
+ payment_method_options:
+ properties:
+ acss_debit:
+ anyOf:
+ - properties:
+ mandate_options:
+ properties:
+ transaction_type:
+ enum:
+ - business
+ - personal
+ type: string
+ title: mandate_options_param
+ type: object
+ verification_method:
+ enum:
+ - automatic
+ - instant
+ - microdeposits
+ type: string
+ x-stripeBypassValidation: true
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ bancontact:
+ anyOf:
+ - properties:
+ preferred_language:
+ enum:
+ - de
+ - en
+ - fr
+ - nl
+ type: string
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ card:
+ anyOf:
+ - properties:
+ mandate_options:
+ properties:
+ amount:
+ type: integer
+ amount_type:
+ enum:
+ - fixed
+ - maximum
+ type: string
+ description:
+ maxLength: 200
+ type: string
+ title: mandate_options_param
+ type: object
+ network:
+ enum:
+ - amex
+ - cartes_bancaires
+ - diners
+ - discover
+ - interac
+ - jcb
+ - mastercard
+ - unionpay
+ - unknown
+ - visa
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ request_three_d_secure:
+ enum:
+ - any
+ - automatic
+ type: string
+ title: subscription_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ customer_balance:
+ anyOf:
+ - properties:
+ bank_transfer:
+ properties:
+ eu_bank_transfer:
+ properties:
+ country:
+ maxLength: 5000
+ type: string
+ required:
+ - country
+ title: eu_bank_transfer_param
+ type: object
+ type:
+ type: string
+ title: bank_transfer_param
+ type: object
+ funding_type:
+ type: string
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ konbini:
+ anyOf:
+ - properties: {}
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ us_bank_account:
+ anyOf:
+ - properties:
+ financial_connections:
+ properties:
+ permissions:
+ items:
+ enum:
+ - balances
+ - ownership
+ - payment_method
+ - transactions
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ type: array
+ title: invoice_linked_account_options_param
+ type: object
+ verification_method:
+ enum:
+ - automatic
+ - instant
+ - microdeposits
+ type: string
+ x-stripeBypassValidation: true
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ title: payment_method_options
+ type: object
+ payment_method_types:
+ anyOf:
+ - items:
+ enum:
+ - ach_credit_transfer
+ - ach_debit
+ - acss_debit
+ - au_becs_debit
+ - bacs_debit
+ - bancontact
+ - boleto
+ - card
+ - cashapp
+ - customer_balance
+ - fpx
+ - giropay
+ - grabpay
+ - ideal
+ - konbini
+ - link
+ - paynow
+ - promptpay
+ - sepa_debit
+ - sofort
+ - us_bank_account
+ - wechat_pay
+ type: string
+ x-stripeBypassValidation: true
+ type: array
+ - enum:
+ - ""
+ type: string
+ save_default_payment_method:
+ enum:
+ - off
+ - on_subscription
+ type: string
+ title: payment_settings
+ type: object
+ pending_invoice_item_interval:
+ anyOf:
+ - properties:
+ interval:
+ enum:
+ - day
+ - month
+ - week
+ - year
+ type: string
+ interval_count:
+ type: integer
+ required:
+ - interval
+ title: pending_invoice_item_interval_params
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval.
+ promotion_code:
+ description: The API ID of a promotion code to apply to this subscription. A promotion code applied to a subscription will only affect invoices created for that particular subscription.
+ maxLength: 5000
+ type: string
+ proration_behavior:
+ description: Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) resulting from the `billing_cycle_anchor`. If no value is passed, the default is `create_prorations`.
+ enum:
+ - always_invoice
+ - create_prorations
+ - none
+ type: string
+ transfer_data:
+ description: If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges.
+ properties:
+ amount_percent:
+ type: number
+ destination:
+ type: string
+ required:
+ - destination
+ title: transfer_data_specs
+ type: object
+ trial_end:
+ anyOf:
+ - enum:
+ - now
+ maxLength: 5000
+ type: string
+ - format: unix-time
+ type: integer
+ description: Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately. Can be at most two years from `billing_cycle_anchor`. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more.
+ trial_from_plan:
+ description: Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more.
+ type: boolean
+ trial_period_days:
+ description: Integer representing the number of trial period days before the customer is charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more.
+ type: integer
+ trial_settings:
+ description: Settings related to subscription trials.
+ properties:
+ end_behavior:
+ properties:
+ missing_payment_method:
+ enum:
+ - cancel
+ - create_invoice
+ - pause
+ type: string
+ required:
+ - missing_payment_method
+ title: end_behavior
+ type: object
+ required:
+ - end_behavior
+ title: trial_settings_config
+ type: object
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/subscription"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/customers/{customer}/subscriptions/{subscription_exposed_id}":
+ delete:
+ description: |-
+
Cancels a customer’s subscription. If you set the at_period_end parameter to true, the subscription will remain active until the end of the period, at which point it will be canceled and not renewed. Otherwise, with the default false value, the subscription is terminated immediately. In either case, the customer will not be charged again for the subscription.
+
+
Note, however, that any pending invoice items that you’ve created will still be charged for at the end of the period, unless manually deleted. If you’ve set the subscription to cancel at the end of the period, any pending prorations will also be left in place and collected at the end of the period. But if the subscription is set to cancel immediately, pending prorations will be removed.
+
+
By default, upon subscription cancellation, Stripe will stop automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can resume automatic collection of the invoices manually after subscription cancellation to have us proceed. Or, you could check for unpaid invoices before allowing the customer to cancel the subscription at all.
+ operationId: DeleteCustomersCustomerSubscriptionsSubscriptionExposedId
+ parameters:
+ - in: path
+ name: customer
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - in: path
+ name: subscription_exposed_id
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ invoice_now:
+ description: Can be set to `true` if `at_period_end` is not set to `true`. Will generate a final invoice that invoices for any un-invoiced metered usage and new/pending proration invoice items.
+ type: boolean
+ prorate:
+ description: Can be set to `true` if `at_period_end` is not set to `true`. Will generate a proration invoice item that credits remaining unused time until the subscription period end.
+ type: boolean
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/subscription"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ get:
+ description:
Updates an existing subscription on a customer to match the specified parameters. When changing plans or quantities, we will optionally prorate the price we charge next month to make up for any price changes. To preview how the proration will be calculated, use the upcoming invoice endpoint.
+ operationId: PostCustomersCustomerSubscriptionsSubscriptionExposedId
+ parameters:
+ - in: path
+ name: customer
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - in: path
+ name: subscription_exposed_id
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ add_invoice_items:
+ explode: true
+ style: deepObject
+ automatic_tax:
+ explode: true
+ style: deepObject
+ billing_thresholds:
+ explode: true
+ style: deepObject
+ cancel_at:
+ explode: true
+ style: deepObject
+ cancellation_details:
+ explode: true
+ style: deepObject
+ default_tax_rates:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ items:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ pause_collection:
+ explode: true
+ style: deepObject
+ payment_settings:
+ explode: true
+ style: deepObject
+ pending_invoice_item_interval:
+ explode: true
+ style: deepObject
+ transfer_data:
+ explode: true
+ style: deepObject
+ trial_end:
+ explode: true
+ style: deepObject
+ trial_settings:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ add_invoice_items:
+ description: A list of prices and quantities that will generate invoice items appended to the next invoice for this subscription. You may pass up to 20 items.
+ items:
+ properties:
+ price:
+ maxLength: 5000
+ type: string
+ price_data:
+ properties:
+ currency:
+ type: string
+ product:
+ maxLength: 5000
+ type: string
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ required:
+ - currency
+ - product
+ title: one_time_price_data_with_negative_amounts
+ type: object
+ quantity:
+ type: integer
+ tax_rates:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ title: add_invoice_item_entry
+ type: object
+ type: array
+ application_fee_percent:
+ description: A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions).
+ type: number
+ automatic_tax:
+ description: Automatic tax settings for this subscription. We recommend you only include this parameter when the existing value is being changed.
+ properties:
+ enabled:
+ type: boolean
+ required:
+ - enabled
+ title: automatic_tax_config
+ type: object
+ billing_cycle_anchor:
+ description: Either `now` or `unchanged`. Setting the value to `now` resets the subscription's billing cycle anchor to the current time. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle).
+ enum:
+ - now
+ - unchanged
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ billing_thresholds:
+ anyOf:
+ - properties:
+ amount_gte:
+ type: integer
+ reset_billing_cycle_anchor:
+ type: boolean
+ title: billing_thresholds_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds.
+ cancel_at:
+ anyOf:
+ - format: unix-time
+ type: integer
+ - enum:
+ - ""
+ type: string
+ description: A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period.
+ cancel_at_period_end:
+ description: Boolean indicating whether this subscription should cancel at the end of the current period.
+ type: boolean
+ cancellation_details:
+ description: Details about why this subscription was cancelled
+ properties:
+ comment:
+ maxLength: 5000
+ type: string
+ feedback:
+ enum:
+ - ""
+ - customer_service
+ - low_quality
+ - missing_features
+ - other
+ - switched_service
+ - too_complex
+ - too_expensive
+ - unused
+ type: string
+ title: cancellation_details_param
+ type: object
+ collection_method:
+ description: Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`.
+ enum:
+ - charge_automatically
+ - send_invoice
+ type: string
+ coupon:
+ description: The ID of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription.
+ maxLength: 5000
+ type: string
+ days_until_due:
+ description: Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where `collection_method` is set to `send_invoice`.
+ type: integer
+ default_payment_method:
+ description: ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source).
+ maxLength: 5000
+ type: string
+ default_source:
+ description: ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source).
+ maxLength: 5000
+ type: string
+ default_tax_rates:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ description: The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription. Pass an empty string to remove previously-defined tax rates.
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ items:
+ description: A list of up to 20 subscription items, each with an attached price.
+ items:
+ properties:
+ billing_thresholds:
+ anyOf:
+ - properties:
+ usage_gte:
+ type: integer
+ required:
+ - usage_gte
+ title: item_billing_thresholds_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ clear_usage:
+ type: boolean
+ deleted:
+ type: boolean
+ id:
+ maxLength: 5000
+ type: string
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ price:
+ maxLength: 5000
+ type: string
+ price_data:
+ properties:
+ currency:
+ type: string
+ product:
+ maxLength: 5000
+ type: string
+ recurring:
+ properties:
+ interval:
+ enum:
+ - day
+ - month
+ - week
+ - year
+ type: string
+ interval_count:
+ type: integer
+ required:
+ - interval
+ title: recurring_adhoc
+ type: object
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ required:
+ - currency
+ - product
+ - recurring
+ title: recurring_price_data
+ type: object
+ quantity:
+ type: integer
+ tax_rates:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ title: subscription_item_update_params
+ type: object
+ type: array
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ off_session:
+ description: Indicates if a customer is on or off-session while an invoice payment is attempted.
+ type: boolean
+ pause_collection:
+ anyOf:
+ - properties:
+ behavior:
+ enum:
+ - keep_as_draft
+ - mark_uncollectible
+ - void
+ type: string
+ resumes_at:
+ format: unix-time
+ type: integer
+ required:
+ - behavior
+ title: pause_collection_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: If specified, payment collection for this subscription will be paused.
+ payment_behavior:
+ description: |-
+ Use `allow_incomplete` to transition the subscription to `status=past_due` if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior.
+
+ Use `default_incomplete` to transition the subscription to `status=past_due` when payment is required and await explicit confirmation of the invoice's payment intent. This allows simpler management of scenarios where additional user actions are needed to pay a subscription’s invoice. Such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method.
+
+ Use `pending_if_incomplete` to update the subscription using [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates). When you use `pending_if_incomplete` you can only pass the parameters [supported by pending updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes).
+
+ Use `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more.
+ enum:
+ - allow_incomplete
+ - default_incomplete
+ - error_if_incomplete
+ - pending_if_incomplete
+ type: string
+ payment_settings:
+ description: Payment settings to pass to invoices created by the subscription.
+ properties:
+ payment_method_options:
+ properties:
+ acss_debit:
+ anyOf:
+ - properties:
+ mandate_options:
+ properties:
+ transaction_type:
+ enum:
+ - business
+ - personal
+ type: string
+ title: mandate_options_param
+ type: object
+ verification_method:
+ enum:
+ - automatic
+ - instant
+ - microdeposits
+ type: string
+ x-stripeBypassValidation: true
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ bancontact:
+ anyOf:
+ - properties:
+ preferred_language:
+ enum:
+ - de
+ - en
+ - fr
+ - nl
+ type: string
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ card:
+ anyOf:
+ - properties:
+ mandate_options:
+ properties:
+ amount:
+ type: integer
+ amount_type:
+ enum:
+ - fixed
+ - maximum
+ type: string
+ description:
+ maxLength: 200
+ type: string
+ title: mandate_options_param
+ type: object
+ network:
+ enum:
+ - amex
+ - cartes_bancaires
+ - diners
+ - discover
+ - interac
+ - jcb
+ - mastercard
+ - unionpay
+ - unknown
+ - visa
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ request_three_d_secure:
+ enum:
+ - any
+ - automatic
+ type: string
+ title: subscription_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ customer_balance:
+ anyOf:
+ - properties:
+ bank_transfer:
+ properties:
+ eu_bank_transfer:
+ properties:
+ country:
+ maxLength: 5000
+ type: string
+ required:
+ - country
+ title: eu_bank_transfer_param
+ type: object
+ type:
+ type: string
+ title: bank_transfer_param
+ type: object
+ funding_type:
+ type: string
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ konbini:
+ anyOf:
+ - properties: {}
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ us_bank_account:
+ anyOf:
+ - properties:
+ financial_connections:
+ properties:
+ permissions:
+ items:
+ enum:
+ - balances
+ - ownership
+ - payment_method
+ - transactions
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ type: array
+ title: invoice_linked_account_options_param
+ type: object
+ verification_method:
+ enum:
+ - automatic
+ - instant
+ - microdeposits
+ type: string
+ x-stripeBypassValidation: true
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ title: payment_method_options
+ type: object
+ payment_method_types:
+ anyOf:
+ - items:
+ enum:
+ - ach_credit_transfer
+ - ach_debit
+ - acss_debit
+ - au_becs_debit
+ - bacs_debit
+ - bancontact
+ - boleto
+ - card
+ - cashapp
+ - customer_balance
+ - fpx
+ - giropay
+ - grabpay
+ - ideal
+ - konbini
+ - link
+ - paynow
+ - promptpay
+ - sepa_debit
+ - sofort
+ - us_bank_account
+ - wechat_pay
+ type: string
+ x-stripeBypassValidation: true
+ type: array
+ - enum:
+ - ""
+ type: string
+ save_default_payment_method:
+ enum:
+ - off
+ - on_subscription
+ type: string
+ title: payment_settings
+ type: object
+ pending_invoice_item_interval:
+ anyOf:
+ - properties:
+ interval:
+ enum:
+ - day
+ - month
+ - week
+ - year
+ type: string
+ interval_count:
+ type: integer
+ required:
+ - interval
+ title: pending_invoice_item_interval_params
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval.
+ promotion_code:
+ description: The promotion code to apply to this subscription. A promotion code applied to a subscription will only affect invoices created for that particular subscription.
+ maxLength: 5000
+ type: string
+ proration_behavior:
+ description: Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`.
+ enum:
+ - always_invoice
+ - create_prorations
+ - none
+ type: string
+ proration_date:
+ description: If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply exactly the same proration that was previewed with [upcoming invoice](https://stripe.com/docs/api#retrieve_customer_invoice) endpoint. It can also be used to implement custom proration logic, such as prorating by day instead of by second, by providing the time that you wish to use for proration calculations.
+ format: unix-time
+ type: integer
+ transfer_data:
+ anyOf:
+ - properties:
+ amount_percent:
+ type: number
+ destination:
+ type: string
+ required:
+ - destination
+ title: transfer_data_specs
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges. This will be unset if you POST an empty value.
+ trial_end:
+ anyOf:
+ - enum:
+ - now
+ maxLength: 5000
+ type: string
+ - format: unix-time
+ type: integer
+ description: Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately. Can be at most two years from `billing_cycle_anchor`.
+ trial_from_plan:
+ description: Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more.
+ type: boolean
+ trial_settings:
+ description: Settings related to subscription trials.
+ properties:
+ end_behavior:
+ properties:
+ missing_payment_method:
+ enum:
+ - cancel
+ - create_invoice
+ - pause
+ type: string
+ required:
+ - missing_payment_method
+ title: end_behavior
+ type: object
+ required:
+ - end_behavior
+ title: trial_settings_config
+ type: object
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/subscription"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/customers/{customer}/subscriptions/{subscription_exposed_id}/discount":
+ delete:
+ description:
Removes the currently applied discount on a customer.
+ operationId: GetCustomersCustomerTaxIds
+ parameters:
+ - in: path
+ name: customer
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/tax_id"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: TaxIDsList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
+ operationId: GetDisputes
+ parameters:
+ - description: Only return disputes associated to the charge specified by this charge ID.
+ in: query
+ name: charge
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: Only return disputes associated to the PaymentIntent specified by this PaymentIntent ID.
+ in: query
+ name: payment_intent
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/dispute"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/disputes
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: DisputeList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/disputes/{dispute}":
+ get:
+ description:
When you get a dispute, contacting your customer is always the best first step. If that doesn’t work, you can submit evidence to help us resolve the dispute in your favor. You can do this in your dashboard, but if you prefer, you can use the API to submit evidence programmatically.
+
+
Depending on your dispute type, different evidence fields will give you a better chance of winning your dispute. To figure out which evidence fields to provide, see our guide to dispute types.
+ operationId: PostDisputesDispute
+ parameters:
+ - in: path
+ name: dispute
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ evidence:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ evidence:
+ description: Evidence to upload, to respond to a dispute. Updating any field in the hash will submit all fields in the hash for review. The combined character count of all fields is limited to 150,000.
+ properties:
+ access_activity_log:
+ maxLength: 20000
+ type: string
+ billing_address:
+ maxLength: 5000
+ type: string
+ cancellation_policy:
+ type: string
+ cancellation_policy_disclosure:
+ maxLength: 20000
+ type: string
+ cancellation_rebuttal:
+ maxLength: 20000
+ type: string
+ customer_communication:
+ type: string
+ customer_email_address:
+ maxLength: 5000
+ type: string
+ customer_name:
+ maxLength: 5000
+ type: string
+ customer_purchase_ip:
+ maxLength: 5000
+ type: string
+ customer_signature:
+ type: string
+ duplicate_charge_documentation:
+ type: string
+ duplicate_charge_explanation:
+ maxLength: 20000
+ type: string
+ duplicate_charge_id:
+ maxLength: 5000
+ type: string
+ product_description:
+ maxLength: 20000
+ type: string
+ receipt:
+ type: string
+ refund_policy:
+ type: string
+ refund_policy_disclosure:
+ maxLength: 20000
+ type: string
+ refund_refusal_explanation:
+ maxLength: 20000
+ type: string
+ service_date:
+ maxLength: 5000
+ type: string
+ service_documentation:
+ type: string
+ shipping_address:
+ maxLength: 5000
+ type: string
+ shipping_carrier:
+ maxLength: 5000
+ type: string
+ shipping_date:
+ maxLength: 5000
+ type: string
+ shipping_documentation:
+ type: string
+ shipping_tracking_number:
+ maxLength: 5000
+ type: string
+ uncategorized_file:
+ type: string
+ uncategorized_text:
+ maxLength: 20000
+ type: string
+ title: dispute_evidence_params
+ type: object
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ submit:
+ description: Whether to immediately submit evidence to the bank. If `false`, evidence is staged on the dispute. Staged evidence is visible in the API and Dashboard, and can be submitted to the bank by making another request with this attribute set to `true` (the default).
+ type: boolean
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/dispute"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/disputes/{dispute}/close":
+ post:
+ description: |-
+
Closing the dispute for a charge indicates that you do not have any evidence to submit and are essentially dismissing the dispute, acknowledging it as lost.
+
+
The status of the dispute will change from needs_response to lost. Closing a dispute is irreversible.
List events, going back up to 30 days. Each event data is rendered according to Stripe API version at its creation time, specified in event objectapi_version attribute (not according to your current Stripe API version or Stripe-Version header).
+ operationId: GetEvents
+ parameters:
+ - explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: Filter events by whether all webhooks were successfully delivered. If false, events which are still pending or have failed all delivery attempts to a webhook endpoint will be returned.
+ in: query
+ name: delivery_success
+ required: false
+ schema:
+ type: boolean
+ style: form
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A string containing a specific event name, or group of events using * as a wildcard. The list will be filtered to include only events with a matching event property.
+ in: query
+ name: type
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: An array of up to 20 strings containing specific event names. The list will be filtered to include only events with a matching event property. You may pass either `type` or `types`, but not both.
+ explode: true
+ in: query
+ name: types
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/event"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/events
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: NotificationEventList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/events/{id}":
+ get:
+ description:
Retrieves the details of an event. Supply the unique identifier of the event, which you might have received in a webhook.
Returns a list of objects that contain the rates at which foreign currencies are converted to one another. Only shows the currencies for which Stripe supports.
+ operationId: GetExchangeRates
+ parameters:
+ - description: A cursor for use in pagination. `ending_before` is the currency that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with the exchange rate for currency X your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and total number of supported payout currencies, and the default is the max.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is the currency that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with the exchange rate for currency X, your subsequent call can include `starting_after=X` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/exchange_rate"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/exchange_rates
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: ExchangeRateList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/exchange_rates/{rate_id}":
+ get:
+ description:
Retrieves the exchange rates from the given currency to every supported currency.
+ operationId: GetFileLinks
+ parameters:
+ - explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: Filter links by their expiration status. By default, all links are returned.
+ in: query
+ name: expired
+ required: false
+ schema:
+ type: boolean
+ style: form
+ - description: Only return links for the given file.
+ in: query
+ name: file
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/file_link"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/file_links
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: FileFileLinkList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Creates a new file link object.
+ operationId: PostFileLinks
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ expires_at:
+ description: A future timestamp after which the link will no longer be usable.
+ format: unix-time
+ type: integer
+ file:
+ description: "The ID of the file. The file's `purpose` must be one of the following: `business_icon`, `business_logo`, `customer_signature`, `dispute_evidence`, `finance_report_run`, `identity_document_downloadable`, `pci_document`, `selfie`, `sigma_scheduled_query`, `tax_document_user_upload`, or `terminal_reader_splashscreen`."
+ maxLength: 5000
+ type: string
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ required:
+ - file
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/file_link"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/file_links/{link}":
+ get:
+ description:
Updates an existing file link object. Expired links can no longer be updated.
+ operationId: PostFileLinksLink
+ parameters:
+ - in: path
+ name: link
+ required: true
+ schema:
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ expires_at:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ expires_at:
+ anyOf:
+ - enum:
+ - now
+ maxLength: 5000
+ type: string
+ - format: unix-time
+ type: integer
+ - enum:
+ - ""
+ type: string
+ description: A future timestamp after which the link will no longer be usable, or `now` to expire the link immediately.
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/file_link"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/files:
+ get:
+ description:
Returns a list of the files that your account has access to. The files are returned sorted by creation date, with the most recently created files appearing first.
+ operationId: GetFiles
+ parameters:
+ - explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: The file purpose to filter queries by. If none is provided, files will not be filtered by purpose.
+ in: query
+ name: purpose
+ required: false
+ schema:
+ enum:
+ - account_requirement
+ - additional_verification
+ - business_icon
+ - business_logo
+ - customer_signature
+ - dispute_evidence
+ - document_provider_identity_document
+ - finance_report_run
+ - identity_document
+ - identity_document_downloadable
+ - pci_document
+ - selfie
+ - sigma_scheduled_query
+ - tax_document_user_upload
+ - terminal_reader_splashscreen
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/file"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/files
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: FileFileList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description: |-
+
To upload a file to Stripe, you’ll need to send a request of type multipart/form-data. The request should contain the file you would like to upload, as well as the parameters for creating a file.
+
+
All of Stripe’s officially supported Client libraries should have support for sending multipart/form-data.
Retrieves the details of an existing file object. Supply the unique file ID from a file, and Stripe will return the corresponding file object. To access file contents, see the File Upload Guide.
Returns a list of Financial Connections Account objects.
+ operationId: GetFinancialConnectionsAccounts
+ parameters:
+ - description: If present, only return accounts that belong to the specified account holder. `account_holder[customer]` and `account_holder[account]` are mutually exclusive.
+ explode: true
+ in: query
+ name: account_holder
+ required: false
+ schema:
+ properties:
+ account:
+ maxLength: 5000
+ type: string
+ customer:
+ maxLength: 5000
+ type: string
+ title: accountholder_params
+ type: object
+ style: deepObject
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: If present, only return accounts that were collected as part of the given session.
+ in: query
+ name: session
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/financial_connections.account"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/financial_connections/accounts
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: BankConnectionsResourceLinkedAccountList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/financial_connections/accounts/{account}":
+ get:
+ description:
Retrieves the details of an Financial Connections Account.
Disables your access to a Financial Connections Account. You will no longer be able to access data associated with the account (e.g. balances, transactions).
+ operationId: GetFinancialConnectionsAccountsAccountOwners
+ parameters:
+ - in: path
+ name: account
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: The ID of the ownership object to fetch owners from.
+ in: query
+ name: ownership
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/financial_connections.account_owner"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: BankConnectionsResourceOwnerList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/financial_connections/accounts/{account}/refresh":
+ post:
+ description:
Refreshes the data associated with a Financial Connections Account.
+ operationId: GetIdentityVerificationReports
+ parameters:
+ - explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Only return VerificationReports of this type
+ in: query
+ name: type
+ required: false
+ schema:
+ enum:
+ - document
+ - id_number
+ type: string
+ x-stripeBypassValidation: true
+ style: form
+ - description: Only return VerificationReports created by this VerificationSession ID. It is allowed to provide a VerificationIntent ID.
+ in: query
+ name: verification_session
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/identity.verification_report"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/identity/verification_reports
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: GelatoVerificationReportList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/identity/verification_reports/{report}":
+ get:
+ description:
+ operationId: GetIdentityVerificationSessions
+ parameters:
+ - explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Only return VerificationSessions with this status. [Learn more about the lifecycle of sessions](https://stripe.com/docs/identity/how-sessions-work).
+ in: query
+ name: status
+ required: false
+ schema:
+ enum:
+ - canceled
+ - processing
+ - requires_input
+ - verified
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/identity.verification_session"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/identity/verification_sessions
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: GelatoVerificationSessionList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description: |-
+
Creates a VerificationSession object.
+
+
After the VerificationSession is created, display a verification modal using the session client_secret or send your users to the session’s url.
+
+
If your API key is in test mode, verification checks won’t actually process, though everything else will occur as if in live mode.
Redact a VerificationSession to remove all collected information from Stripe. This will redact
+ the VerificationSession and all objects related to it, including VerificationReports, Events,
+ request logs, etc.
+
+
A VerificationSession object can be redacted when it is in requires_input or verified
+ status. Redacting a VerificationSession in requires_action
+ state will automatically cancel it.
+
+
The redaction process may take up to four days. When the redaction process is in progress, the
+ VerificationSession’s redaction.status field will be set to processing; when the process is
+ finished, it will change to redacted and an identity.verification_session.redacted event
+ will be emitted.
+
+
Redaction is irreversible. Redacted objects are still accessible in the Stripe API, but all the
+ fields that contain personal data will be replaced by the string [redacted] or a similar
+ placeholder. The metadata field will also be erased. Redacted objects cannot be updated or
+ used for any purpose.
Returns a list of your invoice items. Invoice items are returned sorted by creation date, with the most recently created invoice items appearing first.
+ operationId: GetInvoiceitems
+ parameters:
+ - explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: The identifier of the customer whose invoice items to return. If none is provided, all invoice items will be returned.
+ in: query
+ name: customer
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: Only return invoice items belonging to this invoice. If none is provided, all invoice items will be returned. If specifying an invoice, no customer identifier is needed.
+ in: query
+ name: invoice
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: Set to `true` to only show pending invoice items, which are not yet attached to any invoices. Set to `false` to only show invoice items already attached to invoices. If unspecified, no filter is applied.
+ in: query
+ name: pending
+ required: false
+ schema:
+ type: boolean
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/invoiceitem"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/invoiceitems
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: InvoicesItemsList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Creates an item to be added to a draft invoice (up to 250 items per invoice). If no invoice is specified, the item will be on the next invoice created for the customer specified.
+ operationId: PostInvoiceitems
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ discounts:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ period:
+ explode: true
+ style: deepObject
+ price_data:
+ explode: true
+ style: deepObject
+ tax_code:
+ explode: true
+ style: deepObject
+ tax_rates:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ amount:
+ description: The integer amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. Passing in a negative `amount` will reduce the `amount_due` on the invoice.
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ customer:
+ description: The ID of the customer who will be billed when this invoice item is billed.
+ maxLength: 5000
+ type: string
+ description:
+ description: An arbitrary string which you can attach to the invoice item. The description is displayed in the invoice for easy tracking.
+ maxLength: 5000
+ type: string
+ discountable:
+ description: Controls whether discounts apply to this invoice item. Defaults to false for prorations or negative invoice items, and true for all other invoice items.
+ type: boolean
+ discounts:
+ anyOf:
+ - items:
+ properties:
+ coupon:
+ maxLength: 5000
+ type: string
+ discount:
+ maxLength: 5000
+ type: string
+ title: discounts_data_param
+ type: object
+ type: array
+ - enum:
+ - ""
+ type: string
+ description: The coupons to redeem into discounts for the invoice item or invoice line item.
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ invoice:
+ description: The ID of an existing invoice to add this invoice item to. When left blank, the invoice item will be added to the next upcoming scheduled invoice. This is useful when adding invoice items in response to an invoice.created webhook. You can only add invoice items to draft invoices and there is a maximum of 250 items per invoice.
+ maxLength: 5000
+ type: string
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ period:
+ description: The period associated with this invoice item. When set to different values, the period will be rendered on the invoice. If you have [Stripe Revenue Recognition](https://stripe.com/docs/revenue-recognition) enabled, the period will be used to recognize and defer revenue. See the [Revenue Recognition documentation](https://stripe.com/docs/revenue-recognition/methodology/subscriptions-and-invoicing) for details.
+ properties:
+ end:
+ format: unix-time
+ type: integer
+ start:
+ format: unix-time
+ type: integer
+ required:
+ - end
+ - start
+ title: period
+ type: object
+ price:
+ description: The ID of the price object.
+ maxLength: 5000
+ type: string
+ price_data:
+ description: Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline.
+ properties:
+ currency:
+ type: string
+ product:
+ maxLength: 5000
+ type: string
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ required:
+ - currency
+ - product
+ title: one_time_price_data
+ type: object
+ quantity:
+ description: Non-negative integer. The quantity of units for the invoice item.
+ type: integer
+ subscription:
+ description: The ID of a subscription to add this invoice item to. When left blank, the invoice item will be be added to the next upcoming scheduled invoice. When set, scheduled invoices for subscriptions other than the specified subscription will ignore the invoice item. Use this when you want to express that an invoice item has been accrued within the context of a particular subscription.
+ maxLength: 5000
+ type: string
+ tax_behavior:
+ description: Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed.
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ tax_code:
+ anyOf:
+ - type: string
+ - enum:
+ - ""
+ type: string
+ description: A [tax code](https://stripe.com/docs/tax/tax-categories) ID.
+ tax_rates:
+ description: The tax rates which apply to the invoice item. When set, the `default_tax_rates` on the invoice do not apply to this invoice item.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ unit_amount:
+ description: The integer unit amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. This `unit_amount` will be multiplied by the quantity to get the full amount. Passing in a negative `unit_amount` will reduce the `amount_due` on the invoice.
+ type: integer
+ unit_amount_decimal:
+ description: Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set.
+ format: decimal
+ type: string
+ required:
+ - customer
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/invoiceitem"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/invoiceitems/{invoiceitem}":
+ delete:
+ description:
Deletes an invoice item, removing it from an invoice. Deleting invoice items is only possible when they’re not attached to invoices, or if it’s attached to a draft invoice.
Updates the amount or description of an invoice item on an upcoming invoice. Updating an invoice item is only possible before the invoice it’s attached to is closed.
+ operationId: PostInvoiceitemsInvoiceitem
+ parameters:
+ - in: path
+ name: invoiceitem
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ discounts:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ period:
+ explode: true
+ style: deepObject
+ price_data:
+ explode: true
+ style: deepObject
+ tax_code:
+ explode: true
+ style: deepObject
+ tax_rates:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ amount:
+ description: The integer amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. If you want to apply a credit to the customer's account, pass a negative amount.
+ type: integer
+ description:
+ description: An arbitrary string which you can attach to the invoice item. The description is displayed in the invoice for easy tracking.
+ maxLength: 5000
+ type: string
+ discountable:
+ description: Controls whether discounts apply to this invoice item. Defaults to false for prorations or negative invoice items, and true for all other invoice items. Cannot be set to true for prorations.
+ type: boolean
+ discounts:
+ anyOf:
+ - items:
+ properties:
+ coupon:
+ maxLength: 5000
+ type: string
+ discount:
+ maxLength: 5000
+ type: string
+ title: discounts_data_param
+ type: object
+ type: array
+ - enum:
+ - ""
+ type: string
+ description: The coupons & existing discounts which apply to the invoice item or invoice line item. Item discounts are applied before invoice discounts. Pass an empty string to remove previously-defined discounts.
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ period:
+ description: The period associated with this invoice item. When set to different values, the period will be rendered on the invoice. If you have [Stripe Revenue Recognition](https://stripe.com/docs/revenue-recognition) enabled, the period will be used to recognize and defer revenue. See the [Revenue Recognition documentation](https://stripe.com/docs/revenue-recognition/methodology/subscriptions-and-invoicing) for details.
+ properties:
+ end:
+ format: unix-time
+ type: integer
+ start:
+ format: unix-time
+ type: integer
+ required:
+ - end
+ - start
+ title: period
+ type: object
+ price:
+ description: The ID of the price object.
+ maxLength: 5000
+ type: string
+ price_data:
+ description: Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline.
+ properties:
+ currency:
+ type: string
+ product:
+ maxLength: 5000
+ type: string
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ required:
+ - currency
+ - product
+ title: one_time_price_data
+ type: object
+ quantity:
+ description: Non-negative integer. The quantity of units for the invoice item.
+ type: integer
+ tax_behavior:
+ description: Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed.
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ tax_code:
+ anyOf:
+ - type: string
+ - enum:
+ - ""
+ type: string
+ description: A [tax code](https://stripe.com/docs/tax/tax-categories) ID.
+ tax_rates:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ description: The tax rates which apply to the invoice item. When set, the `default_tax_rates` on the invoice do not apply to this invoice item. Pass an empty string to remove previously-defined tax rates.
+ unit_amount:
+ description: The integer unit amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. This unit_amount will be multiplied by the quantity to get the full amount. If you want to apply a credit to the customer's account, pass a negative unit_amount.
+ type: integer
+ unit_amount_decimal:
+ description: Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set.
+ format: decimal
+ type: string
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/invoiceitem"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/invoices:
+ get:
+ description:
You can list all invoices, or list the invoices for a specific customer. The invoices are returned sorted by creation date, with the most recently created invoices appearing first.
+ operationId: GetInvoices
+ parameters:
+ - description: The collection method of the invoice to retrieve. Either `charge_automatically` or `send_invoice`.
+ in: query
+ name: collection_method
+ required: false
+ schema:
+ enum:
+ - charge_automatically
+ - send_invoice
+ type: string
+ style: form
+ - explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: Only return invoices for the customer specified by this customer ID.
+ in: query
+ name: customer
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - explode: true
+ in: query
+ name: due_date
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: The status of the invoice, one of `draft`, `open`, `paid`, `uncollectible`, or `void`. [Learn more](https://stripe.com/docs/billing/invoices/workflow#workflow-overview)
+ in: query
+ name: status
+ required: false
+ schema:
+ enum:
+ - draft
+ - open
+ - paid
+ - uncollectible
+ - void
+ type: string
+ x-stripeBypassValidation: true
+ style: form
+ - description: Only return invoices for the subscription specified by this subscription ID.
+ in: query
+ name: subscription
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/invoice"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/invoices
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: InvoicesList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
This endpoint creates a draft invoice for a given customer. The invoice remains a draft until you finalize the invoice, which allows you to pay or send the invoice to your customers.
+ operationId: PostInvoices
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ account_tax_ids:
+ explode: true
+ style: deepObject
+ automatic_tax:
+ explode: true
+ style: deepObject
+ custom_fields:
+ explode: true
+ style: deepObject
+ default_tax_rates:
+ explode: true
+ style: deepObject
+ discounts:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ from_invoice:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ payment_settings:
+ explode: true
+ style: deepObject
+ rendering_options:
+ explode: true
+ style: deepObject
+ shipping_cost:
+ explode: true
+ style: deepObject
+ shipping_details:
+ explode: true
+ style: deepObject
+ transfer_data:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ account_tax_ids:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ description: The account tax IDs associated with the invoice. Only editable when the invoice is a draft.
+ application_fee_amount:
+ description: A fee in cents (or local equivalent) that will be applied to the invoice and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the Stripe-Account header in order to take an application fee. For more information, see the application fees [documentation](https://stripe.com/docs/billing/invoices/connect#collecting-fees).
+ type: integer
+ auto_advance:
+ description: Controls whether Stripe will perform [automatic collection](https://stripe.com/docs/billing/invoices/workflow/#auto_advance) of the invoice. When `false`, the invoice's state will not automatically advance without an explicit action.
+ type: boolean
+ automatic_tax:
+ description: Settings for automatic tax lookup for this invoice.
+ properties:
+ enabled:
+ type: boolean
+ required:
+ - enabled
+ title: automatic_tax_param
+ type: object
+ collection_method:
+ description: Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this invoice using the default source attached to the customer. When sending an invoice, Stripe will email this invoice to the customer with payment instructions. Defaults to `charge_automatically`.
+ enum:
+ - charge_automatically
+ - send_invoice
+ type: string
+ currency:
+ description: The currency to create this invoice in. Defaults to that of `customer` if not specified.
+ type: string
+ custom_fields:
+ anyOf:
+ - items:
+ properties:
+ name:
+ maxLength: 30
+ type: string
+ value:
+ maxLength: 30
+ type: string
+ required:
+ - name
+ - value
+ title: custom_field_params
+ type: object
+ type: array
+ - enum:
+ - ""
+ type: string
+ description: A list of up to 4 custom fields to be displayed on the invoice.
+ customer:
+ description: The ID of the customer who will be billed.
+ maxLength: 5000
+ type: string
+ days_until_due:
+ description: The number of days from when the invoice is created until it is due. Valid only for invoices where `collection_method=send_invoice`.
+ type: integer
+ default_payment_method:
+ description: ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings.
+ maxLength: 5000
+ type: string
+ default_source:
+ description: ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source.
+ maxLength: 5000
+ type: string
+ default_tax_rates:
+ description: The tax rates that will apply to any line item that does not have `tax_rates` set.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users. Referenced as 'memo' in the Dashboard.
+ maxLength: 1500
+ type: string
+ discounts:
+ anyOf:
+ - items:
+ properties:
+ coupon:
+ maxLength: 5000
+ type: string
+ discount:
+ maxLength: 5000
+ type: string
+ title: discounts_data_param
+ type: object
+ type: array
+ - enum:
+ - ""
+ type: string
+ description: The coupons to redeem into discounts for the invoice. If not specified, inherits the discount from the invoice's customer. Pass an empty string to avoid inheriting any discounts.
+ due_date:
+ description: The date on which payment for this invoice is due. Valid only for invoices where `collection_method=send_invoice`.
+ format: unix-time
+ type: integer
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ footer:
+ description: Footer to be displayed on the invoice.
+ maxLength: 5000
+ type: string
+ from_invoice:
+ description: Revise an existing invoice. The new invoice will be created in `status=draft`. See the [revision documentation](https://stripe.com/docs/invoicing/invoice-revisions) for more details.
+ properties:
+ action:
+ enum:
+ - revision
+ maxLength: 5000
+ type: string
+ invoice:
+ maxLength: 5000
+ type: string
+ required:
+ - action
+ - invoice
+ title: from_invoice
+ type: object
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ on_behalf_of:
+ description: The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account. See the [Invoices with Connect](https://stripe.com/docs/billing/invoices/connect) documentation for details.
+ type: string
+ payment_settings:
+ description: Configuration settings for the PaymentIntent that is generated when the invoice is finalized.
+ properties:
+ default_mandate:
+ maxLength: 5000
+ type: string
+ payment_method_options:
+ properties:
+ acss_debit:
+ anyOf:
+ - properties:
+ mandate_options:
+ properties:
+ transaction_type:
+ enum:
+ - business
+ - personal
+ type: string
+ title: mandate_options_param
+ type: object
+ verification_method:
+ enum:
+ - automatic
+ - instant
+ - microdeposits
+ type: string
+ x-stripeBypassValidation: true
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ bancontact:
+ anyOf:
+ - properties:
+ preferred_language:
+ enum:
+ - de
+ - en
+ - fr
+ - nl
+ type: string
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ card:
+ anyOf:
+ - properties:
+ installments:
+ properties:
+ enabled:
+ type: boolean
+ plan:
+ anyOf:
+ - properties:
+ count:
+ type: integer
+ interval:
+ enum:
+ - month
+ type: string
+ type:
+ enum:
+ - fixed_count
+ type: string
+ required:
+ - count
+ - interval
+ - type
+ title: installment_plan
+ type: object
+ - enum:
+ - ""
+ type: string
+ title: installments_param
+ type: object
+ request_three_d_secure:
+ enum:
+ - any
+ - automatic
+ type: string
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ customer_balance:
+ anyOf:
+ - properties:
+ bank_transfer:
+ properties:
+ eu_bank_transfer:
+ properties:
+ country:
+ maxLength: 5000
+ type: string
+ required:
+ - country
+ title: eu_bank_transfer_param
+ type: object
+ type:
+ type: string
+ title: bank_transfer_param
+ type: object
+ funding_type:
+ type: string
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ konbini:
+ anyOf:
+ - properties: {}
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ us_bank_account:
+ anyOf:
+ - properties:
+ financial_connections:
+ properties:
+ permissions:
+ items:
+ enum:
+ - balances
+ - ownership
+ - payment_method
+ - transactions
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ type: array
+ title: invoice_linked_account_options_param
+ type: object
+ verification_method:
+ enum:
+ - automatic
+ - instant
+ - microdeposits
+ type: string
+ x-stripeBypassValidation: true
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ title: payment_method_options
+ type: object
+ payment_method_types:
+ anyOf:
+ - items:
+ enum:
+ - ach_credit_transfer
+ - ach_debit
+ - acss_debit
+ - au_becs_debit
+ - bacs_debit
+ - bancontact
+ - boleto
+ - card
+ - cashapp
+ - customer_balance
+ - fpx
+ - giropay
+ - grabpay
+ - ideal
+ - konbini
+ - link
+ - paynow
+ - promptpay
+ - sepa_debit
+ - sofort
+ - us_bank_account
+ - wechat_pay
+ type: string
+ x-stripeBypassValidation: true
+ type: array
+ - enum:
+ - ""
+ type: string
+ title: payment_settings
+ type: object
+ pending_invoice_items_behavior:
+ description: How to handle pending invoice items on invoice creation. One of `include` or `exclude`. `include` will include any pending invoice items, and will create an empty draft invoice if no pending invoice items exist. `exclude` will always create an empty invoice draft regardless if there are pending invoice items or not. Defaults to `exclude` if the parameter is omitted.
+ enum:
+ - exclude
+ - include
+ - include_and_require
+ type: string
+ rendering_options:
+ anyOf:
+ - properties:
+ amount_tax_display:
+ enum:
+ - ""
+ - exclude_tax
+ - include_inclusive_tax
+ type: string
+ title: rendering_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Options for invoice PDF rendering.
+ shipping_cost:
+ description: Settings for the cost of shipping for this invoice.
+ properties:
+ shipping_rate:
+ maxLength: 5000
+ type: string
+ shipping_rate_data:
+ properties:
+ delivery_estimate:
+ properties:
+ maximum:
+ properties:
+ unit:
+ enum:
+ - business_day
+ - day
+ - hour
+ - month
+ - week
+ type: string
+ value:
+ type: integer
+ required:
+ - unit
+ - value
+ title: delivery_estimate_bound
+ type: object
+ minimum:
+ properties:
+ unit:
+ enum:
+ - business_day
+ - day
+ - hour
+ - month
+ - week
+ type: string
+ value:
+ type: integer
+ required:
+ - unit
+ - value
+ title: delivery_estimate_bound
+ type: object
+ title: delivery_estimate
+ type: object
+ display_name:
+ maxLength: 100
+ type: string
+ fixed_amount:
+ properties:
+ amount:
+ type: integer
+ currency:
+ type: string
+ currency_options:
+ additionalProperties:
+ properties:
+ amount:
+ type: integer
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ required:
+ - amount
+ title: currency_option
+ type: object
+ type: object
+ required:
+ - amount
+ - currency
+ title: fixed_amount
+ type: object
+ metadata:
+ additionalProperties:
+ type: string
+ type: object
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ tax_code:
+ type: string
+ type:
+ enum:
+ - fixed_amount
+ type: string
+ required:
+ - display_name
+ title: method_params
+ type: object
+ title: shipping_cost
+ type: object
+ shipping_details:
+ description: Shipping details for the invoice. The Invoice PDF will use the `shipping_details` value if it is set, otherwise the PDF will render the shipping address from the customer.
+ properties:
+ address:
+ properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ title: optional_fields_address
+ type: object
+ name:
+ maxLength: 5000
+ type: string
+ phone:
+ maxLength: 5000
+ type: string
+ required:
+ - address
+ - name
+ title: recipient_shipping_with_optional_fields_address
+ type: object
+ statement_descriptor:
+ description: Extra information about a charge for the customer's credit card statement. It must contain at least one letter. If not specified and this invoice is part of a subscription, the default `statement_descriptor` will be set to the first subscription item's product's `statement_descriptor`.
+ maxLength: 22
+ type: string
+ subscription:
+ description: The ID of the subscription to invoice, if any. If set, the created invoice will only include pending invoice items for that subscription. The subscription's billing cycle and regular subscription events won't be affected.
+ maxLength: 5000
+ type: string
+ transfer_data:
+ description: If specified, the funds from the invoice will be transferred to the destination and the ID of the resulting transfer will be found on the invoice's charge.
+ properties:
+ amount:
+ type: integer
+ destination:
+ type: string
+ required:
+ - destination
+ title: transfer_data_specs
+ type: object
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/invoice"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/invoices/search:
+ get:
+ description: |-
+
Search for invoices you’ve previously created using Stripe’s Search Query Language.
+ Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating
+ conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up
+ to an hour behind during outages. Search functionality is not available to merchants in India.
+ operationId: GetInvoicesSearch
+ parameters:
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results.
+ in: query
+ name: page
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for invoices](https://stripe.com/docs/search#query-fields-for-invoices).
+ in: query
+ name: query
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/invoice"
+ type: array
+ has_more:
+ type: boolean
+ next_page:
+ maxLength: 5000
+ nullable: true
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - search_result
+ type: string
+ total_count:
+ description: The total number of objects that match the query, only accurate up to 10,000.
+ type: integer
+ url:
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: SearchResult
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/invoices/upcoming:
+ get:
+ description: |-
+
At any time, you can preview the upcoming invoice for a customer. This will show you all the charges that are pending, including subscription renewal charges, invoice item charges, etc. It will also show you any discounts that are applicable to the invoice.
+
+
Note that when you are viewing an upcoming invoice, you are simply viewing a preview – the invoice has not yet been created. As such, the upcoming invoice will not show up in invoice listing calls, and you cannot use the API to pay or edit the invoice. If you want to change the amount that your customer will be billed, you can add, remove, or update pending invoice items, or update the customer’s discount.
+
+
You can preview the effects of updating a subscription, including a preview of what proration will take place. To ensure that the actual proration is calculated exactly the same as the previewed proration, you should pass a proration_date parameter when doing the actual subscription update. The value passed in should be the same as the subscription_proration_date returned on the upcoming invoice resource. The recommended way to get only the prorations being previewed is to consider only proration line items where period[start] is equal to the subscription_proration_date on the upcoming invoice resource.
+ operationId: GetInvoicesUpcoming
+ parameters:
+ - description: Settings for automatic tax lookup for this invoice preview.
+ explode: true
+ in: query
+ name: automatic_tax
+ required: false
+ schema:
+ properties:
+ enabled:
+ type: boolean
+ required:
+ - enabled
+ title: automatic_tax_param
+ type: object
+ style: deepObject
+ - description: The code of the coupon to apply. If `subscription` or `subscription_items` is provided, the invoice returned will preview updating or creating a subscription with that coupon. Otherwise, it will preview applying that coupon to the customer for the next upcoming invoice from among the customer's subscriptions. The invoice can be previewed without a coupon by passing this value as an empty string.
+ in: query
+ name: coupon
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: The currency to preview this invoice in. Defaults to that of `customer` if not specified.
+ in: query
+ name: currency
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: The identifier of the customer whose upcoming invoice you'd like to retrieve.
+ in: query
+ name: customer
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Details about the customer you want to invoice or overrides for an existing customer.
+ explode: true
+ in: query
+ name: customer_details
+ required: false
+ schema:
+ properties:
+ address:
+ anyOf:
+ - properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ title: optional_fields_address
+ type: object
+ - enum:
+ - ""
+ type: string
+ shipping:
+ anyOf:
+ - properties:
+ address:
+ properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ title: optional_fields_address
+ type: object
+ name:
+ maxLength: 5000
+ type: string
+ phone:
+ maxLength: 5000
+ type: string
+ required:
+ - address
+ - name
+ title: customer_shipping
+ type: object
+ - enum:
+ - ""
+ type: string
+ tax:
+ properties:
+ ip_address:
+ anyOf:
+ - type: string
+ - enum:
+ - ""
+ type: string
+ title: tax_param
+ type: object
+ tax_exempt:
+ enum:
+ - ""
+ - exempt
+ - none
+ - reverse
+ type: string
+ tax_ids:
+ items:
+ properties:
+ type:
+ enum:
+ - ae_trn
+ - au_abn
+ - au_arn
+ - bg_uic
+ - br_cnpj
+ - br_cpf
+ - ca_bn
+ - ca_gst_hst
+ - ca_pst_bc
+ - ca_pst_mb
+ - ca_pst_sk
+ - ca_qst
+ - ch_vat
+ - cl_tin
+ - eg_tin
+ - es_cif
+ - eu_oss_vat
+ - eu_vat
+ - gb_vat
+ - ge_vat
+ - hk_br
+ - hu_tin
+ - id_npwp
+ - il_vat
+ - in_gst
+ - is_vat
+ - jp_cn
+ - jp_rn
+ - jp_trn
+ - ke_pin
+ - kr_brn
+ - li_uid
+ - mx_rfc
+ - my_frp
+ - my_itn
+ - my_sst
+ - no_vat
+ - nz_gst
+ - ph_tin
+ - ru_inn
+ - ru_kpp
+ - sa_vat
+ - sg_gst
+ - sg_uen
+ - si_tin
+ - th_vat
+ - tr_tin
+ - tw_vat
+ - ua_vat
+ - us_ein
+ - za_vat
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ value:
+ type: string
+ required:
+ - type
+ - value
+ title: data_params
+ type: object
+ type: array
+ title: customer_details_param
+ type: object
+ style: deepObject
+ - description: The coupons to redeem into discounts for the invoice preview. If not specified, inherits the discount from the customer or subscription. This only works for coupons directly applied to the invoice. To apply a coupon to a subscription, you must use the `coupon` parameter instead. Pass an empty string to avoid inheriting any discounts. To preview the upcoming invoice for a subscription that hasn't been created, use `coupon` instead.
+ explode: true
+ in: query
+ name: discounts
+ required: false
+ schema:
+ anyOf:
+ - items:
+ properties:
+ coupon:
+ maxLength: 5000
+ type: string
+ discount:
+ maxLength: 5000
+ type: string
+ title: discounts_data_param
+ type: object
+ type: array
+ - enum:
+ - ""
+ type: string
+ style: deepObject
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: List of invoice items to add or update in the upcoming invoice preview.
+ explode: true
+ in: query
+ name: invoice_items
+ required: false
+ schema:
+ items:
+ properties:
+ amount:
+ type: integer
+ currency:
+ type: string
+ description:
+ maxLength: 5000
+ type: string
+ discountable:
+ type: boolean
+ discounts:
+ anyOf:
+ - items:
+ properties:
+ coupon:
+ maxLength: 5000
+ type: string
+ discount:
+ maxLength: 5000
+ type: string
+ title: discounts_data_param
+ type: object
+ type: array
+ - enum:
+ - ""
+ type: string
+ invoiceitem:
+ maxLength: 5000
+ type: string
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ period:
+ properties:
+ end:
+ format: unix-time
+ type: integer
+ start:
+ format: unix-time
+ type: integer
+ required:
+ - end
+ - start
+ title: period
+ type: object
+ price:
+ maxLength: 5000
+ type: string
+ price_data:
+ properties:
+ currency:
+ type: string
+ product:
+ maxLength: 5000
+ type: string
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ required:
+ - currency
+ - product
+ title: one_time_price_data
+ type: object
+ quantity:
+ type: integer
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ tax_code:
+ anyOf:
+ - type: string
+ - enum:
+ - ""
+ type: string
+ tax_rates:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ title: invoice_item_preview_params
+ type: object
+ type: array
+ style: deepObject
+ - description: The identifier of the unstarted schedule whose upcoming invoice you'd like to retrieve. Cannot be used with subscription or subscription fields.
+ in: query
+ name: schedule
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: The identifier of the subscription for which you'd like to retrieve the upcoming invoice. If not provided, but a `subscription_items` is provided, you will preview creating a subscription with those items. If neither `subscription` nor `subscription_items` is provided, you will retrieve the next upcoming invoice from among the customer's subscriptions.
+ in: query
+ name: subscription
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: For new subscriptions, a future timestamp to anchor the subscription's [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle). This is used to determine the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. For existing subscriptions, the value can only be set to `now` or `unchanged`.
+ explode: true
+ in: query
+ name: subscription_billing_cycle_anchor
+ required: false
+ schema:
+ anyOf:
+ - enum:
+ - now
+ - unchanged
+ maxLength: 5000
+ type: string
+ - format: unix-time
+ type: integer
+ style: deepObject
+ - description: Timestamp indicating when the subscription should be scheduled to cancel. Will prorate if within the current period and prorations have been enabled using `proration_behavior`.
+ explode: true
+ in: query
+ name: subscription_cancel_at
+ required: false
+ schema:
+ anyOf:
+ - format: unix-time
+ type: integer
+ - enum:
+ - ""
+ type: string
+ style: deepObject
+ - description: Boolean indicating whether this subscription should cancel at the end of the current period.
+ in: query
+ name: subscription_cancel_at_period_end
+ required: false
+ schema:
+ type: boolean
+ style: form
+ - description: This simulates the subscription being canceled or expired immediately.
+ in: query
+ name: subscription_cancel_now
+ required: false
+ schema:
+ type: boolean
+ style: form
+ - description: If provided, the invoice returned will preview updating or creating a subscription with these default tax rates. The default tax rates will apply to any line item that does not have `tax_rates` set.
+ explode: true
+ in: query
+ name: subscription_default_tax_rates
+ required: false
+ schema:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ style: deepObject
+ - description: A list of up to 20 subscription items, each with an attached price.
+ explode: true
+ in: query
+ name: subscription_items
+ required: false
+ schema:
+ items:
+ properties:
+ billing_thresholds:
+ anyOf:
+ - properties:
+ usage_gte:
+ type: integer
+ required:
+ - usage_gte
+ title: item_billing_thresholds_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ clear_usage:
+ type: boolean
+ deleted:
+ type: boolean
+ id:
+ maxLength: 5000
+ type: string
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ price:
+ maxLength: 5000
+ type: string
+ price_data:
+ properties:
+ currency:
+ type: string
+ product:
+ maxLength: 5000
+ type: string
+ recurring:
+ properties:
+ interval:
+ enum:
+ - day
+ - month
+ - week
+ - year
+ type: string
+ interval_count:
+ type: integer
+ required:
+ - interval
+ title: recurring_adhoc
+ type: object
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ required:
+ - currency
+ - product
+ - recurring
+ title: recurring_price_data
+ type: object
+ quantity:
+ type: integer
+ tax_rates:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ title: subscription_item_update_params
+ type: object
+ type: array
+ style: deepObject
+ - description: Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`.
+ in: query
+ name: subscription_proration_behavior
+ required: false
+ schema:
+ enum:
+ - always_invoice
+ - create_prorations
+ - none
+ type: string
+ style: form
+ - description: If previewing an update to a subscription, and doing proration, `subscription_proration_date` forces the proration to be calculated as though the update was done at the specified time. The time given must be within the current subscription period and within the current phase of the schedule backing this subscription, if the schedule exists. If set, `subscription`, and one of `subscription_items`, or `subscription_trial_end` are required. Also, `subscription_proration_behavior` cannot be set to 'none'.
+ in: query
+ name: subscription_proration_date
+ required: false
+ schema:
+ format: unix-time
+ type: integer
+ style: form
+ - description: For paused subscriptions, setting `subscription_resume_at` to `now` will preview the invoice that will be generated if the subscription is resumed.
+ in: query
+ name: subscription_resume_at
+ required: false
+ schema:
+ enum:
+ - now
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Date a subscription is intended to start (can be future or past)
+ in: query
+ name: subscription_start_date
+ required: false
+ schema:
+ format: unix-time
+ type: integer
+ style: form
+ - description: If provided, the invoice returned will preview updating or creating a subscription with that trial end. If set, one of `subscription_items` or `subscription` is required.
+ explode: true
+ in: query
+ name: subscription_trial_end
+ required: false
+ schema:
+ anyOf:
+ - enum:
+ - now
+ maxLength: 5000
+ type: string
+ - format: unix-time
+ type: integer
+ style: deepObject
+ - description: Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `subscription_trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `subscription_trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more.
+ in: query
+ name: subscription_trial_from_plan
+ required: false
+ schema:
+ type: boolean
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/invoice"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/invoices/upcoming/lines:
+ get:
+ description:
When retrieving an upcoming invoice, you’ll get a lines property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
+ operationId: GetInvoicesUpcomingLines
+ parameters:
+ - description: Settings for automatic tax lookup for this invoice preview.
+ explode: true
+ in: query
+ name: automatic_tax
+ required: false
+ schema:
+ properties:
+ enabled:
+ type: boolean
+ required:
+ - enabled
+ title: automatic_tax_param
+ type: object
+ style: deepObject
+ - description: The code of the coupon to apply. If `subscription` or `subscription_items` is provided, the invoice returned will preview updating or creating a subscription with that coupon. Otherwise, it will preview applying that coupon to the customer for the next upcoming invoice from among the customer's subscriptions. The invoice can be previewed without a coupon by passing this value as an empty string.
+ in: query
+ name: coupon
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: The currency to preview this invoice in. Defaults to that of `customer` if not specified.
+ in: query
+ name: currency
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: The identifier of the customer whose upcoming invoice you'd like to retrieve.
+ in: query
+ name: customer
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Details about the customer you want to invoice or overrides for an existing customer.
+ explode: true
+ in: query
+ name: customer_details
+ required: false
+ schema:
+ properties:
+ address:
+ anyOf:
+ - properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ title: optional_fields_address
+ type: object
+ - enum:
+ - ""
+ type: string
+ shipping:
+ anyOf:
+ - properties:
+ address:
+ properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ title: optional_fields_address
+ type: object
+ name:
+ maxLength: 5000
+ type: string
+ phone:
+ maxLength: 5000
+ type: string
+ required:
+ - address
+ - name
+ title: customer_shipping
+ type: object
+ - enum:
+ - ""
+ type: string
+ tax:
+ properties:
+ ip_address:
+ anyOf:
+ - type: string
+ - enum:
+ - ""
+ type: string
+ title: tax_param
+ type: object
+ tax_exempt:
+ enum:
+ - ""
+ - exempt
+ - none
+ - reverse
+ type: string
+ tax_ids:
+ items:
+ properties:
+ type:
+ enum:
+ - ae_trn
+ - au_abn
+ - au_arn
+ - bg_uic
+ - br_cnpj
+ - br_cpf
+ - ca_bn
+ - ca_gst_hst
+ - ca_pst_bc
+ - ca_pst_mb
+ - ca_pst_sk
+ - ca_qst
+ - ch_vat
+ - cl_tin
+ - eg_tin
+ - es_cif
+ - eu_oss_vat
+ - eu_vat
+ - gb_vat
+ - ge_vat
+ - hk_br
+ - hu_tin
+ - id_npwp
+ - il_vat
+ - in_gst
+ - is_vat
+ - jp_cn
+ - jp_rn
+ - jp_trn
+ - ke_pin
+ - kr_brn
+ - li_uid
+ - mx_rfc
+ - my_frp
+ - my_itn
+ - my_sst
+ - no_vat
+ - nz_gst
+ - ph_tin
+ - ru_inn
+ - ru_kpp
+ - sa_vat
+ - sg_gst
+ - sg_uen
+ - si_tin
+ - th_vat
+ - tr_tin
+ - tw_vat
+ - ua_vat
+ - us_ein
+ - za_vat
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ value:
+ type: string
+ required:
+ - type
+ - value
+ title: data_params
+ type: object
+ type: array
+ title: customer_details_param
+ type: object
+ style: deepObject
+ - description: The coupons to redeem into discounts for the invoice preview. If not specified, inherits the discount from the customer or subscription. This only works for coupons directly applied to the invoice. To apply a coupon to a subscription, you must use the `coupon` parameter instead. Pass an empty string to avoid inheriting any discounts. To preview the upcoming invoice for a subscription that hasn't been created, use `coupon` instead.
+ explode: true
+ in: query
+ name: discounts
+ required: false
+ schema:
+ anyOf:
+ - items:
+ properties:
+ coupon:
+ maxLength: 5000
+ type: string
+ discount:
+ maxLength: 5000
+ type: string
+ title: discounts_data_param
+ type: object
+ type: array
+ - enum:
+ - ""
+ type: string
+ style: deepObject
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: List of invoice items to add or update in the upcoming invoice preview.
+ explode: true
+ in: query
+ name: invoice_items
+ required: false
+ schema:
+ items:
+ properties:
+ amount:
+ type: integer
+ currency:
+ type: string
+ description:
+ maxLength: 5000
+ type: string
+ discountable:
+ type: boolean
+ discounts:
+ anyOf:
+ - items:
+ properties:
+ coupon:
+ maxLength: 5000
+ type: string
+ discount:
+ maxLength: 5000
+ type: string
+ title: discounts_data_param
+ type: object
+ type: array
+ - enum:
+ - ""
+ type: string
+ invoiceitem:
+ maxLength: 5000
+ type: string
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ period:
+ properties:
+ end:
+ format: unix-time
+ type: integer
+ start:
+ format: unix-time
+ type: integer
+ required:
+ - end
+ - start
+ title: period
+ type: object
+ price:
+ maxLength: 5000
+ type: string
+ price_data:
+ properties:
+ currency:
+ type: string
+ product:
+ maxLength: 5000
+ type: string
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ required:
+ - currency
+ - product
+ title: one_time_price_data
+ type: object
+ quantity:
+ type: integer
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ tax_code:
+ anyOf:
+ - type: string
+ - enum:
+ - ""
+ type: string
+ tax_rates:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ title: invoice_item_preview_params
+ type: object
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: The identifier of the unstarted schedule whose upcoming invoice you'd like to retrieve. Cannot be used with subscription or subscription fields.
+ in: query
+ name: schedule
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: The identifier of the subscription for which you'd like to retrieve the upcoming invoice. If not provided, but a `subscription_items` is provided, you will preview creating a subscription with those items. If neither `subscription` nor `subscription_items` is provided, you will retrieve the next upcoming invoice from among the customer's subscriptions.
+ in: query
+ name: subscription
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: For new subscriptions, a future timestamp to anchor the subscription's [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle). This is used to determine the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. For existing subscriptions, the value can only be set to `now` or `unchanged`.
+ explode: true
+ in: query
+ name: subscription_billing_cycle_anchor
+ required: false
+ schema:
+ anyOf:
+ - enum:
+ - now
+ - unchanged
+ maxLength: 5000
+ type: string
+ - format: unix-time
+ type: integer
+ style: deepObject
+ - description: Timestamp indicating when the subscription should be scheduled to cancel. Will prorate if within the current period and prorations have been enabled using `proration_behavior`.
+ explode: true
+ in: query
+ name: subscription_cancel_at
+ required: false
+ schema:
+ anyOf:
+ - format: unix-time
+ type: integer
+ - enum:
+ - ""
+ type: string
+ style: deepObject
+ - description: Boolean indicating whether this subscription should cancel at the end of the current period.
+ in: query
+ name: subscription_cancel_at_period_end
+ required: false
+ schema:
+ type: boolean
+ style: form
+ - description: This simulates the subscription being canceled or expired immediately.
+ in: query
+ name: subscription_cancel_now
+ required: false
+ schema:
+ type: boolean
+ style: form
+ - description: If provided, the invoice returned will preview updating or creating a subscription with these default tax rates. The default tax rates will apply to any line item that does not have `tax_rates` set.
+ explode: true
+ in: query
+ name: subscription_default_tax_rates
+ required: false
+ schema:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ style: deepObject
+ - description: A list of up to 20 subscription items, each with an attached price.
+ explode: true
+ in: query
+ name: subscription_items
+ required: false
+ schema:
+ items:
+ properties:
+ billing_thresholds:
+ anyOf:
+ - properties:
+ usage_gte:
+ type: integer
+ required:
+ - usage_gte
+ title: item_billing_thresholds_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ clear_usage:
+ type: boolean
+ deleted:
+ type: boolean
+ id:
+ maxLength: 5000
+ type: string
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ price:
+ maxLength: 5000
+ type: string
+ price_data:
+ properties:
+ currency:
+ type: string
+ product:
+ maxLength: 5000
+ type: string
+ recurring:
+ properties:
+ interval:
+ enum:
+ - day
+ - month
+ - week
+ - year
+ type: string
+ interval_count:
+ type: integer
+ required:
+ - interval
+ title: recurring_adhoc
+ type: object
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ required:
+ - currency
+ - product
+ - recurring
+ title: recurring_price_data
+ type: object
+ quantity:
+ type: integer
+ tax_rates:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ title: subscription_item_update_params
+ type: object
+ type: array
+ style: deepObject
+ - description: Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`.
+ in: query
+ name: subscription_proration_behavior
+ required: false
+ schema:
+ enum:
+ - always_invoice
+ - create_prorations
+ - none
+ type: string
+ style: form
+ - description: If previewing an update to a subscription, and doing proration, `subscription_proration_date` forces the proration to be calculated as though the update was done at the specified time. The time given must be within the current subscription period and within the current phase of the schedule backing this subscription, if the schedule exists. If set, `subscription`, and one of `subscription_items`, or `subscription_trial_end` are required. Also, `subscription_proration_behavior` cannot be set to 'none'.
+ in: query
+ name: subscription_proration_date
+ required: false
+ schema:
+ format: unix-time
+ type: integer
+ style: form
+ - description: For paused subscriptions, setting `subscription_resume_at` to `now` will preview the invoice that will be generated if the subscription is resumed.
+ in: query
+ name: subscription_resume_at
+ required: false
+ schema:
+ enum:
+ - now
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Date a subscription is intended to start (can be future or past)
+ in: query
+ name: subscription_start_date
+ required: false
+ schema:
+ format: unix-time
+ type: integer
+ style: form
+ - description: If provided, the invoice returned will preview updating or creating a subscription with that trial end. If set, one of `subscription_items` or `subscription` is required.
+ explode: true
+ in: query
+ name: subscription_trial_end
+ required: false
+ schema:
+ anyOf:
+ - enum:
+ - now
+ maxLength: 5000
+ type: string
+ - format: unix-time
+ type: integer
+ style: deepObject
+ - description: Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `subscription_trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `subscription_trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more.
+ in: query
+ name: subscription_trial_from_plan
+ required: false
+ schema:
+ type: boolean
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/line_item"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: InvoiceLinesList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/invoices/{invoice}":
+ delete:
+ description:
Permanently deletes a one-off invoice draft. This cannot be undone. Attempts to delete invoices that are no longer in a draft state will fail; once an invoice has been finalized or if an invoice is for a subscription, it must be voided.
Draft invoices are fully editable. Once an invoice is finalized,
+ monetary values, as well as collection_method, become uneditable.
+
+
If you would like to stop the Stripe Billing engine from automatically finalizing, reattempting payments on,
+ sending reminders for, or automatically reconciling invoices, pass
+ auto_advance=false.
+ operationId: PostInvoicesInvoice
+ parameters:
+ - in: path
+ name: invoice
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ account_tax_ids:
+ explode: true
+ style: deepObject
+ automatic_tax:
+ explode: true
+ style: deepObject
+ custom_fields:
+ explode: true
+ style: deepObject
+ default_tax_rates:
+ explode: true
+ style: deepObject
+ discounts:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ on_behalf_of:
+ explode: true
+ style: deepObject
+ payment_settings:
+ explode: true
+ style: deepObject
+ rendering_options:
+ explode: true
+ style: deepObject
+ shipping_cost:
+ explode: true
+ style: deepObject
+ shipping_details:
+ explode: true
+ style: deepObject
+ transfer_data:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ account_tax_ids:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ description: The account tax IDs associated with the invoice. Only editable when the invoice is a draft.
+ application_fee_amount:
+ description: A fee in cents (or local equivalent) that will be applied to the invoice and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the Stripe-Account header in order to take an application fee. For more information, see the application fees [documentation](https://stripe.com/docs/billing/invoices/connect#collecting-fees).
+ type: integer
+ auto_advance:
+ description: Controls whether Stripe will perform [automatic collection](https://stripe.com/docs/billing/invoices/workflow/#auto_advance) of the invoice.
+ type: boolean
+ automatic_tax:
+ description: Settings for automatic tax lookup for this invoice.
+ properties:
+ enabled:
+ type: boolean
+ required:
+ - enabled
+ title: automatic_tax_param
+ type: object
+ collection_method:
+ description: Either `charge_automatically` or `send_invoice`. This field can be updated only on `draft` invoices.
+ enum:
+ - charge_automatically
+ - send_invoice
+ type: string
+ custom_fields:
+ anyOf:
+ - items:
+ properties:
+ name:
+ maxLength: 30
+ type: string
+ value:
+ maxLength: 30
+ type: string
+ required:
+ - name
+ - value
+ title: custom_field_params
+ type: object
+ type: array
+ - enum:
+ - ""
+ type: string
+ description: A list of up to 4 custom fields to be displayed on the invoice. If a value for `custom_fields` is specified, the list specified will replace the existing custom field list on this invoice. Pass an empty string to remove previously-defined fields.
+ days_until_due:
+ description: The number of days from which the invoice is created until it is due. Only valid for invoices where `collection_method=send_invoice`. This field can only be updated on `draft` invoices.
+ type: integer
+ default_payment_method:
+ description: ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings.
+ maxLength: 5000
+ type: string
+ default_source:
+ description: ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source.
+ maxLength: 5000
+ type: string
+ default_tax_rates:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ description: The tax rates that will apply to any line item that does not have `tax_rates` set. Pass an empty string to remove previously-defined tax rates.
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users. Referenced as 'memo' in the Dashboard.
+ maxLength: 1500
+ type: string
+ discounts:
+ anyOf:
+ - items:
+ properties:
+ coupon:
+ maxLength: 5000
+ type: string
+ discount:
+ maxLength: 5000
+ type: string
+ title: discounts_data_param
+ type: object
+ type: array
+ - enum:
+ - ""
+ type: string
+ description: The discounts that will apply to the invoice. Pass an empty string to remove previously-defined discounts.
+ due_date:
+ description: The date on which payment for this invoice is due. Only valid for invoices where `collection_method=send_invoice`. This field can only be updated on `draft` invoices.
+ format: unix-time
+ type: integer
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ footer:
+ description: Footer to be displayed on the invoice.
+ maxLength: 5000
+ type: string
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ on_behalf_of:
+ anyOf:
+ - type: string
+ - enum:
+ - ""
+ type: string
+ description: The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account. See the [Invoices with Connect](https://stripe.com/docs/billing/invoices/connect) documentation for details.
+ payment_settings:
+ description: Configuration settings for the PaymentIntent that is generated when the invoice is finalized.
+ properties:
+ default_mandate:
+ maxLength: 5000
+ type: string
+ payment_method_options:
+ properties:
+ acss_debit:
+ anyOf:
+ - properties:
+ mandate_options:
+ properties:
+ transaction_type:
+ enum:
+ - business
+ - personal
+ type: string
+ title: mandate_options_param
+ type: object
+ verification_method:
+ enum:
+ - automatic
+ - instant
+ - microdeposits
+ type: string
+ x-stripeBypassValidation: true
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ bancontact:
+ anyOf:
+ - properties:
+ preferred_language:
+ enum:
+ - de
+ - en
+ - fr
+ - nl
+ type: string
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ card:
+ anyOf:
+ - properties:
+ installments:
+ properties:
+ enabled:
+ type: boolean
+ plan:
+ anyOf:
+ - properties:
+ count:
+ type: integer
+ interval:
+ enum:
+ - month
+ type: string
+ type:
+ enum:
+ - fixed_count
+ type: string
+ required:
+ - count
+ - interval
+ - type
+ title: installment_plan
+ type: object
+ - enum:
+ - ""
+ type: string
+ title: installments_param
+ type: object
+ request_three_d_secure:
+ enum:
+ - any
+ - automatic
+ type: string
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ customer_balance:
+ anyOf:
+ - properties:
+ bank_transfer:
+ properties:
+ eu_bank_transfer:
+ properties:
+ country:
+ maxLength: 5000
+ type: string
+ required:
+ - country
+ title: eu_bank_transfer_param
+ type: object
+ type:
+ type: string
+ title: bank_transfer_param
+ type: object
+ funding_type:
+ type: string
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ konbini:
+ anyOf:
+ - properties: {}
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ us_bank_account:
+ anyOf:
+ - properties:
+ financial_connections:
+ properties:
+ permissions:
+ items:
+ enum:
+ - balances
+ - ownership
+ - payment_method
+ - transactions
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ type: array
+ title: invoice_linked_account_options_param
+ type: object
+ verification_method:
+ enum:
+ - automatic
+ - instant
+ - microdeposits
+ type: string
+ x-stripeBypassValidation: true
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ title: payment_method_options
+ type: object
+ payment_method_types:
+ anyOf:
+ - items:
+ enum:
+ - ach_credit_transfer
+ - ach_debit
+ - acss_debit
+ - au_becs_debit
+ - bacs_debit
+ - bancontact
+ - boleto
+ - card
+ - cashapp
+ - customer_balance
+ - fpx
+ - giropay
+ - grabpay
+ - ideal
+ - konbini
+ - link
+ - paynow
+ - promptpay
+ - sepa_debit
+ - sofort
+ - us_bank_account
+ - wechat_pay
+ type: string
+ x-stripeBypassValidation: true
+ type: array
+ - enum:
+ - ""
+ type: string
+ title: payment_settings
+ type: object
+ rendering_options:
+ anyOf:
+ - properties:
+ amount_tax_display:
+ enum:
+ - ""
+ - exclude_tax
+ - include_inclusive_tax
+ type: string
+ title: rendering_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Options for invoice PDF rendering.
+ shipping_cost:
+ anyOf:
+ - properties:
+ shipping_rate:
+ maxLength: 5000
+ type: string
+ shipping_rate_data:
+ properties:
+ delivery_estimate:
+ properties:
+ maximum:
+ properties:
+ unit:
+ enum:
+ - business_day
+ - day
+ - hour
+ - month
+ - week
+ type: string
+ value:
+ type: integer
+ required:
+ - unit
+ - value
+ title: delivery_estimate_bound
+ type: object
+ minimum:
+ properties:
+ unit:
+ enum:
+ - business_day
+ - day
+ - hour
+ - month
+ - week
+ type: string
+ value:
+ type: integer
+ required:
+ - unit
+ - value
+ title: delivery_estimate_bound
+ type: object
+ title: delivery_estimate
+ type: object
+ display_name:
+ maxLength: 100
+ type: string
+ fixed_amount:
+ properties:
+ amount:
+ type: integer
+ currency:
+ type: string
+ currency_options:
+ additionalProperties:
+ properties:
+ amount:
+ type: integer
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ required:
+ - amount
+ title: currency_option
+ type: object
+ type: object
+ required:
+ - amount
+ - currency
+ title: fixed_amount
+ type: object
+ metadata:
+ additionalProperties:
+ type: string
+ type: object
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ tax_code:
+ type: string
+ type:
+ enum:
+ - fixed_amount
+ type: string
+ required:
+ - display_name
+ title: method_params
+ type: object
+ title: shipping_cost
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Settings for the cost of shipping for this invoice.
+ shipping_details:
+ anyOf:
+ - properties:
+ address:
+ properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ title: optional_fields_address
+ type: object
+ name:
+ maxLength: 5000
+ type: string
+ phone:
+ maxLength: 5000
+ type: string
+ required:
+ - address
+ - name
+ title: recipient_shipping_with_optional_fields_address
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Shipping details for the invoice. The Invoice PDF will use the `shipping_details` value if it is set, otherwise the PDF will render the shipping address from the customer.
+ statement_descriptor:
+ description: Extra information about a charge for the customer's credit card statement. It must contain at least one letter. If not specified and this invoice is part of a subscription, the default `statement_descriptor` will be set to the first subscription item's product's `statement_descriptor`.
+ maxLength: 22
+ type: string
+ transfer_data:
+ anyOf:
+ - properties:
+ amount:
+ type: integer
+ destination:
+ type: string
+ required:
+ - destination
+ title: transfer_data_specs
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: If specified, the funds from the invoice will be transferred to the destination and the ID of the resulting transfer will be found on the invoice's charge. This will be unset if you POST an empty value.
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/invoice"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/invoices/{invoice}/finalize":
+ post:
+ description:
Stripe automatically finalizes drafts before sending and attempting payment on invoices. However, if you’d like to finalize a draft invoice manually, you can do so using this method.
+ operationId: PostInvoicesInvoiceFinalize
+ parameters:
+ - in: path
+ name: invoice
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ auto_advance:
+ description: Controls whether Stripe will perform [automatic collection](https://stripe.com/docs/invoicing/automatic-charging) of the invoice. When `false`, the invoice's state will not automatically advance without an explicit action.
+ type: boolean
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/invoice"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/invoices/{invoice}/lines":
+ get:
+ description:
When retrieving an invoice, you’ll get a lines property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
+ operationId: GetInvoicesInvoiceLines
+ parameters:
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - in: path
+ name: invoice
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/line_item"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: InvoiceLinesList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/invoices/{invoice}/mark_uncollectible":
+ post:
+ description:
Marking an invoice as uncollectible is useful for keeping track of bad debts that can be written off for accounting purposes.
Stripe automatically creates and then attempts to collect payment on invoices for customers on subscriptions according to your subscriptions settings. However, if you’d like to attempt payment on an invoice out of the normal collection schedule or for some other reason, you can do so.
+ operationId: PostInvoicesInvoicePay
+ parameters:
+ - in: path
+ name: invoice
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ forgive:
+ description: |-
+ In cases where the source used to pay the invoice has insufficient funds, passing `forgive=true` controls whether a charge should be attempted for the full amount available on the source, up to the amount to fully pay the invoice. This effectively forgives the difference between the amount available on the source and the amount due.
+
+ Passing `forgive=false` will fail the charge if the source hasn't been pre-funded with the right amount. An example for this case is with ACH Credit Transfers and wires: if the amount wired is less than the amount due by a small amount, you might want to forgive the difference. Defaults to `false`.
+ type: boolean
+ mandate:
+ description: ID of the mandate to be used for this invoice. It must correspond to the payment method used to pay the invoice, including the payment_method param or the invoice's default_payment_method or default_source, if set.
+ maxLength: 5000
+ type: string
+ off_session:
+ description: Indicates if a customer is on or off-session while an invoice payment is attempted. Defaults to `true` (off-session).
+ type: boolean
+ paid_out_of_band:
+ description: Boolean representing whether an invoice is paid outside of Stripe. This will result in no charge being made. Defaults to `false`.
+ type: boolean
+ payment_method:
+ description: A PaymentMethod to be charged. The PaymentMethod must be the ID of a PaymentMethod belonging to the customer associated with the invoice being paid.
+ maxLength: 5000
+ type: string
+ source:
+ description: A payment source to be charged. The source must be the ID of a source belonging to the customer associated with the invoice being paid.
+ maxLength: 5000
+ type: string
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/invoice"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/invoices/{invoice}/send":
+ post:
+ description: |-
+
Stripe will automatically send invoices to customers according to your subscriptions settings. However, if you’d like to manually send an invoice to your customer out of the normal schedule, you can do so. When sending invoices that have already been paid, there will be no reference to the payment in the email.
+
+
Requests made in test-mode result in no emails being sent, despite sending an invoice.sent event.
Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to deletion, however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found.
Returns a list of Issuing Authorization objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
+ operationId: GetIssuingAuthorizations
+ parameters:
+ - description: Only return authorizations that belong to the given card.
+ in: query
+ name: card
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Only return authorizations that belong to the given cardholder.
+ in: query
+ name: cardholder
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Only return authorizations that were created during the given date interval.
+ explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Only return authorizations with the given status. One of `pending`, `closed`, or `reversed`.
+ in: query
+ name: status
+ required: false
+ schema:
+ enum:
+ - closed
+ - pending
+ - reversed
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/issuing.authorization"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/issuing/authorizations
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: IssuingAuthorizationList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/issuing/authorizations/{authorization}":
+ get:
+ description:
Updates the specified Issuing Authorization object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
+ operationId: PostIssuingAuthorizationsAuthorization
+ parameters:
+ - in: path
+ name: authorization
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/issuing.authorization"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/issuing/authorizations/{authorization}/approve":
+ post:
+ description: |-
+
Approves a pending Issuing Authorization object. This request should be made within the timeout window of the real-time authorization flow.
+ You can also respond directly to the webhook request to approve an authorization (preferred). More details can be found here.
+ operationId: PostIssuingAuthorizationsAuthorizationApprove
+ parameters:
+ - in: path
+ name: authorization
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ amount:
+ description: If the authorization's `pending_request.is_amount_controllable` property is `true`, you may provide this value to control how much to hold for the authorization. Must be positive (use [`decline`](https://stripe.com/docs/api/issuing/authorizations/decline) to decline an authorization request).
+ type: integer
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/issuing.authorization"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/issuing/authorizations/{authorization}/decline":
+ post:
+ description: |-
+
Declines a pending Issuing Authorization object. This request should be made within the timeout window of the real time authorization flow.
+ You can also respond directly to the webhook request to decline an authorization (preferred). More details can be found here.
+ operationId: PostIssuingAuthorizationsAuthorizationDecline
+ parameters:
+ - in: path
+ name: authorization
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/issuing.authorization"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/issuing/cardholders:
+ get:
+ description:
Returns a list of Issuing Cardholder objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
+ operationId: GetIssuingCardholders
+ parameters:
+ - description: Only return cardholders that were created during the given date interval.
+ explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: Only return cardholders that have the given email address.
+ in: query
+ name: email
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: Only return cardholders that have the given phone number.
+ in: query
+ name: phone_number
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Only return cardholders that have the given status. One of `active`, `inactive`, or `blocked`.
+ in: query
+ name: status
+ required: false
+ schema:
+ enum:
+ - active
+ - blocked
+ - inactive
+ type: string
+ style: form
+ - description: Only return cardholders that have the given type. One of `individual` or `company`.
+ in: query
+ name: type
+ required: false
+ schema:
+ enum:
+ - company
+ - individual
+ type: string
+ x-stripeBypassValidation: true
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/issuing.cardholder"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/issuing/cardholders
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: IssuingCardholderList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Creates a new Issuing Cardholder object that can be issued cards.
Returns a list of Issuing Card objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
+ operationId: GetIssuingCards
+ parameters:
+ - description: Only return cards belonging to the Cardholder with the provided ID.
+ in: query
+ name: cardholder
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Only return cards that were issued during the given date interval.
+ explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Only return cards that have the given expiration month.
+ in: query
+ name: exp_month
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: Only return cards that have the given expiration year.
+ in: query
+ name: exp_year
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: Only return cards that have the given last four digits.
+ in: query
+ name: last4
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Only return cards that have the given status. One of `active`, `inactive`, or `canceled`.
+ in: query
+ name: status
+ required: false
+ schema:
+ enum:
+ - active
+ - canceled
+ - inactive
+ type: string
+ x-stripeBypassValidation: true
+ style: form
+ - description: Only return cards that have the given type. One of `virtual` or `physical`.
+ in: query
+ name: type
+ required: false
+ schema:
+ enum:
+ - physical
+ - virtual
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/issuing.card"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/issuing/cards
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: IssuingCardList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Returns a list of Issuing Dispute objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
+ operationId: GetIssuingDisputes
+ parameters:
+ - description: Select Issuing disputes that were created during the given date interval.
+ explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Select Issuing disputes with the given status.
+ in: query
+ name: status
+ required: false
+ schema:
+ enum:
+ - expired
+ - lost
+ - submitted
+ - unsubmitted
+ - won
+ type: string
+ style: form
+ - description: Select the Issuing dispute for the given transaction.
+ in: query
+ name: transaction
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/issuing.dispute"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/issuing/disputes
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: IssuingDisputeList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Creates an Issuing Dispute object. Individual pieces of evidence within the evidence object are optional at this point. Stripe only validates that required evidence is present during submission. Refer to Dispute reasons and evidence for more details about evidence requirements.
Updates the specified Issuing Dispute object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Properties on the evidence object can be unset by passing in an empty string.
Submits an Issuing Dispute to the card network. Stripe validates that all evidence fields required for the dispute’s reason are present. For more details, see Dispute reasons and evidence.
+ operationId: PostIssuingDisputesDisputeSubmit
+ parameters:
+ - in: path
+ name: dispute
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/issuing.dispute"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/issuing/settlements:
+ get:
+ description:
Returns a list of Issuing Settlement objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
+ operationId: GetIssuingSettlements
+ parameters:
+ - description: Only return issuing settlements that were created during the given date interval.
+ explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/issuing.settlement"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/issuing/settlements
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: IssuingSettlementList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/issuing/settlements/{settlement}":
+ get:
+ description:
Updates the specified Issuing Settlement object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
+ operationId: PostIssuingSettlementsSettlement
+ parameters:
+ - in: path
+ name: settlement
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/issuing.settlement"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/issuing/transactions:
+ get:
+ description:
Returns a list of Issuing Transaction objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
+ operationId: GetIssuingTransactions
+ parameters:
+ - description: Only return transactions that belong to the given card.
+ in: query
+ name: card
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Only return transactions that belong to the given cardholder.
+ in: query
+ name: cardholder
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Only return transactions that were created during the given date interval.
+ explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Only return transactions that have the given type. One of `capture` or `refund`.
+ in: query
+ name: type
+ required: false
+ schema:
+ enum:
+ - capture
+ - refund
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/issuing.transaction"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/issuing/transactions
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: IssuingTransactionList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/issuing/transactions/{transaction}":
+ get:
+ description:
Returns a list of Financial Connections Account objects.
+ operationId: GetLinkedAccounts
+ parameters:
+ - description: If present, only return accounts that belong to the specified account holder. `account_holder[customer]` and `account_holder[account]` are mutually exclusive.
+ explode: true
+ in: query
+ name: account_holder
+ required: false
+ schema:
+ properties:
+ account:
+ maxLength: 5000
+ type: string
+ customer:
+ maxLength: 5000
+ type: string
+ title: accountholder_params
+ type: object
+ style: deepObject
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: If present, only return accounts that were collected as part of the given session.
+ in: query
+ name: session
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/financial_connections.account"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/financial_connections/accounts
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: BankConnectionsResourceLinkedAccountList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/linked_accounts/{account}":
+ get:
+ description:
Retrieves the details of an Financial Connections Account.
Disables your access to a Financial Connections Account. You will no longer be able to access data associated with the account (e.g. balances, transactions).
+ operationId: GetLinkedAccountsAccountOwners
+ parameters:
+ - in: path
+ name: account
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: The ID of the ownership object to fetch owners from.
+ in: query
+ name: ownership
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/financial_connections.account_owner"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: BankConnectionsResourceOwnerList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/linked_accounts/{account}/refresh":
+ post:
+ description:
Refreshes the data associated with a Financial Connections Account.
+ operationId: GetPaymentIntents
+ parameters:
+ - description: A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options.
+ explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: Only return PaymentIntents for the customer specified by this customer ID.
+ in: query
+ name: customer
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/payment_intent"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/payment_intents
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: PaymentFlowsPaymentIntentList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description: |-
+
Creates a PaymentIntent object.
+
+
After the PaymentIntent is created, attach a payment method and confirm
+ to continue the payment. You can read more about the different payment flows
+ available via the Payment Intents API here.
+
+
When confirm=true is used during creation, it is equivalent to creating
+ and confirming the PaymentIntent in the same call. You may use any parameters
+ available in the confirm API when confirm=true
+ is supplied.
+ operationId: PostPaymentIntents
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ automatic_payment_methods:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ mandate_data:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ off_session:
+ explode: true
+ style: deepObject
+ payment_method_data:
+ explode: true
+ style: deepObject
+ payment_method_options:
+ explode: true
+ style: deepObject
+ payment_method_types:
+ explode: true
+ style: deepObject
+ radar_options:
+ explode: true
+ style: deepObject
+ shipping:
+ explode: true
+ style: deepObject
+ transfer_data:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ amount:
+ description: Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).
+ type: integer
+ application_fee_amount:
+ description: The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).
+ type: integer
+ automatic_payment_methods:
+ description: When enabled, this PaymentIntent will accept payment methods that you have enabled in the Dashboard and are compatible with this PaymentIntent's other parameters.
+ properties:
+ enabled:
+ type: boolean
+ required:
+ - enabled
+ title: automatic_payment_methods_param
+ type: object
+ capture_method:
+ description: Controls when the funds will be captured from the customer's account.
+ enum:
+ - automatic
+ - automatic_async
+ - manual
+ type: string
+ confirm:
+ description: Set to `true` to attempt to [confirm](https://stripe.com/docs/api/payment_intents/confirm) this PaymentIntent immediately. This parameter defaults to `false`. When creating and confirming a PaymentIntent at the same time, parameters available in the [confirm](https://stripe.com/docs/api/payment_intents/confirm) API may also be provided.
+ type: boolean
+ confirmation_method:
+ enum:
+ - automatic
+ - manual
+ type: string
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ customer:
+ description: |-
+ ID of the Customer this PaymentIntent belongs to, if one exists.
+
+ Payment methods attached to other Customers cannot be used with this PaymentIntent.
+
+ If present in combination with [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage), this PaymentIntent's payment method will be attached to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete.
+ maxLength: 5000
+ type: string
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 1000
+ type: string
+ error_on_requires_action:
+ description: Set to `true` to fail the payment attempt if the PaymentIntent transitions into `requires_action`. This parameter is intended for simpler integrations that do not handle customer actions, like [saving cards without authentication](https://stripe.com/docs/payments/save-card-without-authentication). This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm).
+ type: boolean
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ mandate:
+ description: ID of the mandate to be used for this payment. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm).
+ maxLength: 5000
+ type: string
+ mandate_data:
+ description: This hash contains details about the Mandate to create. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm).
+ properties:
+ customer_acceptance:
+ properties:
+ accepted_at:
+ format: unix-time
+ type: integer
+ offline:
+ properties: {}
+ title: offline_param
+ type: object
+ online:
+ properties:
+ ip_address:
+ type: string
+ user_agent:
+ maxLength: 5000
+ type: string
+ required:
+ - ip_address
+ - user_agent
+ title: online_param
+ type: object
+ type:
+ enum:
+ - offline
+ - online
+ maxLength: 5000
+ type: string
+ required:
+ - type
+ title: customer_acceptance_param
+ type: object
+ required:
+ - customer_acceptance
+ title: secret_key_param
+ type: object
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ off_session:
+ anyOf:
+ - type: boolean
+ - enum:
+ - one_off
+ - recurring
+ maxLength: 5000
+ type: string
+ description: Set to `true` to indicate that the customer is not in your checkout flow during this payment attempt, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and [charge them later](https://stripe.com/docs/payments/cards/charging-saved-cards). This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm).
+ on_behalf_of:
+ description: The Stripe account ID for which these funds are intended. For details, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).
+ type: string
+ payment_method:
+ description: |-
+ ID of the payment method (a PaymentMethod, Card, or [compatible Source](https://stripe.com/docs/payments/payment-methods/transitioning#compatibility) object) to attach to this PaymentIntent.
+
+ If this parameter is omitted with `confirm=true`, `customer.default_source` will be attached as this PaymentIntent's payment instrument to improve the migration experience for users of the Charges API. We recommend that you explicitly provide the `payment_method` going forward.
+ maxLength: 5000
+ type: string
+ payment_method_data:
+ description: |-
+ If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will appear
+ in the [payment_method](https://stripe.com/docs/api/payment_intents/object#payment_intent_object-payment_method)
+ property on the PaymentIntent.
+ properties:
+ acss_debit:
+ properties:
+ account_number:
+ maxLength: 5000
+ type: string
+ institution_number:
+ maxLength: 5000
+ type: string
+ transit_number:
+ maxLength: 5000
+ type: string
+ required:
+ - account_number
+ - institution_number
+ - transit_number
+ title: payment_method_param
+ type: object
+ affirm:
+ properties: {}
+ title: param
+ type: object
+ afterpay_clearpay:
+ properties: {}
+ title: param
+ type: object
+ alipay:
+ properties: {}
+ title: param
+ type: object
+ au_becs_debit:
+ properties:
+ account_number:
+ maxLength: 5000
+ type: string
+ bsb_number:
+ maxLength: 5000
+ type: string
+ required:
+ - account_number
+ - bsb_number
+ title: param
+ type: object
+ bacs_debit:
+ properties:
+ account_number:
+ maxLength: 5000
+ type: string
+ sort_code:
+ maxLength: 5000
+ type: string
+ title: param
+ type: object
+ bancontact:
+ properties: {}
+ title: param
+ type: object
+ billing_details:
+ properties:
+ address:
+ anyOf:
+ - properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ title: billing_details_address
+ type: object
+ - enum:
+ - ""
+ type: string
+ email:
+ anyOf:
+ - type: string
+ - enum:
+ - ""
+ type: string
+ name:
+ maxLength: 5000
+ type: string
+ phone:
+ maxLength: 5000
+ type: string
+ title: billing_details_inner_params
+ type: object
+ blik:
+ properties: {}
+ title: param
+ type: object
+ boleto:
+ properties:
+ tax_id:
+ maxLength: 5000
+ type: string
+ required:
+ - tax_id
+ title: param
+ type: object
+ cashapp:
+ properties: {}
+ title: param
+ type: object
+ customer_balance:
+ properties: {}
+ title: param
+ type: object
+ eps:
+ properties:
+ bank:
+ enum:
+ - arzte_und_apotheker_bank
+ - austrian_anadi_bank_ag
+ - bank_austria
+ - bankhaus_carl_spangler
+ - bankhaus_schelhammer_und_schattera_ag
+ - bawag_psk_ag
+ - bks_bank_ag
+ - brull_kallmus_bank_ag
+ - btv_vier_lander_bank
+ - capital_bank_grawe_gruppe_ag
+ - deutsche_bank_ag
+ - dolomitenbank
+ - easybank_ag
+ - erste_bank_und_sparkassen
+ - hypo_alpeadriabank_international_ag
+ - hypo_bank_burgenland_aktiengesellschaft
+ - hypo_noe_lb_fur_niederosterreich_u_wien
+ - hypo_oberosterreich_salzburg_steiermark
+ - hypo_tirol_bank_ag
+ - hypo_vorarlberg_bank_ag
+ - marchfelder_bank
+ - oberbank_ag
+ - raiffeisen_bankengruppe_osterreich
+ - schoellerbank_ag
+ - sparda_bank_wien
+ - volksbank_gruppe
+ - volkskreditbank_ag
+ - vr_bank_braunau
+ maxLength: 5000
+ type: string
+ title: param
+ type: object
+ fpx:
+ properties:
+ bank:
+ enum:
+ - affin_bank
+ - agrobank
+ - alliance_bank
+ - ambank
+ - bank_islam
+ - bank_muamalat
+ - bank_of_china
+ - bank_rakyat
+ - bsn
+ - cimb
+ - deutsche_bank
+ - hong_leong_bank
+ - hsbc
+ - kfh
+ - maybank2e
+ - maybank2u
+ - ocbc
+ - pb_enterprise
+ - public_bank
+ - rhb
+ - standard_chartered
+ - uob
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ required:
+ - bank
+ title: param
+ type: object
+ giropay:
+ properties: {}
+ title: param
+ type: object
+ grabpay:
+ properties: {}
+ title: param
+ type: object
+ ideal:
+ properties:
+ bank:
+ enum:
+ - abn_amro
+ - asn_bank
+ - bunq
+ - handelsbanken
+ - ing
+ - knab
+ - moneyou
+ - rabobank
+ - regiobank
+ - revolut
+ - sns_bank
+ - triodos_bank
+ - van_lanschot
+ - yoursafe
+ maxLength: 5000
+ type: string
+ title: param
+ type: object
+ interac_present:
+ properties: {}
+ title: param
+ type: object
+ klarna:
+ properties:
+ dob:
+ properties:
+ day:
+ type: integer
+ month:
+ type: integer
+ year:
+ type: integer
+ required:
+ - day
+ - month
+ - year
+ title: date_of_birth
+ type: object
+ title: param
+ type: object
+ konbini:
+ properties: {}
+ title: param
+ type: object
+ link:
+ properties: {}
+ title: param
+ type: object
+ metadata:
+ additionalProperties:
+ type: string
+ type: object
+ oxxo:
+ properties: {}
+ title: param
+ type: object
+ p24:
+ properties:
+ bank:
+ enum:
+ - alior_bank
+ - bank_millennium
+ - bank_nowy_bfg_sa
+ - bank_pekao_sa
+ - banki_spbdzielcze
+ - blik
+ - bnp_paribas
+ - boz
+ - citi_handlowy
+ - credit_agricole
+ - envelobank
+ - etransfer_pocztowy24
+ - getin_bank
+ - ideabank
+ - ing
+ - inteligo
+ - mbank_mtransfer
+ - nest_przelew
+ - noble_pay
+ - pbac_z_ipko
+ - plus_bank
+ - santander_przelew24
+ - tmobile_usbugi_bankowe
+ - toyota_bank
+ - volkswagen_bank
+ type: string
+ x-stripeBypassValidation: true
+ title: param
+ type: object
+ paynow:
+ properties: {}
+ title: param
+ type: object
+ pix:
+ properties: {}
+ title: param
+ type: object
+ promptpay:
+ properties: {}
+ title: param
+ type: object
+ radar_options:
+ properties:
+ session:
+ maxLength: 5000
+ type: string
+ title: radar_options
+ type: object
+ sepa_debit:
+ properties:
+ iban:
+ maxLength: 5000
+ type: string
+ required:
+ - iban
+ title: param
+ type: object
+ sofort:
+ properties:
+ country:
+ enum:
+ - AT
+ - BE
+ - DE
+ - ES
+ - IT
+ - NL
+ type: string
+ required:
+ - country
+ title: param
+ type: object
+ type:
+ enum:
+ - acss_debit
+ - affirm
+ - afterpay_clearpay
+ - alipay
+ - au_becs_debit
+ - bacs_debit
+ - bancontact
+ - blik
+ - boleto
+ - cashapp
+ - customer_balance
+ - eps
+ - fpx
+ - giropay
+ - grabpay
+ - ideal
+ - klarna
+ - konbini
+ - link
+ - oxxo
+ - p24
+ - paynow
+ - pix
+ - promptpay
+ - sepa_debit
+ - sofort
+ - us_bank_account
+ - wechat_pay
+ type: string
+ x-stripeBypassValidation: true
+ us_bank_account:
+ properties:
+ account_holder_type:
+ enum:
+ - company
+ - individual
+ type: string
+ account_number:
+ maxLength: 5000
+ type: string
+ account_type:
+ enum:
+ - checking
+ - savings
+ type: string
+ financial_connections_account:
+ maxLength: 5000
+ type: string
+ routing_number:
+ maxLength: 5000
+ type: string
+ title: payment_method_param
+ type: object
+ wechat_pay:
+ properties: {}
+ title: param
+ type: object
+ required:
+ - type
+ title: payment_method_data_params
+ type: object
+ payment_method_options:
+ description: Payment-method-specific configuration for this PaymentIntent.
+ properties:
+ acss_debit:
+ anyOf:
+ - properties:
+ mandate_options:
+ properties:
+ custom_mandate_url:
+ anyOf:
+ - type: string
+ - enum:
+ - ""
+ type: string
+ interval_description:
+ maxLength: 500
+ type: string
+ payment_schedule:
+ enum:
+ - combined
+ - interval
+ - sporadic
+ type: string
+ transaction_type:
+ enum:
+ - business
+ - personal
+ type: string
+ title: payment_intent_payment_method_options_mandate_options_param
+ type: object
+ setup_future_usage:
+ enum:
+ - ""
+ - none
+ - off_session
+ - on_session
+ type: string
+ verification_method:
+ enum:
+ - automatic
+ - instant
+ - microdeposits
+ type: string
+ x-stripeBypassValidation: true
+ title: payment_intent_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ affirm:
+ anyOf:
+ - properties:
+ capture_method:
+ enum:
+ - ""
+ - manual
+ type: string
+ preferred_locale:
+ maxLength: 10
+ type: string
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ title: payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ afterpay_clearpay:
+ anyOf:
+ - properties:
+ capture_method:
+ enum:
+ - ""
+ - manual
+ type: string
+ reference:
+ maxLength: 128
+ type: string
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ x-stripeBypassValidation: true
+ title: payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ alipay:
+ anyOf:
+ - properties:
+ setup_future_usage:
+ enum:
+ - ""
+ - none
+ - off_session
+ type: string
+ title: payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ au_becs_debit:
+ anyOf:
+ - properties:
+ setup_future_usage:
+ enum:
+ - ""
+ - none
+ - off_session
+ - on_session
+ type: string
+ title: payment_intent_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ bacs_debit:
+ anyOf:
+ - properties:
+ setup_future_usage:
+ enum:
+ - ""
+ - none
+ - off_session
+ - on_session
+ type: string
+ title: payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ bancontact:
+ anyOf:
+ - properties:
+ preferred_language:
+ enum:
+ - de
+ - en
+ - fr
+ - nl
+ type: string
+ setup_future_usage:
+ enum:
+ - ""
+ - none
+ - off_session
+ type: string
+ title: payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ blik:
+ anyOf:
+ - properties:
+ code:
+ maxLength: 5000
+ type: string
+ title: payment_intent_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ boleto:
+ anyOf:
+ - properties:
+ expires_after_days:
+ type: integer
+ setup_future_usage:
+ enum:
+ - ""
+ - none
+ - off_session
+ - on_session
+ type: string
+ title: payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ card:
+ anyOf:
+ - properties:
+ capture_method:
+ enum:
+ - ""
+ - manual
+ type: string
+ cvc_token:
+ maxLength: 5000
+ type: string
+ installments:
+ properties:
+ enabled:
+ type: boolean
+ plan:
+ anyOf:
+ - properties:
+ count:
+ type: integer
+ interval:
+ enum:
+ - month
+ type: string
+ type:
+ enum:
+ - fixed_count
+ type: string
+ required:
+ - count
+ - interval
+ - type
+ title: installment_plan
+ type: object
+ - enum:
+ - ""
+ type: string
+ title: installments_param
+ type: object
+ mandate_options:
+ properties:
+ amount:
+ type: integer
+ amount_type:
+ enum:
+ - fixed
+ - maximum
+ type: string
+ description:
+ maxLength: 200
+ type: string
+ end_date:
+ format: unix-time
+ type: integer
+ interval:
+ enum:
+ - day
+ - month
+ - sporadic
+ - week
+ - year
+ type: string
+ interval_count:
+ type: integer
+ reference:
+ maxLength: 80
+ type: string
+ start_date:
+ format: unix-time
+ type: integer
+ supported_types:
+ items:
+ enum:
+ - india
+ type: string
+ type: array
+ required:
+ - amount
+ - amount_type
+ - interval
+ - reference
+ - start_date
+ title: mandate_options_param
+ type: object
+ network:
+ enum:
+ - amex
+ - cartes_bancaires
+ - diners
+ - discover
+ - interac
+ - jcb
+ - mastercard
+ - unionpay
+ - unknown
+ - visa
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ request_three_d_secure:
+ enum:
+ - any
+ - automatic
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ setup_future_usage:
+ enum:
+ - ""
+ - none
+ - off_session
+ - on_session
+ type: string
+ statement_descriptor_suffix_kana:
+ anyOf:
+ - maxLength: 22
+ type: string
+ - enum:
+ - ""
+ type: string
+ statement_descriptor_suffix_kanji:
+ anyOf:
+ - maxLength: 17
+ type: string
+ - enum:
+ - ""
+ type: string
+ title: payment_intent_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ card_present:
+ anyOf:
+ - properties:
+ request_extended_authorization:
+ type: boolean
+ request_incremental_authorization_support:
+ type: boolean
+ title: payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ cashapp:
+ anyOf:
+ - properties:
+ capture_method:
+ enum:
+ - ""
+ - manual
+ type: string
+ setup_future_usage:
+ enum:
+ - ""
+ - none
+ - off_session
+ - on_session
+ type: string
+ title: payment_intent_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ customer_balance:
+ anyOf:
+ - properties:
+ bank_transfer:
+ properties:
+ eu_bank_transfer:
+ properties:
+ country:
+ maxLength: 5000
+ type: string
+ required:
+ - country
+ title: eu_bank_transfer_params
+ type: object
+ requested_address_types:
+ items:
+ enum:
+ - iban
+ - sepa
+ - sort_code
+ - spei
+ - zengin
+ type: string
+ x-stripeBypassValidation: true
+ type: array
+ type:
+ enum:
+ - eu_bank_transfer
+ - gb_bank_transfer
+ - jp_bank_transfer
+ - mx_bank_transfer
+ type: string
+ x-stripeBypassValidation: true
+ required:
+ - type
+ title: bank_transfer_param
+ type: object
+ funding_type:
+ enum:
+ - bank_transfer
+ type: string
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ title: payment_intent_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ eps:
+ anyOf:
+ - properties:
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ title: payment_intent_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ fpx:
+ anyOf:
+ - properties:
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ title: payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ giropay:
+ anyOf:
+ - properties:
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ title: payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ grabpay:
+ anyOf:
+ - properties:
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ title: payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ ideal:
+ anyOf:
+ - properties:
+ setup_future_usage:
+ enum:
+ - ""
+ - none
+ - off_session
+ type: string
+ title: payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ interac_present:
+ anyOf:
+ - properties: {}
+ title: payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ klarna:
+ anyOf:
+ - properties:
+ capture_method:
+ enum:
+ - ""
+ - manual
+ type: string
+ preferred_locale:
+ enum:
+ - cs-CZ
+ - da-DK
+ - de-AT
+ - de-CH
+ - de-DE
+ - el-GR
+ - en-AT
+ - en-AU
+ - en-BE
+ - en-CA
+ - en-CH
+ - en-CZ
+ - en-DE
+ - en-DK
+ - en-ES
+ - en-FI
+ - en-FR
+ - en-GB
+ - en-GR
+ - en-IE
+ - en-IT
+ - en-NL
+ - en-NO
+ - en-NZ
+ - en-PL
+ - en-PT
+ - en-SE
+ - en-US
+ - es-ES
+ - es-US
+ - fi-FI
+ - fr-BE
+ - fr-CA
+ - fr-CH
+ - fr-FR
+ - it-CH
+ - it-IT
+ - nb-NO
+ - nl-BE
+ - nl-NL
+ - pl-PL
+ - pt-PT
+ - sv-FI
+ - sv-SE
+ type: string
+ x-stripeBypassValidation: true
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ title: payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ konbini:
+ anyOf:
+ - properties:
+ confirmation_number:
+ maxLength: 11
+ type: string
+ expires_after_days:
+ anyOf:
+ - type: integer
+ - enum:
+ - ""
+ type: string
+ expires_at:
+ anyOf:
+ - format: unix-time
+ type: integer
+ - enum:
+ - ""
+ type: string
+ product_description:
+ maxLength: 22
+ type: string
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ title: payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ link:
+ anyOf:
+ - properties:
+ capture_method:
+ enum:
+ - ""
+ - manual
+ type: string
+ persistent_token:
+ maxLength: 5000
+ type: string
+ setup_future_usage:
+ enum:
+ - ""
+ - none
+ - off_session
+ type: string
+ title: payment_intent_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ oxxo:
+ anyOf:
+ - properties:
+ expires_after_days:
+ type: integer
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ title: payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ p24:
+ anyOf:
+ - properties:
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ tos_shown_and_accepted:
+ type: boolean
+ title: payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ paynow:
+ anyOf:
+ - properties:
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ title: payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ pix:
+ anyOf:
+ - properties:
+ expires_after_seconds:
+ type: integer
+ expires_at:
+ format: unix-time
+ type: integer
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ title: payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ promptpay:
+ anyOf:
+ - properties:
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ title: payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ sepa_debit:
+ anyOf:
+ - properties:
+ mandate_options:
+ properties: {}
+ title: payment_method_options_mandate_options_param
+ type: object
+ setup_future_usage:
+ enum:
+ - ""
+ - none
+ - off_session
+ - on_session
+ type: string
+ title: payment_intent_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ sofort:
+ anyOf:
+ - properties:
+ preferred_language:
+ enum:
+ - ""
+ - de
+ - en
+ - es
+ - fr
+ - it
+ - nl
+ - pl
+ type: string
+ setup_future_usage:
+ enum:
+ - ""
+ - none
+ - off_session
+ type: string
+ title: payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ us_bank_account:
+ anyOf:
+ - properties:
+ financial_connections:
+ properties:
+ permissions:
+ items:
+ enum:
+ - balances
+ - ownership
+ - payment_method
+ - transactions
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ type: array
+ return_url:
+ maxLength: 5000
+ type: string
+ title: linked_account_options_param
+ type: object
+ networks:
+ properties:
+ requested:
+ items:
+ enum:
+ - ach
+ - us_domestic_wire
+ type: string
+ type: array
+ title: networks_options_param
+ type: object
+ setup_future_usage:
+ enum:
+ - ""
+ - none
+ - off_session
+ - on_session
+ type: string
+ verification_method:
+ enum:
+ - automatic
+ - instant
+ - microdeposits
+ type: string
+ x-stripeBypassValidation: true
+ title: payment_intent_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ wechat_pay:
+ anyOf:
+ - properties:
+ app_id:
+ maxLength: 5000
+ type: string
+ client:
+ enum:
+ - android
+ - ios
+ - web
+ type: string
+ x-stripeBypassValidation: true
+ setup_future_usage:
+ enum:
+ - none
+ type: string
+ required:
+ - client
+ title: payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ title: payment_method_options_param
+ type: object
+ payment_method_types:
+ description: The list of payment method types (e.g. card) that this PaymentIntent is allowed to use. If this is not provided, defaults to ["card"]. Use automatic_payment_methods to manage payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods).
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ radar_options:
+ description: Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information.
+ properties:
+ session:
+ maxLength: 5000
+ type: string
+ title: radar_options
+ type: object
+ receipt_email:
+ description: Email address that the receipt for the resulting payment will be sent to. If `receipt_email` is specified for a payment in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails).
+ type: string
+ return_url:
+ description: The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. If you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm).
+ type: string
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - off_session
+ - on_session
+ type: string
+ shipping:
+ description: Shipping information for this PaymentIntent.
+ properties:
+ address:
+ properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ title: optional_fields_address
+ type: object
+ carrier:
+ maxLength: 5000
+ type: string
+ name:
+ maxLength: 5000
+ type: string
+ phone:
+ maxLength: 5000
+ type: string
+ tracking_number:
+ maxLength: 5000
+ type: string
+ required:
+ - address
+ - name
+ title: optional_fields_shipping
+ type: object
+ statement_descriptor:
+ description: For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.
+ maxLength: 22
+ type: string
+ statement_descriptor_suffix:
+ description: Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.
+ maxLength: 22
+ type: string
+ transfer_data:
+ description: |-
+ The parameters used to automatically create a Transfer when the payment succeeds.
+ For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).
+ properties:
+ amount:
+ type: integer
+ destination:
+ type: string
+ required:
+ - destination
+ title: transfer_data_creation_params
+ type: object
+ transfer_group:
+ description: A string that identifies the resulting payment as part of a group. See the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts) for details.
+ type: string
+ use_stripe_sdk:
+ description: Set to `true` only when using manual confirmation and the iOS or Android SDKs to handle additional authentication steps.
+ type: boolean
+ required:
+ - amount
+ - currency
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/payment_intent"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/payment_intents/search:
+ get:
+ description: |-
+
Search for PaymentIntents you’ve previously created using Stripe’s Search Query Language.
+ Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating
+ conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up
+ to an hour behind during outages. Search functionality is not available to merchants in India.
+ operationId: GetPaymentIntentsSearch
+ parameters:
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results.
+ in: query
+ name: page
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for payment intents](https://stripe.com/docs/search#query-fields-for-payment-intents).
+ in: query
+ name: query
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/payment_intent"
+ type: array
+ has_more:
+ type: boolean
+ next_page:
+ maxLength: 5000
+ nullable: true
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - search_result
+ type: string
+ total_count:
+ description: The total number of objects that match the query, only accurate up to 10,000.
+ type: integer
+ url:
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: SearchResult
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/payment_intents/{intent}":
+ get:
+ description: |-
+
Retrieves the details of a PaymentIntent that has previously been created.
+
+
Client-side retrieval using a publishable key is allowed when the client_secret is provided in the query string.
+
+
When retrieved with a publishable key, only a subset of properties will be returned. Please refer to the payment intent object reference for more details.
Updates properties on a PaymentIntent object without confirming.
+
+
Depending on which properties you update, you may need to confirm the
+ PaymentIntent again. For example, updating the payment_method will
+ always require you to confirm the PaymentIntent again. If you prefer to
+ update and confirm at the same time, we recommend updating properties via
+ the confirm API instead.
Manually reconcile the remaining amount for a customer_balance PaymentIntent.
+ operationId: PostPaymentIntentsIntentApplyCustomerBalance
+ parameters:
+ - in: path
+ name: intent
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ amount:
+ description: |-
+ Amount intended to be applied to this PaymentIntent from the customer’s cash balance.
+
+ A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency).
+
+ The maximum amount is the amount of the PaymentIntent.
+
+ When omitted, the amount defaults to the remaining amount requested on the PaymentIntent.
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/payment_intent"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/payment_intents/{intent}/cancel":
+ post:
+ description: |-
+
A PaymentIntent object can be canceled when it is in one of these statuses: requires_payment_method, requires_capture, requires_confirmation, requires_action or, in rare cases, processing.
+
+
Once canceled, no additional charges will be made by the PaymentIntent and any operations on the PaymentIntent will fail with an error. For PaymentIntents with a status of requires_capture, the remaining amount_capturable will automatically be refunded.
+ operationId: PostPaymentIntentsIntentCapture
+ parameters:
+ - in: path
+ name: intent
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ transfer_data:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ amount_to_capture:
+ description: The amount to capture from the PaymentIntent, which must be less than or equal to the original amount. Any additional amount will be automatically refunded. Defaults to the full `amount_capturable` if not provided.
+ type: integer
+ application_fee_amount:
+ description: The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).
+ type: integer
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ statement_descriptor:
+ description: For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.
+ maxLength: 22
+ type: string
+ statement_descriptor_suffix:
+ description: Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.
+ maxLength: 22
+ type: string
+ transfer_data:
+ description: |-
+ The parameters used to automatically create a Transfer when the payment
+ is captured. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).
+ properties:
+ amount:
+ type: integer
+ title: transfer_data_update_params
+ type: object
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/payment_intent"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/payment_intents/{intent}/confirm":
+ post:
+ description: |-
+
Confirm that your customer intends to pay with current or provided
+ payment method. Upon confirmation, the PaymentIntent will attempt to initiate
+ a payment.
+ If the selected payment method requires additional authentication steps, the
+ PaymentIntent will transition to the requires_action status and
+ suggest additional actions via next_action. If payment fails,
+ the PaymentIntent will transition to the requires_payment_method status. If
+ payment succeeds, the PaymentIntent will transition to the succeeded
+ status (or requires_capture, if capture_method is set to manual).
+ If the confirmation_method is automatic, payment may be attempted
+ using our client SDKs
+ and the PaymentIntent’s client_secret.
+ After next_actions are handled by the client, no additional
+ confirmation is required to complete the payment.
+ If the confirmation_method is manual, all payment attempts must be
+ initiated using a secret key.
+ If any actions are required for the payment, the PaymentIntent will
+ return to the requires_confirmation state
+ after those actions are completed. Your server needs to then
+ explicitly re-confirm the PaymentIntent to initiate the next payment
+ attempt. Read the expanded documentation
+ to learn more about manual confirmation.
Perform an incremental authorization on an eligible
+ PaymentIntent. To be eligible, the
+ PaymentIntent’s status must be requires_capture and
+ incremental_authorization_supported
+ must be true.
+
+
Incremental authorizations attempt to increase the authorized amount on
+ your customer’s card to the new, higher amount provided. As with the
+ initial authorization, incremental authorizations may be declined. A
+ single PaymentIntent can call this endpoint multiple times to further
+ increase the authorized amount.
+
+
If the incremental authorization succeeds, the PaymentIntent object is
+ returned with the updated
+ amount.
+ If the incremental authorization fails, a
+ card_declined error is returned, and no
+ fields on the PaymentIntent or Charge are updated. The PaymentIntent
+ object remains capturable for the previously authorized amount.
+
+
Each PaymentIntent can have a maximum of 10 incremental authorization attempts, including declines.
+ Once captured, a PaymentIntent can no longer be incremented.
+ operationId: PostPaymentIntentsIntentIncrementAuthorization
+ parameters:
+ - in: path
+ name: intent
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ transfer_data:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ amount:
+ description: The updated total amount you intend to collect from the cardholder. This amount must be greater than the currently authorized amount.
+ type: integer
+ application_fee_amount:
+ description: The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).
+ type: integer
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 1000
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ statement_descriptor:
+ description: For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.
+ maxLength: 22
+ type: string
+ transfer_data:
+ description: |-
+ The parameters used to automatically create a Transfer when the payment is captured.
+ For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).
+ properties:
+ amount:
+ type: integer
+ title: transfer_data_update_params
+ type: object
+ required:
+ - amount
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/payment_intent"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/payment_intents/{intent}/verify_microdeposits":
+ post:
+ description:
Verifies microdeposits on a PaymentIntent object.
+ operationId: PostPaymentIntentsIntentVerifyMicrodeposits
+ parameters:
+ - in: path
+ name: intent
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ amounts:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ amounts:
+ description: Two positive integers, in *cents*, equal to the values of the microdeposits sent to the bank account.
+ items:
+ type: integer
+ type: array
+ client_secret:
+ description: The client secret of the PaymentIntent.
+ maxLength: 5000
+ type: string
+ descriptor_code:
+ description: A six-character code starting with SM present in the microdeposit sent to the bank account.
+ maxLength: 5000
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/payment_intent"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/payment_links:
+ get:
+ description:
Returns a list of your payment links.
+ operationId: GetPaymentLinks
+ parameters:
+ - description: Only return payment links that are active or inactive (e.g., pass `false` to list all inactive payment links).
+ in: query
+ name: active
+ required: false
+ schema:
+ type: boolean
+ style: form
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/payment_link"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/payment_links
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: PaymentLinksResourcePaymentLinkList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Creates a payment link.
+ operationId: PostPaymentLinks
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ after_completion:
+ explode: true
+ style: deepObject
+ automatic_tax:
+ explode: true
+ style: deepObject
+ consent_collection:
+ explode: true
+ style: deepObject
+ custom_fields:
+ explode: true
+ style: deepObject
+ custom_text:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ invoice_creation:
+ explode: true
+ style: deepObject
+ line_items:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ payment_intent_data:
+ explode: true
+ style: deepObject
+ payment_method_types:
+ explode: true
+ style: deepObject
+ phone_number_collection:
+ explode: true
+ style: deepObject
+ shipping_address_collection:
+ explode: true
+ style: deepObject
+ shipping_options:
+ explode: true
+ style: deepObject
+ subscription_data:
+ explode: true
+ style: deepObject
+ tax_id_collection:
+ explode: true
+ style: deepObject
+ transfer_data:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ after_completion:
+ description: Behavior after the purchase is complete.
+ properties:
+ hosted_confirmation:
+ properties:
+ custom_message:
+ maxLength: 500
+ type: string
+ title: after_completion_confirmation_page_params
+ type: object
+ redirect:
+ properties:
+ url:
+ maxLength: 2048
+ type: string
+ required:
+ - url
+ title: after_completion_redirect_params
+ type: object
+ type:
+ enum:
+ - hosted_confirmation
+ - redirect
+ type: string
+ required:
+ - type
+ title: after_completion_params
+ type: object
+ allow_promotion_codes:
+ description: Enables user redeemable promotion codes.
+ type: boolean
+ application_fee_amount:
+ description: The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. Can only be applied when there are no line items with recurring prices.
+ type: integer
+ application_fee_percent:
+ description: A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account. There must be at least 1 line item with a recurring price to use this field.
+ type: number
+ automatic_tax:
+ description: Configuration for automatic tax collection.
+ properties:
+ enabled:
+ type: boolean
+ required:
+ - enabled
+ title: automatic_tax_params
+ type: object
+ billing_address_collection:
+ description: Configuration for collecting the customer's billing address.
+ enum:
+ - auto
+ - required
+ type: string
+ consent_collection:
+ description: Configure fields to gather active consent from customers.
+ properties:
+ promotions:
+ enum:
+ - auto
+ - none
+ type: string
+ terms_of_service:
+ enum:
+ - none
+ - required
+ type: string
+ title: consent_collection_params
+ type: object
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies) and supported by each line item's price.
+ type: string
+ custom_fields:
+ description: Collect additional information from your customer using custom fields. Up to 2 fields are supported.
+ items:
+ properties:
+ dropdown:
+ properties:
+ options:
+ items:
+ properties:
+ label:
+ maxLength: 100
+ type: string
+ value:
+ maxLength: 100
+ type: string
+ required:
+ - label
+ - value
+ title: custom_field_option_param
+ type: object
+ type: array
+ required:
+ - options
+ title: custom_field_dropdown_param
+ type: object
+ key:
+ maxLength: 200
+ type: string
+ label:
+ properties:
+ custom:
+ maxLength: 50
+ type: string
+ type:
+ enum:
+ - custom
+ type: string
+ required:
+ - custom
+ - type
+ title: custom_field_label_param
+ type: object
+ optional:
+ type: boolean
+ type:
+ enum:
+ - dropdown
+ - numeric
+ - text
+ type: string
+ required:
+ - key
+ - label
+ - type
+ title: custom_field_param
+ type: object
+ type: array
+ custom_text:
+ description: Display additional text for your customers using custom text.
+ properties:
+ shipping_address:
+ anyOf:
+ - properties:
+ message:
+ maxLength: 1000
+ type: string
+ required:
+ - message
+ title: custom_text_position_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ submit:
+ anyOf:
+ - properties:
+ message:
+ maxLength: 1000
+ type: string
+ required:
+ - message
+ title: custom_text_position_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ title: custom_text_param
+ type: object
+ customer_creation:
+ description: Configures whether [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link create a [Customer](https://stripe.com/docs/api/customers).
+ enum:
+ - always
+ - if_required
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ invoice_creation:
+ description: Generate a post-purchase Invoice for one-time payments.
+ properties:
+ enabled:
+ type: boolean
+ invoice_data:
+ properties:
+ account_tax_ids:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ custom_fields:
+ anyOf:
+ - items:
+ properties:
+ name:
+ maxLength: 30
+ type: string
+ value:
+ maxLength: 30
+ type: string
+ required:
+ - name
+ - value
+ title: custom_field_params
+ type: object
+ type: array
+ - enum:
+ - ""
+ type: string
+ description:
+ maxLength: 1500
+ type: string
+ footer:
+ maxLength: 5000
+ type: string
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ rendering_options:
+ anyOf:
+ - properties:
+ amount_tax_display:
+ enum:
+ - ""
+ - exclude_tax
+ - include_inclusive_tax
+ type: string
+ title: rendering_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ title: invoice_settings_params
+ type: object
+ required:
+ - enabled
+ title: invoice_creation_create_params
+ type: object
+ line_items:
+ description: The line items representing what is being sold. Each line item represents an item being sold. Up to 20 line items are supported.
+ items:
+ properties:
+ adjustable_quantity:
+ properties:
+ enabled:
+ type: boolean
+ maximum:
+ type: integer
+ minimum:
+ type: integer
+ required:
+ - enabled
+ title: adjustable_quantity_params
+ type: object
+ price:
+ maxLength: 5000
+ type: string
+ quantity:
+ type: integer
+ required:
+ - price
+ - quantity
+ title: line_items_create_params
+ type: object
+ type: array
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. Metadata associated with this Payment Link will automatically be copied to [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link.
+ type: object
+ on_behalf_of:
+ description: The account on behalf of which to charge.
+ type: string
+ payment_intent_data:
+ description: A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in `payment` mode.
+ properties:
+ capture_method:
+ enum:
+ - automatic
+ - automatic_async
+ - manual
+ type: string
+ setup_future_usage:
+ enum:
+ - off_session
+ - on_session
+ type: string
+ title: payment_intent_data_params
+ type: object
+ payment_method_collection:
+ description: |-
+ Specify whether Checkout should collect a payment method. When set to `if_required`, Checkout will not collect a payment method when the total due for the session is 0.This may occur if the Checkout Session includes a free trial or a discount.
+
+ Can only be set in `subscription` mode.
+
+ If you'd like information on how to collect a payment method outside of Checkout, read the guide on [configuring subscriptions with a free trial](https://stripe.com/docs/payments/checkout/free-trials).
+ enum:
+ - always
+ - if_required
+ type: string
+ payment_method_types:
+ description: The list of payment method types that customers can use. If no value is passed, Stripe will dynamically show relevant payment methods from your [payment method settings](https://dashboard.stripe.com/settings/payment_methods) (20+ payment methods [supported](https://stripe.com/docs/payments/payment-methods/integration-options#payment-method-product-support)).
+ items:
+ enum:
+ - affirm
+ - afterpay_clearpay
+ - alipay
+ - au_becs_debit
+ - bacs_debit
+ - bancontact
+ - blik
+ - boleto
+ - card
+ - cashapp
+ - eps
+ - fpx
+ - giropay
+ - grabpay
+ - ideal
+ - klarna
+ - konbini
+ - link
+ - oxxo
+ - p24
+ - paynow
+ - pix
+ - promptpay
+ - sepa_debit
+ - sofort
+ - us_bank_account
+ - wechat_pay
+ type: string
+ x-stripeBypassValidation: true
+ type: array
+ phone_number_collection:
+ description: |-
+ Controls phone number collection settings during checkout.
+
+ We recommend that you review your privacy policy and check with your legal contacts.
+ properties:
+ enabled:
+ type: boolean
+ required:
+ - enabled
+ title: phone_number_collection_params
+ type: object
+ shipping_address_collection:
+ description: Configuration for collecting the customer's shipping address.
+ properties:
+ allowed_countries:
+ items:
+ enum:
+ - AC
+ - AD
+ - AE
+ - AF
+ - AG
+ - AI
+ - AL
+ - AM
+ - AO
+ - AQ
+ - AR
+ - AT
+ - AU
+ - AW
+ - AX
+ - AZ
+ - BA
+ - BB
+ - BD
+ - BE
+ - BF
+ - BG
+ - BH
+ - BI
+ - BJ
+ - BL
+ - BM
+ - BN
+ - BO
+ - BQ
+ - BR
+ - BS
+ - BT
+ - BV
+ - BW
+ - BY
+ - BZ
+ - CA
+ - CD
+ - CF
+ - CG
+ - CH
+ - CI
+ - CK
+ - CL
+ - CM
+ - CN
+ - CO
+ - CR
+ - CV
+ - CW
+ - CY
+ - CZ
+ - DE
+ - DJ
+ - DK
+ - DM
+ - DO
+ - DZ
+ - EC
+ - EE
+ - EG
+ - EH
+ - ER
+ - ES
+ - ET
+ - FI
+ - FJ
+ - FK
+ - FO
+ - FR
+ - GA
+ - GB
+ - GD
+ - GE
+ - GF
+ - GG
+ - GH
+ - GI
+ - GL
+ - GM
+ - GN
+ - GP
+ - GQ
+ - GR
+ - GS
+ - GT
+ - GU
+ - GW
+ - GY
+ - HK
+ - HN
+ - HR
+ - HT
+ - HU
+ - ID
+ - IE
+ - IL
+ - IM
+ - IN
+ - IO
+ - IQ
+ - IS
+ - IT
+ - JE
+ - JM
+ - JO
+ - JP
+ - KE
+ - KG
+ - KH
+ - KI
+ - KM
+ - KN
+ - KR
+ - KW
+ - KY
+ - KZ
+ - LA
+ - LB
+ - LC
+ - LI
+ - LK
+ - LR
+ - LS
+ - LT
+ - LU
+ - LV
+ - LY
+ - MA
+ - MC
+ - MD
+ - ME
+ - MF
+ - MG
+ - MK
+ - ML
+ - MM
+ - MN
+ - MO
+ - MQ
+ - MR
+ - MS
+ - MT
+ - MU
+ - MV
+ - MW
+ - MX
+ - MY
+ - MZ
+ - NA
+ - NC
+ - NE
+ - NG
+ - NI
+ - NL
+ - NO
+ - NP
+ - NR
+ - NU
+ - NZ
+ - OM
+ - PA
+ - PE
+ - PF
+ - PG
+ - PH
+ - PK
+ - PL
+ - PM
+ - PN
+ - PR
+ - PS
+ - PT
+ - PY
+ - QA
+ - RE
+ - RO
+ - RS
+ - RU
+ - RW
+ - SA
+ - SB
+ - SC
+ - SE
+ - SG
+ - SH
+ - SI
+ - SJ
+ - SK
+ - SL
+ - SM
+ - SN
+ - SO
+ - SR
+ - SS
+ - ST
+ - SV
+ - SX
+ - SZ
+ - TA
+ - TC
+ - TD
+ - TF
+ - TG
+ - TH
+ - TJ
+ - TK
+ - TL
+ - TM
+ - TN
+ - TO
+ - TR
+ - TT
+ - TV
+ - TW
+ - TZ
+ - UA
+ - UG
+ - US
+ - UY
+ - UZ
+ - VA
+ - VC
+ - VE
+ - VG
+ - VN
+ - VU
+ - WF
+ - WS
+ - XK
+ - YE
+ - YT
+ - ZA
+ - ZM
+ - ZW
+ - ZZ
+ type: string
+ type: array
+ required:
+ - allowed_countries
+ title: shipping_address_collection_params
+ type: object
+ shipping_options:
+ description: The shipping rate options to apply to [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link.
+ items:
+ properties:
+ shipping_rate:
+ maxLength: 5000
+ type: string
+ title: shipping_option_params
+ type: object
+ type: array
+ submit_type:
+ description: "Describes the type of transaction being performed in order to customize relevant text on the page, such as the submit button. Changing this value will also affect the hostname in the [url](https://stripe.com/docs/api/payment_links/payment_links/object#url) property (example: `donate.stripe.com`)."
+ enum:
+ - auto
+ - book
+ - donate
+ - pay
+ type: string
+ subscription_data:
+ description: When creating a subscription, the specified configuration data will be used. There must be at least one line item with a recurring price to use `subscription_data`.
+ properties:
+ description:
+ maxLength: 500
+ type: string
+ trial_period_days:
+ type: integer
+ title: subscription_data_params
+ type: object
+ tax_id_collection:
+ description: Controls tax ID collection during checkout.
+ properties:
+ enabled:
+ type: boolean
+ required:
+ - enabled
+ title: tax_id_collection_params
+ type: object
+ transfer_data:
+ description: The account (if any) the payments will be attributed to for tax reporting, and where funds from each payment will be transferred to.
+ properties:
+ amount:
+ type: integer
+ destination:
+ type: string
+ required:
+ - destination
+ title: transfer_data_params
+ type: object
+ required:
+ - line_items
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/payment_link"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/payment_links/{payment_link}":
+ get:
+ description:
+ operationId: PostPaymentLinksPaymentLink
+ parameters:
+ - in: path
+ name: payment_link
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ after_completion:
+ explode: true
+ style: deepObject
+ automatic_tax:
+ explode: true
+ style: deepObject
+ custom_fields:
+ explode: true
+ style: deepObject
+ custom_text:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ invoice_creation:
+ explode: true
+ style: deepObject
+ line_items:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ payment_method_types:
+ explode: true
+ style: deepObject
+ shipping_address_collection:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ active:
+ description: Whether the payment link's `url` is active. If `false`, customers visiting the URL will be shown a page saying that the link has been deactivated.
+ type: boolean
+ after_completion:
+ description: Behavior after the purchase is complete.
+ properties:
+ hosted_confirmation:
+ properties:
+ custom_message:
+ maxLength: 500
+ type: string
+ title: after_completion_confirmation_page_params
+ type: object
+ redirect:
+ properties:
+ url:
+ maxLength: 2048
+ type: string
+ required:
+ - url
+ title: after_completion_redirect_params
+ type: object
+ type:
+ enum:
+ - hosted_confirmation
+ - redirect
+ type: string
+ required:
+ - type
+ title: after_completion_params
+ type: object
+ allow_promotion_codes:
+ description: Enables user redeemable promotion codes.
+ type: boolean
+ automatic_tax:
+ description: Configuration for automatic tax collection.
+ properties:
+ enabled:
+ type: boolean
+ required:
+ - enabled
+ title: automatic_tax_params
+ type: object
+ billing_address_collection:
+ description: Configuration for collecting the customer's billing address.
+ enum:
+ - auto
+ - required
+ type: string
+ custom_fields:
+ anyOf:
+ - items:
+ properties:
+ dropdown:
+ properties:
+ options:
+ items:
+ properties:
+ label:
+ maxLength: 100
+ type: string
+ value:
+ maxLength: 100
+ type: string
+ required:
+ - label
+ - value
+ title: custom_field_option_param
+ type: object
+ type: array
+ required:
+ - options
+ title: custom_field_dropdown_param
+ type: object
+ key:
+ maxLength: 200
+ type: string
+ label:
+ properties:
+ custom:
+ maxLength: 50
+ type: string
+ type:
+ enum:
+ - custom
+ type: string
+ required:
+ - custom
+ - type
+ title: custom_field_label_param
+ type: object
+ optional:
+ type: boolean
+ type:
+ enum:
+ - dropdown
+ - numeric
+ - text
+ type: string
+ required:
+ - key
+ - label
+ - type
+ title: custom_field_param
+ type: object
+ type: array
+ - enum:
+ - ""
+ type: string
+ description: Collect additional information from your customer using custom fields. Up to 2 fields are supported.
+ custom_text:
+ description: Display additional text for your customers using custom text.
+ properties:
+ shipping_address:
+ anyOf:
+ - properties:
+ message:
+ maxLength: 1000
+ type: string
+ required:
+ - message
+ title: custom_text_position_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ submit:
+ anyOf:
+ - properties:
+ message:
+ maxLength: 1000
+ type: string
+ required:
+ - message
+ title: custom_text_position_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ title: custom_text_param
+ type: object
+ customer_creation:
+ description: Configures whether [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link create a [Customer](https://stripe.com/docs/api/customers).
+ enum:
+ - always
+ - if_required
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ invoice_creation:
+ description: Generate a post-purchase Invoice for one-time payments.
+ properties:
+ enabled:
+ type: boolean
+ invoice_data:
+ properties:
+ account_tax_ids:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ custom_fields:
+ anyOf:
+ - items:
+ properties:
+ name:
+ maxLength: 30
+ type: string
+ value:
+ maxLength: 30
+ type: string
+ required:
+ - name
+ - value
+ title: custom_field_params
+ type: object
+ type: array
+ - enum:
+ - ""
+ type: string
+ description:
+ maxLength: 1500
+ type: string
+ footer:
+ maxLength: 5000
+ type: string
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ rendering_options:
+ anyOf:
+ - properties:
+ amount_tax_display:
+ enum:
+ - ""
+ - exclude_tax
+ - include_inclusive_tax
+ type: string
+ title: rendering_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ title: invoice_settings_params
+ type: object
+ required:
+ - enabled
+ title: invoice_creation_update_params
+ type: object
+ line_items:
+ description: The line items representing what is being sold. Each line item represents an item being sold. Up to 20 line items are supported.
+ items:
+ properties:
+ adjustable_quantity:
+ properties:
+ enabled:
+ type: boolean
+ maximum:
+ type: integer
+ minimum:
+ type: integer
+ required:
+ - enabled
+ title: adjustable_quantity_params
+ type: object
+ id:
+ maxLength: 5000
+ type: string
+ quantity:
+ type: integer
+ required:
+ - id
+ title: line_items_update_params
+ type: object
+ type: array
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. Metadata associated with this Payment Link will automatically be copied to [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link.
+ type: object
+ payment_method_collection:
+ description: |-
+ Specify whether Checkout should collect a payment method. When set to `if_required`, Checkout will not collect a payment method when the total due for the session is 0.This may occur if the Checkout Session includes a free trial or a discount.
+
+ Can only be set in `subscription` mode.
+
+ If you'd like information on how to collect a payment method outside of Checkout, read the guide on [configuring subscriptions with a free trial](https://stripe.com/docs/payments/checkout/free-trials).
+ enum:
+ - always
+ - if_required
+ type: string
+ payment_method_types:
+ anyOf:
+ - items:
+ enum:
+ - affirm
+ - afterpay_clearpay
+ - alipay
+ - au_becs_debit
+ - bacs_debit
+ - bancontact
+ - blik
+ - boleto
+ - card
+ - cashapp
+ - eps
+ - fpx
+ - giropay
+ - grabpay
+ - ideal
+ - klarna
+ - konbini
+ - link
+ - oxxo
+ - p24
+ - paynow
+ - pix
+ - promptpay
+ - sepa_debit
+ - sofort
+ - us_bank_account
+ - wechat_pay
+ type: string
+ x-stripeBypassValidation: true
+ type: array
+ - enum:
+ - ""
+ type: string
+ description: The list of payment method types that customers can use. Pass an empty string to enable automatic payment methods that use your [payment method settings](https://dashboard.stripe.com/settings/payment_methods).
+ shipping_address_collection:
+ anyOf:
+ - properties:
+ allowed_countries:
+ items:
+ enum:
+ - AC
+ - AD
+ - AE
+ - AF
+ - AG
+ - AI
+ - AL
+ - AM
+ - AO
+ - AQ
+ - AR
+ - AT
+ - AU
+ - AW
+ - AX
+ - AZ
+ - BA
+ - BB
+ - BD
+ - BE
+ - BF
+ - BG
+ - BH
+ - BI
+ - BJ
+ - BL
+ - BM
+ - BN
+ - BO
+ - BQ
+ - BR
+ - BS
+ - BT
+ - BV
+ - BW
+ - BY
+ - BZ
+ - CA
+ - CD
+ - CF
+ - CG
+ - CH
+ - CI
+ - CK
+ - CL
+ - CM
+ - CN
+ - CO
+ - CR
+ - CV
+ - CW
+ - CY
+ - CZ
+ - DE
+ - DJ
+ - DK
+ - DM
+ - DO
+ - DZ
+ - EC
+ - EE
+ - EG
+ - EH
+ - ER
+ - ES
+ - ET
+ - FI
+ - FJ
+ - FK
+ - FO
+ - FR
+ - GA
+ - GB
+ - GD
+ - GE
+ - GF
+ - GG
+ - GH
+ - GI
+ - GL
+ - GM
+ - GN
+ - GP
+ - GQ
+ - GR
+ - GS
+ - GT
+ - GU
+ - GW
+ - GY
+ - HK
+ - HN
+ - HR
+ - HT
+ - HU
+ - ID
+ - IE
+ - IL
+ - IM
+ - IN
+ - IO
+ - IQ
+ - IS
+ - IT
+ - JE
+ - JM
+ - JO
+ - JP
+ - KE
+ - KG
+ - KH
+ - KI
+ - KM
+ - KN
+ - KR
+ - KW
+ - KY
+ - KZ
+ - LA
+ - LB
+ - LC
+ - LI
+ - LK
+ - LR
+ - LS
+ - LT
+ - LU
+ - LV
+ - LY
+ - MA
+ - MC
+ - MD
+ - ME
+ - MF
+ - MG
+ - MK
+ - ML
+ - MM
+ - MN
+ - MO
+ - MQ
+ - MR
+ - MS
+ - MT
+ - MU
+ - MV
+ - MW
+ - MX
+ - MY
+ - MZ
+ - NA
+ - NC
+ - NE
+ - NG
+ - NI
+ - NL
+ - NO
+ - NP
+ - NR
+ - NU
+ - NZ
+ - OM
+ - PA
+ - PE
+ - PF
+ - PG
+ - PH
+ - PK
+ - PL
+ - PM
+ - PN
+ - PR
+ - PS
+ - PT
+ - PY
+ - QA
+ - RE
+ - RO
+ - RS
+ - RU
+ - RW
+ - SA
+ - SB
+ - SC
+ - SE
+ - SG
+ - SH
+ - SI
+ - SJ
+ - SK
+ - SL
+ - SM
+ - SN
+ - SO
+ - SR
+ - SS
+ - ST
+ - SV
+ - SX
+ - SZ
+ - TA
+ - TC
+ - TD
+ - TF
+ - TG
+ - TH
+ - TJ
+ - TK
+ - TL
+ - TM
+ - TN
+ - TO
+ - TR
+ - TT
+ - TV
+ - TW
+ - TZ
+ - UA
+ - UG
+ - US
+ - UY
+ - UZ
+ - VA
+ - VC
+ - VE
+ - VG
+ - VN
+ - VU
+ - WF
+ - WS
+ - XK
+ - YE
+ - YT
+ - ZA
+ - ZM
+ - ZW
+ - ZZ
+ type: string
+ type: array
+ required:
+ - allowed_countries
+ title: shipping_address_collection_params
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Configuration for collecting the customer's shipping address.
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/payment_link"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/payment_links/{payment_link}/line_items":
+ get:
+ description:
When retrieving a payment link, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
+ operationId: GetPaymentLinksPaymentLinkLineItems
+ parameters:
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - in: path
+ name: payment_link
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/item"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: PaymentLinksResourceListLineItems
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/payment_methods:
+ get:
+ description:
Returns a list of PaymentMethods for Treasury flows. If you want to list the PaymentMethods attached to a Customer for payments, you should use the List a Customer’s PaymentMethods API instead.
+ operationId: GetPaymentMethods
+ parameters:
+ - description: The ID of the customer whose PaymentMethods will be retrieved.
+ in: query
+ name: customer
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: An optional filter on the list, based on the object `type` field. Without the filter, the list includes all current and future payment method types. If your integration expects only one type of payment method in the response, make sure to provide a type value in the request.
+ in: query
+ name: type
+ required: false
+ schema:
+ enum:
+ - acss_debit
+ - affirm
+ - afterpay_clearpay
+ - alipay
+ - au_becs_debit
+ - bacs_debit
+ - bancontact
+ - blik
+ - boleto
+ - card
+ - cashapp
+ - customer_balance
+ - eps
+ - fpx
+ - giropay
+ - grabpay
+ - ideal
+ - klarna
+ - konbini
+ - link
+ - oxxo
+ - p24
+ - paynow
+ - pix
+ - promptpay
+ - sepa_debit
+ - sofort
+ - us_bank_account
+ - wechat_pay
+ type: string
+ x-stripeBypassValidation: true
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/payment_method"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/payment_methods
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: PaymentFlowsPaymentMethodList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description: |-
+
Creates a PaymentMethod object. Read the Stripe.js reference to learn how to create PaymentMethods via Stripe.js.
+
+
Instead of creating a PaymentMethod directly, we recommend using the PaymentIntents API to accept a payment immediately or the SetupIntent API to collect payment method details ahead of a future payment.
+ operationId: PostPaymentMethods
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ acss_debit:
+ explode: true
+ style: deepObject
+ affirm:
+ explode: true
+ style: deepObject
+ afterpay_clearpay:
+ explode: true
+ style: deepObject
+ alipay:
+ explode: true
+ style: deepObject
+ au_becs_debit:
+ explode: true
+ style: deepObject
+ bacs_debit:
+ explode: true
+ style: deepObject
+ bancontact:
+ explode: true
+ style: deepObject
+ billing_details:
+ explode: true
+ style: deepObject
+ blik:
+ explode: true
+ style: deepObject
+ boleto:
+ explode: true
+ style: deepObject
+ card:
+ explode: true
+ style: deepObject
+ cashapp:
+ explode: true
+ style: deepObject
+ customer_balance:
+ explode: true
+ style: deepObject
+ eps:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ fpx:
+ explode: true
+ style: deepObject
+ giropay:
+ explode: true
+ style: deepObject
+ grabpay:
+ explode: true
+ style: deepObject
+ ideal:
+ explode: true
+ style: deepObject
+ interac_present:
+ explode: true
+ style: deepObject
+ klarna:
+ explode: true
+ style: deepObject
+ konbini:
+ explode: true
+ style: deepObject
+ link:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ oxxo:
+ explode: true
+ style: deepObject
+ p24:
+ explode: true
+ style: deepObject
+ paynow:
+ explode: true
+ style: deepObject
+ pix:
+ explode: true
+ style: deepObject
+ promptpay:
+ explode: true
+ style: deepObject
+ radar_options:
+ explode: true
+ style: deepObject
+ sepa_debit:
+ explode: true
+ style: deepObject
+ sofort:
+ explode: true
+ style: deepObject
+ us_bank_account:
+ explode: true
+ style: deepObject
+ wechat_pay:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ acss_debit:
+ description: If this is an `acss_debit` PaymentMethod, this hash contains details about the ACSS Debit payment method.
+ properties:
+ account_number:
+ maxLength: 5000
+ type: string
+ institution_number:
+ maxLength: 5000
+ type: string
+ transit_number:
+ maxLength: 5000
+ type: string
+ required:
+ - account_number
+ - institution_number
+ - transit_number
+ title: payment_method_param
+ type: object
+ affirm:
+ description: If this is an `affirm` PaymentMethod, this hash contains details about the Affirm payment method.
+ properties: {}
+ title: param
+ type: object
+ afterpay_clearpay:
+ description: If this is an `AfterpayClearpay` PaymentMethod, this hash contains details about the AfterpayClearpay payment method.
+ properties: {}
+ title: param
+ type: object
+ alipay:
+ description: If this is an `Alipay` PaymentMethod, this hash contains details about the Alipay payment method.
+ properties: {}
+ title: param
+ type: object
+ au_becs_debit:
+ description: If this is an `au_becs_debit` PaymentMethod, this hash contains details about the bank account.
+ properties:
+ account_number:
+ maxLength: 5000
+ type: string
+ bsb_number:
+ maxLength: 5000
+ type: string
+ required:
+ - account_number
+ - bsb_number
+ title: param
+ type: object
+ bacs_debit:
+ description: If this is a `bacs_debit` PaymentMethod, this hash contains details about the Bacs Direct Debit bank account.
+ properties:
+ account_number:
+ maxLength: 5000
+ type: string
+ sort_code:
+ maxLength: 5000
+ type: string
+ title: param
+ type: object
+ bancontact:
+ description: If this is a `bancontact` PaymentMethod, this hash contains details about the Bancontact payment method.
+ properties: {}
+ title: param
+ type: object
+ billing_details:
+ description: Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods.
+ properties:
+ address:
+ anyOf:
+ - properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ title: billing_details_address
+ type: object
+ - enum:
+ - ""
+ type: string
+ email:
+ anyOf:
+ - type: string
+ - enum:
+ - ""
+ type: string
+ name:
+ maxLength: 5000
+ type: string
+ phone:
+ maxLength: 5000
+ type: string
+ title: billing_details_inner_params
+ type: object
+ blik:
+ description: If this is a `blik` PaymentMethod, this hash contains details about the BLIK payment method.
+ properties: {}
+ title: param
+ type: object
+ boleto:
+ description: If this is a `boleto` PaymentMethod, this hash contains details about the Boleto payment method.
+ properties:
+ tax_id:
+ maxLength: 5000
+ type: string
+ required:
+ - tax_id
+ title: param
+ type: object
+ card:
+ anyOf:
+ - properties:
+ cvc:
+ maxLength: 5000
+ type: string
+ exp_month:
+ type: integer
+ exp_year:
+ type: integer
+ number:
+ maxLength: 5000
+ type: string
+ required:
+ - exp_month
+ - exp_year
+ - number
+ title: card_details_params
+ type: object
+ - properties:
+ token:
+ maxLength: 5000
+ type: string
+ required:
+ - token
+ title: token_params
+ type: object
+ description: "If this is a `card` PaymentMethod, this hash contains the user's card details. For backwards compatibility, you can alternatively provide a Stripe token (e.g., for Apple Pay, Amex Express Checkout, or legacy Checkout) into the card hash with format `card: {token: \"tok_visa\"}`. When providing a card number, you must meet the requirements for [PCI compliance](https://stripe.com/docs/security#validating-pci-compliance). We strongly recommend using Stripe.js instead of interacting with this API directly."
+ x-stripeBypassValidation: true
+ cashapp:
+ description: If this is a `cashapp` PaymentMethod, this hash contains details about the Cash App Pay payment method.
+ properties: {}
+ title: param
+ type: object
+ customer:
+ description: The `Customer` to whom the original PaymentMethod is attached.
+ maxLength: 5000
+ type: string
+ customer_balance:
+ description: If this is a `customer_balance` PaymentMethod, this hash contains details about the CustomerBalance payment method.
+ properties: {}
+ title: param
+ type: object
+ eps:
+ description: If this is an `eps` PaymentMethod, this hash contains details about the EPS payment method.
+ properties:
+ bank:
+ enum:
+ - arzte_und_apotheker_bank
+ - austrian_anadi_bank_ag
+ - bank_austria
+ - bankhaus_carl_spangler
+ - bankhaus_schelhammer_und_schattera_ag
+ - bawag_psk_ag
+ - bks_bank_ag
+ - brull_kallmus_bank_ag
+ - btv_vier_lander_bank
+ - capital_bank_grawe_gruppe_ag
+ - deutsche_bank_ag
+ - dolomitenbank
+ - easybank_ag
+ - erste_bank_und_sparkassen
+ - hypo_alpeadriabank_international_ag
+ - hypo_bank_burgenland_aktiengesellschaft
+ - hypo_noe_lb_fur_niederosterreich_u_wien
+ - hypo_oberosterreich_salzburg_steiermark
+ - hypo_tirol_bank_ag
+ - hypo_vorarlberg_bank_ag
+ - marchfelder_bank
+ - oberbank_ag
+ - raiffeisen_bankengruppe_osterreich
+ - schoellerbank_ag
+ - sparda_bank_wien
+ - volksbank_gruppe
+ - volkskreditbank_ag
+ - vr_bank_braunau
+ maxLength: 5000
+ type: string
+ title: param
+ type: object
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ fpx:
+ description: If this is an `fpx` PaymentMethod, this hash contains details about the FPX payment method.
+ properties:
+ bank:
+ enum:
+ - affin_bank
+ - agrobank
+ - alliance_bank
+ - ambank
+ - bank_islam
+ - bank_muamalat
+ - bank_of_china
+ - bank_rakyat
+ - bsn
+ - cimb
+ - deutsche_bank
+ - hong_leong_bank
+ - hsbc
+ - kfh
+ - maybank2e
+ - maybank2u
+ - ocbc
+ - pb_enterprise
+ - public_bank
+ - rhb
+ - standard_chartered
+ - uob
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ required:
+ - bank
+ title: param
+ type: object
+ giropay:
+ description: If this is a `giropay` PaymentMethod, this hash contains details about the Giropay payment method.
+ properties: {}
+ title: param
+ type: object
+ grabpay:
+ description: If this is a `grabpay` PaymentMethod, this hash contains details about the GrabPay payment method.
+ properties: {}
+ title: param
+ type: object
+ ideal:
+ description: If this is an `ideal` PaymentMethod, this hash contains details about the iDEAL payment method.
+ properties:
+ bank:
+ enum:
+ - abn_amro
+ - asn_bank
+ - bunq
+ - handelsbanken
+ - ing
+ - knab
+ - moneyou
+ - rabobank
+ - regiobank
+ - revolut
+ - sns_bank
+ - triodos_bank
+ - van_lanschot
+ - yoursafe
+ maxLength: 5000
+ type: string
+ title: param
+ type: object
+ interac_present:
+ description: If this is an `interac_present` PaymentMethod, this hash contains details about the Interac Present payment method.
+ properties: {}
+ title: param
+ type: object
+ klarna:
+ description: If this is a `klarna` PaymentMethod, this hash contains details about the Klarna payment method.
+ properties:
+ dob:
+ properties:
+ day:
+ type: integer
+ month:
+ type: integer
+ year:
+ type: integer
+ required:
+ - day
+ - month
+ - year
+ title: date_of_birth
+ type: object
+ title: param
+ type: object
+ konbini:
+ description: If this is a `konbini` PaymentMethod, this hash contains details about the Konbini payment method.
+ properties: {}
+ title: param
+ type: object
+ link:
+ description: If this is an `Link` PaymentMethod, this hash contains details about the Link payment method.
+ properties: {}
+ title: param
+ type: object
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ oxxo:
+ description: If this is an `oxxo` PaymentMethod, this hash contains details about the OXXO payment method.
+ properties: {}
+ title: param
+ type: object
+ p24:
+ description: If this is a `p24` PaymentMethod, this hash contains details about the P24 payment method.
+ properties:
+ bank:
+ enum:
+ - alior_bank
+ - bank_millennium
+ - bank_nowy_bfg_sa
+ - bank_pekao_sa
+ - banki_spbdzielcze
+ - blik
+ - bnp_paribas
+ - boz
+ - citi_handlowy
+ - credit_agricole
+ - envelobank
+ - etransfer_pocztowy24
+ - getin_bank
+ - ideabank
+ - ing
+ - inteligo
+ - mbank_mtransfer
+ - nest_przelew
+ - noble_pay
+ - pbac_z_ipko
+ - plus_bank
+ - santander_przelew24
+ - tmobile_usbugi_bankowe
+ - toyota_bank
+ - volkswagen_bank
+ type: string
+ x-stripeBypassValidation: true
+ title: param
+ type: object
+ payment_method:
+ description: The PaymentMethod to share.
+ maxLength: 5000
+ type: string
+ paynow:
+ description: If this is a `paynow` PaymentMethod, this hash contains details about the PayNow payment method.
+ properties: {}
+ title: param
+ type: object
+ pix:
+ description: If this is a `pix` PaymentMethod, this hash contains details about the Pix payment method.
+ properties: {}
+ title: param
+ type: object
+ promptpay:
+ description: If this is a `promptpay` PaymentMethod, this hash contains details about the PromptPay payment method.
+ properties: {}
+ title: param
+ type: object
+ radar_options:
+ description: Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information.
+ properties:
+ session:
+ maxLength: 5000
+ type: string
+ title: radar_options
+ type: object
+ sepa_debit:
+ description: If this is a `sepa_debit` PaymentMethod, this hash contains details about the SEPA debit bank account.
+ properties:
+ iban:
+ maxLength: 5000
+ type: string
+ required:
+ - iban
+ title: param
+ type: object
+ sofort:
+ description: If this is a `sofort` PaymentMethod, this hash contains details about the SOFORT payment method.
+ properties:
+ country:
+ enum:
+ - AT
+ - BE
+ - DE
+ - ES
+ - IT
+ - NL
+ type: string
+ required:
+ - country
+ title: param
+ type: object
+ type:
+ description: The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type.
+ enum:
+ - acss_debit
+ - affirm
+ - afterpay_clearpay
+ - alipay
+ - au_becs_debit
+ - bacs_debit
+ - bancontact
+ - blik
+ - boleto
+ - card
+ - cashapp
+ - customer_balance
+ - eps
+ - fpx
+ - giropay
+ - grabpay
+ - ideal
+ - klarna
+ - konbini
+ - link
+ - oxxo
+ - p24
+ - paynow
+ - pix
+ - promptpay
+ - sepa_debit
+ - sofort
+ - us_bank_account
+ - wechat_pay
+ type: string
+ x-stripeBypassValidation: true
+ us_bank_account:
+ description: If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method.
+ properties:
+ account_holder_type:
+ enum:
+ - company
+ - individual
+ type: string
+ account_number:
+ maxLength: 5000
+ type: string
+ account_type:
+ enum:
+ - checking
+ - savings
+ type: string
+ financial_connections_account:
+ maxLength: 5000
+ type: string
+ routing_number:
+ maxLength: 5000
+ type: string
+ title: payment_method_param
+ type: object
+ wechat_pay:
+ description: If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method.
+ properties: {}
+ title: param
+ type: object
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/payment_method"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/payment_methods/{payment_method}":
+ get:
+ description:
Retrieves a PaymentMethod object attached to the StripeAccount. To retrieve a payment method attached to a Customer, you should use Retrieve a Customer’s PaymentMethods
Updates a PaymentMethod object. A PaymentMethod must be attached a customer to be updated.
+ operationId: PostPaymentMethodsPaymentMethod
+ parameters:
+ - in: path
+ name: payment_method
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ billing_details:
+ explode: true
+ style: deepObject
+ card:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ link:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ us_bank_account:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ billing_details:
+ description: Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods.
+ properties:
+ address:
+ anyOf:
+ - properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ title: billing_details_address
+ type: object
+ - enum:
+ - ""
+ type: string
+ email:
+ anyOf:
+ - type: string
+ - enum:
+ - ""
+ type: string
+ name:
+ maxLength: 5000
+ type: string
+ phone:
+ maxLength: 5000
+ type: string
+ title: billing_details_inner_params
+ type: object
+ card:
+ description: If this is a `card` PaymentMethod, this hash contains the user's card details.
+ properties:
+ exp_month:
+ type: integer
+ exp_year:
+ type: integer
+ title: update_api_param
+ type: object
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ link:
+ description: If this is an `Link` PaymentMethod, this hash contains details about the Link payment method.
+ properties: {}
+ title: param
+ type: object
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ us_bank_account:
+ description: If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method.
+ properties:
+ account_holder_type:
+ enum:
+ - company
+ - individual
+ type: string
+ title: update_param
+ type: object
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/payment_method"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/payment_methods/{payment_method}/attach":
+ post:
+ description: |-
+
Attaches a PaymentMethod object to a Customer.
+
+
To attach a new PaymentMethod to a customer for future payments, we recommend you use a SetupIntent
+ or a PaymentIntent with setup_future_usage.
+ These approaches will perform any necessary steps to set up the PaymentMethod for future payments. Using the /v1/payment_methods/:id/attach
+ endpoint without first using a SetupIntent or PaymentIntent with setup_future_usage does not optimize the PaymentMethod for
+ future use, which makes later declines and payment friction more likely.
+ See Optimizing cards for future payments for more information about setting up
+ future payments.
+
+
To use this PaymentMethod as the default for invoice or subscription payments,
+ set invoice_settings.default_payment_method,
+ on the Customer to the PaymentMethod’s ID.
Detaches a PaymentMethod object from a Customer. After a PaymentMethod is detached, it can no longer be used for a payment or re-attached to a Customer.
Returns a list of existing payouts sent to third-party bank accounts or that Stripe has sent you. The payouts are returned in sorted order, with the most recently created payouts appearing first.
+ operationId: GetPayouts
+ parameters:
+ - explode: true
+ in: query
+ name: arrival_date
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: The ID of an external account - only return payouts sent to this external account.
+ in: query
+ name: destination
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: "Only return payouts that have the given status: `pending`, `paid`, `failed`, or `canceled`."
+ in: query
+ name: status
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/payout"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/payouts
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: PayoutList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description: |-
+
To send funds to your own bank account, you create a new payout object. Your Stripe balance must be able to cover the payout amount, or you’ll receive an “Insufficient Funds” error.
+
+
If your API key is in test mode, money won’t actually be sent, though everything else will occur as if in live mode.
+
+
If you are creating a manual payout on a Stripe account that uses multiple payment source types, you’ll need to specify the source type balance that the payout should draw from. The balance object details available and pending amounts by source type.
+ operationId: PostPayouts
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ amount:
+ description: A positive integer in cents representing how much to payout.
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 5000
+ type: string
+ destination:
+ description: The ID of a bank account or a card to send the payout to. If no destination is supplied, the default external account for the specified currency will be used.
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ method:
+ description: The method used to send this payout, which can be `standard` or `instant`. `instant` is only supported for payouts to debit cards. (See [Instant payouts for marketplaces for more information](https://stripe.com/blog/instant-payouts-for-marketplaces).)
+ enum:
+ - instant
+ - standard
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ source_type:
+ description: The balance type of your Stripe balance to draw this payout from. Balances for different payment sources are kept separately. You can find the amounts with the balances API. One of `bank_account`, `card`, or `fpx`.
+ enum:
+ - bank_account
+ - card
+ - fpx
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ statement_descriptor:
+ description: "A string to be displayed on the recipient's bank or card statement. This may be at most 22 characters. Attempting to use a `statement_descriptor` longer than 22 characters will return an error. Note: Most banks will truncate this information and/or display it inconsistently. Some may not display it at all."
+ maxLength: 22
+ type: string
+ x-stripeBypassValidation: true
+ required:
+ - amount
+ - currency
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/payout"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/payouts/{payout}":
+ get:
+ description:
Retrieves the details of an existing payout. Supply the unique payout ID from either a payout creation request or the payout list, and Stripe will return the corresponding payout information.
Updates the specified payout by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This request accepts only the metadata as arguments.
+ operationId: PostPayoutsPayout
+ parameters:
+ - in: path
+ name: payout
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/payout"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/payouts/{payout}/cancel":
+ post:
+ description:
A previously created payout can be canceled if it has not yet been paid out. Funds will be refunded to your available balance. You may not cancel automatic Stripe payouts.
Reverses a payout by debiting the destination bank account. Only payouts for connected accounts to US bank accounts may be reversed at this time. If the payout is in the pending status, /v1/payouts/:id/cancel should be used instead.
+
+
By requesting a reversal via /v1/payouts/:id/reverse, you confirm that the authorized signatory of the selected bank account has authorized the debit on the bank account and that no other authorization is required.
+ operationId: PostPayoutsPayoutReverse
+ parameters:
+ - in: path
+ name: payout
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/payout"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/plans:
+ get:
+ description:
Returns a list of your plans.
+ operationId: GetPlans
+ parameters:
+ - description: Only return plans that are active or inactive (e.g., pass `false` to list all inactive plans).
+ in: query
+ name: active
+ required: false
+ schema:
+ type: boolean
+ style: form
+ - description: A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options.
+ explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: Only return plans for the given product.
+ in: query
+ name: product
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/plan"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/plans
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: PlanList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
You can now model subscriptions more flexibly using the Prices API. It replaces the Plans API and is backwards compatible to simplify your migration.
+ operationId: PostPlans
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ product:
+ explode: true
+ style: deepObject
+ tiers:
+ explode: true
+ style: deepObject
+ transform_usage:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ active:
+ description: Whether the plan is currently available for new subscriptions. Defaults to `true`.
+ type: boolean
+ aggregate_usage:
+ description: Specifies a usage aggregation strategy for plans of `usage_type=metered`. Allowed values are `sum` for summing up all usage during a period, `last_during_period` for using the last usage record reported within a period, `last_ever` for using the last usage record ever (across period bounds) or `max` which uses the usage record with the maximum reported usage during a period. Defaults to `sum`.
+ enum:
+ - last_during_period
+ - last_ever
+ - max
+ - sum
+ type: string
+ amount:
+ description: A positive integer in cents (or local equivalent) (or 0 for a free plan) representing how much to charge on a recurring basis.
+ type: integer
+ amount_decimal:
+ description: Same as `amount`, but accepts a decimal value with at most 12 decimal places. Only one of `amount` and `amount_decimal` can be set.
+ format: decimal
+ type: string
+ billing_scheme:
+ description: Describes how to compute the price per period. Either `per_unit` or `tiered`. `per_unit` indicates that the fixed amount (specified in `amount`) will be charged per unit in `quantity` (for plans with `usage_type=licensed`), or per unit of total usage (for plans with `usage_type=metered`). `tiered` indicates that the unit pricing will be computed using a tiering strategy as defined using the `tiers` and `tiers_mode` attributes.
+ enum:
+ - per_unit
+ - tiered
+ type: string
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ id:
+ description: An identifier randomly generated by Stripe. Used to identify this plan when subscribing a customer. You can optionally override this ID, but the ID must be unique across all plans in your Stripe account. You can, however, use the same plan ID in both live and test modes.
+ maxLength: 5000
+ type: string
+ interval:
+ description: Specifies billing frequency. Either `day`, `week`, `month` or `year`.
+ enum:
+ - day
+ - month
+ - week
+ - year
+ type: string
+ interval_count:
+ description: The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks).
+ type: integer
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ nickname:
+ description: A brief description of the plan, hidden from customers.
+ maxLength: 5000
+ type: string
+ product:
+ anyOf:
+ - description: The product whose pricing the created plan will represent. This can either be the ID of an existing product, or a dictionary containing fields used to create a [service product](https://stripe.com/docs/api#product_object-type).
+ properties:
+ active:
+ type: boolean
+ id:
+ maxLength: 5000
+ type: string
+ metadata:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ maxLength: 5000
+ type: string
+ statement_descriptor:
+ maxLength: 22
+ type: string
+ tax_code:
+ maxLength: 5000
+ type: string
+ unit_label:
+ maxLength: 12
+ type: string
+ required:
+ - name
+ title: inline_product_params
+ type: object
+ - description: The ID of the product whose pricing the created plan will represent.
+ maxLength: 5000
+ type: string
+ tiers:
+ description: Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`.
+ items:
+ properties:
+ flat_amount:
+ type: integer
+ flat_amount_decimal:
+ format: decimal
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ up_to:
+ anyOf:
+ - enum:
+ - inf
+ maxLength: 5000
+ type: string
+ - type: integer
+ required:
+ - up_to
+ title: tier
+ type: object
+ type: array
+ tiers_mode:
+ description: Defines if the tiering price should be `graduated` or `volume` based. In `volume`-based tiering, the maximum quantity within a period determines the per unit price, in `graduated` tiering pricing can successively change as the quantity grows.
+ enum:
+ - graduated
+ - volume
+ type: string
+ transform_usage:
+ description: Apply a transformation to the reported usage or set quantity before computing the billed price. Cannot be combined with `tiers`.
+ properties:
+ divide_by:
+ type: integer
+ round:
+ enum:
+ - down
+ - up
+ type: string
+ required:
+ - divide_by
+ - round
+ title: transform_usage_param
+ type: object
+ trial_period_days:
+ description: Default number of trial days when subscribing a customer to this plan using [`trial_from_plan=true`](https://stripe.com/docs/api#create_subscription-trial_from_plan).
+ type: integer
+ usage_type:
+ description: Configures how the quantity per period should be determined. Can be either `metered` or `licensed`. `licensed` automatically bills the `quantity` set when adding it to a subscription. `metered` aggregates the total usage based on usage records. Defaults to `licensed`.
+ enum:
+ - licensed
+ - metered
+ type: string
+ required:
+ - currency
+ - interval
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/plan"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/plans/{plan}":
+ delete:
+ description:
Deleting plans means new subscribers can’t be added. Existing subscribers aren’t affected.
Updates the specified plan by setting the values of the parameters passed. Any parameters not provided are left unchanged. By design, you cannot change a plan’s ID, amount, currency, or billing cycle.
+ operationId: PostPlansPlan
+ parameters:
+ - in: path
+ name: plan
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ active:
+ description: Whether the plan is currently available for new subscriptions.
+ type: boolean
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ nickname:
+ description: A brief description of the plan, hidden from customers.
+ maxLength: 5000
+ type: string
+ product:
+ description: The product the plan belongs to. This cannot be changed once it has been used in a subscription or subscription schedule.
+ maxLength: 5000
+ type: string
+ trial_period_days:
+ description: Default number of trial days when subscribing a customer to this plan using [`trial_from_plan=true`](https://stripe.com/docs/api#create_subscription-trial_from_plan).
+ type: integer
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/plan"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/prices:
+ get:
+ description:
Returns a list of your prices.
+ operationId: GetPrices
+ parameters:
+ - description: Only return prices that are active or inactive (e.g., pass `false` to list all inactive prices).
+ in: query
+ name: active
+ required: false
+ schema:
+ type: boolean
+ style: form
+ - description: A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options.
+ explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: Only return prices for the given currency.
+ in: query
+ name: currency
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: Only return the price with these lookup_keys, if any exist.
+ explode: true
+ in: query
+ name: lookup_keys
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: Only return prices for the given product.
+ in: query
+ name: product
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Only return prices with these recurring fields.
+ explode: true
+ in: query
+ name: recurring
+ required: false
+ schema:
+ properties:
+ interval:
+ enum:
+ - day
+ - month
+ - week
+ - year
+ type: string
+ usage_type:
+ enum:
+ - licensed
+ - metered
+ type: string
+ title: all_prices_recurring_params
+ type: object
+ style: deepObject
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Only return prices of type `recurring` or `one_time`.
+ in: query
+ name: type
+ required: false
+ schema:
+ enum:
+ - one_time
+ - recurring
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/price"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/prices
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: PriceList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Creates a new price for an existing product. The price can be recurring or one-time.
+ operationId: PostPrices
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ currency_options:
+ explode: true
+ style: deepObject
+ custom_unit_amount:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ product_data:
+ explode: true
+ style: deepObject
+ recurring:
+ explode: true
+ style: deepObject
+ tiers:
+ explode: true
+ style: deepObject
+ transform_quantity:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ active:
+ description: Whether the price can be used for new purchases. Defaults to `true`.
+ type: boolean
+ billing_scheme:
+ description: Describes how to compute the price per period. Either `per_unit` or `tiered`. `per_unit` indicates that the fixed amount (specified in `unit_amount` or `unit_amount_decimal`) will be charged per unit in `quantity` (for prices with `usage_type=licensed`), or per unit of total usage (for prices with `usage_type=metered`). `tiered` indicates that the unit pricing will be computed using a tiering strategy as defined using the `tiers` and `tiers_mode` attributes.
+ enum:
+ - per_unit
+ - tiered
+ type: string
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ currency_options:
+ additionalProperties:
+ properties:
+ custom_unit_amount:
+ properties:
+ enabled:
+ type: boolean
+ maximum:
+ type: integer
+ minimum:
+ type: integer
+ preset:
+ type: integer
+ required:
+ - enabled
+ title: custom_unit_amount
+ type: object
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ tiers:
+ items:
+ properties:
+ flat_amount:
+ type: integer
+ flat_amount_decimal:
+ format: decimal
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ up_to:
+ anyOf:
+ - enum:
+ - inf
+ maxLength: 5000
+ type: string
+ - type: integer
+ required:
+ - up_to
+ title: tier
+ type: object
+ type: array
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ title: currency_option
+ type: object
+ description: Prices defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies).
+ type: object
+ custom_unit_amount:
+ description: When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links.
+ properties:
+ enabled:
+ type: boolean
+ maximum:
+ type: integer
+ minimum:
+ type: integer
+ preset:
+ type: integer
+ required:
+ - enabled
+ title: custom_unit_amount
+ type: object
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ lookup_key:
+ description: A lookup key used to retrieve prices dynamically from a static string. This may be up to 200 characters.
+ maxLength: 200
+ type: string
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ nickname:
+ description: A brief description of the price, hidden from customers.
+ maxLength: 5000
+ type: string
+ product:
+ description: The ID of the product that this price will belong to.
+ maxLength: 5000
+ type: string
+ product_data:
+ description: These fields can be used to create a new product that this price will belong to.
+ properties:
+ active:
+ type: boolean
+ id:
+ maxLength: 5000
+ type: string
+ metadata:
+ additionalProperties:
+ type: string
+ type: object
+ name:
+ maxLength: 5000
+ type: string
+ statement_descriptor:
+ maxLength: 22
+ type: string
+ tax_code:
+ maxLength: 5000
+ type: string
+ unit_label:
+ maxLength: 12
+ type: string
+ required:
+ - name
+ title: inline_product_params
+ type: object
+ recurring:
+ description: The recurring components of a price such as `interval` and `usage_type`.
+ properties:
+ aggregate_usage:
+ enum:
+ - last_during_period
+ - last_ever
+ - max
+ - sum
+ type: string
+ interval:
+ enum:
+ - day
+ - month
+ - week
+ - year
+ type: string
+ interval_count:
+ type: integer
+ usage_type:
+ enum:
+ - licensed
+ - metered
+ type: string
+ required:
+ - interval
+ title: recurring
+ type: object
+ tax_behavior:
+ description: Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed.
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ tiers:
+ description: Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`.
+ items:
+ properties:
+ flat_amount:
+ type: integer
+ flat_amount_decimal:
+ format: decimal
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ up_to:
+ anyOf:
+ - enum:
+ - inf
+ maxLength: 5000
+ type: string
+ - type: integer
+ required:
+ - up_to
+ title: tier
+ type: object
+ type: array
+ tiers_mode:
+ description: Defines if the tiering price should be `graduated` or `volume` based. In `volume`-based tiering, the maximum quantity within a period determines the per unit price, in `graduated` tiering pricing can successively change as the quantity grows.
+ enum:
+ - graduated
+ - volume
+ type: string
+ transfer_lookup_key:
+ description: If set to true, will atomically remove the lookup key from the existing price, and assign it to this price.
+ type: boolean
+ transform_quantity:
+ description: Apply a transformation to the reported usage or set quantity before computing the billed price. Cannot be combined with `tiers`.
+ properties:
+ divide_by:
+ type: integer
+ round:
+ enum:
+ - down
+ - up
+ type: string
+ required:
+ - divide_by
+ - round
+ title: transform_usage_param
+ type: object
+ unit_amount:
+ description: A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge. One of `unit_amount` or `custom_unit_amount` is required, unless `billing_scheme=tiered`.
+ type: integer
+ unit_amount_decimal:
+ description: Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set.
+ format: decimal
+ type: string
+ required:
+ - currency
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/price"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/prices/search:
+ get:
+ description: |-
+
Search for prices you’ve previously created using Stripe’s Search Query Language.
+ Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating
+ conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up
+ to an hour behind during outages. Search functionality is not available to merchants in India.
+ operationId: GetPricesSearch
+ parameters:
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results.
+ in: query
+ name: page
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for prices](https://stripe.com/docs/search#query-fields-for-prices).
+ in: query
+ name: query
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/price"
+ type: array
+ has_more:
+ type: boolean
+ next_page:
+ maxLength: 5000
+ nullable: true
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - search_result
+ type: string
+ total_count:
+ description: The total number of objects that match the query, only accurate up to 10,000.
+ type: integer
+ url:
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: SearchResult
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/prices/{price}":
+ get:
+ description:
Updates the specified price by setting the values of the parameters passed. Any parameters not provided are left unchanged.
+ operationId: PostPricesPrice
+ parameters:
+ - in: path
+ name: price
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ currency_options:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ active:
+ description: Whether the price can be used for new purchases. Defaults to `true`.
+ type: boolean
+ currency_options:
+ anyOf:
+ - additionalProperties:
+ properties:
+ custom_unit_amount:
+ properties:
+ enabled:
+ type: boolean
+ maximum:
+ type: integer
+ minimum:
+ type: integer
+ preset:
+ type: integer
+ required:
+ - enabled
+ title: custom_unit_amount
+ type: object
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ tiers:
+ items:
+ properties:
+ flat_amount:
+ type: integer
+ flat_amount_decimal:
+ format: decimal
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ up_to:
+ anyOf:
+ - enum:
+ - inf
+ maxLength: 5000
+ type: string
+ - type: integer
+ required:
+ - up_to
+ title: tier
+ type: object
+ type: array
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ title: currency_option
+ type: object
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Prices defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies).
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ lookup_key:
+ description: A lookup key used to retrieve prices dynamically from a static string. This may be up to 200 characters.
+ maxLength: 200
+ type: string
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ nickname:
+ description: A brief description of the price, hidden from customers.
+ maxLength: 5000
+ type: string
+ tax_behavior:
+ description: Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed.
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ transfer_lookup_key:
+ description: If set to true, will atomically remove the lookup key from the existing price, and assign it to this price.
+ type: boolean
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/price"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/products:
+ get:
+ description:
Returns a list of your products. The products are returned sorted by creation date, with the most recently created products appearing first.
+ operationId: GetProducts
+ parameters:
+ - description: Only return products that are active or inactive (e.g., pass `false` to list all inactive products).
+ in: query
+ name: active
+ required: false
+ schema:
+ type: boolean
+ style: form
+ - description: Only return products that were created during the given date interval.
+ explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: Only return products with the given IDs. Cannot be used with [starting_after](https://stripe.com/docs/api#list_products-starting_after) or [ending_before](https://stripe.com/docs/api#list_products-ending_before).
+ explode: true
+ in: query
+ name: ids
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: Only return products that can be shipped (i.e., physical, not digital products).
+ in: query
+ name: shippable
+ required: false
+ schema:
+ type: boolean
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Only return products with the given url.
+ in: query
+ name: url
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/product"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/products
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: ProductList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Creates a new product object.
+ operationId: PostProducts
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ default_price_data:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ images:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ package_dimensions:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ active:
+ description: Whether the product is currently available for purchase. Defaults to `true`.
+ type: boolean
+ default_price_data:
+ description: Data used to generate a new [Price](https://stripe.com/docs/api/prices) object. This Price will be set as the default price for this product.
+ properties:
+ currency:
+ type: string
+ currency_options:
+ additionalProperties:
+ properties:
+ custom_unit_amount:
+ properties:
+ enabled:
+ type: boolean
+ maximum:
+ type: integer
+ minimum:
+ type: integer
+ preset:
+ type: integer
+ required:
+ - enabled
+ title: custom_unit_amount
+ type: object
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ tiers:
+ items:
+ properties:
+ flat_amount:
+ type: integer
+ flat_amount_decimal:
+ format: decimal
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ up_to:
+ anyOf:
+ - enum:
+ - inf
+ maxLength: 5000
+ type: string
+ - type: integer
+ required:
+ - up_to
+ title: tier
+ type: object
+ type: array
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ title: currency_option
+ type: object
+ type: object
+ recurring:
+ properties:
+ interval:
+ enum:
+ - day
+ - month
+ - week
+ - year
+ type: string
+ interval_count:
+ type: integer
+ required:
+ - interval
+ title: recurring_adhoc
+ type: object
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ required:
+ - currency
+ title: price_data_without_product
+ type: object
+ description:
+ description: The product's description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes.
+ maxLength: 40000
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ id:
+ description: An identifier will be randomly generated by Stripe. You can optionally override this ID, but the ID must be unique across all products in your Stripe account.
+ maxLength: 5000
+ type: string
+ images:
+ description: A list of up to 8 URLs of images for this product, meant to be displayable to the customer.
+ items:
+ type: string
+ type: array
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ name:
+ description: The product's name, meant to be displayable to the customer.
+ maxLength: 5000
+ type: string
+ package_dimensions:
+ description: The dimensions of this product for shipping purposes.
+ properties:
+ height:
+ type: number
+ length:
+ type: number
+ weight:
+ type: number
+ width:
+ type: number
+ required:
+ - height
+ - length
+ - weight
+ - width
+ title: package_dimensions_specs
+ type: object
+ shippable:
+ description: Whether this product is shipped (i.e., physical goods).
+ type: boolean
+ statement_descriptor:
+ description: |-
+ An arbitrary string to be displayed on your customer's credit card or bank statement. While most banks display this information consistently, some may display it incorrectly or not at all.
+
+ This may be up to 22 characters. The statement description may not include `<`, `>`, `\`, `"`, `'` characters, and will appear on your customer's statement in capital letters. Non-ASCII characters are automatically stripped.
+ It must contain at least one letter.
+ maxLength: 22
+ type: string
+ tax_code:
+ description: A [tax code](https://stripe.com/docs/tax/tax-categories) ID.
+ type: string
+ unit_label:
+ description: A label that represents units of this product. When set, this will be included in customers' receipts, invoices, Checkout, and the customer portal.
+ maxLength: 12
+ type: string
+ url:
+ description: A URL of a publicly-accessible webpage for this product.
+ maxLength: 5000
+ type: string
+ required:
+ - name
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/product"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/products/search:
+ get:
+ description: |-
+
Search for products you’ve previously created using Stripe’s Search Query Language.
+ Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating
+ conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up
+ to an hour behind during outages. Search functionality is not available to merchants in India.
+ operationId: GetProductsSearch
+ parameters:
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results.
+ in: query
+ name: page
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for products](https://stripe.com/docs/search#query-fields-for-products).
+ in: query
+ name: query
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/product"
+ type: array
+ has_more:
+ type: boolean
+ next_page:
+ maxLength: 5000
+ nullable: true
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - search_result
+ type: string
+ total_count:
+ description: The total number of objects that match the query, only accurate up to 10,000.
+ type: integer
+ url:
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: SearchResult
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/products/{id}":
+ delete:
+ description:
Delete a product. Deleting a product is only possible if it has no prices associated with it. Additionally, deleting a product with type=good is only possible if it has no SKUs associated with it.
Retrieves the details of an existing product. Supply the unique product ID from either a product creation request or the product list, and Stripe will return the corresponding product information.
Updates the specific product by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
+ operationId: PostProductsId
+ parameters:
+ - in: path
+ name: id
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ images:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ package_dimensions:
+ explode: true
+ style: deepObject
+ tax_code:
+ explode: true
+ style: deepObject
+ url:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ active:
+ description: Whether the product is available for purchase.
+ type: boolean
+ default_price:
+ description: The ID of the [Price](https://stripe.com/docs/api/prices) object that is the default price for this product.
+ maxLength: 5000
+ type: string
+ description:
+ description: The product's description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes.
+ maxLength: 40000
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ images:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ description: A list of up to 8 URLs of images for this product, meant to be displayable to the customer.
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ name:
+ description: The product's name, meant to be displayable to the customer.
+ maxLength: 5000
+ type: string
+ package_dimensions:
+ anyOf:
+ - properties:
+ height:
+ type: number
+ length:
+ type: number
+ weight:
+ type: number
+ width:
+ type: number
+ required:
+ - height
+ - length
+ - weight
+ - width
+ title: package_dimensions_specs
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: The dimensions of this product for shipping purposes.
+ shippable:
+ description: Whether this product is shipped (i.e., physical goods).
+ type: boolean
+ statement_descriptor:
+ description: |-
+ An arbitrary string to be displayed on your customer's credit card or bank statement. While most banks display this information consistently, some may display it incorrectly or not at all.
+
+ This may be up to 22 characters. The statement description may not include `<`, `>`, `\`, `"`, `'` characters, and will appear on your customer's statement in capital letters. Non-ASCII characters are automatically stripped.
+ It must contain at least one letter. May only be set if `type=service`.
+ maxLength: 22
+ type: string
+ tax_code:
+ anyOf:
+ - type: string
+ - enum:
+ - ""
+ type: string
+ description: A [tax code](https://stripe.com/docs/tax/tax-categories) ID.
+ unit_label:
+ description: A label that represents units of this product. When set, this will be included in customers' receipts, invoices, Checkout, and the customer portal. May only be set if `type=service`.
+ maxLength: 12
+ type: string
+ url:
+ anyOf:
+ - type: string
+ - enum:
+ - ""
+ type: string
+ description: A URL of a publicly-accessible webpage for this product.
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/product"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/promotion_codes:
+ get:
+ description:
Returns a list of your promotion codes.
+ operationId: GetPromotionCodes
+ parameters:
+ - description: Filter promotion codes by whether they are active.
+ in: query
+ name: active
+ required: false
+ schema:
+ type: boolean
+ style: form
+ - description: Only return promotion codes that have this case-insensitive code.
+ in: query
+ name: code
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Only return promotion codes for this coupon.
+ in: query
+ name: coupon
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options.
+ explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: Only return promotion codes that are restricted to this customer.
+ in: query
+ name: customer
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/promotion_code"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/promotion_codes
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: PromotionCodesResourcePromotionCodeList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
A promotion code points to a coupon. You can optionally restrict the code to a specific customer, redemption limit, and expiration date.
+ operationId: PostPromotionCodes
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ restrictions:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ active:
+ description: Whether the promotion code is currently active.
+ type: boolean
+ code:
+ description: The customer-facing code. Regardless of case, this code must be unique across all active promotion codes for a specific customer. If left blank, we will generate one automatically.
+ maxLength: 500
+ type: string
+ coupon:
+ description: The coupon for this promotion code.
+ maxLength: 5000
+ type: string
+ customer:
+ description: The customer that this promotion code can be used by. If not set, the promotion code can be used by all customers.
+ maxLength: 5000
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ expires_at:
+ description: The timestamp at which this promotion code will expire. If the coupon has specified a `redeems_by`, then this value cannot be after the coupon's `redeems_by`.
+ format: unix-time
+ type: integer
+ max_redemptions:
+ description: A positive integer specifying the number of times the promotion code can be redeemed. If the coupon has specified a `max_redemptions`, then this value cannot be greater than the coupon's `max_redemptions`.
+ type: integer
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ restrictions:
+ description: Settings that restrict the redemption of the promotion code.
+ properties:
+ currency_options:
+ additionalProperties:
+ properties:
+ minimum_amount:
+ type: integer
+ title: currency_option
+ type: object
+ type: object
+ first_time_transaction:
+ type: boolean
+ minimum_amount:
+ type: integer
+ minimum_amount_currency:
+ type: string
+ title: restrictions_params
+ type: object
+ required:
+ - coupon
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/promotion_code"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/promotion_codes/{promotion_code}":
+ get:
+ description:
Retrieves the promotion code with the given ID. In order to retrieve a promotion code by the customer-facing code use list with the desired code.
Updates the specified promotion code by setting the values of the parameters passed. Most fields are, by design, not editable.
+ operationId: PostPromotionCodesPromotionCode
+ parameters:
+ - in: path
+ name: promotion_code
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ restrictions:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ active:
+ description: Whether the promotion code is currently active. A promotion code can only be reactivated when the coupon is still valid and the promotion code is otherwise redeemable.
+ type: boolean
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ restrictions:
+ description: Settings that restrict the redemption of the promotion code.
+ properties:
+ currency_options:
+ additionalProperties:
+ properties:
+ minimum_amount:
+ type: integer
+ title: currency_option
+ type: object
+ type: object
+ title: restrictions_params
+ type: object
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/promotion_code"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/quotes:
+ get:
+ description:
Returns a list of your quotes.
+ operationId: GetQuotes
+ parameters:
+ - description: The ID of the customer whose quotes will be retrieved.
+ in: query
+ name: customer
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: The status of the quote.
+ in: query
+ name: status
+ required: false
+ schema:
+ enum:
+ - accepted
+ - canceled
+ - draft
+ - open
+ type: string
+ x-stripeBypassValidation: true
+ style: form
+ - description: Provides a list of quotes that are associated with the specified test clock. The response will not include quotes with test clocks if this and the customer parameter is not set.
+ in: query
+ name: test_clock
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/quote"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/quotes
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: QuotesResourceQuoteList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
A quote models prices and services for a customer. Default options for header, description, footer, and expires_at can be set in the dashboard via the quote template.
+ operationId: PostQuotes
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ application_fee_amount:
+ explode: true
+ style: deepObject
+ application_fee_percent:
+ explode: true
+ style: deepObject
+ automatic_tax:
+ explode: true
+ style: deepObject
+ default_tax_rates:
+ explode: true
+ style: deepObject
+ discounts:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ from_quote:
+ explode: true
+ style: deepObject
+ invoice_settings:
+ explode: true
+ style: deepObject
+ line_items:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ on_behalf_of:
+ explode: true
+ style: deepObject
+ subscription_data:
+ explode: true
+ style: deepObject
+ transfer_data:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ application_fee_amount:
+ anyOf:
+ - type: integer
+ - enum:
+ - ""
+ type: string
+ description: The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. There cannot be any line items with recurring prices when using this field.
+ application_fee_percent:
+ anyOf:
+ - type: number
+ - enum:
+ - ""
+ type: string
+ description: A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account. There must be at least 1 line item with a recurring price to use this field.
+ automatic_tax:
+ description: Settings for automatic tax lookup for this quote and resulting invoices and subscriptions.
+ properties:
+ enabled:
+ type: boolean
+ required:
+ - enabled
+ title: automatic_tax_param
+ type: object
+ collection_method:
+ description: Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay invoices at the end of the subscription cycle or at invoice finalization using the default payment method attached to the subscription or customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`.
+ enum:
+ - charge_automatically
+ - send_invoice
+ type: string
+ customer:
+ description: The customer for which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed.
+ maxLength: 5000
+ type: string
+ default_tax_rates:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ description: The tax rates that will apply to any line item that does not have `tax_rates` set.
+ description:
+ description: A description that will be displayed on the quote PDF. If no value is passed, the default description configured in your [quote template settings](https://dashboard.stripe.com/settings/billing/quote) will be used.
+ maxLength: 500
+ type: string
+ discounts:
+ anyOf:
+ - items:
+ properties:
+ coupon:
+ maxLength: 5000
+ type: string
+ discount:
+ maxLength: 5000
+ type: string
+ title: discounts_data_param
+ type: object
+ type: array
+ - enum:
+ - ""
+ type: string
+ description: The discounts applied to the quote. You can only set up to one discount.
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ expires_at:
+ description: A future timestamp on which the quote will be canceled if in `open` or `draft` status. Measured in seconds since the Unix epoch. If no value is passed, the default expiration date configured in your [quote template settings](https://dashboard.stripe.com/settings/billing/quote) will be used.
+ format: unix-time
+ type: integer
+ footer:
+ description: A footer that will be displayed on the quote PDF. If no value is passed, the default footer configured in your [quote template settings](https://dashboard.stripe.com/settings/billing/quote) will be used.
+ maxLength: 500
+ type: string
+ from_quote:
+ description: Clone an existing quote. The new quote will be created in `status=draft`. When using this parameter, you cannot specify any other parameters except for `expires_at`.
+ properties:
+ is_revision:
+ type: boolean
+ quote:
+ maxLength: 5000
+ type: string
+ required:
+ - quote
+ title: from_quote_params
+ type: object
+ header:
+ description: A header that will be displayed on the quote PDF. If no value is passed, the default header configured in your [quote template settings](https://dashboard.stripe.com/settings/billing/quote) will be used.
+ maxLength: 50
+ type: string
+ invoice_settings:
+ description: All invoices will be billed using the specified settings.
+ properties:
+ days_until_due:
+ type: integer
+ title: quote_param
+ type: object
+ line_items:
+ description: A list of line items the customer is being quoted for. Each line item includes information about the product, the quantity, and the resulting cost.
+ items:
+ properties:
+ price:
+ maxLength: 5000
+ type: string
+ price_data:
+ properties:
+ currency:
+ type: string
+ product:
+ maxLength: 5000
+ type: string
+ recurring:
+ properties:
+ interval:
+ enum:
+ - day
+ - month
+ - week
+ - year
+ type: string
+ interval_count:
+ type: integer
+ required:
+ - interval
+ title: recurring_adhoc
+ type: object
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ required:
+ - currency
+ - product
+ title: price_data
+ type: object
+ quantity:
+ type: integer
+ tax_rates:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ title: line_item_create_params
+ type: object
+ type: array
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ on_behalf_of:
+ anyOf:
+ - type: string
+ - enum:
+ - ""
+ type: string
+ description: The account on behalf of which to charge.
+ subscription_data:
+ description: When creating a subscription or subscription schedule, the specified configuration data will be used. There must be at least one line item with a recurring price for a subscription or subscription schedule to be created. A subscription schedule is created if `subscription_data[effective_date]` is present and in the future, otherwise a subscription is created.
+ properties:
+ description:
+ maxLength: 500
+ type: string
+ effective_date:
+ anyOf:
+ - enum:
+ - current_period_end
+ maxLength: 5000
+ type: string
+ - format: unix-time
+ type: integer
+ - enum:
+ - ""
+ type: string
+ trial_period_days:
+ anyOf:
+ - type: integer
+ - enum:
+ - ""
+ type: string
+ title: subscription_data_create_params
+ type: object
+ test_clock:
+ description: ID of the test clock to attach to the quote.
+ maxLength: 5000
+ type: string
+ transfer_data:
+ anyOf:
+ - properties:
+ amount:
+ type: integer
+ amount_percent:
+ type: number
+ destination:
+ type: string
+ required:
+ - destination
+ title: transfer_data_specs
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: The data with which to automatically create a Transfer for each of the invoices.
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/quote"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/quotes/{quote}":
+ get:
+ description:
A quote models prices and services for a customer.
+ operationId: PostQuotesQuote
+ parameters:
+ - in: path
+ name: quote
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ application_fee_amount:
+ explode: true
+ style: deepObject
+ application_fee_percent:
+ explode: true
+ style: deepObject
+ automatic_tax:
+ explode: true
+ style: deepObject
+ default_tax_rates:
+ explode: true
+ style: deepObject
+ discounts:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ invoice_settings:
+ explode: true
+ style: deepObject
+ line_items:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ on_behalf_of:
+ explode: true
+ style: deepObject
+ subscription_data:
+ explode: true
+ style: deepObject
+ transfer_data:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ application_fee_amount:
+ anyOf:
+ - type: integer
+ - enum:
+ - ""
+ type: string
+ description: The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. There cannot be any line items with recurring prices when using this field.
+ application_fee_percent:
+ anyOf:
+ - type: number
+ - enum:
+ - ""
+ type: string
+ description: A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account. There must be at least 1 line item with a recurring price to use this field.
+ automatic_tax:
+ description: Settings for automatic tax lookup for this quote and resulting invoices and subscriptions.
+ properties:
+ enabled:
+ type: boolean
+ required:
+ - enabled
+ title: automatic_tax_param
+ type: object
+ collection_method:
+ description: Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay invoices at the end of the subscription cycle or at invoice finalization using the default payment method attached to the subscription or customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`.
+ enum:
+ - charge_automatically
+ - send_invoice
+ type: string
+ customer:
+ description: The customer for which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed.
+ maxLength: 5000
+ type: string
+ default_tax_rates:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ description: The tax rates that will apply to any line item that does not have `tax_rates` set.
+ description:
+ description: A description that will be displayed on the quote PDF.
+ maxLength: 500
+ type: string
+ discounts:
+ anyOf:
+ - items:
+ properties:
+ coupon:
+ maxLength: 5000
+ type: string
+ discount:
+ maxLength: 5000
+ type: string
+ title: discounts_data_param
+ type: object
+ type: array
+ - enum:
+ - ""
+ type: string
+ description: The discounts applied to the quote. You can only set up to one discount.
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ expires_at:
+ description: A future timestamp on which the quote will be canceled if in `open` or `draft` status. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ footer:
+ description: A footer that will be displayed on the quote PDF.
+ maxLength: 500
+ type: string
+ header:
+ description: A header that will be displayed on the quote PDF.
+ maxLength: 50
+ type: string
+ invoice_settings:
+ description: All invoices will be billed using the specified settings.
+ properties:
+ days_until_due:
+ type: integer
+ title: quote_param
+ type: object
+ line_items:
+ description: A list of line items the customer is being quoted for. Each line item includes information about the product, the quantity, and the resulting cost.
+ items:
+ properties:
+ id:
+ maxLength: 5000
+ type: string
+ price:
+ maxLength: 5000
+ type: string
+ price_data:
+ properties:
+ currency:
+ type: string
+ product:
+ maxLength: 5000
+ type: string
+ recurring:
+ properties:
+ interval:
+ enum:
+ - day
+ - month
+ - week
+ - year
+ type: string
+ interval_count:
+ type: integer
+ required:
+ - interval
+ title: recurring_adhoc
+ type: object
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ required:
+ - currency
+ - product
+ title: price_data
+ type: object
+ quantity:
+ type: integer
+ tax_rates:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ title: line_item_update_params
+ type: object
+ type: array
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ on_behalf_of:
+ anyOf:
+ - type: string
+ - enum:
+ - ""
+ type: string
+ description: The account on behalf of which to charge.
+ subscription_data:
+ description: When creating a subscription or subscription schedule, the specified configuration data will be used. There must be at least one line item with a recurring price for a subscription or subscription schedule to be created. A subscription schedule is created if `subscription_data[effective_date]` is present and in the future, otherwise a subscription is created.
+ properties:
+ description:
+ maxLength: 500
+ type: string
+ effective_date:
+ anyOf:
+ - enum:
+ - current_period_end
+ maxLength: 5000
+ type: string
+ - format: unix-time
+ type: integer
+ - enum:
+ - ""
+ type: string
+ trial_period_days:
+ anyOf:
+ - type: integer
+ - enum:
+ - ""
+ type: string
+ title: subscription_data_update_params
+ type: object
+ transfer_data:
+ anyOf:
+ - properties:
+ amount:
+ type: integer
+ amount_percent:
+ type: number
+ destination:
+ type: string
+ required:
+ - destination
+ title: transfer_data_specs
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: The data with which to automatically create a Transfer for each of the invoices.
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/quote"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/quotes/{quote}/accept":
+ post:
+ description:
When retrieving a quote, there is an includable computed.upfront.line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of upfront line items.
+ operationId: GetQuotesQuoteComputedUpfrontLineItems
+ parameters:
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - in: path
+ name: quote
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/item"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: QuotesResourceListLineItems
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/quotes/{quote}/finalize":
+ post:
+ description:
Finalizes the quote.
+ operationId: PostQuotesQuoteFinalize
+ parameters:
+ - in: path
+ name: quote
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ expires_at:
+ description: A future timestamp on which the quote will be canceled if in `open` or `draft` status. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/quote"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/quotes/{quote}/line_items":
+ get:
+ description:
When retrieving a quote, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
+ operationId: GetQuotesQuoteLineItems
+ parameters:
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - in: path
+ name: quote
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/item"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: QuotesResourceListLineItems
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/quotes/{quote}/pdf":
+ get:
+ description:
+ operationId: GetRadarEarlyFraudWarnings
+ parameters:
+ - description: Only return early fraud warnings for the charge specified by this charge ID.
+ in: query
+ name: charge
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: Only return early fraud warnings for charges that were created by the PaymentIntent specified by this PaymentIntent ID.
+ in: query
+ name: payment_intent
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/radar.early_fraud_warning"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/radar/early_fraud_warnings
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: RadarEarlyFraudWarningList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/radar/early_fraud_warnings/{early_fraud_warning}":
+ get:
+ description: |-
+
Retrieves the details of an early fraud warning that has previously been created.
Returns a list of ValueListItem objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
+ operationId: GetRadarValueListItems
+ parameters:
+ - explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Return items belonging to the parent list whose value matches the specified value (using an "is like" match).
+ in: query
+ name: value
+ required: false
+ schema:
+ maxLength: 800
+ type: string
+ style: form
+ - description: Identifier for the parent value list this item belongs to.
+ in: query
+ name: value_list
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/radar.value_list_item"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/radar/value_list_items
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: RadarListListItemList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Creates a new ValueListItem object, which is added to the specified parent value list.
+ operationId: PostRadarValueListItems
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ value:
+ description: The value of the item (whose type must match the type of the parent value list).
+ maxLength: 800
+ type: string
+ value_list:
+ description: The identifier of the value list which the created item will be added to.
+ maxLength: 5000
+ type: string
+ required:
+ - value
+ - value_list
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/radar.value_list_item"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/radar/value_list_items/{item}":
+ delete:
+ description:
Deletes a ValueListItem object, removing it from its parent value list.
Returns a list of ValueList objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
+ operationId: GetRadarValueLists
+ parameters:
+ - description: The alias used to reference the value list when writing rules.
+ in: query
+ name: alias
+ required: false
+ schema:
+ maxLength: 100
+ type: string
+ style: form
+ - description: A value contained within a value list - returns all value lists containing this value.
+ in: query
+ name: contains
+ required: false
+ schema:
+ maxLength: 800
+ type: string
+ style: form
+ - explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/radar.value_list"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/radar/value_lists
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: RadarListListList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Creates a new ValueList object, which can then be referenced in rules.
+ operationId: PostRadarValueLists
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ alias:
+ description: The name of the value list for use in rules.
+ maxLength: 100
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ item_type:
+ description: Type of the items in the value list. One of `card_fingerprint`, `card_bin`, `email`, `ip_address`, `country`, `string`, `case_sensitive_string`, or `customer_id`. Use `string` if the item type is unknown or mixed.
+ enum:
+ - card_bin
+ - card_fingerprint
+ - case_sensitive_string
+ - country
+ - customer_id
+ - email
+ - ip_address
+ - string
+ maxLength: 5000
+ type: string
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ name:
+ description: The human-readable name of the value list.
+ maxLength: 100
+ type: string
+ required:
+ - alias
+ - name
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/radar.value_list"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/radar/value_lists/{value_list}":
+ delete:
+ description:
Deletes a ValueList object, also deleting any items contained within the value list. To be deleted, a value list must not be referenced in any rules.
Updates a ValueList object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Note that item_type is immutable.
+ operationId: PostRadarValueListsValueList
+ parameters:
+ - in: path
+ name: value_list
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ alias:
+ description: The name of the value list for use in rules.
+ maxLength: 100
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ name:
+ description: The human-readable name of the value list.
+ maxLength: 100
+ type: string
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/radar.value_list"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/refunds:
+ get:
+ description:
Returns a list of all refunds you’ve previously created. The refunds are returned in sorted order, with the most recent refunds appearing first. For convenience, the 10 most recent refunds are always available by default on the charge object.
+ operationId: GetRefunds
+ parameters:
+ - description: Only return refunds for the charge specified by this charge ID.
+ in: query
+ name: charge
+ required: false
+ schema:
+ type: string
+ style: form
+ - explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: Only return refunds for the PaymentIntent specified by this ID.
+ in: query
+ name: payment_intent
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/refund"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/refunds
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: APIMethodRefundList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Create a refund.
+ operationId: PostRefunds
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ amount:
+ description: A positive integer representing how much to refund.
+ type: integer
+ charge:
+ maxLength: 5000
+ type: string
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ customer:
+ description: Customer whose customer balance to refund from.
+ maxLength: 5000
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ instructions_email:
+ description: For payment methods without native refund support (e.g., Konbini, PromptPay), use this email from the customer to receive refund instructions.
+ type: string
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ origin:
+ description: Origin of the refund
+ enum:
+ - customer_balance
+ type: string
+ payment_intent:
+ maxLength: 5000
+ type: string
+ reason:
+ enum:
+ - duplicate
+ - fraudulent
+ - requested_by_customer
+ maxLength: 5000
+ type: string
+ refund_application_fee:
+ type: boolean
+ reverse_transfer:
+ type: boolean
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/refund"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/refunds/{refund}":
+ get:
+ description:
Returns a list of Report Runs, with the most recent appearing first.
+ operationId: GetReportingReportRuns
+ parameters:
+ - explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/reporting.report_run"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/reporting/report_runs
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: FinancialReportingFinanceReportRunList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Creates a new object and begin running the report. (Certain report types require a live-mode API key.)
Returns a list of Review objects that have open set to true. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
+ operationId: GetReviews
+ parameters:
+ - explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/review"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: RadarReviewList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/reviews/{review}":
+ get:
+ description:
Returns a list of SetupAttempts associated with a provided SetupIntent.
+ operationId: GetSetupAttempts
+ parameters:
+ - description: |-
+ A filter on the list, based on the object `created` field. The value
+ can be a string with an integer Unix timestamp, or it can be a
+ dictionary with a number of different query options.
+ explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: |-
+ Only return SetupAttempts created by the SetupIntent specified by
+ this ID.
+ in: query
+ name: setup_intent
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/setup_attempt"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/setup_attempts
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: PaymentFlowsSetupIntentSetupAttemptList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/setup_intents:
+ get:
+ description:
Returns a list of SetupIntents.
+ operationId: GetSetupIntents
+ parameters:
+ - description: |-
+ If present, the SetupIntent's payment method will be attached to the in-context Stripe Account.
+
+ It can only be used for this Stripe Account’s own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer.
+ in: query
+ name: attach_to_self
+ required: false
+ schema:
+ type: boolean
+ style: form
+ - description: A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options.
+ explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: Only return SetupIntents for the customer specified by this customer ID.
+ in: query
+ name: customer
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: Only return SetupIntents associated with the specified payment method.
+ in: query
+ name: payment_method
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/setup_intent"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/setup_intents
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: PaymentFlowsSetupIntentList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description: |-
+
Creates a SetupIntent object.
+
+
After the SetupIntent is created, attach a payment method and confirm
+ to collect any required permissions to charge the payment method later.
+ operationId: PostSetupIntents
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ automatic_payment_methods:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ flow_directions:
+ explode: true
+ style: deepObject
+ mandate_data:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ payment_method_data:
+ explode: true
+ style: deepObject
+ payment_method_options:
+ explode: true
+ style: deepObject
+ payment_method_types:
+ explode: true
+ style: deepObject
+ single_use:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ attach_to_self:
+ description: |-
+ If present, the SetupIntent's payment method will be attached to the in-context Stripe Account.
+
+ It can only be used for this Stripe Account’s own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer.
+ type: boolean
+ automatic_payment_methods:
+ description: When enabled, this SetupIntent will accept payment methods that you have enabled in the Dashboard and are compatible with this SetupIntent's other parameters.
+ properties:
+ enabled:
+ type: boolean
+ required:
+ - enabled
+ title: automatic_payment_methods_param
+ type: object
+ confirm:
+ description: Set to `true` to attempt to confirm this SetupIntent immediately. This parameter defaults to `false`. If the payment method attached is a card, a return_url may be provided in case additional authentication is required.
+ type: boolean
+ customer:
+ description: |-
+ ID of the Customer this SetupIntent belongs to, if one exists.
+
+ If present, the SetupIntent's payment method will be attached to the Customer on successful setup. Payment methods attached to other Customers cannot be used with this SetupIntent.
+ maxLength: 5000
+ type: string
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 1000
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ flow_directions:
+ description: |-
+ Indicates the directions of money movement for which this payment method is intended to be used.
+
+ Include `inbound` if you intend to use the payment method as the origin to pull funds from. Include `outbound` if you intend to use the payment method as the destination to send funds to. You can include both if you intend to use the payment method for both purposes.
+ items:
+ enum:
+ - inbound
+ - outbound
+ type: string
+ type: array
+ mandate_data:
+ description: This hash contains details about the Mandate to create. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/setup_intents/create#create_setup_intent-confirm).
+ properties:
+ customer_acceptance:
+ properties:
+ accepted_at:
+ format: unix-time
+ type: integer
+ offline:
+ properties: {}
+ title: offline_param
+ type: object
+ online:
+ properties:
+ ip_address:
+ type: string
+ user_agent:
+ maxLength: 5000
+ type: string
+ required:
+ - ip_address
+ - user_agent
+ title: online_param
+ type: object
+ type:
+ enum:
+ - offline
+ - online
+ maxLength: 5000
+ type: string
+ required:
+ - type
+ title: customer_acceptance_param
+ type: object
+ required:
+ - customer_acceptance
+ title: secret_key_param
+ type: object
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ on_behalf_of:
+ description: The Stripe account ID for which this SetupIntent is created.
+ type: string
+ payment_method:
+ description: ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent.
+ maxLength: 5000
+ type: string
+ payment_method_data:
+ description: |-
+ When included, this hash creates a PaymentMethod that is set as the [`payment_method`](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-payment_method)
+ value in the SetupIntent.
+ properties:
+ acss_debit:
+ properties:
+ account_number:
+ maxLength: 5000
+ type: string
+ institution_number:
+ maxLength: 5000
+ type: string
+ transit_number:
+ maxLength: 5000
+ type: string
+ required:
+ - account_number
+ - institution_number
+ - transit_number
+ title: payment_method_param
+ type: object
+ affirm:
+ properties: {}
+ title: param
+ type: object
+ afterpay_clearpay:
+ properties: {}
+ title: param
+ type: object
+ alipay:
+ properties: {}
+ title: param
+ type: object
+ au_becs_debit:
+ properties:
+ account_number:
+ maxLength: 5000
+ type: string
+ bsb_number:
+ maxLength: 5000
+ type: string
+ required:
+ - account_number
+ - bsb_number
+ title: param
+ type: object
+ bacs_debit:
+ properties:
+ account_number:
+ maxLength: 5000
+ type: string
+ sort_code:
+ maxLength: 5000
+ type: string
+ title: param
+ type: object
+ bancontact:
+ properties: {}
+ title: param
+ type: object
+ billing_details:
+ properties:
+ address:
+ anyOf:
+ - properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ title: billing_details_address
+ type: object
+ - enum:
+ - ""
+ type: string
+ email:
+ anyOf:
+ - type: string
+ - enum:
+ - ""
+ type: string
+ name:
+ maxLength: 5000
+ type: string
+ phone:
+ maxLength: 5000
+ type: string
+ title: billing_details_inner_params
+ type: object
+ blik:
+ properties: {}
+ title: param
+ type: object
+ boleto:
+ properties:
+ tax_id:
+ maxLength: 5000
+ type: string
+ required:
+ - tax_id
+ title: param
+ type: object
+ cashapp:
+ properties: {}
+ title: param
+ type: object
+ customer_balance:
+ properties: {}
+ title: param
+ type: object
+ eps:
+ properties:
+ bank:
+ enum:
+ - arzte_und_apotheker_bank
+ - austrian_anadi_bank_ag
+ - bank_austria
+ - bankhaus_carl_spangler
+ - bankhaus_schelhammer_und_schattera_ag
+ - bawag_psk_ag
+ - bks_bank_ag
+ - brull_kallmus_bank_ag
+ - btv_vier_lander_bank
+ - capital_bank_grawe_gruppe_ag
+ - deutsche_bank_ag
+ - dolomitenbank
+ - easybank_ag
+ - erste_bank_und_sparkassen
+ - hypo_alpeadriabank_international_ag
+ - hypo_bank_burgenland_aktiengesellschaft
+ - hypo_noe_lb_fur_niederosterreich_u_wien
+ - hypo_oberosterreich_salzburg_steiermark
+ - hypo_tirol_bank_ag
+ - hypo_vorarlberg_bank_ag
+ - marchfelder_bank
+ - oberbank_ag
+ - raiffeisen_bankengruppe_osterreich
+ - schoellerbank_ag
+ - sparda_bank_wien
+ - volksbank_gruppe
+ - volkskreditbank_ag
+ - vr_bank_braunau
+ maxLength: 5000
+ type: string
+ title: param
+ type: object
+ fpx:
+ properties:
+ bank:
+ enum:
+ - affin_bank
+ - agrobank
+ - alliance_bank
+ - ambank
+ - bank_islam
+ - bank_muamalat
+ - bank_of_china
+ - bank_rakyat
+ - bsn
+ - cimb
+ - deutsche_bank
+ - hong_leong_bank
+ - hsbc
+ - kfh
+ - maybank2e
+ - maybank2u
+ - ocbc
+ - pb_enterprise
+ - public_bank
+ - rhb
+ - standard_chartered
+ - uob
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ required:
+ - bank
+ title: param
+ type: object
+ giropay:
+ properties: {}
+ title: param
+ type: object
+ grabpay:
+ properties: {}
+ title: param
+ type: object
+ ideal:
+ properties:
+ bank:
+ enum:
+ - abn_amro
+ - asn_bank
+ - bunq
+ - handelsbanken
+ - ing
+ - knab
+ - moneyou
+ - rabobank
+ - regiobank
+ - revolut
+ - sns_bank
+ - triodos_bank
+ - van_lanschot
+ - yoursafe
+ maxLength: 5000
+ type: string
+ title: param
+ type: object
+ interac_present:
+ properties: {}
+ title: param
+ type: object
+ klarna:
+ properties:
+ dob:
+ properties:
+ day:
+ type: integer
+ month:
+ type: integer
+ year:
+ type: integer
+ required:
+ - day
+ - month
+ - year
+ title: date_of_birth
+ type: object
+ title: param
+ type: object
+ konbini:
+ properties: {}
+ title: param
+ type: object
+ link:
+ properties: {}
+ title: param
+ type: object
+ metadata:
+ additionalProperties:
+ type: string
+ type: object
+ oxxo:
+ properties: {}
+ title: param
+ type: object
+ p24:
+ properties:
+ bank:
+ enum:
+ - alior_bank
+ - bank_millennium
+ - bank_nowy_bfg_sa
+ - bank_pekao_sa
+ - banki_spbdzielcze
+ - blik
+ - bnp_paribas
+ - boz
+ - citi_handlowy
+ - credit_agricole
+ - envelobank
+ - etransfer_pocztowy24
+ - getin_bank
+ - ideabank
+ - ing
+ - inteligo
+ - mbank_mtransfer
+ - nest_przelew
+ - noble_pay
+ - pbac_z_ipko
+ - plus_bank
+ - santander_przelew24
+ - tmobile_usbugi_bankowe
+ - toyota_bank
+ - volkswagen_bank
+ type: string
+ x-stripeBypassValidation: true
+ title: param
+ type: object
+ paynow:
+ properties: {}
+ title: param
+ type: object
+ pix:
+ properties: {}
+ title: param
+ type: object
+ promptpay:
+ properties: {}
+ title: param
+ type: object
+ radar_options:
+ properties:
+ session:
+ maxLength: 5000
+ type: string
+ title: radar_options
+ type: object
+ sepa_debit:
+ properties:
+ iban:
+ maxLength: 5000
+ type: string
+ required:
+ - iban
+ title: param
+ type: object
+ sofort:
+ properties:
+ country:
+ enum:
+ - AT
+ - BE
+ - DE
+ - ES
+ - IT
+ - NL
+ type: string
+ required:
+ - country
+ title: param
+ type: object
+ type:
+ enum:
+ - acss_debit
+ - affirm
+ - afterpay_clearpay
+ - alipay
+ - au_becs_debit
+ - bacs_debit
+ - bancontact
+ - blik
+ - boleto
+ - cashapp
+ - customer_balance
+ - eps
+ - fpx
+ - giropay
+ - grabpay
+ - ideal
+ - klarna
+ - konbini
+ - link
+ - oxxo
+ - p24
+ - paynow
+ - pix
+ - promptpay
+ - sepa_debit
+ - sofort
+ - us_bank_account
+ - wechat_pay
+ type: string
+ x-stripeBypassValidation: true
+ us_bank_account:
+ properties:
+ account_holder_type:
+ enum:
+ - company
+ - individual
+ type: string
+ account_number:
+ maxLength: 5000
+ type: string
+ account_type:
+ enum:
+ - checking
+ - savings
+ type: string
+ financial_connections_account:
+ maxLength: 5000
+ type: string
+ routing_number:
+ maxLength: 5000
+ type: string
+ title: payment_method_param
+ type: object
+ wechat_pay:
+ properties: {}
+ title: param
+ type: object
+ required:
+ - type
+ title: payment_method_data_params
+ type: object
+ payment_method_options:
+ description: Payment-method-specific configuration for this SetupIntent.
+ properties:
+ acss_debit:
+ properties:
+ currency:
+ enum:
+ - cad
+ - usd
+ type: string
+ mandate_options:
+ properties:
+ custom_mandate_url:
+ anyOf:
+ - type: string
+ - enum:
+ - ""
+ type: string
+ default_for:
+ items:
+ enum:
+ - invoice
+ - subscription
+ type: string
+ type: array
+ interval_description:
+ maxLength: 500
+ type: string
+ payment_schedule:
+ enum:
+ - combined
+ - interval
+ - sporadic
+ type: string
+ transaction_type:
+ enum:
+ - business
+ - personal
+ type: string
+ title: setup_intent_payment_method_options_mandate_options_param
+ type: object
+ verification_method:
+ enum:
+ - automatic
+ - instant
+ - microdeposits
+ type: string
+ x-stripeBypassValidation: true
+ title: setup_intent_payment_method_options_param
+ type: object
+ blik:
+ properties:
+ code:
+ maxLength: 5000
+ type: string
+ title: setup_intent_payment_method_options_param
+ type: object
+ card:
+ properties:
+ mandate_options:
+ properties:
+ amount:
+ type: integer
+ amount_type:
+ enum:
+ - fixed
+ - maximum
+ type: string
+ currency:
+ type: string
+ description:
+ maxLength: 200
+ type: string
+ end_date:
+ format: unix-time
+ type: integer
+ interval:
+ enum:
+ - day
+ - month
+ - sporadic
+ - week
+ - year
+ type: string
+ interval_count:
+ type: integer
+ reference:
+ maxLength: 80
+ type: string
+ start_date:
+ format: unix-time
+ type: integer
+ supported_types:
+ items:
+ enum:
+ - india
+ type: string
+ type: array
+ required:
+ - amount
+ - amount_type
+ - currency
+ - interval
+ - reference
+ - start_date
+ title: setup_intent_mandate_options_param
+ type: object
+ network:
+ enum:
+ - amex
+ - cartes_bancaires
+ - diners
+ - discover
+ - interac
+ - jcb
+ - mastercard
+ - unionpay
+ - unknown
+ - visa
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ request_three_d_secure:
+ enum:
+ - any
+ - automatic
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ title: setup_intent_param
+ type: object
+ link:
+ properties:
+ persistent_token:
+ maxLength: 5000
+ type: string
+ title: setup_intent_payment_method_options_param
+ type: object
+ sepa_debit:
+ properties:
+ mandate_options:
+ properties: {}
+ title: payment_method_options_mandate_options_param
+ type: object
+ title: setup_intent_payment_method_options_param
+ type: object
+ us_bank_account:
+ properties:
+ financial_connections:
+ properties:
+ permissions:
+ items:
+ enum:
+ - balances
+ - ownership
+ - payment_method
+ - transactions
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ type: array
+ return_url:
+ maxLength: 5000
+ type: string
+ title: linked_account_options_param
+ type: object
+ networks:
+ properties:
+ requested:
+ items:
+ enum:
+ - ach
+ - us_domestic_wire
+ type: string
+ type: array
+ title: networks_options_param
+ type: object
+ verification_method:
+ enum:
+ - automatic
+ - instant
+ - microdeposits
+ type: string
+ x-stripeBypassValidation: true
+ title: setup_intent_payment_method_options_param
+ type: object
+ title: payment_method_options_param
+ type: object
+ payment_method_types:
+ description: The list of payment method types (e.g. card) that this SetupIntent is allowed to use. If this is not provided, defaults to ["card"].
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ return_url:
+ description: The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. If you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/setup_intents/create#create_setup_intent-confirm).
+ type: string
+ single_use:
+ description: If this hash is populated, this SetupIntent will generate a single_use Mandate on success.
+ properties:
+ amount:
+ type: integer
+ currency:
+ type: string
+ required:
+ - amount
+ - currency
+ title: setup_intent_single_use_params
+ type: object
+ usage:
+ description: Indicates how the payment method is intended to be used in the future. If not provided, this value defaults to `off_session`.
+ enum:
+ - off_session
+ - on_session
+ type: string
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/setup_intent"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/setup_intents/{intent}":
+ get:
+ description: |-
+
Retrieves the details of a SetupIntent that has previously been created.
+
+
Client-side retrieval using a publishable key is allowed when the client_secret is provided in the query string.
+
+
When retrieved with a publishable key, only a subset of properties will be returned. Please refer to the SetupIntent object reference for more details.
Confirm that your customer intends to set up the current or
+ provided payment method. For example, you would confirm a SetupIntent
+ when a customer hits the “Save” button on a payment method management
+ page on your website.
+
+
If the selected payment method does not require any additional
+ steps from the customer, the SetupIntent will transition to the
+ succeeded status.
+
+
Otherwise, it will transition to the requires_action status and
+ suggest additional actions via next_action. If setup fails,
+ the SetupIntent will transition to the
+ requires_payment_method status.
+ operationId: PostSetupIntentsIntentVerifyMicrodeposits
+ parameters:
+ - in: path
+ name: intent
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ amounts:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ amounts:
+ description: Two positive integers, in *cents*, equal to the values of the microdeposits sent to the bank account.
+ items:
+ type: integer
+ type: array
+ client_secret:
+ description: The client secret of the SetupIntent.
+ maxLength: 5000
+ type: string
+ descriptor_code:
+ description: A six-character code starting with SM present in the microdeposit sent to the bank account.
+ maxLength: 5000
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/setup_intent"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/shipping_rates:
+ get:
+ description:
Returns a list of your shipping rates.
+ operationId: GetShippingRates
+ parameters:
+ - description: Only return shipping rates that are active or inactive.
+ in: query
+ name: active
+ required: false
+ schema:
+ type: boolean
+ style: form
+ - description: A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options.
+ explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: Only return shipping rates for the given currency.
+ in: query
+ name: currency
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/shipping_rate"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/shipping_rates
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: ShippingResourcesShippingRateList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Creates a new shipping rate object.
+ operationId: PostShippingRates
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ delivery_estimate:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ fixed_amount:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ delivery_estimate:
+ description: The estimated range for how long shipping will take, meant to be displayable to the customer. This will appear on CheckoutSessions.
+ properties:
+ maximum:
+ properties:
+ unit:
+ enum:
+ - business_day
+ - day
+ - hour
+ - month
+ - week
+ type: string
+ value:
+ type: integer
+ required:
+ - unit
+ - value
+ title: delivery_estimate_bound
+ type: object
+ minimum:
+ properties:
+ unit:
+ enum:
+ - business_day
+ - day
+ - hour
+ - month
+ - week
+ type: string
+ value:
+ type: integer
+ required:
+ - unit
+ - value
+ title: delivery_estimate_bound
+ type: object
+ title: delivery_estimate
+ type: object
+ display_name:
+ description: The name of the shipping rate, meant to be displayable to the customer. This will appear on CheckoutSessions.
+ maxLength: 100
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ fixed_amount:
+ description: Describes a fixed amount to charge for shipping. Must be present if type is `fixed_amount`.
+ properties:
+ amount:
+ type: integer
+ currency:
+ type: string
+ currency_options:
+ additionalProperties:
+ properties:
+ amount:
+ type: integer
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ required:
+ - amount
+ title: currency_option
+ type: object
+ type: object
+ required:
+ - amount
+ - currency
+ title: fixed_amount
+ type: object
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ tax_behavior:
+ description: Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`.
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ tax_code:
+ description: A [tax code](https://stripe.com/docs/tax/tax-categories) ID. The Shipping tax code is `txcd_92010001`.
+ type: string
+ type:
+ description: The type of calculation to use on the shipping rate. Can only be `fixed_amount` for now.
+ enum:
+ - fixed_amount
+ type: string
+ required:
+ - display_name
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/shipping_rate"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/shipping_rates/{shipping_rate_token}":
+ get:
+ description:
Returns the shipping rate object with the given ID.
+ operationId: PostShippingRatesShippingRateToken
+ parameters:
+ - in: path
+ name: shipping_rate_token
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ fixed_amount:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ active:
+ description: Whether the shipping rate can be used for new purchases. Defaults to `true`.
+ type: boolean
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ fixed_amount:
+ description: Describes a fixed amount to charge for shipping. Must be present if type is `fixed_amount`.
+ properties:
+ currency_options:
+ additionalProperties:
+ properties:
+ amount:
+ type: integer
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ title: currency_option_update
+ type: object
+ type: object
+ title: fixed_amount_update
+ type: object
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ tax_behavior:
+ description: Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`.
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/shipping_rate"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/sigma/scheduled_query_runs:
+ get:
+ description:
Returns a list of scheduled query runs.
+ operationId: GetSigmaScheduledQueryRuns
+ parameters:
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/scheduled_query_run"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/sigma/scheduled_query_runs
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: SigmaScheduledQueryRunList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/sigma/scheduled_query_runs/{scheduled_query_run}":
+ get:
+ description:
+ operationId: PostSources
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ mandate:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ owner:
+ explode: true
+ style: deepObject
+ receiver:
+ explode: true
+ style: deepObject
+ redirect:
+ explode: true
+ style: deepObject
+ source_order:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ amount:
+ description: Amount associated with the source. This is the amount for which the source will be chargeable once ready. Required for `single_use` sources. Not supported for `receiver` type sources, where charge amount may not be specified until funds land.
+ type: integer
+ currency:
+ description: Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) associated with the source. This is the currency for which the source will be chargeable once ready.
+ type: string
+ customer:
+ description: The `Customer` to whom the original source is attached to. Must be set when the original source is not a `Source` (e.g., `Card`).
+ maxLength: 500
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ flow:
+ description: The authentication `flow` of the source to create. `flow` is one of `redirect`, `receiver`, `code_verification`, `none`. It is generally inferred unless a type supports multiple flows.
+ enum:
+ - code_verification
+ - none
+ - receiver
+ - redirect
+ maxLength: 5000
+ type: string
+ mandate:
+ description: Information about a mandate possibility attached to a source object (generally for bank debits) as well as its acceptance status.
+ properties:
+ acceptance:
+ properties:
+ date:
+ format: unix-time
+ type: integer
+ ip:
+ type: string
+ offline:
+ properties:
+ contact_email:
+ type: string
+ required:
+ - contact_email
+ title: mandate_offline_acceptance_params
+ type: object
+ online:
+ properties:
+ date:
+ format: unix-time
+ type: integer
+ ip:
+ type: string
+ user_agent:
+ maxLength: 5000
+ type: string
+ title: mandate_online_acceptance_params
+ type: object
+ status:
+ enum:
+ - accepted
+ - pending
+ - refused
+ - revoked
+ maxLength: 5000
+ type: string
+ type:
+ enum:
+ - offline
+ - online
+ maxLength: 5000
+ type: string
+ user_agent:
+ maxLength: 5000
+ type: string
+ required:
+ - status
+ title: mandate_acceptance_params
+ type: object
+ amount:
+ anyOf:
+ - type: integer
+ - enum:
+ - ""
+ type: string
+ currency:
+ type: string
+ interval:
+ enum:
+ - one_time
+ - scheduled
+ - variable
+ maxLength: 5000
+ type: string
+ notification_method:
+ enum:
+ - deprecated_none
+ - email
+ - manual
+ - none
+ - stripe_email
+ maxLength: 5000
+ type: string
+ title: mandate_params
+ type: object
+ metadata:
+ additionalProperties:
+ type: string
+ type: object
+ original_source:
+ description: The source to share.
+ maxLength: 5000
+ type: string
+ owner:
+ description: Information about the owner of the payment instrument that may be used or required by particular source types.
+ properties:
+ address:
+ properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ title: source_address
+ type: object
+ email:
+ type: string
+ name:
+ maxLength: 5000
+ type: string
+ phone:
+ maxLength: 5000
+ type: string
+ title: owner
+ type: object
+ receiver:
+ description: Optional parameters for the receiver flow. Can be set only if the source is a receiver (`flow` is `receiver`).
+ properties:
+ refund_attributes_method:
+ enum:
+ - email
+ - manual
+ - none
+ maxLength: 5000
+ type: string
+ title: receiver_params
+ type: object
+ redirect:
+ description: Parameters required for the redirect flow. Required if the source is authenticated by a redirect (`flow` is `redirect`).
+ properties:
+ return_url:
+ type: string
+ required:
+ - return_url
+ title: redirect_params
+ type: object
+ source_order:
+ description: Information about the items and shipping associated with the source. Required for transactional credit (for example Klarna) sources before you can charge it.
+ properties:
+ items:
+ items:
+ properties:
+ amount:
+ type: integer
+ currency:
+ type: string
+ description:
+ maxLength: 1000
+ type: string
+ parent:
+ maxLength: 5000
+ type: string
+ quantity:
+ type: integer
+ type:
+ enum:
+ - discount
+ - shipping
+ - sku
+ - tax
+ maxLength: 5000
+ type: string
+ title: order_item_specs
+ type: object
+ type: array
+ shipping:
+ properties:
+ address:
+ properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ required:
+ - line1
+ title: address
+ type: object
+ carrier:
+ maxLength: 5000
+ type: string
+ name:
+ maxLength: 5000
+ type: string
+ phone:
+ maxLength: 5000
+ type: string
+ tracking_number:
+ maxLength: 5000
+ type: string
+ required:
+ - address
+ title: order_shipping
+ type: object
+ title: shallow_order_specs
+ type: object
+ statement_descriptor:
+ description: An arbitrary string to be displayed on your customer's statement. As an example, if your website is `RunClub` and the item you're charging for is a race ticket, you may want to specify a `statement_descriptor` of `RunClub 5K race ticket.` While many payment types will display this information, some may not display it at all.
+ maxLength: 5000
+ type: string
+ token:
+ description: An optional token used to create the source. When passed, token properties will override source parameters.
+ maxLength: 5000
+ type: string
+ type:
+ description: The `type` of the source to create. Required unless `customer` and `original_source` are specified (see the [Cloning card Sources](https://stripe.com/docs/sources/connect#cloning-card-sources) guide)
+ maxLength: 5000
+ type: string
+ usage:
+ enum:
+ - reusable
+ - single_use
+ maxLength: 5000
+ type: string
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/source"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/sources/{source}":
+ get:
+ description:
Retrieves an existing source object. Supply the unique source ID from a source creation request and Stripe will return the corresponding up-to-date source object information.
Updates the specified source by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
+
+
This request accepts the metadata and owner as arguments. It is also possible to update type specific information for selected payment methods. Please refer to our payment method guides for more detail.
+ operationId: GetSourcesSourceSourceTransactions
+ parameters:
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - in: path
+ name: source
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/source_transaction"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: ApmsSourcesSourceTransactionList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/sources/{source}/source_transactions/{source_transaction}":
+ get:
+ description:
Retrieve an existing source transaction object. Supply the unique source ID from a source creation request and the source transaction ID and Stripe will return the corresponding up-to-date source object information.
Returns a list of your subscription items for a given subscription.
+ operationId: GetSubscriptionItems
+ parameters:
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: The ID of the subscription whose items will be retrieved.
+ in: query
+ name: subscription
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/subscription_item"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/subscription_items
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: SubscriptionsItemsSubscriptionItemList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Adds a new item to an existing subscription. No existing items will be changed or replaced.
+ operationId: PostSubscriptionItems
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ billing_thresholds:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ price_data:
+ explode: true
+ style: deepObject
+ tax_rates:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ billing_thresholds:
+ anyOf:
+ - properties:
+ usage_gte:
+ type: integer
+ required:
+ - usage_gte
+ title: item_billing_thresholds_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. When updating, pass an empty string to remove previously-defined thresholds.
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ payment_behavior:
+ description: |-
+ Use `allow_incomplete` to transition the subscription to `status=past_due` if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior.
+
+ Use `default_incomplete` to transition the subscription to `status=past_due` when payment is required and await explicit confirmation of the invoice's payment intent. This allows simpler management of scenarios where additional user actions are needed to pay a subscription’s invoice. Such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method.
+
+ Use `pending_if_incomplete` to update the subscription using [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates). When you use `pending_if_incomplete` you can only pass the parameters [supported by pending updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes).
+
+ Use `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more.
+ enum:
+ - allow_incomplete
+ - default_incomplete
+ - error_if_incomplete
+ - pending_if_incomplete
+ type: string
+ price:
+ description: The ID of the price object.
+ maxLength: 5000
+ type: string
+ price_data:
+ description: Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline.
+ properties:
+ currency:
+ type: string
+ product:
+ maxLength: 5000
+ type: string
+ recurring:
+ properties:
+ interval:
+ enum:
+ - day
+ - month
+ - week
+ - year
+ type: string
+ interval_count:
+ type: integer
+ required:
+ - interval
+ title: recurring_adhoc
+ type: object
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ required:
+ - currency
+ - product
+ - recurring
+ title: recurring_price_data
+ type: object
+ proration_behavior:
+ description: Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`.
+ enum:
+ - always_invoice
+ - create_prorations
+ - none
+ type: string
+ proration_date:
+ description: If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply the same proration that was previewed with the [upcoming invoice](https://stripe.com/docs/api#retrieve_customer_invoice) endpoint.
+ format: unix-time
+ type: integer
+ quantity:
+ description: The quantity you'd like to apply to the subscription item you're creating.
+ type: integer
+ subscription:
+ description: The identifier of the subscription to modify.
+ maxLength: 5000
+ type: string
+ tax_rates:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ description: A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will override the [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates) on the Subscription. When updating, pass an empty string to remove previously-defined tax rates.
+ required:
+ - subscription
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/subscription_item"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/subscription_items/{item}":
+ delete:
+ description:
Deletes an item from the subscription. Removing a subscription item from a subscription will not cancel the subscription.
+ operationId: DeleteSubscriptionItemsItem
+ parameters:
+ - in: path
+ name: item
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties:
+ clear_usage:
+ description: Delete all usage for the given subscription item. Allowed only when the current plan's `usage_type` is `metered`.
+ type: boolean
+ proration_behavior:
+ description: Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`.
+ enum:
+ - always_invoice
+ - create_prorations
+ - none
+ type: string
+ proration_date:
+ description: If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply the same proration that was previewed with the [upcoming invoice](https://stripe.com/docs/api#retrieve_customer_invoice) endpoint.
+ format: unix-time
+ type: integer
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/deleted_subscription_item"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ get:
+ description:
Retrieves the subscription item with the given ID.
Updates the plan or quantity of an item on a current subscription.
+ operationId: PostSubscriptionItemsItem
+ parameters:
+ - in: path
+ name: item
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ billing_thresholds:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ price_data:
+ explode: true
+ style: deepObject
+ tax_rates:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ billing_thresholds:
+ anyOf:
+ - properties:
+ usage_gte:
+ type: integer
+ required:
+ - usage_gte
+ title: item_billing_thresholds_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. When updating, pass an empty string to remove previously-defined thresholds.
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ off_session:
+ description: Indicates if a customer is on or off-session while an invoice payment is attempted.
+ type: boolean
+ payment_behavior:
+ description: |-
+ Use `allow_incomplete` to transition the subscription to `status=past_due` if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior.
+
+ Use `default_incomplete` to transition the subscription to `status=past_due` when payment is required and await explicit confirmation of the invoice's payment intent. This allows simpler management of scenarios where additional user actions are needed to pay a subscription’s invoice. Such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method.
+
+ Use `pending_if_incomplete` to update the subscription using [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates). When you use `pending_if_incomplete` you can only pass the parameters [supported by pending updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes).
+
+ Use `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more.
+ enum:
+ - allow_incomplete
+ - default_incomplete
+ - error_if_incomplete
+ - pending_if_incomplete
+ type: string
+ price:
+ description: The ID of the price object. When changing a subscription item's price, `quantity` is set to 1 unless a `quantity` parameter is provided.
+ maxLength: 5000
+ type: string
+ price_data:
+ description: Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline.
+ properties:
+ currency:
+ type: string
+ product:
+ maxLength: 5000
+ type: string
+ recurring:
+ properties:
+ interval:
+ enum:
+ - day
+ - month
+ - week
+ - year
+ type: string
+ interval_count:
+ type: integer
+ required:
+ - interval
+ title: recurring_adhoc
+ type: object
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ required:
+ - currency
+ - product
+ - recurring
+ title: recurring_price_data
+ type: object
+ proration_behavior:
+ description: Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`.
+ enum:
+ - always_invoice
+ - create_prorations
+ - none
+ type: string
+ proration_date:
+ description: If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply the same proration that was previewed with the [upcoming invoice](https://stripe.com/docs/api#retrieve_customer_invoice) endpoint.
+ format: unix-time
+ type: integer
+ quantity:
+ description: The quantity you'd like to apply to the subscription item you're creating.
+ type: integer
+ tax_rates:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ description: A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will override the [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates) on the Subscription. When updating, pass an empty string to remove previously-defined tax rates.
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/subscription_item"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/subscription_items/{subscription_item}/usage_record_summaries":
+ get:
+ description: |-
+
For the specified subscription item, returns a list of summary objects. Each object in the list provides usage information that’s been summarized from multiple usage records and over a subscription billing period (e.g., 15 usage records in the month of September).
+
+
The list is sorted in reverse-chronological order (newest first). The first list item represents the most current usage period that hasn’t ended yet. Since new usage records can still be added, the returned summary information for the subscription item’s ID should be seen as unstable until the subscription billing period ends.
+ operationId: GetSubscriptionItemsSubscriptionItemUsageRecordSummaries
+ parameters:
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - in: path
+ name: subscription_item
+ required: true
+ schema:
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/usage_record_summary"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: UsageEventsResourceUsageRecordSummaryList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/subscription_items/{subscription_item}/usage_records":
+ post:
+ description: |-
+
Creates a usage record for a specified subscription item and date, and fills it with a quantity.
+
+
Usage records provide quantity information that Stripe uses to track how much a customer is using your service. With usage information and the pricing model set up by the metered billing plan, Stripe helps you send accurate invoices to your customers.
+
+
The default calculation for usage is to add up all the quantity values of the usage records within a billing period. You can change this default behavior with the billing plan’s aggregate_usageparameter. When there is more than one usage record with the same timestamp, Stripe adds the quantity values together. In most cases, this is the desired resolution, however, you can change this behavior with the action parameter.
+
+
The default pricing model for metered billing is per-unit pricing. For finer granularity, you can configure metered billing to have a tiered pricing model.
+ operationId: PostSubscriptionItemsSubscriptionItemUsageRecords
+ parameters:
+ - in: path
+ name: subscription_item
+ required: true
+ schema:
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ timestamp:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ action:
+ description: Valid values are `increment` (default) or `set`. When using `increment` the specified `quantity` will be added to the usage at the specified timestamp. The `set` action will overwrite the usage quantity at that timestamp. If the subscription has [billing thresholds](https://stripe.com/docs/api/subscriptions/object#subscription_object-billing_thresholds), `increment` is the only allowed value.
+ enum:
+ - increment
+ - set
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ quantity:
+ description: The usage quantity for the specified timestamp.
+ type: integer
+ timestamp:
+ anyOf:
+ - enum:
+ - now
+ maxLength: 5000
+ type: string
+ - type: integer
+ description: The timestamp for the usage event. This timestamp must be within the current billing period of the subscription of the provided `subscription_item`, and must not be in the future. When passing `"now"`, Stripe records usage for the current time. Default is `"now"` if a value is not provided.
+ required:
+ - quantity
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/usage_record"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/subscription_schedules:
+ get:
+ description:
Retrieves the list of your subscription schedules.
+ operationId: GetSubscriptionSchedules
+ parameters:
+ - description: Only return subscription schedules that were created canceled the given date interval.
+ explode: true
+ in: query
+ name: canceled_at
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: Only return subscription schedules that completed during the given date interval.
+ explode: true
+ in: query
+ name: completed_at
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: Only return subscription schedules that were created during the given date interval.
+ explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: Only return subscription schedules for the given customer.
+ in: query
+ name: customer
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: Only return subscription schedules that were released during the given date interval.
+ explode: true
+ in: query
+ name: released_at
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: Only return subscription schedules that have not started yet.
+ in: query
+ name: scheduled
+ required: false
+ schema:
+ type: boolean
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/subscription_schedule"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/subscription_schedules
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: SubscriptionSchedulesResourceScheduleList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Creates a new subscription schedule object. Each customer can have up to 500 active or scheduled subscriptions.
+ operationId: PostSubscriptionSchedules
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ default_settings:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ phases:
+ explode: true
+ style: deepObject
+ start_date:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ customer:
+ description: The identifier of the customer to create the subscription schedule for.
+ maxLength: 5000
+ type: string
+ default_settings:
+ description: Object representing the subscription schedule's default settings.
+ properties:
+ application_fee_percent:
+ type: number
+ automatic_tax:
+ properties:
+ enabled:
+ type: boolean
+ required:
+ - enabled
+ title: automatic_tax_config
+ type: object
+ billing_cycle_anchor:
+ enum:
+ - automatic
+ - phase_start
+ type: string
+ billing_thresholds:
+ anyOf:
+ - properties:
+ amount_gte:
+ type: integer
+ reset_billing_cycle_anchor:
+ type: boolean
+ title: billing_thresholds_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ collection_method:
+ enum:
+ - charge_automatically
+ - send_invoice
+ type: string
+ default_payment_method:
+ maxLength: 5000
+ type: string
+ description:
+ maxLength: 500
+ type: string
+ invoice_settings:
+ properties:
+ days_until_due:
+ type: integer
+ title: subscription_schedule_default_settings_param
+ type: object
+ on_behalf_of:
+ anyOf:
+ - type: string
+ - enum:
+ - ""
+ type: string
+ transfer_data:
+ anyOf:
+ - properties:
+ amount_percent:
+ type: number
+ destination:
+ type: string
+ required:
+ - destination
+ title: transfer_data_specs
+ type: object
+ - enum:
+ - ""
+ type: string
+ title: default_settings_params
+ type: object
+ end_behavior:
+ description: Behavior of the subscription schedule and underlying subscription when it ends. Possible values are `release` or `cancel` with the default being `release`. `release` will end the subscription schedule and keep the underlying subscription running.`cancel` will end the subscription schedule and cancel the underlying subscription.
+ enum:
+ - cancel
+ - none
+ - release
+ - renew
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ from_subscription:
+ description: Migrate an existing subscription to be managed by a subscription schedule. If this parameter is set, a subscription schedule will be created using the subscription's item(s), set to auto-renew using the subscription's interval. When using this parameter, other parameters (such as phase values) cannot be set. To create a subscription schedule with other modifications, we recommend making two separate API calls.
+ maxLength: 5000
+ type: string
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ phases:
+ description: List representing phases of the subscription schedule. Each phase can be customized to have different durations, plans, and coupons. If there are multiple phases, the `end_date` of one phase will always equal the `start_date` of the next phase.
+ items:
+ properties:
+ add_invoice_items:
+ items:
+ properties:
+ price:
+ maxLength: 5000
+ type: string
+ price_data:
+ properties:
+ currency:
+ type: string
+ product:
+ maxLength: 5000
+ type: string
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ required:
+ - currency
+ - product
+ title: one_time_price_data_with_negative_amounts
+ type: object
+ quantity:
+ type: integer
+ tax_rates:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ title: add_invoice_item_entry
+ type: object
+ type: array
+ application_fee_percent:
+ type: number
+ automatic_tax:
+ properties:
+ enabled:
+ type: boolean
+ required:
+ - enabled
+ title: automatic_tax_config
+ type: object
+ billing_cycle_anchor:
+ enum:
+ - automatic
+ - phase_start
+ type: string
+ billing_thresholds:
+ anyOf:
+ - properties:
+ amount_gte:
+ type: integer
+ reset_billing_cycle_anchor:
+ type: boolean
+ title: billing_thresholds_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ collection_method:
+ enum:
+ - charge_automatically
+ - send_invoice
+ type: string
+ coupon:
+ maxLength: 5000
+ type: string
+ currency:
+ type: string
+ default_payment_method:
+ maxLength: 5000
+ type: string
+ default_tax_rates:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ description:
+ maxLength: 500
+ type: string
+ end_date:
+ format: unix-time
+ type: integer
+ invoice_settings:
+ properties:
+ days_until_due:
+ type: integer
+ title: invoice_settings
+ type: object
+ items:
+ items:
+ properties:
+ billing_thresholds:
+ anyOf:
+ - properties:
+ usage_gte:
+ type: integer
+ required:
+ - usage_gte
+ title: item_billing_thresholds_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ metadata:
+ additionalProperties:
+ type: string
+ type: object
+ price:
+ maxLength: 5000
+ type: string
+ price_data:
+ properties:
+ currency:
+ type: string
+ product:
+ maxLength: 5000
+ type: string
+ recurring:
+ properties:
+ interval:
+ enum:
+ - day
+ - month
+ - week
+ - year
+ type: string
+ interval_count:
+ type: integer
+ required:
+ - interval
+ title: recurring_adhoc
+ type: object
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ required:
+ - currency
+ - product
+ - recurring
+ title: recurring_price_data
+ type: object
+ quantity:
+ type: integer
+ tax_rates:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ title: configuration_item_params
+ type: object
+ type: array
+ iterations:
+ type: integer
+ metadata:
+ additionalProperties:
+ type: string
+ type: object
+ on_behalf_of:
+ type: string
+ proration_behavior:
+ enum:
+ - always_invoice
+ - create_prorations
+ - none
+ type: string
+ transfer_data:
+ properties:
+ amount_percent:
+ type: number
+ destination:
+ type: string
+ required:
+ - destination
+ title: transfer_data_specs
+ type: object
+ trial:
+ type: boolean
+ trial_end:
+ format: unix-time
+ type: integer
+ required:
+ - items
+ title: phase_configuration_params
+ type: object
+ type: array
+ start_date:
+ anyOf:
+ - type: integer
+ - enum:
+ - now
+ maxLength: 5000
+ type: string
+ description: When the subscription schedule starts. We recommend using `now` so that it starts the subscription immediately. You can also use a Unix timestamp to backdate the subscription so that it starts on a past date, or set a future date for the subscription to start on.
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/subscription_schedule"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/subscription_schedules/{schedule}":
+ get:
+ description:
Retrieves the details of an existing subscription schedule. You only need to supply the unique subscription schedule identifier that was returned upon subscription schedule creation.
Cancels a subscription schedule and its associated subscription immediately (if the subscription schedule has an active subscription). A subscription schedule can only be canceled if its status is not_started or active.
+ operationId: PostSubscriptionSchedulesScheduleCancel
+ parameters:
+ - in: path
+ name: schedule
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ invoice_now:
+ description: If the subscription schedule is `active`, indicates if a final invoice will be generated that contains any un-invoiced metered usage and new/pending proration invoice items. Defaults to `true`.
+ type: boolean
+ prorate:
+ description: If the subscription schedule is `active`, indicates if the cancellation should be prorated. Defaults to `true`.
+ type: boolean
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/subscription_schedule"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/subscription_schedules/{schedule}/release":
+ post:
+ description:
Releases the subscription schedule immediately, which will stop scheduling of its phases, but leave any existing subscription in place. A schedule can only be released if its status is not_started or active. If the subscription schedule is currently associated with a subscription, releasing it will remove its subscription property and set the subscription’s ID to the released_subscription property.
By default, returns a list of subscriptions that have not been canceled. In order to list canceled subscriptions, specify status=canceled.
+ operationId: GetSubscriptions
+ parameters:
+ - description: The collection method of the subscriptions to retrieve. Either `charge_automatically` or `send_invoice`.
+ in: query
+ name: collection_method
+ required: false
+ schema:
+ enum:
+ - charge_automatically
+ - send_invoice
+ type: string
+ style: form
+ - explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - explode: true
+ in: query
+ name: current_period_end
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - explode: true
+ in: query
+ name: current_period_start
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: The ID of the customer whose subscriptions will be retrieved.
+ in: query
+ name: customer
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: Filter for subscriptions that contain this recurring price ID.
+ in: query
+ name: price
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: The status of the subscriptions to retrieve. Passing in a value of `canceled` will return all canceled subscriptions, including those belonging to deleted customers. Pass `ended` to find subscriptions that are canceled and subscriptions that are expired due to [incomplete payment](https://stripe.com/docs/billing/subscriptions/overview#subscription-statuses). Passing in a value of `all` will return subscriptions of all statuses. If no value is supplied, all subscriptions that have not been canceled are returned.
+ in: query
+ name: status
+ required: false
+ schema:
+ enum:
+ - active
+ - all
+ - canceled
+ - ended
+ - incomplete
+ - incomplete_expired
+ - past_due
+ - paused
+ - trialing
+ - unpaid
+ type: string
+ style: form
+ - description: Filter for subscriptions that are associated with the specified test clock. The response will not include subscriptions with test clocks if this and the customer parameter is not set.
+ in: query
+ name: test_clock
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/subscription"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/subscriptions
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: SubscriptionsSubscriptionList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description: |-
+
Creates a new subscription on an existing customer. Each customer can have up to 500 active or scheduled subscriptions.
+
+
When you create a subscription with collection_method=charge_automatically, the first invoice is finalized as part of the request.
+ The payment_behavior parameter determines the exact behavior of the initial payment.
+
+
To start subscriptions where the first invoice always begins in a draft status, use subscription schedules instead.
+ Schedules provide the flexibility to model more complex billing configurations that change over time.
+ operationId: PostSubscriptions
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ add_invoice_items:
+ explode: true
+ style: deepObject
+ automatic_tax:
+ explode: true
+ style: deepObject
+ billing_thresholds:
+ explode: true
+ style: deepObject
+ default_tax_rates:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ items:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ on_behalf_of:
+ explode: true
+ style: deepObject
+ payment_settings:
+ explode: true
+ style: deepObject
+ pending_invoice_item_interval:
+ explode: true
+ style: deepObject
+ transfer_data:
+ explode: true
+ style: deepObject
+ trial_end:
+ explode: true
+ style: deepObject
+ trial_settings:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ add_invoice_items:
+ description: A list of prices and quantities that will generate invoice items appended to the next invoice for this subscription. You may pass up to 20 items.
+ items:
+ properties:
+ price:
+ maxLength: 5000
+ type: string
+ price_data:
+ properties:
+ currency:
+ type: string
+ product:
+ maxLength: 5000
+ type: string
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ required:
+ - currency
+ - product
+ title: one_time_price_data_with_negative_amounts
+ type: object
+ quantity:
+ type: integer
+ tax_rates:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ title: add_invoice_item_entry
+ type: object
+ type: array
+ application_fee_percent:
+ description: A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions).
+ type: number
+ automatic_tax:
+ description: Automatic tax settings for this subscription. We recommend you only include this parameter when the existing value is being changed.
+ properties:
+ enabled:
+ type: boolean
+ required:
+ - enabled
+ title: automatic_tax_config
+ type: object
+ backdate_start_date:
+ description: For new subscriptions, a past timestamp to backdate the subscription's start date to. If set, the first invoice will contain a proration for the timespan between the start date and the current time. Can be combined with trials and the billing cycle anchor.
+ format: unix-time
+ type: integer
+ billing_cycle_anchor:
+ description: A future timestamp to anchor the subscription's [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle). This is used to determine the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. The timestamp is in UTC format.
+ format: unix-time
+ type: integer
+ x-stripeBypassValidation: true
+ billing_thresholds:
+ anyOf:
+ - properties:
+ amount_gte:
+ type: integer
+ reset_billing_cycle_anchor:
+ type: boolean
+ title: billing_thresholds_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds.
+ cancel_at:
+ description: A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period.
+ format: unix-time
+ type: integer
+ cancel_at_period_end:
+ description: Boolean indicating whether this subscription should cancel at the end of the current period.
+ type: boolean
+ collection_method:
+ description: Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`.
+ enum:
+ - charge_automatically
+ - send_invoice
+ type: string
+ coupon:
+ description: The ID of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription.
+ maxLength: 5000
+ type: string
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ customer:
+ description: The identifier of the customer to subscribe.
+ maxLength: 5000
+ type: string
+ days_until_due:
+ description: Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where `collection_method` is set to `send_invoice`.
+ type: integer
+ default_payment_method:
+ description: ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source).
+ maxLength: 5000
+ type: string
+ default_source:
+ description: ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source).
+ maxLength: 5000
+ type: string
+ default_tax_rates:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ description: The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription.
+ description:
+ description: The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces.
+ maxLength: 500
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ items:
+ description: A list of up to 20 subscription items, each with an attached price.
+ items:
+ properties:
+ billing_thresholds:
+ anyOf:
+ - properties:
+ usage_gte:
+ type: integer
+ required:
+ - usage_gte
+ title: item_billing_thresholds_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ metadata:
+ additionalProperties:
+ type: string
+ type: object
+ price:
+ maxLength: 5000
+ type: string
+ price_data:
+ properties:
+ currency:
+ type: string
+ product:
+ maxLength: 5000
+ type: string
+ recurring:
+ properties:
+ interval:
+ enum:
+ - day
+ - month
+ - week
+ - year
+ type: string
+ interval_count:
+ type: integer
+ required:
+ - interval
+ title: recurring_adhoc
+ type: object
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ required:
+ - currency
+ - product
+ - recurring
+ title: recurring_price_data
+ type: object
+ quantity:
+ type: integer
+ tax_rates:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ title: subscription_item_create_params
+ type: object
+ type: array
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ off_session:
+ description: Indicates if a customer is on or off-session while an invoice payment is attempted.
+ type: boolean
+ on_behalf_of:
+ anyOf:
+ - type: string
+ - enum:
+ - ""
+ type: string
+ description: The account on behalf of which to charge, for each of the subscription's invoices.
+ payment_behavior:
+ description: |-
+ Only applies to subscriptions with `collection_method=charge_automatically`.
+
+ Use `allow_incomplete` to create subscriptions with `status=incomplete` if the first invoice cannot be paid. Creating subscriptions with this status allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior.
+
+ Use `default_incomplete` to create Subscriptions with `status=incomplete` when the first invoice requires payment, otherwise start as active. Subscriptions transition to `status=active` when successfully confirming the payment intent on the first invoice. This allows simpler management of scenarios where additional user actions are needed to pay a subscription’s invoice. Such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method. If the payment intent is not confirmed within 23 hours subscriptions transition to `status=incomplete_expired`, which is a terminal state.
+
+ Use `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's first invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not create a subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more.
+
+ `pending_if_incomplete` is only used with updates and cannot be passed when creating a subscription.
+
+ Subscriptions with `collection_method=send_invoice` are automatically activated regardless of the first invoice status.
+ enum:
+ - allow_incomplete
+ - default_incomplete
+ - error_if_incomplete
+ - pending_if_incomplete
+ type: string
+ payment_settings:
+ description: Payment settings to pass to invoices created by the subscription.
+ properties:
+ payment_method_options:
+ properties:
+ acss_debit:
+ anyOf:
+ - properties:
+ mandate_options:
+ properties:
+ transaction_type:
+ enum:
+ - business
+ - personal
+ type: string
+ title: mandate_options_param
+ type: object
+ verification_method:
+ enum:
+ - automatic
+ - instant
+ - microdeposits
+ type: string
+ x-stripeBypassValidation: true
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ bancontact:
+ anyOf:
+ - properties:
+ preferred_language:
+ enum:
+ - de
+ - en
+ - fr
+ - nl
+ type: string
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ card:
+ anyOf:
+ - properties:
+ mandate_options:
+ properties:
+ amount:
+ type: integer
+ amount_type:
+ enum:
+ - fixed
+ - maximum
+ type: string
+ description:
+ maxLength: 200
+ type: string
+ title: mandate_options_param
+ type: object
+ network:
+ enum:
+ - amex
+ - cartes_bancaires
+ - diners
+ - discover
+ - interac
+ - jcb
+ - mastercard
+ - unionpay
+ - unknown
+ - visa
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ request_three_d_secure:
+ enum:
+ - any
+ - automatic
+ type: string
+ title: subscription_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ customer_balance:
+ anyOf:
+ - properties:
+ bank_transfer:
+ properties:
+ eu_bank_transfer:
+ properties:
+ country:
+ maxLength: 5000
+ type: string
+ required:
+ - country
+ title: eu_bank_transfer_param
+ type: object
+ type:
+ type: string
+ title: bank_transfer_param
+ type: object
+ funding_type:
+ type: string
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ konbini:
+ anyOf:
+ - properties: {}
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ us_bank_account:
+ anyOf:
+ - properties:
+ financial_connections:
+ properties:
+ permissions:
+ items:
+ enum:
+ - balances
+ - ownership
+ - payment_method
+ - transactions
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ type: array
+ title: invoice_linked_account_options_param
+ type: object
+ verification_method:
+ enum:
+ - automatic
+ - instant
+ - microdeposits
+ type: string
+ x-stripeBypassValidation: true
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ title: payment_method_options
+ type: object
+ payment_method_types:
+ anyOf:
+ - items:
+ enum:
+ - ach_credit_transfer
+ - ach_debit
+ - acss_debit
+ - au_becs_debit
+ - bacs_debit
+ - bancontact
+ - boleto
+ - card
+ - cashapp
+ - customer_balance
+ - fpx
+ - giropay
+ - grabpay
+ - ideal
+ - konbini
+ - link
+ - paynow
+ - promptpay
+ - sepa_debit
+ - sofort
+ - us_bank_account
+ - wechat_pay
+ type: string
+ x-stripeBypassValidation: true
+ type: array
+ - enum:
+ - ""
+ type: string
+ save_default_payment_method:
+ enum:
+ - off
+ - on_subscription
+ type: string
+ title: payment_settings
+ type: object
+ pending_invoice_item_interval:
+ anyOf:
+ - properties:
+ interval:
+ enum:
+ - day
+ - month
+ - week
+ - year
+ type: string
+ interval_count:
+ type: integer
+ required:
+ - interval
+ title: pending_invoice_item_interval_params
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval.
+ promotion_code:
+ description: The API ID of a promotion code to apply to this subscription. A promotion code applied to a subscription will only affect invoices created for that particular subscription.
+ maxLength: 5000
+ type: string
+ proration_behavior:
+ description: Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) resulting from the `billing_cycle_anchor`. If no value is passed, the default is `create_prorations`.
+ enum:
+ - always_invoice
+ - create_prorations
+ - none
+ type: string
+ transfer_data:
+ description: If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges.
+ properties:
+ amount_percent:
+ type: number
+ destination:
+ type: string
+ required:
+ - destination
+ title: transfer_data_specs
+ type: object
+ trial_end:
+ anyOf:
+ - enum:
+ - now
+ maxLength: 5000
+ type: string
+ - format: unix-time
+ type: integer
+ description: Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately. Can be at most two years from `billing_cycle_anchor`. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more.
+ trial_from_plan:
+ description: Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more.
+ type: boolean
+ trial_period_days:
+ description: Integer representing the number of trial period days before the customer is charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more.
+ type: integer
+ trial_settings:
+ description: Settings related to subscription trials.
+ properties:
+ end_behavior:
+ properties:
+ missing_payment_method:
+ enum:
+ - cancel
+ - create_invoice
+ - pause
+ type: string
+ required:
+ - missing_payment_method
+ title: end_behavior
+ type: object
+ required:
+ - end_behavior
+ title: trial_settings_config
+ type: object
+ required:
+ - customer
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/subscription"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/subscriptions/search:
+ get:
+ description: |-
+
Search for subscriptions you’ve previously created using Stripe’s Search Query Language.
+ Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating
+ conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up
+ to an hour behind during outages. Search functionality is not available to merchants in India.
+ operationId: GetSubscriptionsSearch
+ parameters:
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results.
+ in: query
+ name: page
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for subscriptions](https://stripe.com/docs/search#query-fields-for-subscriptions).
+ in: query
+ name: query
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/subscription"
+ type: array
+ has_more:
+ type: boolean
+ next_page:
+ maxLength: 5000
+ nullable: true
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - search_result
+ type: string
+ total_count:
+ description: The total number of objects that match the query, only accurate up to 10,000.
+ type: integer
+ url:
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: SearchResult
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/subscriptions/{subscription_exposed_id}":
+ delete:
+ description: |-
+
Cancels a customer’s subscription immediately. The customer will not be charged again for the subscription.
+
+
Note, however, that any pending invoice items that you’ve created will still be charged for at the end of the period, unless manually deleted. If you’ve set the subscription to cancel at the end of the period, any pending prorations will also be left in place and collected at the end of the period. But if the subscription is set to cancel immediately, pending prorations will be removed.
+
+
By default, upon subscription cancellation, Stripe will stop automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can resume automatic collection of the invoices manually after subscription cancellation to have us proceed. Or, you could check for unpaid invoices before allowing the customer to cancel the subscription at all.
Updates an existing subscription on a customer to match the specified parameters. When changing plans or quantities, we will optionally prorate the price we charge next month to make up for any price changes. To preview how the proration will be calculated, use the upcoming invoice endpoint.
+ operationId: PostSubscriptionsSubscriptionExposedId
+ parameters:
+ - in: path
+ name: subscription_exposed_id
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ add_invoice_items:
+ explode: true
+ style: deepObject
+ automatic_tax:
+ explode: true
+ style: deepObject
+ billing_thresholds:
+ explode: true
+ style: deepObject
+ cancel_at:
+ explode: true
+ style: deepObject
+ cancellation_details:
+ explode: true
+ style: deepObject
+ default_tax_rates:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ items:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ on_behalf_of:
+ explode: true
+ style: deepObject
+ pause_collection:
+ explode: true
+ style: deepObject
+ payment_settings:
+ explode: true
+ style: deepObject
+ pending_invoice_item_interval:
+ explode: true
+ style: deepObject
+ transfer_data:
+ explode: true
+ style: deepObject
+ trial_end:
+ explode: true
+ style: deepObject
+ trial_settings:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ add_invoice_items:
+ description: A list of prices and quantities that will generate invoice items appended to the next invoice for this subscription. You may pass up to 20 items.
+ items:
+ properties:
+ price:
+ maxLength: 5000
+ type: string
+ price_data:
+ properties:
+ currency:
+ type: string
+ product:
+ maxLength: 5000
+ type: string
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ required:
+ - currency
+ - product
+ title: one_time_price_data_with_negative_amounts
+ type: object
+ quantity:
+ type: integer
+ tax_rates:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ title: add_invoice_item_entry
+ type: object
+ type: array
+ application_fee_percent:
+ description: A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions).
+ type: number
+ automatic_tax:
+ description: Automatic tax settings for this subscription. We recommend you only include this parameter when the existing value is being changed.
+ properties:
+ enabled:
+ type: boolean
+ required:
+ - enabled
+ title: automatic_tax_config
+ type: object
+ billing_cycle_anchor:
+ description: Either `now` or `unchanged`. Setting the value to `now` resets the subscription's billing cycle anchor to the current time (in UTC). For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle).
+ enum:
+ - now
+ - unchanged
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ billing_thresholds:
+ anyOf:
+ - properties:
+ amount_gte:
+ type: integer
+ reset_billing_cycle_anchor:
+ type: boolean
+ title: billing_thresholds_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds.
+ cancel_at:
+ anyOf:
+ - format: unix-time
+ type: integer
+ - enum:
+ - ""
+ type: string
+ description: A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period.
+ cancel_at_period_end:
+ description: Boolean indicating whether this subscription should cancel at the end of the current period.
+ type: boolean
+ cancellation_details:
+ description: Details about why this subscription was cancelled
+ properties:
+ comment:
+ maxLength: 5000
+ type: string
+ feedback:
+ enum:
+ - ""
+ - customer_service
+ - low_quality
+ - missing_features
+ - other
+ - switched_service
+ - too_complex
+ - too_expensive
+ - unused
+ type: string
+ title: cancellation_details_param
+ type: object
+ collection_method:
+ description: Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`.
+ enum:
+ - charge_automatically
+ - send_invoice
+ type: string
+ coupon:
+ description: The ID of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription.
+ maxLength: 5000
+ type: string
+ days_until_due:
+ description: Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where `collection_method` is set to `send_invoice`.
+ type: integer
+ default_payment_method:
+ description: ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source).
+ maxLength: 5000
+ type: string
+ default_source:
+ description: ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source).
+ maxLength: 5000
+ type: string
+ default_tax_rates:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ description: The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription. Pass an empty string to remove previously-defined tax rates.
+ description:
+ description: The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces.
+ maxLength: 500
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ items:
+ description: A list of up to 20 subscription items, each with an attached price.
+ items:
+ properties:
+ billing_thresholds:
+ anyOf:
+ - properties:
+ usage_gte:
+ type: integer
+ required:
+ - usage_gte
+ title: item_billing_thresholds_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ clear_usage:
+ type: boolean
+ deleted:
+ type: boolean
+ id:
+ maxLength: 5000
+ type: string
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ price:
+ maxLength: 5000
+ type: string
+ price_data:
+ properties:
+ currency:
+ type: string
+ product:
+ maxLength: 5000
+ type: string
+ recurring:
+ properties:
+ interval:
+ enum:
+ - day
+ - month
+ - week
+ - year
+ type: string
+ interval_count:
+ type: integer
+ required:
+ - interval
+ title: recurring_adhoc
+ type: object
+ tax_behavior:
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ unit_amount:
+ type: integer
+ unit_amount_decimal:
+ format: decimal
+ type: string
+ required:
+ - currency
+ - product
+ - recurring
+ title: recurring_price_data
+ type: object
+ quantity:
+ type: integer
+ tax_rates:
+ anyOf:
+ - items:
+ maxLength: 5000
+ type: string
+ type: array
+ - enum:
+ - ""
+ type: string
+ title: subscription_item_update_params
+ type: object
+ type: array
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ off_session:
+ description: Indicates if a customer is on or off-session while an invoice payment is attempted.
+ type: boolean
+ on_behalf_of:
+ anyOf:
+ - type: string
+ - enum:
+ - ""
+ type: string
+ description: The account on behalf of which to charge, for each of the subscription's invoices.
+ pause_collection:
+ anyOf:
+ - properties:
+ behavior:
+ enum:
+ - keep_as_draft
+ - mark_uncollectible
+ - void
+ type: string
+ resumes_at:
+ format: unix-time
+ type: integer
+ required:
+ - behavior
+ title: pause_collection_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: If specified, payment collection for this subscription will be paused.
+ payment_behavior:
+ description: |-
+ Use `allow_incomplete` to transition the subscription to `status=past_due` if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior.
+
+ Use `default_incomplete` to transition the subscription to `status=past_due` when payment is required and await explicit confirmation of the invoice's payment intent. This allows simpler management of scenarios where additional user actions are needed to pay a subscription’s invoice. Such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method.
+
+ Use `pending_if_incomplete` to update the subscription using [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates). When you use `pending_if_incomplete` you can only pass the parameters [supported by pending updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes).
+
+ Use `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more.
+ enum:
+ - allow_incomplete
+ - default_incomplete
+ - error_if_incomplete
+ - pending_if_incomplete
+ type: string
+ payment_settings:
+ description: Payment settings to pass to invoices created by the subscription.
+ properties:
+ payment_method_options:
+ properties:
+ acss_debit:
+ anyOf:
+ - properties:
+ mandate_options:
+ properties:
+ transaction_type:
+ enum:
+ - business
+ - personal
+ type: string
+ title: mandate_options_param
+ type: object
+ verification_method:
+ enum:
+ - automatic
+ - instant
+ - microdeposits
+ type: string
+ x-stripeBypassValidation: true
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ bancontact:
+ anyOf:
+ - properties:
+ preferred_language:
+ enum:
+ - de
+ - en
+ - fr
+ - nl
+ type: string
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ card:
+ anyOf:
+ - properties:
+ mandate_options:
+ properties:
+ amount:
+ type: integer
+ amount_type:
+ enum:
+ - fixed
+ - maximum
+ type: string
+ description:
+ maxLength: 200
+ type: string
+ title: mandate_options_param
+ type: object
+ network:
+ enum:
+ - amex
+ - cartes_bancaires
+ - diners
+ - discover
+ - interac
+ - jcb
+ - mastercard
+ - unionpay
+ - unknown
+ - visa
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ request_three_d_secure:
+ enum:
+ - any
+ - automatic
+ type: string
+ title: subscription_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ customer_balance:
+ anyOf:
+ - properties:
+ bank_transfer:
+ properties:
+ eu_bank_transfer:
+ properties:
+ country:
+ maxLength: 5000
+ type: string
+ required:
+ - country
+ title: eu_bank_transfer_param
+ type: object
+ type:
+ type: string
+ title: bank_transfer_param
+ type: object
+ funding_type:
+ type: string
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ konbini:
+ anyOf:
+ - properties: {}
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ us_bank_account:
+ anyOf:
+ - properties:
+ financial_connections:
+ properties:
+ permissions:
+ items:
+ enum:
+ - balances
+ - ownership
+ - payment_method
+ - transactions
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ type: array
+ title: invoice_linked_account_options_param
+ type: object
+ verification_method:
+ enum:
+ - automatic
+ - instant
+ - microdeposits
+ type: string
+ x-stripeBypassValidation: true
+ title: invoice_payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ title: payment_method_options
+ type: object
+ payment_method_types:
+ anyOf:
+ - items:
+ enum:
+ - ach_credit_transfer
+ - ach_debit
+ - acss_debit
+ - au_becs_debit
+ - bacs_debit
+ - bancontact
+ - boleto
+ - card
+ - cashapp
+ - customer_balance
+ - fpx
+ - giropay
+ - grabpay
+ - ideal
+ - konbini
+ - link
+ - paynow
+ - promptpay
+ - sepa_debit
+ - sofort
+ - us_bank_account
+ - wechat_pay
+ type: string
+ x-stripeBypassValidation: true
+ type: array
+ - enum:
+ - ""
+ type: string
+ save_default_payment_method:
+ enum:
+ - off
+ - on_subscription
+ type: string
+ title: payment_settings
+ type: object
+ pending_invoice_item_interval:
+ anyOf:
+ - properties:
+ interval:
+ enum:
+ - day
+ - month
+ - week
+ - year
+ type: string
+ interval_count:
+ type: integer
+ required:
+ - interval
+ title: pending_invoice_item_interval_params
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval.
+ promotion_code:
+ description: The promotion code to apply to this subscription. A promotion code applied to a subscription will only affect invoices created for that particular subscription.
+ maxLength: 5000
+ type: string
+ proration_behavior:
+ description: Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`.
+ enum:
+ - always_invoice
+ - create_prorations
+ - none
+ type: string
+ proration_date:
+ description: If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply exactly the same proration that was previewed with [upcoming invoice](https://stripe.com/docs/api#retrieve_customer_invoice) endpoint. It can also be used to implement custom proration logic, such as prorating by day instead of by second, by providing the time that you wish to use for proration calculations.
+ format: unix-time
+ type: integer
+ transfer_data:
+ anyOf:
+ - properties:
+ amount_percent:
+ type: number
+ destination:
+ type: string
+ required:
+ - destination
+ title: transfer_data_specs
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges. This will be unset if you POST an empty value.
+ trial_end:
+ anyOf:
+ - enum:
+ - now
+ maxLength: 5000
+ type: string
+ - format: unix-time
+ type: integer
+ description: Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately. Can be at most two years from `billing_cycle_anchor`.
+ trial_from_plan:
+ description: Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more.
+ type: boolean
+ trial_settings:
+ description: Settings related to subscription trials.
+ properties:
+ end_behavior:
+ properties:
+ missing_payment_method:
+ enum:
+ - cancel
+ - create_invoice
+ - pause
+ type: string
+ required:
+ - missing_payment_method
+ title: end_behavior
+ type: object
+ required:
+ - end_behavior
+ title: trial_settings_config
+ type: object
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/subscription"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/subscriptions/{subscription_exposed_id}/discount":
+ delete:
+ description:
Removes the currently applied discount on a subscription.
Initiates resumption of a paused subscription, optionally resetting the billing cycle anchor and creating prorations. If a resumption invoice is generated, it must be paid or marked uncollectible before the subscription will be unpaused. If payment succeeds the subscription will become active, and if payment fails the subscription will be past_due. The resumption invoice will void automatically if not paid by the expiration date.
+ operationId: PostSubscriptionsSubscriptionResume
+ parameters:
+ - in: path
+ name: subscription
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ billing_cycle_anchor:
+ description: Either `now` or `unchanged`. Setting the value to `now` resets the subscription's billing cycle anchor to the current time (in UTC). Setting the value to `unchanged` advances the subscription's billing cycle anchor to the period that surrounds the current time. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle).
+ enum:
+ - now
+ - unchanged
+ maxLength: 5000
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ proration_behavior:
+ description: Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`.
+ enum:
+ - always_invoice
+ - create_prorations
+ - none
+ type: string
+ proration_date:
+ description: If set, the proration will be calculated as though the subscription was resumed at the given time. This can be used to apply exactly the same proration that was previewed with [upcoming invoice](https://stripe.com/docs/api#retrieve_customer_invoice) endpoint.
+ format: unix-time
+ type: integer
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/subscription"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/tax/calculations:
+ post:
+ description:
Calculates tax based on input and returns a Tax Calculation object.
Retrieves the line items of a persisted tax calculation as a collection.
+ operationId: GetTaxCalculationsCalculationLineItems
+ parameters:
+ - in: path
+ name: calculation
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 500
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 500
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/tax.calculation_line_item"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/tax/calculations/:id/line_items
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: TaxProductResourceTaxCalculationLineItemList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/tax/transactions/create_from_calculation:
+ post:
+ description:
Creates a Tax Transaction from a calculation.
+ operationId: PostTaxTransactionsCreateFromCalculation
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ calculation:
+ description: Tax Calculation ID to be used as input when creating the transaction.
+ maxLength: 5000
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ reference:
+ description: A custom order or sale identifier, such as 'myOrder_123'. Must be unique across all transactions, including reversals.
+ maxLength: 500
+ type: string
+ required:
+ - calculation
+ - reference
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/tax.transaction"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/tax/transactions/create_reversal:
+ post:
+ description:
Partially or fully reverses a previously created Transaction.
+ operationId: PostTaxTransactionsCreateReversal
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ line_items:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ shipping_cost:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ line_items:
+ description: The line item amounts to reverse.
+ items:
+ properties:
+ amount:
+ type: integer
+ amount_tax:
+ type: integer
+ metadata:
+ additionalProperties:
+ type: string
+ type: object
+ original_line_item:
+ maxLength: 5000
+ type: string
+ quantity:
+ type: integer
+ reference:
+ maxLength: 500
+ type: string
+ required:
+ - amount
+ - amount_tax
+ - original_line_item
+ - reference
+ title: transaction_line_item_reversal
+ type: object
+ type: array
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ mode:
+ description: If `partial`, the provided line item or shipping cost amounts are reversed. If `full`, the original transaction is fully reversed.
+ enum:
+ - full
+ - partial
+ type: string
+ original_transaction:
+ description: The ID of the Transaction to partially or fully reverse.
+ maxLength: 5000
+ type: string
+ reference:
+ description: A custom identifier for this reversal, such as 'myOrder_123-refund_1', which must be unique across all transactions. The reference helps identify this reversal transaction in exported [tax reports](https://stripe.com/docs/tax/reports).
+ maxLength: 500
+ type: string
+ shipping_cost:
+ description: The shipping cost to reverse.
+ properties:
+ amount:
+ type: integer
+ amount_tax:
+ type: integer
+ required:
+ - amount
+ - amount_tax
+ title: transaction_shipping_cost_reversal
+ type: object
+ required:
+ - mode
+ - original_transaction
+ - reference
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/tax.transaction"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/tax/transactions/{transaction}":
+ get:
+ description:
Retrieves the line items of a committed standalone transaction as a collection.
+ operationId: GetTaxTransactionsTransactionLineItems
+ parameters:
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 500
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 500
+ type: string
+ style: form
+ - in: path
+ name: transaction
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/tax.transaction_line_item"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/tax/transactions/:id/line_items
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: TaxProductResourceTaxTransactionLineItemList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/tax_codes:
+ get:
+ description:
A list of all tax codes available to add to Products in order to allow specific tax calculations.
+ operationId: GetTaxCodes
+ parameters:
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/tax_code"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: TaxProductResourceTaxCodeList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/tax_codes/{id}":
+ get:
+ description:
Retrieves the details of an existing tax code. Supply the unique tax code ID and Stripe will return the corresponding tax code information.
Returns a list of your tax rates. Tax rates are returned sorted by creation date, with the most recently created tax rates appearing first.
+ operationId: GetTaxRates
+ parameters:
+ - description: Optional flag to filter by tax rates that are either active or inactive (archived).
+ in: query
+ name: active
+ required: false
+ schema:
+ type: boolean
+ style: form
+ - description: Optional range for filtering created date.
+ explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: Optional flag to filter by tax rates that are inclusive (or those that are not inclusive).
+ in: query
+ name: inclusive
+ required: false
+ schema:
+ type: boolean
+ style: form
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/tax_rate"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/tax_rates
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: TaxRatesList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Creates a new tax rate.
+ operationId: PostTaxRates
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ active:
+ description: Flag determining whether the tax rate is active or inactive (archived). Inactive tax rates cannot be used with new applications or Checkout Sessions, but will still work for subscriptions and invoices that already have it set.
+ type: boolean
+ country:
+ description: Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
+ maxLength: 5000
+ type: string
+ description:
+ description: An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers.
+ maxLength: 5000
+ type: string
+ display_name:
+ description: The display name of the tax rate, which will be shown to users.
+ maxLength: 50
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ inclusive:
+ description: This specifies if the tax rate is inclusive or exclusive.
+ type: boolean
+ jurisdiction:
+ description: The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer’s invoice.
+ maxLength: 50
+ type: string
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ percentage:
+ description: This represents the tax rate percent out of 100.
+ type: number
+ state:
+ description: '[ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2:US), without country prefix. For example, "NY" for New York, United States.'
+ maxLength: 2
+ type: string
+ tax_type:
+ description: The high-level tax type, such as `vat` or `sales_tax`.
+ enum:
+ - gst
+ - hst
+ - igst
+ - jct
+ - lease_tax
+ - pst
+ - qst
+ - rst
+ - sales_tax
+ - vat
+ type: string
+ required:
+ - display_name
+ - inclusive
+ - percentage
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/tax_rate"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/tax_rates/{tax_rate}":
+ get:
+ description:
+ operationId: PostTaxRatesTaxRate
+ parameters:
+ - in: path
+ name: tax_rate
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ active:
+ description: Flag determining whether the tax rate is active or inactive (archived). Inactive tax rates cannot be used with new applications or Checkout Sessions, but will still work for subscriptions and invoices that already have it set.
+ type: boolean
+ country:
+ description: Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
+ maxLength: 5000
+ type: string
+ description:
+ description: An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers.
+ maxLength: 5000
+ type: string
+ display_name:
+ description: The display name of the tax rate, which will be shown to users.
+ maxLength: 50
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ jurisdiction:
+ description: The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer’s invoice.
+ maxLength: 50
+ type: string
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ state:
+ description: '[ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2:US), without country prefix. For example, "NY" for New York, United States.'
+ maxLength: 2
+ type: string
+ tax_type:
+ description: The high-level tax type, such as `vat` or `sales_tax`.
+ enum:
+ - gst
+ - hst
+ - igst
+ - jct
+ - lease_tax
+ - pst
+ - qst
+ - rst
+ - sales_tax
+ - vat
+ type: string
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/tax_rate"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/terminal/configurations:
+ get:
+ description:
Returns a list of Configuration objects.
+ operationId: GetTerminalConfigurations
+ parameters:
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: if present, only return the account default or non-default configurations.
+ in: query
+ name: is_account_default
+ required: false
+ schema:
+ type: boolean
+ style: form
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/terminal.configuration"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/terminal/configurations
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: TerminalConfigurationConfigurationList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
To connect to a reader the Stripe Terminal SDK needs to retrieve a short-lived connection token from Stripe, proxied through your server. On your backend, add an endpoint that creates and returns a connection token.
+ operationId: PostTerminalConnectionTokens
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ location:
+ description: The id of the location that this connection token is scoped to. If specified the connection token will only be usable with readers assigned to that location, otherwise the connection token will be usable with all readers. Note that location scoping only applies to internet-connected readers. For more details, see [the docs on scoping connection tokens](https://stripe.com/docs/terminal/fleet/locations#connection-tokens).
+ maxLength: 5000
+ type: string
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/terminal.connection_token"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/terminal/locations:
+ get:
+ description:
Returns a list of Location objects.
+ operationId: GetTerminalLocations
+ parameters:
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/terminal.location"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/terminal/locations
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: TerminalLocationLocationList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description: |-
+
Creates a new Location object.
+ For further details, including which address fields are required in each country, see the Manage locations guide.
+ operationId: PostTerminalLocations
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ address:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ address:
+ description: The full address of the location.
+ properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ required:
+ - country
+ title: create_location_address_param
+ type: object
+ configuration_overrides:
+ description: The ID of a configuration that will be used to customize all readers in this location.
+ maxLength: 1000
+ type: string
+ display_name:
+ description: A name for the location.
+ maxLength: 1000
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ required:
+ - address
+ - display_name
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/terminal.location"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/terminal/locations/{location}":
+ delete:
+ description:
Updates a Location object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
+ operationId: PostTerminalLocationsLocation
+ parameters:
+ - in: path
+ name: location
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ address:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ address:
+ description: The full address of the location.
+ properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ title: optional_fields_address
+ type: object
+ configuration_overrides:
+ description: The ID of a configuration that will be used to customize all readers in this location.
+ maxLength: 1000
+ type: string
+ display_name:
+ description: A name for the location.
+ maxLength: 1000
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ anyOf:
+ - $ref: "#/components/schemas/terminal.location"
+ - $ref: "#/components/schemas/deleted_terminal.location"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/terminal/readers:
+ get:
+ description:
Returns a list of Reader objects.
+ operationId: GetTerminalReaders
+ parameters:
+ - description: Filters readers by device type
+ in: query
+ name: device_type
+ required: false
+ schema:
+ enum:
+ - bbpos_chipper2x
+ - bbpos_wisepad3
+ - bbpos_wisepos_e
+ - simulated_wisepos_e
+ - stripe_m2
+ - verifone_P400
+ type: string
+ x-stripeBypassValidation: true
+ style: form
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A location ID to filter the response list to only readers at the specific location
+ in: query
+ name: location
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A status filter to filter readers to only offline or online readers
+ in: query
+ name: status
+ required: false
+ schema:
+ enum:
+ - offline
+ - online
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: A list of readers
+ items:
+ $ref: "#/components/schemas/terminal.reader"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: TerminalReaderRetrieveReader
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Creates a new Reader object.
+ operationId: PostTerminalReaders
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ label:
+ description: Custom label given to the reader for easier identification. If no label is specified, the registration code will be used.
+ maxLength: 5000
+ type: string
+ location:
+ description: The location to assign the reader to.
+ maxLength: 5000
+ type: string
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ registration_code:
+ description: A code generated by the reader used for registering to an account.
+ maxLength: 5000
+ type: string
+ required:
+ - registration_code
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/terminal.reader"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/terminal/readers/{reader}":
+ delete:
+ description:
+ operationId: PostTerminalReadersReaderRefundPayment
+ parameters:
+ - in: path
+ name: reader
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ amount:
+ description: A positive integer in __cents__ representing how much of this charge to refund.
+ type: integer
+ charge:
+ description: ID of the Charge to refund.
+ maxLength: 5000
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ payment_intent:
+ description: ID of the PaymentIntent to refund.
+ maxLength: 5000
+ type: string
+ refund_application_fee:
+ description: Boolean indicating whether the application fee should be refunded when refunding this charge. If a full charge refund is given, the full application fee will be refunded. Otherwise, the application fee will be refunded in an amount proportional to the amount of the charge refunded. An application fee can be refunded only by the application that created the charge.
+ type: boolean
+ reverse_transfer:
+ description: Boolean indicating whether the transfer should be reversed when refunding this charge. The transfer will be reversed proportionally to the amount being refunded (either the entire or partial amount). A transfer can be reversed only by the application that created the charge.
+ type: boolean
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/terminal.reader"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/terminal/readers/{reader}/set_reader_display":
+ post:
+ description:
+ operationId: PostTestHelpersCustomersCustomerFundCashBalance
+ parameters:
+ - in: path
+ name: customer
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ amount:
+ description: Amount to be used for this test cash balance transaction. A positive integer representing how much to fund in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to fund $1.00 or 100 to fund ¥100, a zero-decimal currency).
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ reference:
+ description: A description of the test funding. This simulates free-text references supplied by customers when making bank transfers to their cash balance. You can use this to test how Stripe's [reconciliation algorithm](https://stripe.com/docs/payments/customer-balance/reconciliation) applies to different user inputs.
+ maxLength: 5000
+ type: string
+ required:
+ - amount
+ - currency
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/customer_cash_balance_transaction"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/test_helpers/issuing/cards/{card}/shipping/deliver":
+ post:
+ description:
Updates the shipping status of the specified Issuing Card object to delivered.
+ operationId: GetTestHelpersTestClocks
+ parameters:
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/test_helpers.test_clock"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/test_helpers/test_clocks
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: BillingClocksResourceBillingClockList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Creates a new test clock that can be attached to new customers and quotes.
+ operationId: PostTestHelpersTestClocks
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ frozen_time:
+ description: The initial frozen time for this test clock.
+ format: unix-time
+ type: integer
+ name:
+ description: The name for this test clock.
+ maxLength: 300
+ type: string
+ required:
+ - frozen_time
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/test_helpers.test_clock"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/test_helpers/test_clocks/{test_clock}":
+ delete:
+ description:
Starts advancing a test clock to a specified time in the future. Advancement is done when status changes to Ready.
+ operationId: PostTestHelpersTestClocksTestClockAdvance
+ parameters:
+ - in: path
+ name: test_clock
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ frozen_time:
+ description: The time to advance the test clock. Must be after the test clock's current frozen time. Cannot be more than two intervals in the future from the shortest subscription in this test clock. If there are no subscriptions in this test clock, it cannot be more than two years in the future.
+ format: unix-time
+ type: integer
+ required:
+ - frozen_time
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/test_helpers.test_clock"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/test_helpers/treasury/inbound_transfers/{id}/fail":
+ post:
+ description:
Transitions a test mode created InboundTransfer to the failed status. The InboundTransfer must already be in the processing state.
Marks the test mode InboundTransfer object as returned and links the InboundTransfer to a ReceivedDebit. The InboundTransfer must already be in the succeeded state.
Use this endpoint to simulate a test mode ReceivedCredit initiated by a third party. In live mode, you can’t directly create ReceivedCredits initiated by third parties.
+ operationId: PostTestHelpersTreasuryReceivedCredits
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ initiating_payment_method_details:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ amount:
+ description: Amount (in cents) to be transferred.
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 5000
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ financial_account:
+ description: The FinancialAccount to send funds to.
+ type: string
+ initiating_payment_method_details:
+ description: Initiating payment method details for the object.
+ properties:
+ type:
+ enum:
+ - us_bank_account
+ type: string
+ us_bank_account:
+ properties:
+ account_holder_name:
+ maxLength: 5000
+ type: string
+ account_number:
+ maxLength: 5000
+ type: string
+ routing_number:
+ maxLength: 5000
+ type: string
+ title: us_bank_account_source_params
+ type: object
+ required:
+ - type
+ title: source_params
+ type: object
+ network:
+ description: The rails used for the object.
+ enum:
+ - ach
+ - us_domestic_wire
+ type: string
+ required:
+ - amount
+ - currency
+ - financial_account
+ - network
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/treasury.received_credit"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/test_helpers/treasury/received_debits:
+ post:
+ description:
Use this endpoint to simulate a test mode ReceivedDebit initiated by a third party. In live mode, you can’t directly create ReceivedDebits initiated by third parties.
+ operationId: PostTestHelpersTreasuryReceivedDebits
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ initiating_payment_method_details:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ amount:
+ description: Amount (in cents) to be transferred.
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 5000
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ financial_account:
+ description: The FinancialAccount to pull funds from.
+ type: string
+ initiating_payment_method_details:
+ description: Initiating payment method details for the object.
+ properties:
+ type:
+ enum:
+ - us_bank_account
+ type: string
+ us_bank_account:
+ properties:
+ account_holder_name:
+ maxLength: 5000
+ type: string
+ account_number:
+ maxLength: 5000
+ type: string
+ routing_number:
+ maxLength: 5000
+ type: string
+ title: us_bank_account_source_params
+ type: object
+ required:
+ - type
+ title: source_params
+ type: object
+ network:
+ description: The rails used for the object.
+ enum:
+ - ach
+ type: string
+ required:
+ - amount
+ - currency
+ - financial_account
+ - network
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/treasury.received_debit"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/tokens:
+ post:
+ description: |-
+
Creates a single-use token that represents a bank account’s details.
+ This token can be used with any API method in place of a bank account dictionary. This token can be used only once, by attaching it to a Custom account.
+ operationId: GetTopups
+ parameters:
+ - description: A positive integer representing how much to transfer.
+ explode: true
+ in: query
+ name: amount
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options.
+ explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Only return top-ups that have the given status. One of `canceled`, `failed`, `pending` or `succeeded`.
+ in: query
+ name: status
+ required: false
+ schema:
+ enum:
+ - canceled
+ - failed
+ - pending
+ - succeeded
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/topup"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/topups
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: TopupList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Top up the balance of an account
+ operationId: PostTopups
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ amount:
+ description: A positive integer representing how much to transfer.
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 5000
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ source:
+ description: The ID of a source to transfer funds from. For most users, this should be left unspecified which will use the bank account that was set up in the dashboard for the specified currency. In test mode, this can be a test bank token (see [Testing Top-ups](https://stripe.com/docs/connect/testing#testing-top-ups)).
+ maxLength: 5000
+ type: string
+ statement_descriptor:
+ description: Extra information about a top-up for the source's bank statement. Limited to 15 ASCII characters.
+ maxLength: 15
+ type: string
+ transfer_group:
+ description: A string that identifies this top-up as part of a group.
+ type: string
+ required:
+ - amount
+ - currency
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/topup"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/topups/{topup}":
+ get:
+ description:
Retrieves the details of a top-up that has previously been created. Supply the unique top-up ID that was returned from your previous request, and Stripe will return the corresponding top-up information.
Returns a list of existing transfers sent to connected accounts. The transfers are returned in sorted order, with the most recently created transfers appearing first.
+ operationId: GetTransfers
+ parameters:
+ - explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: Only return transfers for the destination specified by this account ID.
+ in: query
+ name: destination
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Only return transfers with the specified transfer group.
+ in: query
+ name: transfer_group
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/transfer"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/transfers
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: TransferList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
To send funds from your Stripe account to a connected account, you create a new transfer object. Your Stripe balance must be able to cover the transfer amount, or you’ll receive an “Insufficient Funds” error.
+ operationId: PostTransfers
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ amount:
+ description: A positive integer in cents (or local equivalent) representing how much to transfer.
+ type: integer
+ currency:
+ description: 3-letter [ISO code for currency](https://stripe.com/docs/payouts).
+ type: string
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 5000
+ type: string
+ destination:
+ description: The ID of a connected Stripe account. See the Connect documentation for details.
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ source_transaction:
+ description: You can use this parameter to transfer funds from a charge before they are added to your available balance. A pending balance will transfer immediately but the funds will not become available until the original charge becomes available. [See the Connect documentation](https://stripe.com/docs/connect/charges-transfers#transfer-availability) for details.
+ type: string
+ source_type:
+ description: The source balance to use for this transfer. One of `bank_account`, `card`, or `fpx`. For most users, this will default to `card`.
+ enum:
+ - bank_account
+ - card
+ - fpx
+ maxLength: 5000
+ type: string
+ x-stripeBypassValidation: true
+ transfer_group:
+ description: A string that identifies this transaction as part of a group. See the [Connect documentation](https://stripe.com/docs/connect/charges-transfers#transfer-options) for details.
+ type: string
+ required:
+ - currency
+ - destination
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/transfer"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/transfers/{id}/reversals":
+ get:
+ description:
You can see a list of the reversals belonging to a specific transfer. Note that the 10 most recent reversals are always available by default on the transfer object. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional reversals.
+ operationId: GetTransfersIdReversals
+ parameters:
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - in: path
+ name: id
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/transfer_reversal"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: TransferReversalList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description: |-
+
When you create a new reversal, you must specify a transfer to create it on.
+
+
When reversing transfers, you can optionally reverse part of the transfer. You can do so as many times as you wish until the entire transfer has been reversed.
+
+
Once entirely reversed, a transfer can’t be reversed again. This method will return an error when called on an already-reversed transfer, or when trying to reverse more money than is left on a transfer.
+ operationId: PostTransfersIdReversals
+ parameters:
+ - in: path
+ name: id
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ amount:
+ description: A positive integer in cents (or local equivalent) representing how much of this transfer to reverse. Can only reverse up to the unreversed amount remaining of the transfer. Partial transfer reversals are only allowed for transfers to Stripe Accounts. Defaults to the entire transfer amount.
+ type: integer
+ description:
+ description: An arbitrary string which you can attach to a reversal object. It is displayed alongside the reversal in the Dashboard. This will be unset if you POST an empty value.
+ maxLength: 5000
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ refund_application_fee:
+ description: Boolean indicating whether the application fee should be refunded when reversing this transfer. If a full transfer reversal is given, the full application fee will be refunded. Otherwise, the application fee will be refunded with an amount proportional to the amount of the transfer reversed.
+ type: boolean
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/transfer_reversal"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/transfers/{transfer}":
+ get:
+ description:
Retrieves the details of an existing transfer. Supply the unique transfer ID from either a transfer creation request or the transfer list, and Stripe will return the corresponding transfer information.
Updates the specified transfer by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
+
+
This request accepts only metadata as an argument.
+ operationId: PostTransfersTransfer
+ parameters:
+ - in: path
+ name: transfer
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 5000
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/transfer"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/transfers/{transfer}/reversals/{id}":
+ get:
+ description:
By default, you can see the 10 most recent reversals stored directly on the transfer object, but you can also retrieve details about a specific reversal stored on the transfer.
Updates the specified reversal by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
+
+
This request only accepts metadata and description as arguments.
+ operationId: PostTransfersTransferReversalsId
+ parameters:
+ - in: path
+ name: id
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ - in: path
+ name: transfer
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/transfer_reversal"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/treasury/credit_reversals:
+ get:
+ description:
Returns a list of CreditReversals.
+ operationId: GetTreasuryCreditReversals
+ parameters:
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: Returns objects associated with this FinancialAccount.
+ in: query
+ name: financial_account
+ required: true
+ schema:
+ type: string
+ style: form
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: Only return CreditReversals for the ReceivedCredit ID.
+ in: query
+ name: received_credit
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Only return CreditReversals for a given status.
+ in: query
+ name: status
+ required: false
+ schema:
+ enum:
+ - canceled
+ - posted
+ - processing
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/treasury.credit_reversal"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: TreasuryReceivedCreditsResourceCreditReversalList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Reverses a ReceivedCredit and creates a CreditReversal object.
+ operationId: PostTreasuryCreditReversals
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ received_credit:
+ description: The ReceivedCredit to reverse.
+ maxLength: 5000
+ type: string
+ required:
+ - received_credit
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/treasury.credit_reversal"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/treasury/credit_reversals/{credit_reversal}":
+ get:
+ description:
Retrieves the details of an existing CreditReversal by passing the unique CreditReversal ID from either the CreditReversal creation request or CreditReversal list
+ operationId: GetTreasuryDebitReversals
+ parameters:
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: Returns objects associated with this FinancialAccount.
+ in: query
+ name: financial_account
+ required: true
+ schema:
+ type: string
+ style: form
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: Only return DebitReversals for the ReceivedDebit ID.
+ in: query
+ name: received_debit
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Only return DebitReversals for a given resolution.
+ in: query
+ name: resolution
+ required: false
+ schema:
+ enum:
+ - lost
+ - won
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Only return DebitReversals for a given status.
+ in: query
+ name: status
+ required: false
+ schema:
+ enum:
+ - canceled
+ - completed
+ - processing
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/treasury.debit_reversal"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: TreasuryReceivedDebitsResourceDebitReversalList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Reverses a ReceivedDebit and creates a DebitReversal object.
+ operationId: PostTreasuryDebitReversals
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ received_debit:
+ description: The ReceivedDebit to reverse.
+ maxLength: 5000
+ type: string
+ required:
+ - received_debit
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/treasury.debit_reversal"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/treasury/debit_reversals/{debit_reversal}":
+ get:
+ description:
Updates the Features associated with a FinancialAccount.
+ operationId: PostTreasuryFinancialAccountsFinancialAccountFeatures
+ parameters:
+ - in: path
+ name: financial_account
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ card_issuing:
+ explode: true
+ style: deepObject
+ deposit_insurance:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ financial_addresses:
+ explode: true
+ style: deepObject
+ inbound_transfers:
+ explode: true
+ style: deepObject
+ intra_stripe_flows:
+ explode: true
+ style: deepObject
+ outbound_payments:
+ explode: true
+ style: deepObject
+ outbound_transfers:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ card_issuing:
+ description: Encodes the FinancialAccount's ability to be used with the Issuing product, including attaching cards to and drawing funds from the FinancialAccount.
+ properties:
+ requested:
+ type: boolean
+ required:
+ - requested
+ title: access
+ type: object
+ deposit_insurance:
+ description: Represents whether this FinancialAccount is eligible for deposit insurance. Various factors determine the insurance amount.
+ properties:
+ requested:
+ type: boolean
+ required:
+ - requested
+ title: access
+ type: object
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ financial_addresses:
+ description: Contains Features that add FinancialAddresses to the FinancialAccount.
+ properties:
+ aba:
+ properties:
+ requested:
+ type: boolean
+ required:
+ - requested
+ title: access
+ type: object
+ title: financial_addresses
+ type: object
+ inbound_transfers:
+ description: Contains settings related to adding funds to a FinancialAccount from another Account with the same owner.
+ properties:
+ ach:
+ properties:
+ requested:
+ type: boolean
+ required:
+ - requested
+ title: access_with_ach_details
+ type: object
+ title: inbound_transfers
+ type: object
+ intra_stripe_flows:
+ description: Represents the ability for the FinancialAccount to send money to, or receive money from other FinancialAccounts (for example, via OutboundPayment).
+ properties:
+ requested:
+ type: boolean
+ required:
+ - requested
+ title: access
+ type: object
+ outbound_payments:
+ description: Includes Features related to initiating money movement out of the FinancialAccount to someone else's bucket of money.
+ properties:
+ ach:
+ properties:
+ requested:
+ type: boolean
+ required:
+ - requested
+ title: access_with_ach_details
+ type: object
+ us_domestic_wire:
+ properties:
+ requested:
+ type: boolean
+ required:
+ - requested
+ title: access
+ type: object
+ title: outbound_payments
+ type: object
+ outbound_transfers:
+ description: Contains a Feature and settings related to moving money out of the FinancialAccount into another Account with the same owner.
+ properties:
+ ach:
+ properties:
+ requested:
+ type: boolean
+ required:
+ - requested
+ title: access_with_ach_details
+ type: object
+ us_domestic_wire:
+ properties:
+ requested:
+ type: boolean
+ required:
+ - requested
+ title: access
+ type: object
+ title: outbound_transfers
+ type: object
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/treasury.financial_account_features"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ /v1/treasury/inbound_transfers:
+ get:
+ description:
Returns a list of InboundTransfers sent from the specified FinancialAccount.
+ operationId: GetTreasuryInboundTransfers
+ parameters:
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: Returns objects associated with this FinancialAccount.
+ in: query
+ name: financial_account
+ required: true
+ schema:
+ type: string
+ style: form
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: "Only return InboundTransfers that have the given status: `processing`, `succeeded`, `failed` or `canceled`."
+ in: query
+ name: status
+ required: false
+ schema:
+ enum:
+ - canceled
+ - failed
+ - processing
+ - succeeded
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/treasury.inbound_transfer"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: TreasuryInboundTransfersResourceInboundTransferList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Creates an InboundTransfer.
+ operationId: PostTreasuryInboundTransfers
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ amount:
+ description: Amount (in cents) to be transferred.
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 5000
+ type: string
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ financial_account:
+ description: The FinancialAccount to send funds to.
+ type: string
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ origin_payment_method:
+ description: The origin payment method to be debited for the InboundTransfer.
+ maxLength: 5000
+ type: string
+ statement_descriptor:
+ description: The complete description that appears on your customers' statements. Maximum 10 characters.
+ maxLength: 10
+ type: string
+ required:
+ - amount
+ - currency
+ - financial_account
+ - origin_payment_method
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/treasury.inbound_transfer"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/treasury/inbound_transfers/{id}":
+ get:
+ description:
Retrieves the details of an existing InboundTransfer.
Returns a list of OutboundPayments sent from the specified FinancialAccount.
+ operationId: GetTreasuryOutboundPayments
+ parameters:
+ - description: Only return OutboundPayments sent to this customer.
+ in: query
+ name: customer
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: Returns objects associated with this FinancialAccount.
+ in: query
+ name: financial_account
+ required: true
+ schema:
+ type: string
+ style: form
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: "Only return OutboundPayments that have the given status: `processing`, `failed`, `posted`, `returned`, or `canceled`."
+ in: query
+ name: status
+ required: false
+ schema:
+ enum:
+ - canceled
+ - failed
+ - posted
+ - processing
+ - returned
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/treasury.outbound_payment"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/treasury/outbound_payments
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: TreasuryOutboundPaymentsResourceOutboundPaymentList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Creates an OutboundPayment.
+ operationId: PostTreasuryOutboundPayments
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ destination_payment_method_data:
+ explode: true
+ style: deepObject
+ destination_payment_method_options:
+ explode: true
+ style: deepObject
+ end_user_details:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ amount:
+ description: Amount (in cents) to be transferred.
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ customer:
+ description: ID of the customer to whom the OutboundPayment is sent. Must match the Customer attached to the `destination_payment_method` passed in.
+ maxLength: 5000
+ type: string
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 5000
+ type: string
+ destination_payment_method:
+ description: The PaymentMethod to use as the payment instrument for the OutboundPayment. Exclusive with `destination_payment_method_data`.
+ maxLength: 5000
+ type: string
+ destination_payment_method_data:
+ description: Hash used to generate the PaymentMethod to be used for this OutboundPayment. Exclusive with `destination_payment_method`.
+ properties:
+ billing_details:
+ properties:
+ address:
+ anyOf:
+ - properties:
+ city:
+ maxLength: 5000
+ type: string
+ country:
+ maxLength: 5000
+ type: string
+ line1:
+ maxLength: 5000
+ type: string
+ line2:
+ maxLength: 5000
+ type: string
+ postal_code:
+ maxLength: 5000
+ type: string
+ state:
+ maxLength: 5000
+ type: string
+ title: billing_details_address
+ type: object
+ - enum:
+ - ""
+ type: string
+ email:
+ anyOf:
+ - type: string
+ - enum:
+ - ""
+ type: string
+ name:
+ maxLength: 5000
+ type: string
+ phone:
+ maxLength: 5000
+ type: string
+ title: billing_details_inner_params
+ type: object
+ financial_account:
+ type: string
+ metadata:
+ additionalProperties:
+ type: string
+ type: object
+ type:
+ enum:
+ - financial_account
+ - us_bank_account
+ type: string
+ us_bank_account:
+ properties:
+ account_holder_type:
+ enum:
+ - company
+ - individual
+ type: string
+ account_number:
+ maxLength: 5000
+ type: string
+ account_type:
+ enum:
+ - checking
+ - savings
+ type: string
+ financial_connections_account:
+ maxLength: 5000
+ type: string
+ routing_number:
+ maxLength: 5000
+ type: string
+ title: payment_method_param
+ type: object
+ required:
+ - type
+ title: payment_method_data
+ type: object
+ destination_payment_method_options:
+ description: Payment method-specific configuration for this OutboundPayment.
+ properties:
+ us_bank_account:
+ anyOf:
+ - properties:
+ network:
+ enum:
+ - ach
+ - us_domestic_wire
+ type: string
+ title: payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ title: payment_method_options
+ type: object
+ end_user_details:
+ description: End user details.
+ properties:
+ ip_address:
+ type: string
+ present:
+ type: boolean
+ required:
+ - present
+ title: end_user_details_params
+ type: object
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ financial_account:
+ description: The FinancialAccount to pull funds from.
+ type: string
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ statement_descriptor:
+ description: The description that appears on the receiving end for this OutboundPayment (for example, bank statement for external bank transfer). Maximum 10 characters for `ach` payments, 140 characters for `wire` payments, or 500 characters for `stripe` network transfers. The default value is `payment`.
+ maxLength: 5000
+ type: string
+ required:
+ - amount
+ - currency
+ - financial_account
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/treasury.outbound_payment"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/treasury/outbound_payments/{id}":
+ get:
+ description:
Retrieves the details of an existing OutboundPayment by passing the unique OutboundPayment ID from either the OutboundPayment creation request or OutboundPayment list.
Returns a list of OutboundTransfers sent from the specified FinancialAccount.
+ operationId: GetTreasuryOutboundTransfers
+ parameters:
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: Returns objects associated with this FinancialAccount.
+ in: query
+ name: financial_account
+ required: true
+ schema:
+ type: string
+ style: form
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: "Only return OutboundTransfers that have the given status: `processing`, `canceled`, `failed`, `posted`, or `returned`."
+ in: query
+ name: status
+ required: false
+ schema:
+ enum:
+ - canceled
+ - failed
+ - posted
+ - processing
+ - returned
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/treasury.outbound_transfer"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: TreasuryOutboundTransfersResourceOutboundTransferList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
Creates an OutboundTransfer.
+ operationId: PostTreasuryOutboundTransfers
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ destination_payment_method_options:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ amount:
+ description: Amount (in cents) to be transferred.
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 5000
+ type: string
+ destination_payment_method:
+ description: The PaymentMethod to use as the payment instrument for the OutboundTransfer.
+ maxLength: 5000
+ type: string
+ destination_payment_method_options:
+ description: Hash describing payment method configuration details.
+ properties:
+ us_bank_account:
+ anyOf:
+ - properties:
+ network:
+ enum:
+ - ach
+ - us_domestic_wire
+ type: string
+ title: payment_method_options_param
+ type: object
+ - enum:
+ - ""
+ type: string
+ title: payment_method_options
+ type: object
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ financial_account:
+ description: The FinancialAccount to pull funds from.
+ type: string
+ metadata:
+ additionalProperties:
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ type: object
+ statement_descriptor:
+ description: Statement descriptor to be shown on the receiving end of an OutboundTransfer. Maximum 10 characters for `ach` transfers or 140 characters for `wire` transfers. The default value is `transfer`.
+ maxLength: 5000
+ type: string
+ required:
+ - amount
+ - currency
+ - financial_account
+ type: object
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/treasury.outbound_transfer"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/treasury/outbound_transfers/{outbound_transfer}":
+ get:
+ description:
Retrieves the details of an existing OutboundTransfer by passing the unique OutboundTransfer ID from either the OutboundTransfer creation request or OutboundTransfer list.
+ operationId: GetTreasuryReceivedCredits
+ parameters:
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: The FinancialAccount that received the funds.
+ in: query
+ name: financial_account
+ required: true
+ schema:
+ type: string
+ style: form
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: Only return ReceivedCredits described by the flow.
+ explode: true
+ in: query
+ name: linked_flows
+ required: false
+ schema:
+ properties:
+ source_flow_type:
+ enum:
+ - credit_reversal
+ - other
+ - outbound_payment
+ - payout
+ type: string
+ x-stripeBypassValidation: true
+ required:
+ - source_flow_type
+ title: linked_flows_param
+ type: object
+ style: deepObject
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: "Only return ReceivedCredits that have the given status: `succeeded` or `failed`."
+ in: query
+ name: status
+ required: false
+ schema:
+ enum:
+ - failed
+ - succeeded
+ type: string
+ x-stripeBypassValidation: true
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/treasury.received_credit"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: TreasuryReceivedCreditsResourceReceivedCreditList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/treasury/received_credits/{id}":
+ get:
+ description:
Retrieves the details of an existing ReceivedCredit by passing the unique ReceivedCredit ID from the ReceivedCredit list.
+ operationId: GetTreasuryReceivedDebits
+ parameters:
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: The FinancialAccount that funds were pulled from.
+ in: query
+ name: financial_account
+ required: true
+ schema:
+ type: string
+ style: form
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: "Only return ReceivedDebits that have the given status: `succeeded` or `failed`."
+ in: query
+ name: status
+ required: false
+ schema:
+ enum:
+ - failed
+ - succeeded
+ type: string
+ x-stripeBypassValidation: true
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/treasury.received_debit"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: TreasuryReceivedDebitsResourceReceivedDebitList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/treasury/received_debits/{id}":
+ get:
+ description:
Retrieves the details of an existing ReceivedDebit by passing the unique ReceivedDebit ID from the ReceivedDebit list
+ operationId: GetTreasuryTransactionEntries
+ parameters:
+ - explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - explode: true
+ in: query
+ name: effective_at
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: Returns objects associated with this FinancialAccount.
+ in: query
+ name: financial_account
+ required: true
+ schema:
+ type: string
+ style: form
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: The results are in reverse chronological order by `created` or `effective_at`. The default is `created`.
+ in: query
+ name: order_by
+ required: false
+ schema:
+ enum:
+ - created
+ - effective_at
+ type: string
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Only return TransactionEntries associated with this Transaction.
+ in: query
+ name: transaction
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/treasury.transaction_entry"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/treasury/transaction_entries
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: TreasuryTransactionsResourceTransactionEntryList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/treasury/transaction_entries/{id}":
+ get:
+ description:
+ operationId: GetTreasuryTransactions
+ parameters:
+ - explode: true
+ in: query
+ name: created
+ required: false
+ schema:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ style: deepObject
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: Returns objects associated with this FinancialAccount.
+ in: query
+ name: financial_account
+ required: true
+ schema:
+ type: string
+ style: form
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: The results are in reverse chronological order by `created` or `posted_at`. The default is `created`.
+ in: query
+ name: order_by
+ required: false
+ schema:
+ enum:
+ - created
+ - posted_at
+ type: string
+ x-stripeBypassValidation: true
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: "Only return Transactions that have the given status: `open`, `posted`, or `void`."
+ in: query
+ name: status
+ required: false
+ schema:
+ enum:
+ - open
+ - posted
+ - void
+ type: string
+ style: form
+ - description: A filter for the `status_transitions.posted_at` timestamp. When using this filter, `status=posted` and `order_by=posted_at` must also be specified.
+ explode: true
+ in: query
+ name: status_transitions
+ required: false
+ schema:
+ properties:
+ posted_at:
+ anyOf:
+ - properties:
+ gt:
+ type: integer
+ gte:
+ type: integer
+ lt:
+ type: integer
+ lte:
+ type: integer
+ title: range_query_specs
+ type: object
+ - type: integer
+ title: status_transition_timestamp_specs
+ type: object
+ style: deepObject
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/treasury.transaction"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: TreasuryTransactionsResourceTransactionList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ "/v1/treasury/transactions/{id}":
+ get:
+ description:
+ operationId: GetWebhookEndpoints
+ parameters:
+ - description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
+ in: query
+ name: ending_before
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ - description: Specifies which fields in the response should be expanded.
+ explode: true
+ in: query
+ name: expand
+ required: false
+ schema:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ style: deepObject
+ - description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: integer
+ style: form
+ - description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
+ in: query
+ name: starting_after
+ required: false
+ schema:
+ maxLength: 5000
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding: {}
+ schema:
+ additionalProperties: false
+ properties: {}
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: ""
+ properties:
+ data:
+ items:
+ $ref: "#/components/schemas/webhook_endpoint"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/webhook_endpoints
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: NotificationWebhookEndpointList
+ type: object
+ x-expandableFields:
+ - data
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+ post:
+ description:
A webhook endpoint must have a url and a list of enabled_events. You may optionally specify the Boolean connect parameter. If set to true, then a Connect webhook endpoint that notifies the specified url about events from all connected accounts is created; otherwise an account webhook endpoint that notifies the specified url only about events from your account is created. You can also create webhook endpoints in the webhooks settings section of the Dashboard.
Updates the webhook endpoint. You may edit the url, the list of enabled_events, and the status of your endpoint.
+ operationId: PostWebhookEndpointsWebhookEndpoint
+ parameters:
+ - in: path
+ name: webhook_endpoint
+ required: true
+ schema:
+ maxLength: 5000
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ encoding:
+ enabled_events:
+ explode: true
+ style: deepObject
+ expand:
+ explode: true
+ style: deepObject
+ metadata:
+ explode: true
+ style: deepObject
+ schema:
+ additionalProperties: false
+ properties:
+ description:
+ description: An optional description of what the webhook is used for.
+ maxLength: 5000
+ type: string
+ disabled:
+ description: Disable the webhook endpoint if set to true.
+ type: boolean
+ enabled_events:
+ description: The list of events to enable for this endpoint. You may specify `['*']` to enable all events, except those that require explicit selection.
+ items:
+ enum:
+ - "*"
+ - account.application.authorized
+ - account.application.deauthorized
+ - account.external_account.created
+ - account.external_account.deleted
+ - account.external_account.updated
+ - account.updated
+ - application_fee.created
+ - application_fee.refund.updated
+ - application_fee.refunded
+ - balance.available
+ - billing_portal.configuration.created
+ - billing_portal.configuration.updated
+ - billing_portal.session.created
+ - capability.updated
+ - cash_balance.funds_available
+ - charge.captured
+ - charge.dispute.closed
+ - charge.dispute.created
+ - charge.dispute.funds_reinstated
+ - charge.dispute.funds_withdrawn
+ - charge.dispute.updated
+ - charge.expired
+ - charge.failed
+ - charge.pending
+ - charge.refund.updated
+ - charge.refunded
+ - charge.succeeded
+ - charge.updated
+ - checkout.session.async_payment_failed
+ - checkout.session.async_payment_succeeded
+ - checkout.session.completed
+ - checkout.session.expired
+ - coupon.created
+ - coupon.deleted
+ - coupon.updated
+ - credit_note.created
+ - credit_note.updated
+ - credit_note.voided
+ - customer.created
+ - customer.deleted
+ - customer.discount.created
+ - customer.discount.deleted
+ - customer.discount.updated
+ - customer.source.created
+ - customer.source.deleted
+ - customer.source.expiring
+ - customer.source.updated
+ - customer.subscription.created
+ - customer.subscription.deleted
+ - customer.subscription.paused
+ - customer.subscription.pending_update_applied
+ - customer.subscription.pending_update_expired
+ - customer.subscription.resumed
+ - customer.subscription.trial_will_end
+ - customer.subscription.updated
+ - customer.tax_id.created
+ - customer.tax_id.deleted
+ - customer.tax_id.updated
+ - customer.updated
+ - customer_cash_balance_transaction.created
+ - file.created
+ - financial_connections.account.created
+ - financial_connections.account.deactivated
+ - financial_connections.account.disconnected
+ - financial_connections.account.reactivated
+ - financial_connections.account.refreshed_balance
+ - identity.verification_session.canceled
+ - identity.verification_session.created
+ - identity.verification_session.processing
+ - identity.verification_session.redacted
+ - identity.verification_session.requires_input
+ - identity.verification_session.verified
+ - invoice.created
+ - invoice.deleted
+ - invoice.finalization_failed
+ - invoice.finalized
+ - invoice.marked_uncollectible
+ - invoice.paid
+ - invoice.payment_action_required
+ - invoice.payment_failed
+ - invoice.payment_succeeded
+ - invoice.sent
+ - invoice.upcoming
+ - invoice.updated
+ - invoice.voided
+ - invoiceitem.created
+ - invoiceitem.deleted
+ - invoiceitem.updated
+ - issuing_authorization.created
+ - issuing_authorization.request
+ - issuing_authorization.updated
+ - issuing_card.created
+ - issuing_card.updated
+ - issuing_cardholder.created
+ - issuing_cardholder.updated
+ - issuing_dispute.closed
+ - issuing_dispute.created
+ - issuing_dispute.funds_reinstated
+ - issuing_dispute.submitted
+ - issuing_dispute.updated
+ - issuing_transaction.created
+ - issuing_transaction.updated
+ - mandate.updated
+ - order.created
+ - payment_intent.amount_capturable_updated
+ - payment_intent.canceled
+ - payment_intent.created
+ - payment_intent.partially_funded
+ - payment_intent.payment_failed
+ - payment_intent.processing
+ - payment_intent.requires_action
+ - payment_intent.succeeded
+ - payment_link.created
+ - payment_link.updated
+ - payment_method.attached
+ - payment_method.automatically_updated
+ - payment_method.detached
+ - payment_method.updated
+ - payout.canceled
+ - payout.created
+ - payout.failed
+ - payout.paid
+ - payout.reconciliation_completed
+ - payout.updated
+ - person.created
+ - person.deleted
+ - person.updated
+ - plan.created
+ - plan.deleted
+ - plan.updated
+ - price.created
+ - price.deleted
+ - price.updated
+ - product.created
+ - product.deleted
+ - product.updated
+ - promotion_code.created
+ - promotion_code.updated
+ - quote.accepted
+ - quote.canceled
+ - quote.created
+ - quote.finalized
+ - radar.early_fraud_warning.created
+ - radar.early_fraud_warning.updated
+ - recipient.created
+ - recipient.deleted
+ - recipient.updated
+ - refund.created
+ - refund.updated
+ - reporting.report_run.failed
+ - reporting.report_run.succeeded
+ - reporting.report_type.updated
+ - review.closed
+ - review.opened
+ - setup_intent.canceled
+ - setup_intent.created
+ - setup_intent.requires_action
+ - setup_intent.setup_failed
+ - setup_intent.succeeded
+ - sigma.scheduled_query_run.created
+ - sku.created
+ - sku.deleted
+ - sku.updated
+ - source.canceled
+ - source.chargeable
+ - source.failed
+ - source.mandate_notification
+ - source.refund_attributes_required
+ - source.transaction.created
+ - source.transaction.updated
+ - subscription_schedule.aborted
+ - subscription_schedule.canceled
+ - subscription_schedule.completed
+ - subscription_schedule.created
+ - subscription_schedule.expiring
+ - subscription_schedule.released
+ - subscription_schedule.updated
+ - tax_rate.created
+ - tax_rate.updated
+ - terminal.reader.action_failed
+ - terminal.reader.action_succeeded
+ - test_helpers.test_clock.advancing
+ - test_helpers.test_clock.created
+ - test_helpers.test_clock.deleted
+ - test_helpers.test_clock.internal_failure
+ - test_helpers.test_clock.ready
+ - topup.canceled
+ - topup.created
+ - topup.failed
+ - topup.reversed
+ - topup.succeeded
+ - transfer.created
+ - transfer.reversed
+ - transfer.updated
+ - treasury.credit_reversal.created
+ - treasury.credit_reversal.posted
+ - treasury.debit_reversal.completed
+ - treasury.debit_reversal.created
+ - treasury.debit_reversal.initial_credit_granted
+ - treasury.financial_account.closed
+ - treasury.financial_account.created
+ - treasury.financial_account.features_status_updated
+ - treasury.inbound_transfer.canceled
+ - treasury.inbound_transfer.created
+ - treasury.inbound_transfer.failed
+ - treasury.inbound_transfer.succeeded
+ - treasury.outbound_payment.canceled
+ - treasury.outbound_payment.created
+ - treasury.outbound_payment.expected_arrival_date_updated
+ - treasury.outbound_payment.failed
+ - treasury.outbound_payment.posted
+ - treasury.outbound_payment.returned
+ - treasury.outbound_transfer.canceled
+ - treasury.outbound_transfer.created
+ - treasury.outbound_transfer.expected_arrival_date_updated
+ - treasury.outbound_transfer.failed
+ - treasury.outbound_transfer.posted
+ - treasury.outbound_transfer.returned
+ - treasury.received_credit.created
+ - treasury.received_credit.failed
+ - treasury.received_credit.succeeded
+ - treasury.received_debit.created
+ type: string
+ x-stripeBypassValidation: true
+ type: array
+ expand:
+ description: Specifies which fields in the response should be expanded.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - enum:
+ - ""
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
+ url:
+ description: The URL of the webhook endpoint.
+ type: string
+ type: object
+ required: false
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/webhook_endpoint"
+ description: Successful response.
+ default:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/error"
+ description: Error response.
+components:
+ schemas:
+ account:
+ description: |-
+ This is an object representing a Stripe account. You can retrieve it to see
+ properties on the account like its current requirements or if the account is
+ enabled to make live charges or receive payouts.
+
+ For Custom accounts, the properties below are always returned. For other accounts, some properties are returned until that
+ account has started to go through Connect Onboarding. Once you create an [Account Link](https://stripe.com/docs/api/account_links)
+ for a Standard or Express account, some parameters are no longer returned. These are marked as **Custom Only** or **Custom and Express**
+ below. Learn about the differences [between accounts](https://stripe.com/docs/connect/accounts).
+ properties:
+ business_profile:
+ anyOf:
+ - $ref: "#/components/schemas/account_business_profile"
+ description: Business information about the account.
+ nullable: true
+ business_type:
+ description: The business type.
+ enum:
+ - company
+ - government_entity
+ - individual
+ - non_profit
+ nullable: true
+ type: string
+ x-stripeBypassValidation: true
+ capabilities:
+ $ref: "#/components/schemas/account_capabilities"
+ charges_enabled:
+ description: Whether the account can create live charges.
+ type: boolean
+ company:
+ $ref: "#/components/schemas/legal_entity_company"
+ controller:
+ $ref: "#/components/schemas/account_unification_account_controller"
+ country:
+ description: The account's country.
+ maxLength: 5000
+ type: string
+ created:
+ description: Time at which the account was connected. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ default_currency:
+ description: Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account's country](https://stripe.com/docs/payouts).
+ maxLength: 5000
+ type: string
+ details_submitted:
+ description: Whether account details have been submitted. Standard accounts cannot receive payouts before this is true.
+ type: boolean
+ email:
+ description: "An email address associated with the account. You can treat this as metadata: it is not used for authentication or messaging account holders."
+ maxLength: 5000
+ nullable: true
+ type: string
+ external_accounts:
+ description: External accounts (bank accounts and debit cards) currently attached to this account
+ properties:
+ data:
+ description: The list contains all external accounts that have been attached to the Stripe account. These may be bank accounts or cards.
+ items:
+ anyOf:
+ - $ref: "#/components/schemas/bank_account"
+ - $ref: "#/components/schemas/card"
+ title: Polymorphic
+ x-stripeBypassValidation: true
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: ExternalAccountList
+ type: object
+ x-expandableFields:
+ - data
+ future_requirements:
+ $ref: "#/components/schemas/account_future_requirements"
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ individual:
+ $ref: "#/components/schemas/person"
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - account
+ type: string
+ payouts_enabled:
+ description: Whether Stripe can send payouts to this account.
+ type: boolean
+ requirements:
+ $ref: "#/components/schemas/account_requirements"
+ settings:
+ anyOf:
+ - $ref: "#/components/schemas/account_settings"
+ description: Options for customizing how the account functions within Stripe.
+ nullable: true
+ tos_acceptance:
+ $ref: "#/components/schemas/account_tos_acceptance"
+ type:
+ description: The Stripe account type. Can be `standard`, `express`, or `custom`.
+ enum:
+ - custom
+ - express
+ - standard
+ type: string
+ required:
+ - id
+ - object
+ title: Account
+ type: object
+ x-expandableFields:
+ - business_profile
+ - capabilities
+ - company
+ - controller
+ - external_accounts
+ - future_requirements
+ - individual
+ - requirements
+ - settings
+ - tos_acceptance
+ x-resourceId: account
+ account_bacs_debit_payments_settings:
+ description: ""
+ properties:
+ display_name:
+ description: The Bacs Direct Debit Display Name for this account. For payments made with Bacs Direct Debit, this will appear on the mandate, and as the statement descriptor.
+ maxLength: 5000
+ type: string
+ title: AccountBacsDebitPaymentsSettings
+ type: object
+ x-expandableFields: []
+ account_branding_settings:
+ description: ""
+ properties:
+ icon:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/file"
+ description: (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) An icon for the account. Must be square and at least 128px x 128px.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/file"
+ logo:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/file"
+ description: (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) A logo for the account that will be used in Checkout instead of the icon and without the account's name next to it if provided. Must be at least 128px x 128px.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/file"
+ primary_color:
+ description: A CSS hex color value representing the primary branding color for this account
+ maxLength: 5000
+ nullable: true
+ type: string
+ secondary_color:
+ description: A CSS hex color value representing the secondary branding color for this account
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: AccountBrandingSettings
+ type: object
+ x-expandableFields:
+ - icon
+ - logo
+ account_business_profile:
+ description: ""
+ properties:
+ mcc:
+ description: "[The merchant category code for the account](https://stripe.com/docs/connect/setting-mcc). MCCs are used to classify businesses based on the goods or services they provide."
+ maxLength: 5000
+ nullable: true
+ type: string
+ name:
+ description: The customer-facing business name.
+ maxLength: 5000
+ nullable: true
+ type: string
+ product_description:
+ description: Internal-only description of the product sold or service provided by the business. It's used by Stripe for risk and underwriting purposes.
+ maxLength: 40000
+ nullable: true
+ type: string
+ support_address:
+ anyOf:
+ - $ref: "#/components/schemas/address"
+ description: A publicly available mailing address for sending support issues to.
+ nullable: true
+ support_email:
+ description: A publicly available email address for sending support issues to.
+ maxLength: 5000
+ nullable: true
+ type: string
+ support_phone:
+ description: A publicly available phone number to call with support issues.
+ maxLength: 5000
+ nullable: true
+ type: string
+ support_url:
+ description: A publicly available website for handling support issues.
+ maxLength: 5000
+ nullable: true
+ type: string
+ url:
+ description: The business's publicly available website.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: AccountBusinessProfile
+ type: object
+ x-expandableFields:
+ - support_address
+ account_capabilities:
+ description: ""
+ properties:
+ acss_debit_payments:
+ description: The status of the Canadian pre-authorized debits payments capability of the account, or whether the account can directly process Canadian pre-authorized debits charges.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ affirm_payments:
+ description: The status of the Affirm capability of the account, or whether the account can directly process Affirm charges.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ afterpay_clearpay_payments:
+ description: The status of the Afterpay Clearpay capability of the account, or whether the account can directly process Afterpay Clearpay charges.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ au_becs_debit_payments:
+ description: The status of the BECS Direct Debit (AU) payments capability of the account, or whether the account can directly process BECS Direct Debit (AU) charges.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ bacs_debit_payments:
+ description: The status of the Bacs Direct Debits payments capability of the account, or whether the account can directly process Bacs Direct Debits charges.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ bancontact_payments:
+ description: The status of the Bancontact payments capability of the account, or whether the account can directly process Bancontact charges.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ bank_transfer_payments:
+ description: The status of the customer_balance payments capability of the account, or whether the account can directly process customer_balance charges.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ blik_payments:
+ description: The status of the blik payments capability of the account, or whether the account can directly process blik charges.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ boleto_payments:
+ description: The status of the boleto payments capability of the account, or whether the account can directly process boleto charges.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ card_issuing:
+ description: The status of the card issuing capability of the account, or whether you can use Issuing to distribute funds on cards
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ card_payments:
+ description: The status of the card payments capability of the account, or whether the account can directly process credit and debit card charges.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ cartes_bancaires_payments:
+ description: The status of the Cartes Bancaires payments capability of the account, or whether the account can directly process Cartes Bancaires card charges in EUR currency.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ cashapp_payments:
+ description: The status of the Cash App Pay capability of the account, or whether the account can directly process Cash App Pay payments.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ eps_payments:
+ description: The status of the EPS payments capability of the account, or whether the account can directly process EPS charges.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ fpx_payments:
+ description: The status of the FPX payments capability of the account, or whether the account can directly process FPX charges.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ giropay_payments:
+ description: The status of the giropay payments capability of the account, or whether the account can directly process giropay charges.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ grabpay_payments:
+ description: The status of the GrabPay payments capability of the account, or whether the account can directly process GrabPay charges.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ ideal_payments:
+ description: The status of the iDEAL payments capability of the account, or whether the account can directly process iDEAL charges.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ india_international_payments:
+ description: The status of the india_international_payments capability of the account, or whether the account can process international charges (non INR) in India.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ jcb_payments:
+ description: The status of the JCB payments capability of the account, or whether the account (Japan only) can directly process JCB credit card charges in JPY currency.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ klarna_payments:
+ description: The status of the Klarna payments capability of the account, or whether the account can directly process Klarna charges.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ konbini_payments:
+ description: The status of the konbini payments capability of the account, or whether the account can directly process konbini charges.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ legacy_payments:
+ description: The status of the legacy payments capability of the account.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ link_payments:
+ description: The status of the link_payments capability of the account, or whether the account can directly process Link charges.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ oxxo_payments:
+ description: The status of the OXXO payments capability of the account, or whether the account can directly process OXXO charges.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ p24_payments:
+ description: The status of the P24 payments capability of the account, or whether the account can directly process P24 charges.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ paynow_payments:
+ description: The status of the paynow payments capability of the account, or whether the account can directly process paynow charges.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ promptpay_payments:
+ description: The status of the promptpay payments capability of the account, or whether the account can directly process promptpay charges.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ sepa_debit_payments:
+ description: The status of the SEPA Direct Debits payments capability of the account, or whether the account can directly process SEPA Direct Debits charges.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ sofort_payments:
+ description: The status of the Sofort payments capability of the account, or whether the account can directly process Sofort charges.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ tax_reporting_us_1099_k:
+ description: The status of the tax reporting 1099-K (US) capability of the account.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ tax_reporting_us_1099_misc:
+ description: The status of the tax reporting 1099-MISC (US) capability of the account.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ transfers:
+ description: The status of the transfers capability of the account, or whether your platform can transfer funds to the account.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ treasury:
+ description: The status of the banking capability, or whether the account can have bank accounts.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ us_bank_account_ach_payments:
+ description: The status of the US bank account ACH payments capability of the account, or whether the account can directly process US bank account charges.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ title: AccountCapabilities
+ type: object
+ x-expandableFields: []
+ account_capability_future_requirements:
+ description: ""
+ properties:
+ alternatives:
+ description: Fields that are due and can be satisfied by providing the corresponding alternative fields instead.
+ items:
+ $ref: "#/components/schemas/account_requirements_alternative"
+ nullable: true
+ type: array
+ current_deadline:
+ description: Date on which `future_requirements` merges with the main `requirements` hash and `future_requirements` becomes empty. After the transition, `currently_due` requirements may immediately become `past_due`, but the account may also be given a grace period depending on the capability's enablement state prior to transitioning.
+ format: unix-time
+ nullable: true
+ type: integer
+ currently_due:
+ description: Fields that need to be collected to keep the capability enabled. If not collected by `future_requirements[current_deadline]`, these fields will transition to the main `requirements` hash.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ disabled_reason:
+ description: This is typed as a string for consistency with `requirements.disabled_reason`, but it safe to assume `future_requirements.disabled_reason` is empty because fields in `future_requirements` will never disable the account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ errors:
+ description: Fields that are `currently_due` and need to be collected again because validation or verification failed.
+ items:
+ $ref: "#/components/schemas/account_requirements_error"
+ type: array
+ eventually_due:
+ description: Fields that need to be collected assuming all volume thresholds are reached. As they become required, they appear in `currently_due` as well.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ past_due:
+ description: Fields that weren't collected by `requirements.current_deadline`. These fields need to be collected to enable the capability on the account. New fields will never appear here; `future_requirements.past_due` will always be a subset of `requirements.past_due`.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ pending_verification:
+ description: Fields that may become required depending on the results of verification or review. Will be an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due` or `currently_due`.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ required:
+ - currently_due
+ - errors
+ - eventually_due
+ - past_due
+ - pending_verification
+ title: AccountCapabilityFutureRequirements
+ type: object
+ x-expandableFields:
+ - alternatives
+ - errors
+ account_capability_requirements:
+ description: ""
+ properties:
+ alternatives:
+ description: Fields that are due and can be satisfied by providing the corresponding alternative fields instead.
+ items:
+ $ref: "#/components/schemas/account_requirements_alternative"
+ nullable: true
+ type: array
+ current_deadline:
+ description: Date by which the fields in `currently_due` must be collected to keep the capability enabled for the account. These fields may disable the capability sooner if the next threshold is reached before they are collected.
+ format: unix-time
+ nullable: true
+ type: integer
+ currently_due:
+ description: Fields that need to be collected to keep the capability enabled. If not collected by `current_deadline`, these fields appear in `past_due` as well, and the capability is disabled.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ disabled_reason:
+ description: |-
+ If the capability is disabled, this string describes why. Can be `requirements.past_due`, `requirements.pending_verification`, `listed`, `platform_paused`, `rejected.fraud`, `rejected.listed`, `rejected.terms_of_service`, `rejected.other`, `under_review`, or `other`.
+
+ `rejected.unsupported_business` means that the account's business is not supported by the capability. For example, payment methods may restrict the businesses they support in their terms of service:
+
+ - [Afterpay Clearpay's terms of service](/afterpay-clearpay/legal#restricted-businesses)
+
+ If you believe that the rejection is in error, please contact support at https://support.stripe.com/contact/ for assistance.
+ maxLength: 5000
+ nullable: true
+ type: string
+ errors:
+ description: Fields that are `currently_due` and need to be collected again because validation or verification failed.
+ items:
+ $ref: "#/components/schemas/account_requirements_error"
+ type: array
+ eventually_due:
+ description: Fields that need to be collected assuming all volume thresholds are reached. As they become required, they appear in `currently_due` as well, and `current_deadline` becomes set.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ past_due:
+ description: Fields that weren't collected by `current_deadline`. These fields need to be collected to enable the capability on the account.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ pending_verification:
+ description: Fields that may become required depending on the results of verification or review. Will be an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due`, `currently_due`, or `past_due`.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ required:
+ - currently_due
+ - errors
+ - eventually_due
+ - past_due
+ - pending_verification
+ title: AccountCapabilityRequirements
+ type: object
+ x-expandableFields:
+ - alternatives
+ - errors
+ account_card_issuing_settings:
+ description: ""
+ properties:
+ tos_acceptance:
+ $ref: "#/components/schemas/card_issuing_account_terms_of_service"
+ title: AccountCardIssuingSettings
+ type: object
+ x-expandableFields:
+ - tos_acceptance
+ account_card_payments_settings:
+ description: ""
+ properties:
+ decline_on:
+ $ref: "#/components/schemas/account_decline_charge_on"
+ statement_descriptor_prefix:
+ description: The default text that appears on credit card statements when a charge is made. This field prefixes any dynamic `statement_descriptor` specified on the charge. `statement_descriptor_prefix` is useful for maximizing descriptor space for the dynamic portion.
+ maxLength: 5000
+ nullable: true
+ type: string
+ statement_descriptor_prefix_kana:
+ description: The Kana variation of the default text that appears on credit card statements when a charge is made (Japan only). This field prefixes any dynamic `statement_descriptor_suffix_kana` specified on the charge. `statement_descriptor_prefix_kana` is useful for maximizing descriptor space for the dynamic portion.
+ maxLength: 5000
+ nullable: true
+ type: string
+ statement_descriptor_prefix_kanji:
+ description: The Kanji variation of the default text that appears on credit card statements when a charge is made (Japan only). This field prefixes any dynamic `statement_descriptor_suffix_kanji` specified on the charge. `statement_descriptor_prefix_kanji` is useful for maximizing descriptor space for the dynamic portion.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: AccountCardPaymentsSettings
+ type: object
+ x-expandableFields:
+ - decline_on
+ account_dashboard_settings:
+ description: ""
+ properties:
+ display_name:
+ description: The display name for this account. This is used on the Stripe Dashboard to differentiate between accounts.
+ maxLength: 5000
+ nullable: true
+ type: string
+ timezone:
+ description: The timezone used in the Stripe Dashboard for this account. A list of possible time zone values is maintained at the [IANA Time Zone Database](http://www.iana.org/time-zones).
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: AccountDashboardSettings
+ type: object
+ x-expandableFields: []
+ account_decline_charge_on:
+ description: ""
+ properties:
+ avs_failure:
+ description: Whether Stripe automatically declines charges with an incorrect ZIP or postal code. This setting only applies when a ZIP or postal code is provided and they fail bank verification.
+ type: boolean
+ cvc_failure:
+ description: Whether Stripe automatically declines charges with an incorrect CVC. This setting only applies when a CVC is provided and it fails bank verification.
+ type: boolean
+ required:
+ - avs_failure
+ - cvc_failure
+ title: AccountDeclineChargeOn
+ type: object
+ x-expandableFields: []
+ account_future_requirements:
+ description: ""
+ properties:
+ alternatives:
+ description: Fields that are due and can be satisfied by providing the corresponding alternative fields instead.
+ items:
+ $ref: "#/components/schemas/account_requirements_alternative"
+ nullable: true
+ type: array
+ current_deadline:
+ description: Date on which `future_requirements` merges with the main `requirements` hash and `future_requirements` becomes empty. After the transition, `currently_due` requirements may immediately become `past_due`, but the account may also be given a grace period depending on its enablement state prior to transitioning.
+ format: unix-time
+ nullable: true
+ type: integer
+ currently_due:
+ description: Fields that need to be collected to keep the account enabled. If not collected by `future_requirements[current_deadline]`, these fields will transition to the main `requirements` hash.
+ items:
+ maxLength: 5000
+ type: string
+ nullable: true
+ type: array
+ disabled_reason:
+ description: This is typed as a string for consistency with `requirements.disabled_reason`, but it safe to assume `future_requirements.disabled_reason` is empty because fields in `future_requirements` will never disable the account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ errors:
+ description: Fields that are `currently_due` and need to be collected again because validation or verification failed.
+ items:
+ $ref: "#/components/schemas/account_requirements_error"
+ nullable: true
+ type: array
+ eventually_due:
+ description: Fields that need to be collected assuming all volume thresholds are reached. As they become required, they appear in `currently_due` as well.
+ items:
+ maxLength: 5000
+ type: string
+ nullable: true
+ type: array
+ past_due:
+ description: Fields that weren't collected by `requirements.current_deadline`. These fields need to be collected to enable the capability on the account. New fields will never appear here; `future_requirements.past_due` will always be a subset of `requirements.past_due`.
+ items:
+ maxLength: 5000
+ type: string
+ nullable: true
+ type: array
+ pending_verification:
+ description: Fields that may become required depending on the results of verification or review. Will be an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due` or `currently_due`.
+ items:
+ maxLength: 5000
+ type: string
+ nullable: true
+ type: array
+ title: AccountFutureRequirements
+ type: object
+ x-expandableFields:
+ - alternatives
+ - errors
+ account_link:
+ description: |-
+ Account Links are the means by which a Connect platform grants a connected account permission to access
+ Stripe-hosted applications, such as Connect Onboarding.
+
+ Related guide: [Connect Onboarding](https://stripe.com/docs/connect/connect-onboarding).
+ properties:
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ expires_at:
+ description: The timestamp at which this account link will expire.
+ format: unix-time
+ type: integer
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - account_link
+ type: string
+ url:
+ description: The URL for the account link.
+ maxLength: 5000
+ type: string
+ required:
+ - created
+ - expires_at
+ - object
+ - url
+ title: AccountLink
+ type: object
+ x-expandableFields: []
+ x-resourceId: account_link
+ account_payments_settings:
+ description: ""
+ properties:
+ statement_descriptor:
+ description: The default text that appears on credit card statements when a charge is made. This field prefixes any dynamic `statement_descriptor` specified on the charge.
+ maxLength: 5000
+ nullable: true
+ type: string
+ statement_descriptor_kana:
+ description: The Kana variation of the default text that appears on credit card statements when a charge is made (Japan only)
+ maxLength: 5000
+ nullable: true
+ type: string
+ statement_descriptor_kanji:
+ description: The Kanji variation of the default text that appears on credit card statements when a charge is made (Japan only)
+ maxLength: 5000
+ nullable: true
+ type: string
+ statement_descriptor_prefix_kana:
+ description: The Kana variation of the default text that appears on credit card statements when a charge is made (Japan only). This field prefixes any dynamic `statement_descriptor_suffix_kana` specified on the charge. `statement_descriptor_prefix_kana` is useful for maximizing descriptor space for the dynamic portion.
+ maxLength: 5000
+ nullable: true
+ type: string
+ statement_descriptor_prefix_kanji:
+ description: The Kanji variation of the default text that appears on credit card statements when a charge is made (Japan only). This field prefixes any dynamic `statement_descriptor_suffix_kanji` specified on the charge. `statement_descriptor_prefix_kanji` is useful for maximizing descriptor space for the dynamic portion.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: AccountPaymentsSettings
+ type: object
+ x-expandableFields: []
+ account_payout_settings:
+ description: ""
+ properties:
+ debit_negative_balances:
+ description: A Boolean indicating if Stripe should try to reclaim negative balances from an attached bank account. See our [Understanding Connect Account Balances](https://stripe.com/docs/connect/account-balances) documentation for details. Default value is `false` for Custom accounts, otherwise `true`.
+ type: boolean
+ schedule:
+ $ref: "#/components/schemas/transfer_schedule"
+ statement_descriptor:
+ description: The text that appears on the bank account statement for payouts. If not set, this defaults to the platform's bank descriptor as set in the Dashboard.
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - debit_negative_balances
+ - schedule
+ title: AccountPayoutSettings
+ type: object
+ x-expandableFields:
+ - schedule
+ account_requirements:
+ description: ""
+ properties:
+ alternatives:
+ description: Fields that are due and can be satisfied by providing the corresponding alternative fields instead.
+ items:
+ $ref: "#/components/schemas/account_requirements_alternative"
+ nullable: true
+ type: array
+ current_deadline:
+ description: Date by which the fields in `currently_due` must be collected to keep the account enabled. These fields may disable the account sooner if the next threshold is reached before they are collected.
+ format: unix-time
+ nullable: true
+ type: integer
+ currently_due:
+ description: Fields that need to be collected to keep the account enabled. If not collected by `current_deadline`, these fields appear in `past_due` as well, and the account is disabled.
+ items:
+ maxLength: 5000
+ type: string
+ nullable: true
+ type: array
+ disabled_reason:
+ description: If the account is disabled, this string describes why. Can be `requirements.past_due`, `requirements.pending_verification`, `listed`, `platform_paused`, `rejected.fraud`, `rejected.listed`, `rejected.terms_of_service`, `rejected.other`, `under_review`, or `other`.
+ maxLength: 5000
+ nullable: true
+ type: string
+ errors:
+ description: Fields that are `currently_due` and need to be collected again because validation or verification failed.
+ items:
+ $ref: "#/components/schemas/account_requirements_error"
+ nullable: true
+ type: array
+ eventually_due:
+ description: Fields that need to be collected assuming all volume thresholds are reached. As they become required, they appear in `currently_due` as well, and `current_deadline` becomes set.
+ items:
+ maxLength: 5000
+ type: string
+ nullable: true
+ type: array
+ past_due:
+ description: Fields that weren't collected by `current_deadline`. These fields need to be collected to enable the account.
+ items:
+ maxLength: 5000
+ type: string
+ nullable: true
+ type: array
+ pending_verification:
+ description: Fields that may become required depending on the results of verification or review. Will be an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due`, `currently_due`, or `past_due`.
+ items:
+ maxLength: 5000
+ type: string
+ nullable: true
+ type: array
+ title: AccountRequirements
+ type: object
+ x-expandableFields:
+ - alternatives
+ - errors
+ account_requirements_alternative:
+ description: ""
+ properties:
+ alternative_fields_due:
+ description: Fields that can be provided to satisfy all fields in `original_fields_due`.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ original_fields_due:
+ description: Fields that are due and can be satisfied by providing all fields in `alternative_fields_due`.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ required:
+ - alternative_fields_due
+ - original_fields_due
+ title: AccountRequirementsAlternative
+ type: object
+ x-expandableFields: []
+ account_requirements_error:
+ description: ""
+ properties:
+ code:
+ description: The code for the type of error.
+ enum:
+ - invalid_address_city_state_postal_code
+ - invalid_dob_age_under_18
+ - invalid_representative_country
+ - invalid_street_address
+ - invalid_tos_acceptance
+ - invalid_value_other
+ - verification_document_address_mismatch
+ - verification_document_address_missing
+ - verification_document_corrupt
+ - verification_document_country_not_supported
+ - verification_document_dob_mismatch
+ - verification_document_duplicate_type
+ - verification_document_expired
+ - verification_document_failed_copy
+ - verification_document_failed_greyscale
+ - verification_document_failed_other
+ - verification_document_failed_test_mode
+ - verification_document_fraudulent
+ - verification_document_id_number_mismatch
+ - verification_document_id_number_missing
+ - verification_document_incomplete
+ - verification_document_invalid
+ - verification_document_issue_or_expiry_date_missing
+ - verification_document_manipulated
+ - verification_document_missing_back
+ - verification_document_missing_front
+ - verification_document_name_mismatch
+ - verification_document_name_missing
+ - verification_document_nationality_mismatch
+ - verification_document_not_readable
+ - verification_document_not_signed
+ - verification_document_not_uploaded
+ - verification_document_photo_mismatch
+ - verification_document_too_large
+ - verification_document_type_not_supported
+ - verification_failed_address_match
+ - verification_failed_business_iec_number
+ - verification_failed_document_match
+ - verification_failed_id_number_match
+ - verification_failed_keyed_identity
+ - verification_failed_keyed_match
+ - verification_failed_name_match
+ - verification_failed_other
+ - verification_failed_residential_address
+ - verification_failed_tax_id_match
+ - verification_failed_tax_id_not_issued
+ - verification_missing_executives
+ - verification_missing_owners
+ - verification_requires_additional_memorandum_of_associations
+ type: string
+ x-stripeBypassValidation: true
+ reason:
+ description: An informative message that indicates the error type and provides additional details about the error.
+ maxLength: 5000
+ type: string
+ requirement:
+ description: The specific user onboarding requirement field (in the requirements hash) that needs to be resolved.
+ maxLength: 5000
+ type: string
+ required:
+ - code
+ - reason
+ - requirement
+ title: AccountRequirementsError
+ type: object
+ x-expandableFields: []
+ account_sepa_debit_payments_settings:
+ description: ""
+ properties:
+ creditor_id:
+ description: SEPA creditor identifier that identifies the company making the payment.
+ maxLength: 5000
+ type: string
+ title: AccountSepaDebitPaymentsSettings
+ type: object
+ x-expandableFields: []
+ account_settings:
+ description: ""
+ properties:
+ bacs_debit_payments:
+ $ref: "#/components/schemas/account_bacs_debit_payments_settings"
+ branding:
+ $ref: "#/components/schemas/account_branding_settings"
+ card_issuing:
+ $ref: "#/components/schemas/account_card_issuing_settings"
+ card_payments:
+ $ref: "#/components/schemas/account_card_payments_settings"
+ dashboard:
+ $ref: "#/components/schemas/account_dashboard_settings"
+ payments:
+ $ref: "#/components/schemas/account_payments_settings"
+ payouts:
+ $ref: "#/components/schemas/account_payout_settings"
+ sepa_debit_payments:
+ $ref: "#/components/schemas/account_sepa_debit_payments_settings"
+ treasury:
+ $ref: "#/components/schemas/account_treasury_settings"
+ required:
+ - branding
+ - card_payments
+ - dashboard
+ - payments
+ title: AccountSettings
+ type: object
+ x-expandableFields:
+ - bacs_debit_payments
+ - branding
+ - card_issuing
+ - card_payments
+ - dashboard
+ - payments
+ - payouts
+ - sepa_debit_payments
+ - treasury
+ account_terms_of_service:
+ description: ""
+ properties:
+ date:
+ description: The Unix timestamp marking when the account representative accepted the service agreement.
+ nullable: true
+ type: integer
+ ip:
+ description: The IP address from which the account representative accepted the service agreement.
+ maxLength: 5000
+ nullable: true
+ type: string
+ user_agent:
+ description: The user agent of the browser from which the account representative accepted the service agreement.
+ maxLength: 5000
+ type: string
+ title: AccountTermsOfService
+ type: object
+ x-expandableFields: []
+ account_tos_acceptance:
+ description: ""
+ properties:
+ date:
+ description: The Unix timestamp marking when the account representative accepted their service agreement
+ format: unix-time
+ nullable: true
+ type: integer
+ ip:
+ description: The IP address from which the account representative accepted their service agreement
+ maxLength: 5000
+ nullable: true
+ type: string
+ service_agreement:
+ description: The user's service agreement type
+ maxLength: 5000
+ type: string
+ user_agent:
+ description: The user agent of the browser from which the account representative accepted their service agreement
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: AccountTOSAcceptance
+ type: object
+ x-expandableFields: []
+ account_treasury_settings:
+ description: ""
+ properties:
+ tos_acceptance:
+ $ref: "#/components/schemas/account_terms_of_service"
+ title: AccountTreasurySettings
+ type: object
+ x-expandableFields:
+ - tos_acceptance
+ account_unification_account_controller:
+ description: ""
+ properties:
+ is_controller:
+ description: "`true` if the Connect application retrieving the resource controls the account and can therefore exercise [platform controls](https://stripe.com/docs/connect/platform-controls-for-standard-accounts). Otherwise, this field is null."
+ type: boolean
+ type:
+ description: The controller type. Can be `application`, if a Connect application controls the account, or `account`, if the account controls itself.
+ enum:
+ - account
+ - application
+ type: string
+ required:
+ - type
+ title: AccountUnificationAccountController
+ type: object
+ x-expandableFields: []
+ address:
+ description: ""
+ properties:
+ city:
+ description: City, district, suburb, town, or village.
+ maxLength: 5000
+ nullable: true
+ type: string
+ country:
+ description: Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
+ maxLength: 5000
+ nullable: true
+ type: string
+ line1:
+ description: Address line 1 (e.g., street, PO Box, or company name).
+ maxLength: 5000
+ nullable: true
+ type: string
+ line2:
+ description: Address line 2 (e.g., apartment, suite, unit, or building).
+ maxLength: 5000
+ nullable: true
+ type: string
+ postal_code:
+ description: ZIP or postal code.
+ maxLength: 5000
+ nullable: true
+ type: string
+ state:
+ description: State, county, province, or region.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: Address
+ type: object
+ x-expandableFields: []
+ api_errors:
+ description: ""
+ properties:
+ charge:
+ description: For card errors, the ID of the failed charge.
+ maxLength: 5000
+ type: string
+ code:
+ description: For some errors that could be handled programmatically, a short string indicating the [error code](https://stripe.com/docs/error-codes) reported.
+ maxLength: 5000
+ type: string
+ decline_code:
+ description: For card errors resulting from a card issuer decline, a short string indicating the [card issuer's reason for the decline](https://stripe.com/docs/declines#issuer-declines) if they provide one.
+ maxLength: 5000
+ type: string
+ doc_url:
+ description: A URL to more information about the [error code](https://stripe.com/docs/error-codes) reported.
+ maxLength: 5000
+ type: string
+ message:
+ description: A human-readable message providing more details about the error. For card errors, these messages can be shown to your users.
+ maxLength: 40000
+ type: string
+ param:
+ description: If the error is parameter-specific, the parameter related to the error. For example, you can use this to display a message near the correct form field.
+ maxLength: 5000
+ type: string
+ payment_intent:
+ $ref: "#/components/schemas/payment_intent"
+ payment_method:
+ $ref: "#/components/schemas/payment_method"
+ payment_method_type:
+ description: If the error is specific to the type of payment method, the payment method type that had a problem. This field is only populated for invoice-related errors.
+ maxLength: 5000
+ type: string
+ request_log_url:
+ description: A URL to the request log entry in your dashboard.
+ maxLength: 5000
+ type: string
+ setup_intent:
+ $ref: "#/components/schemas/setup_intent"
+ source:
+ anyOf:
+ - $ref: "#/components/schemas/bank_account"
+ - $ref: "#/components/schemas/card"
+ - $ref: "#/components/schemas/source"
+ description: The source object for errors returned on a request involving a source.
+ type:
+ description: The type of error returned. One of `api_error`, `card_error`, `idempotency_error`, or `invalid_request_error`
+ enum:
+ - api_error
+ - card_error
+ - idempotency_error
+ - invalid_request_error
+ type: string
+ required:
+ - type
+ title: APIErrors
+ type: object
+ x-expandableFields:
+ - payment_intent
+ - payment_method
+ - setup_intent
+ - source
+ apple_pay_domain:
+ description: ""
+ properties:
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ domain_name:
+ maxLength: 5000
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - apple_pay_domain
+ type: string
+ required:
+ - created
+ - domain_name
+ - id
+ - livemode
+ - object
+ title: ApplePayDomain
+ type: object
+ x-expandableFields: []
+ x-resourceId: apple_pay_domain
+ application:
+ description: ""
+ properties:
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ name:
+ description: The name of the application.
+ maxLength: 5000
+ nullable: true
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - application
+ type: string
+ required:
+ - id
+ - object
+ title: Application
+ type: object
+ x-expandableFields: []
+ application_fee:
+ description: ""
+ properties:
+ account:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/account"
+ description: ID of the Stripe account this fee was taken from.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/account"
+ amount:
+ description: Amount earned, in %s.
+ type: integer
+ amount_refunded:
+ description: Amount in %s refunded (can be less than the amount attribute on the fee if a partial refund was issued)
+ type: integer
+ application:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/application"
+ description: ID of the Connect application that earned the fee.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/application"
+ balance_transaction:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/balance_transaction"
+ description: Balance transaction that describes the impact of this collected application fee on your account balance (not including refunds).
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/balance_transaction"
+ charge:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/charge"
+ description: ID of the charge that the application fee was taken from.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/charge"
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - application_fee
+ type: string
+ originating_transaction:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/charge"
+ description: ID of the corresponding charge on the platform account, if this fee was the result of a charge using the `destination` parameter.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/charge"
+ refunded:
+ description: Whether the fee has been fully refunded. If the fee is only partially refunded, this attribute will still be false.
+ type: boolean
+ refunds:
+ description: A list of refunds that have been applied to the fee.
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/fee_refund"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: FeeRefundList
+ type: object
+ x-expandableFields:
+ - data
+ required:
+ - account
+ - amount
+ - amount_refunded
+ - application
+ - charge
+ - created
+ - currency
+ - id
+ - livemode
+ - object
+ - refunded
+ - refunds
+ title: PlatformFee
+ type: object
+ x-expandableFields:
+ - account
+ - application
+ - balance_transaction
+ - charge
+ - originating_transaction
+ - refunds
+ x-resourceId: application_fee
+ apps.secret:
+ description: |-
+ Secret Store is an API that allows Stripe Apps developers to securely persist secrets for use by UI Extensions and app backends.
+
+ The primary resource in Secret Store is a `secret`. Other apps can't view secrets created by an app. Additionally, secrets are scoped to provide further permission control.
+
+ All Dashboard users and the app backend share `account` scoped secrets. Use the `account` scope for secrets that don't change per-user, like a third-party API key.
+
+ A `user` scoped secret is accessible by the app backend and one specific Dashboard user. Use the `user` scope for per-user secrets like per-user OAuth tokens, where different users might have different permissions.
+
+ Related guide: [Store data between page reloads](https://stripe.com/docs/stripe-apps/store-auth-data-custom-objects).
+ properties:
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ deleted:
+ description: If true, indicates that this secret has been deleted
+ type: boolean
+ expires_at:
+ description: The Unix timestamp for the expiry time of the secret, after which the secret deletes.
+ format: unix-time
+ nullable: true
+ type: integer
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ name:
+ description: A name for the secret that's unique within the scope.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - apps.secret
+ type: string
+ payload:
+ description: The plaintext secret value to be stored.
+ maxLength: 5000
+ nullable: true
+ type: string
+ scope:
+ $ref: "#/components/schemas/secret_service_resource_scope"
+ required:
+ - created
+ - id
+ - livemode
+ - name
+ - object
+ - scope
+ title: SecretServiceResourceSecret
+ type: object
+ x-expandableFields:
+ - scope
+ x-resourceId: apps.secret
+ automatic_tax:
+ description: ""
+ properties:
+ enabled:
+ description: Whether Stripe automatically computes tax on this invoice. Note that incompatible invoice items (invoice items with manually specified [tax rates](https://stripe.com/docs/api/tax_rates), negative amounts, or `tax_behavior=unspecified`) cannot be added to automatic tax invoices.
+ type: boolean
+ status:
+ description: The status of the most recent automated tax calculation for this invoice.
+ enum:
+ - complete
+ - failed
+ - requires_location_inputs
+ nullable: true
+ type: string
+ required:
+ - enabled
+ title: AutomaticTax
+ type: object
+ x-expandableFields: []
+ balance:
+ description: |-
+ This is an object representing your Stripe balance. You can retrieve it to see
+ the balance currently on your Stripe account.
+
+ You can also retrieve the balance history, which contains a list of
+ [transactions](https://stripe.com/docs/reporting/balance-transaction-types) that contributed to the balance
+ (charges, payouts, and so forth).
+
+ The available and pending amounts for each currency are broken down further by
+ payment source types.
+
+ Related guide: [Understanding Connect Account Balances](https://stripe.com/docs/connect/account-balances).
+ properties:
+ available:
+ description: Funds that are available to be transferred or paid out, whether automatically by Stripe or explicitly via the [Transfers API](https://stripe.com/docs/api#transfers) or [Payouts API](https://stripe.com/docs/api#payouts). The available balance for each currency and payment type can be found in the `source_types` property.
+ items:
+ $ref: "#/components/schemas/balance_amount"
+ type: array
+ connect_reserved:
+ description: Funds held due to negative balances on connected Custom accounts. The connect reserve balance for each currency and payment type can be found in the `source_types` property.
+ items:
+ $ref: "#/components/schemas/balance_amount"
+ type: array
+ instant_available:
+ description: Funds that can be paid out using Instant Payouts.
+ items:
+ $ref: "#/components/schemas/balance_amount"
+ type: array
+ issuing:
+ $ref: "#/components/schemas/balance_detail"
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - balance
+ type: string
+ pending:
+ description: Funds that are not yet available in the balance, due to the 7-day rolling pay cycle. The pending balance for each currency, and for each payment type, can be found in the `source_types` property.
+ items:
+ $ref: "#/components/schemas/balance_amount"
+ type: array
+ required:
+ - available
+ - livemode
+ - object
+ - pending
+ title: Balance
+ type: object
+ x-expandableFields:
+ - available
+ - connect_reserved
+ - instant_available
+ - issuing
+ - pending
+ x-resourceId: balance
+ balance_amount:
+ description: ""
+ properties:
+ amount:
+ description: Balance amount.
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ source_types:
+ $ref: "#/components/schemas/balance_amount_by_source_type"
+ required:
+ - amount
+ - currency
+ title: BalanceAmount
+ type: object
+ x-expandableFields:
+ - source_types
+ balance_amount_by_source_type:
+ description: ""
+ properties:
+ bank_account:
+ description: Amount for bank account.
+ type: integer
+ card:
+ description: Amount for card.
+ type: integer
+ fpx:
+ description: Amount for FPX.
+ type: integer
+ title: BalanceAmountBySourceType
+ type: object
+ x-expandableFields: []
+ balance_detail:
+ description: ""
+ properties:
+ available:
+ description: Funds that are available for use.
+ items:
+ $ref: "#/components/schemas/balance_amount"
+ type: array
+ required:
+ - available
+ title: BalanceDetail
+ type: object
+ x-expandableFields:
+ - available
+ balance_transaction:
+ description: |-
+ Balance transactions represent funds moving through your Stripe account.
+ They're created for every type of transaction that comes into or flows out of your Stripe account balance.
+
+ Related guide: [Balance Transaction Types](https://stripe.com/docs/reports/balance-transaction-types).
+ properties:
+ amount:
+ description: Gross amount of the transaction, in %s.
+ type: integer
+ available_on:
+ description: The date the transaction's net funds will become available in the Stripe balance.
+ format: unix-time
+ type: integer
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 5000
+ nullable: true
+ type: string
+ exchange_rate:
+ description: The exchange rate used, if applicable, for this transaction. Specifically, if money was converted from currency A to currency B, then the `amount` in currency A, times `exchange_rate`, would be the `amount` in currency B. For example, suppose you charged a customer 10.00 EUR. Then the PaymentIntent's `amount` would be `1000` and `currency` would be `eur`. Suppose this was converted into 12.34 USD in your Stripe account. Then the BalanceTransaction's `amount` would be `1234`, `currency` would be `usd`, and `exchange_rate` would be `1.234`.
+ nullable: true
+ type: number
+ fee:
+ description: Fees (in %s) paid for this transaction.
+ type: integer
+ fee_details:
+ description: Detailed breakdown of fees (in %s) paid for this transaction.
+ items:
+ $ref: "#/components/schemas/fee"
+ type: array
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ net:
+ description: Net amount of the transaction, in %s.
+ type: integer
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - balance_transaction
+ type: string
+ reporting_category:
+ description: "[Learn more](https://stripe.com/docs/reports/reporting-categories) about how reporting categories can help you understand balance transactions from an accounting perspective."
+ maxLength: 5000
+ type: string
+ source:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/application_fee"
+ - $ref: "#/components/schemas/charge"
+ - $ref: "#/components/schemas/connect_collection_transfer"
+ - $ref: "#/components/schemas/dispute"
+ - $ref: "#/components/schemas/fee_refund"
+ - $ref: "#/components/schemas/issuing.authorization"
+ - $ref: "#/components/schemas/issuing.dispute"
+ - $ref: "#/components/schemas/issuing.transaction"
+ - $ref: "#/components/schemas/payout"
+ - $ref: "#/components/schemas/platform_tax_fee"
+ - $ref: "#/components/schemas/refund"
+ - $ref: "#/components/schemas/reserve_transaction"
+ - $ref: "#/components/schemas/tax_deducted_at_source"
+ - $ref: "#/components/schemas/topup"
+ - $ref: "#/components/schemas/transfer"
+ - $ref: "#/components/schemas/transfer_reversal"
+ description: The Stripe object to which this transaction is related.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/application_fee"
+ - $ref: "#/components/schemas/charge"
+ - $ref: "#/components/schemas/connect_collection_transfer"
+ - $ref: "#/components/schemas/dispute"
+ - $ref: "#/components/schemas/fee_refund"
+ - $ref: "#/components/schemas/issuing.authorization"
+ - $ref: "#/components/schemas/issuing.dispute"
+ - $ref: "#/components/schemas/issuing.transaction"
+ - $ref: "#/components/schemas/payout"
+ - $ref: "#/components/schemas/platform_tax_fee"
+ - $ref: "#/components/schemas/refund"
+ - $ref: "#/components/schemas/reserve_transaction"
+ - $ref: "#/components/schemas/tax_deducted_at_source"
+ - $ref: "#/components/schemas/topup"
+ - $ref: "#/components/schemas/transfer"
+ - $ref: "#/components/schemas/transfer_reversal"
+ x-stripeBypassValidation: true
+ status:
+ description: If the transaction's net funds are available in the Stripe balance yet. Either `available` or `pending`.
+ maxLength: 5000
+ type: string
+ type:
+ description: "Transaction type: `adjustment`, `advance`, `advance_funding`, `anticipation_repayment`, `application_fee`, `application_fee_refund`, `charge`, `connect_collection_transfer`, `contribution`, `issuing_authorization_hold`, `issuing_authorization_release`, `issuing_dispute`, `issuing_transaction`, `payment`, `payment_failure_refund`, `payment_refund`, `payout`, `payout_cancel`, `payout_failure`, `refund`, `refund_failure`, `reserve_transaction`, `reserved_funds`, `stripe_fee`, `stripe_fx_fee`, `tax_fee`, `topup`, `topup_reversal`, `transfer`, `transfer_cancel`, `transfer_failure`, or `transfer_refund`. [Learn more](https://stripe.com/docs/reports/balance-transaction-types) about balance transaction types and what they represent. If you are looking to classify transactions for accounting purposes, you might want to consider `reporting_category` instead."
+ enum:
+ - adjustment
+ - advance
+ - advance_funding
+ - anticipation_repayment
+ - application_fee
+ - application_fee_refund
+ - charge
+ - connect_collection_transfer
+ - contribution
+ - issuing_authorization_hold
+ - issuing_authorization_release
+ - issuing_dispute
+ - issuing_transaction
+ - payment
+ - payment_failure_refund
+ - payment_refund
+ - payout
+ - payout_cancel
+ - payout_failure
+ - refund
+ - refund_failure
+ - reserve_transaction
+ - reserved_funds
+ - stripe_fee
+ - stripe_fx_fee
+ - tax_fee
+ - topup
+ - topup_reversal
+ - transfer
+ - transfer_cancel
+ - transfer_failure
+ - transfer_refund
+ type: string
+ required:
+ - amount
+ - available_on
+ - created
+ - currency
+ - fee
+ - fee_details
+ - id
+ - net
+ - object
+ - reporting_category
+ - status
+ - type
+ title: BalanceTransaction
+ type: object
+ x-expandableFields:
+ - fee_details
+ - source
+ x-resourceId: balance_transaction
+ bank_account:
+ description: |-
+ These bank accounts are payment methods on `Customer` objects.
+
+ On the other hand [External Accounts](https://stripe.com/docs/api#external_accounts) are transfer
+ destinations on `Account` objects for [Custom accounts](https://stripe.com/docs/connect/custom-accounts).
+ They can be bank accounts or debit cards as well, and are documented in the links above.
+
+ Related guide: [Bank Debits and Transfers](https://stripe.com/docs/payments/bank-debits-transfers).
+ properties:
+ account:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/account"
+ description: The ID of the account that the bank account is associated with.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/account"
+ account_holder_name:
+ description: The name of the person or business that owns the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ account_holder_type:
+ description: The type of entity that holds the account. This can be either `individual` or `company`.
+ maxLength: 5000
+ nullable: true
+ type: string
+ account_type:
+ description: The bank account type. This can only be `checking` or `savings` in most countries. In Japan, this can only be `futsu` or `toza`.
+ maxLength: 5000
+ nullable: true
+ type: string
+ available_payout_methods:
+ description: A set of available payout methods for this bank account. Only values from this set should be passed as the `method` when creating a payout.
+ items:
+ enum:
+ - instant
+ - standard
+ type: string
+ nullable: true
+ type: array
+ bank_name:
+ description: Name of the bank associated with the routing number (e.g., `WELLS FARGO`).
+ maxLength: 5000
+ nullable: true
+ type: string
+ country:
+ description: Two-letter ISO code representing the country the bank account is located in.
+ maxLength: 5000
+ type: string
+ currency:
+ description: Three-letter [ISO code for the currency](https://stripe.com/docs/payouts) paid out to the bank account.
+ type: string
+ customer:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ description: The ID of the customer that the bank account is associated with.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ default_for_currency:
+ description: Whether this bank account is the default external account for its currency.
+ nullable: true
+ type: boolean
+ fingerprint:
+ description: Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
+ maxLength: 5000
+ nullable: true
+ type: string
+ future_requirements:
+ anyOf:
+ - $ref: "#/components/schemas/external_account_requirements"
+ description: Information about upcoming new requirements for the bank account, including what information needs to be collected.
+ nullable: true
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ last4:
+ description: The last four digits of the bank account number.
+ maxLength: 5000
+ type: string
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ nullable: true
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - bank_account
+ type: string
+ requirements:
+ anyOf:
+ - $ref: "#/components/schemas/external_account_requirements"
+ description: Information about the requirements for the bank account, including what information needs to be collected.
+ nullable: true
+ routing_number:
+ description: The routing transit number for the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ status:
+ description: |-
+ For bank accounts, possible values are `new`, `validated`, `verified`, `verification_failed`, or `errored`. A bank account that hasn't had any activity or validation performed is `new`. If Stripe can determine that the bank account exists, its status will be `validated`. Note that there often isn’t enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be `verified`. If the verification failed for any reason, such as microdeposit failure, the status will be `verification_failed`. If a transfer sent to this bank account fails, we'll set the status to `errored` and will not continue to send transfers until the bank details are updated.
+
+ For external accounts, possible values are `new`, `errored` and `verification_failed`. If a transfer fails, the status is set to `errored` and transfers are stopped until account details are updated. In India, if we can't [verify the owner of the bank account](https://support.stripe.com/questions/bank-account-ownership-verification), we'll set the status to `verification_failed`. Other validations aren't run against external accounts because they're only used for payouts. This means the other statuses don't apply.
+ maxLength: 5000
+ type: string
+ required:
+ - country
+ - currency
+ - id
+ - last4
+ - object
+ - status
+ title: BankAccount
+ type: object
+ x-expandableFields:
+ - account
+ - customer
+ - future_requirements
+ - requirements
+ x-resourceId: bank_account
+ bank_connections_resource_accountholder:
+ description: ""
+ properties:
+ account:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/account"
+ description: The ID of the Stripe account this account belongs to. Should only be present if `account_holder.type` is `account`.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/account"
+ customer:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/customer"
+ description: ID of the Stripe customer this account belongs to. Present if and only if `account_holder.type` is `customer`.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/customer"
+ type:
+ description: Type of account holder that this account belongs to.
+ enum:
+ - account
+ - customer
+ type: string
+ required:
+ - type
+ title: BankConnectionsResourceAccountholder
+ type: object
+ x-expandableFields:
+ - account
+ - customer
+ bank_connections_resource_balance:
+ description: ""
+ properties:
+ as_of:
+ description: The time that the external institution calculated this balance. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ cash:
+ $ref: "#/components/schemas/bank_connections_resource_balance_api_resource_cash_balance"
+ credit:
+ $ref: "#/components/schemas/bank_connections_resource_balance_api_resource_credit_balance"
+ current:
+ additionalProperties:
+ type: integer
+ description: |-
+ The balances owed to (or by) the account holder.
+
+ Each key is a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase.
+
+ Each value is a integer amount. A positive amount indicates money owed to the account holder. A negative amount indicates money owed by the account holder.
+ type: object
+ type:
+ description: The `type` of the balance. An additional hash is included on the balance with a name matching this value.
+ enum:
+ - cash
+ - credit
+ type: string
+ required:
+ - as_of
+ - current
+ - type
+ title: BankConnectionsResourceBalance
+ type: object
+ x-expandableFields:
+ - cash
+ - credit
+ bank_connections_resource_balance_api_resource_cash_balance:
+ description: ""
+ properties:
+ available:
+ additionalProperties:
+ type: integer
+ description: |-
+ The funds available to the account holder. Typically this is the current balance less any holds.
+
+ Each key is a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase.
+
+ Each value is a integer amount. A positive amount indicates money owed to the account holder. A negative amount indicates money owed by the account holder.
+ nullable: true
+ type: object
+ title: BankConnectionsResourceBalanceAPIResourceCashBalance
+ type: object
+ x-expandableFields: []
+ bank_connections_resource_balance_api_resource_credit_balance:
+ description: ""
+ properties:
+ used:
+ additionalProperties:
+ type: integer
+ description: |-
+ The credit that has been used by the account holder.
+
+ Each key is a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase.
+
+ Each value is a integer amount. A positive amount indicates money owed to the account holder. A negative amount indicates money owed by the account holder.
+ nullable: true
+ type: object
+ title: BankConnectionsResourceBalanceAPIResourceCreditBalance
+ type: object
+ x-expandableFields: []
+ bank_connections_resource_balance_refresh:
+ description: ""
+ properties:
+ last_attempted_at:
+ description: The time at which the last refresh attempt was initiated. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ status:
+ description: The status of the last refresh attempt.
+ enum:
+ - failed
+ - pending
+ - succeeded
+ type: string
+ required:
+ - last_attempted_at
+ - status
+ title: BankConnectionsResourceBalanceRefresh
+ type: object
+ x-expandableFields: []
+ bank_connections_resource_link_account_session_filters:
+ description: ""
+ properties:
+ countries:
+ description: List of countries from which to filter accounts.
+ items:
+ maxLength: 5000
+ type: string
+ nullable: true
+ type: array
+ title: BankConnectionsResourceLinkAccountSessionFilters
+ type: object
+ x-expandableFields: []
+ bank_connections_resource_ownership_refresh:
+ description: ""
+ properties:
+ last_attempted_at:
+ description: The time at which the last refresh attempt was initiated. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ status:
+ description: The status of the last refresh attempt.
+ enum:
+ - failed
+ - pending
+ - succeeded
+ type: string
+ required:
+ - last_attempted_at
+ - status
+ title: BankConnectionsResourceOwnershipRefresh
+ type: object
+ x-expandableFields: []
+ billing_details:
+ description: ""
+ properties:
+ address:
+ anyOf:
+ - $ref: "#/components/schemas/address"
+ description: Billing address.
+ nullable: true
+ email:
+ description: Email address.
+ maxLength: 5000
+ nullable: true
+ type: string
+ name:
+ description: Full name.
+ maxLength: 5000
+ nullable: true
+ type: string
+ phone:
+ description: Billing phone number (including extension).
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: billing_details
+ type: object
+ x-expandableFields:
+ - address
+ billing_portal.configuration:
+ description: A portal configuration describes the functionality and behavior of a portal session.
+ properties:
+ active:
+ description: Whether the configuration is active and can be used to create portal sessions.
+ type: boolean
+ application:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/application"
+ - $ref: "#/components/schemas/deleted_application"
+ description: ID of the Connect Application that created the configuration.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/application"
+ - $ref: "#/components/schemas/deleted_application"
+ business_profile:
+ $ref: "#/components/schemas/portal_business_profile"
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ default_return_url:
+ description: The default URL to redirect customers to when they click on the portal's link to return to your website. This can be [overriden](https://stripe.com/docs/api/customer_portal/sessions/create#create_portal_session-return_url) when creating the session.
+ maxLength: 5000
+ nullable: true
+ type: string
+ features:
+ $ref: "#/components/schemas/portal_features"
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ is_default:
+ description: Whether the configuration is the default. If `true`, this configuration can be managed in the Dashboard and portal sessions will use this configuration unless it is overriden when creating the session.
+ type: boolean
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ login_page:
+ $ref: "#/components/schemas/portal_login_page"
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ nullable: true
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - billing_portal.configuration
+ type: string
+ updated:
+ description: Time at which the object was last updated. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ required:
+ - active
+ - business_profile
+ - created
+ - features
+ - id
+ - is_default
+ - livemode
+ - login_page
+ - object
+ - updated
+ title: PortalConfiguration
+ type: object
+ x-expandableFields:
+ - application
+ - business_profile
+ - features
+ - login_page
+ x-resourceId: billing_portal.configuration
+ billing_portal.session:
+ description: |-
+ The Billing customer portal is a Stripe-hosted UI for subscription and
+ billing management.
+
+ A portal configuration describes the functionality and features that you
+ want to provide to your customers through the portal.
+
+ A portal session describes the instantiation of the customer portal for
+ a particular customer. By visiting the session's URL, the customer
+ can manage their subscriptions and billing details. For security reasons,
+ sessions are short-lived and will expire if the customer does not visit the URL.
+ Create sessions on-demand when customers intend to manage their subscriptions
+ and billing details.
+
+ Learn more in the [integration guide](https://stripe.com/docs/billing/subscriptions/integrating-customer-portal).
+ properties:
+ configuration:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/billing_portal.configuration"
+ description: The configuration used by this session, describing the features available.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/billing_portal.configuration"
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ customer:
+ description: The ID of the customer for this session.
+ maxLength: 5000
+ type: string
+ flow:
+ anyOf:
+ - $ref: "#/components/schemas/portal_flows_flow"
+ description: Information about a specific flow for the customer to go through. See the [docs](https://stripe.com/docs/customer-management/portal-deep-links) to learn more about using customer portal deep links and flows.
+ nullable: true
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ locale:
+ description: The IETF language tag of the locale Customer Portal is displayed in. If blank or auto, the customer’s `preferred_locales` or browser’s locale is used.
+ enum:
+ - auto
+ - bg
+ - cs
+ - da
+ - de
+ - el
+ - en
+ - en-AU
+ - en-CA
+ - en-GB
+ - en-IE
+ - en-IN
+ - en-NZ
+ - en-SG
+ - es
+ - es-419
+ - et
+ - fi
+ - fil
+ - fr
+ - fr-CA
+ - hr
+ - hu
+ - id
+ - it
+ - ja
+ - ko
+ - lt
+ - lv
+ - ms
+ - mt
+ - nb
+ - nl
+ - pl
+ - pt
+ - pt-BR
+ - ro
+ - ru
+ - sk
+ - sl
+ - sv
+ - th
+ - tr
+ - vi
+ - zh
+ - zh-HK
+ - zh-TW
+ nullable: true
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - billing_portal.session
+ type: string
+ on_behalf_of:
+ description: The account for which the session was created on behalf of. When specified, only subscriptions and invoices with this `on_behalf_of` account appear in the portal. For more information, see the [docs](https://stripe.com/docs/connect/charges-transfers#on-behalf-of). Use the [Accounts API](https://stripe.com/docs/api/accounts/object#account_object-settings-branding) to modify the `on_behalf_of` account's branding settings, which the portal displays.
+ maxLength: 5000
+ nullable: true
+ type: string
+ return_url:
+ description: The URL to redirect customers to when they click on the portal's link to return to your website.
+ maxLength: 5000
+ nullable: true
+ type: string
+ url:
+ description: The short-lived URL of the session that gives customers access to the customer portal.
+ maxLength: 5000
+ type: string
+ required:
+ - configuration
+ - created
+ - customer
+ - id
+ - livemode
+ - object
+ - url
+ title: PortalSession
+ type: object
+ x-expandableFields:
+ - configuration
+ - flow
+ x-resourceId: billing_portal.session
+ cancellation_details:
+ description: ""
+ properties:
+ comment:
+ description: Additional comments about why the user canceled the subscription, if the subscription was cancelled explicitly by the user.
+ maxLength: 5000
+ nullable: true
+ type: string
+ feedback:
+ description: The customer submitted reason for why they cancelled, if the subscription was cancelled explicitly by the user.
+ enum:
+ - customer_service
+ - low_quality
+ - missing_features
+ - other
+ - switched_service
+ - too_complex
+ - too_expensive
+ - unused
+ nullable: true
+ type: string
+ reason:
+ description: Why this subscription was cancelled.
+ enum:
+ - cancellation_requested
+ - payment_disputed
+ - payment_failed
+ nullable: true
+ type: string
+ title: CancellationDetails
+ type: object
+ x-expandableFields: []
+ capability:
+ description: |-
+ This is an object representing a capability for a Stripe account.
+
+ Related guide: [Account capabilities](https://stripe.com/docs/connect/account-capabilities).
+ properties:
+ account:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/account"
+ description: The account for which the capability enables functionality.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/account"
+ future_requirements:
+ $ref: "#/components/schemas/account_capability_future_requirements"
+ id:
+ description: The identifier for the capability.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - capability
+ type: string
+ requested:
+ description: Whether the capability has been requested.
+ type: boolean
+ requested_at:
+ description: Time at which the capability was requested. Measured in seconds since the Unix epoch.
+ format: unix-time
+ nullable: true
+ type: integer
+ requirements:
+ $ref: "#/components/schemas/account_capability_requirements"
+ status:
+ description: The status of the capability. Can be `active`, `inactive`, `pending`, or `unrequested`.
+ enum:
+ - active
+ - disabled
+ - inactive
+ - pending
+ - unrequested
+ type: string
+ required:
+ - account
+ - id
+ - object
+ - requested
+ - status
+ title: AccountCapability
+ type: object
+ x-expandableFields:
+ - account
+ - future_requirements
+ - requirements
+ x-resourceId: capability
+ card:
+ description: |-
+ You can store multiple cards on a customer in order to charge the customer
+ later. You can also store multiple debit cards on a recipient in order to
+ transfer to those cards later.
+
+ Related guide: [Card Payments with Sources](https://stripe.com/docs/sources/cards).
+ properties:
+ account:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/account"
+ description: The account this card belongs to. This attribute will not be in the card object if the card belongs to a customer or recipient instead.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/account"
+ address_city:
+ description: City/District/Suburb/Town/Village.
+ maxLength: 5000
+ nullable: true
+ type: string
+ address_country:
+ description: Billing address country, if provided when creating card.
+ maxLength: 5000
+ nullable: true
+ type: string
+ address_line1:
+ description: Address line 1 (Street address/PO Box/Company name).
+ maxLength: 5000
+ nullable: true
+ type: string
+ address_line1_check:
+ description: "If `address_line1` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`."
+ maxLength: 5000
+ nullable: true
+ type: string
+ address_line2:
+ description: Address line 2 (Apartment/Suite/Unit/Building).
+ maxLength: 5000
+ nullable: true
+ type: string
+ address_state:
+ description: State/County/Province/Region.
+ maxLength: 5000
+ nullable: true
+ type: string
+ address_zip:
+ description: ZIP or postal code.
+ maxLength: 5000
+ nullable: true
+ type: string
+ address_zip_check:
+ description: "If `address_zip` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`."
+ maxLength: 5000
+ nullable: true
+ type: string
+ available_payout_methods:
+ description: A set of available payout methods for this card. Only values from this set should be passed as the `method` when creating a payout.
+ items:
+ enum:
+ - instant
+ - standard
+ type: string
+ nullable: true
+ type: array
+ brand:
+ description: Card brand. Can be `American Express`, `Diners Club`, `Discover`, `Eftpos Australia`, `JCB`, `MasterCard`, `UnionPay`, `Visa`, or `Unknown`.
+ maxLength: 5000
+ type: string
+ country:
+ description: Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected.
+ maxLength: 5000
+ nullable: true
+ type: string
+ currency:
+ description: Three-letter [ISO code for currency](https://stripe.com/docs/payouts). Only applicable on accounts (not customers or recipients). The card can be used as a transfer destination for funds in this currency.
+ nullable: true
+ type: string
+ customer:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ description: The customer that this card belongs to. This attribute will not be in the card object if the card belongs to an account or recipient instead.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ cvc_check:
+ description: "If a CVC was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`. A result of unchecked indicates that CVC was provided but hasn't been checked yet. Checks are typically performed when attaching a card to a Customer object, or when creating a charge. For more details, see [Check if a card is valid without a charge](https://support.stripe.com/questions/check-if-a-card-is-valid-without-a-charge)."
+ maxLength: 5000
+ nullable: true
+ type: string
+ default_for_currency:
+ description: Whether this card is the default external account for its currency.
+ nullable: true
+ type: boolean
+ dynamic_last4:
+ description: (For tokenized numbers only.) The last four digits of the device account number.
+ maxLength: 5000
+ nullable: true
+ type: string
+ exp_month:
+ description: Two-digit number representing the card's expiration month.
+ type: integer
+ exp_year:
+ description: Four-digit number representing the card's expiration year.
+ type: integer
+ fingerprint:
+ description: |-
+ Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.
+
+ *Starting May 1, 2021, card fingerprint in India for Connect will change to allow two fingerprints for the same card --- one for India and one for the rest of the world.*
+ maxLength: 5000
+ nullable: true
+ type: string
+ funding:
+ description: Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.
+ maxLength: 5000
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ last4:
+ description: The last four digits of the card.
+ maxLength: 5000
+ type: string
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ nullable: true
+ type: object
+ name:
+ description: Cardholder name.
+ maxLength: 5000
+ nullable: true
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - card
+ type: string
+ status:
+ description: For external accounts, possible values are `new` and `errored`. If a transfer fails, the status is set to `errored` and transfers are stopped until account details are updated.
+ maxLength: 5000
+ nullable: true
+ type: string
+ tokenization_method:
+ description: If the card number is tokenized, this is the method that was used. Can be `android_pay` (includes Google Pay), `apple_pay`, `masterpass`, `visa_checkout`, or null.
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - brand
+ - exp_month
+ - exp_year
+ - funding
+ - id
+ - last4
+ - object
+ title: Card
+ type: object
+ x-expandableFields:
+ - account
+ - customer
+ x-resourceId: card
+ card_generated_from_payment_method_details:
+ description: ""
+ properties:
+ card_present:
+ $ref: "#/components/schemas/payment_method_details_card_present"
+ type:
+ description: The type of payment method transaction-specific details from the transaction that generated this `card` payment method. Always `card_present`.
+ maxLength: 5000
+ type: string
+ required:
+ - type
+ title: card_generated_from_payment_method_details
+ type: object
+ x-expandableFields:
+ - card_present
+ card_issuing_account_terms_of_service:
+ description: ""
+ properties:
+ date:
+ description: The Unix timestamp marking when the account representative accepted the service agreement.
+ nullable: true
+ type: integer
+ ip:
+ description: The IP address from which the account representative accepted the service agreement.
+ maxLength: 5000
+ nullable: true
+ type: string
+ user_agent:
+ description: The user agent of the browser from which the account representative accepted the service agreement.
+ maxLength: 5000
+ type: string
+ title: CardIssuingAccountTermsOfService
+ type: object
+ x-expandableFields: []
+ card_mandate_payment_method_details:
+ description: ""
+ properties: {}
+ title: card_mandate_payment_method_details
+ type: object
+ x-expandableFields: []
+ cash_balance:
+ description: A customer's `Cash balance` represents real funds. Customers can add funds to their cash balance by sending a bank transfer. These funds can be used for payment and can eventually be paid out to your bank account.
+ properties:
+ available:
+ additionalProperties:
+ type: integer
+ description: A hash of all cash balances available to this customer. You cannot delete a customer with any cash balances, even if the balance is 0. Amounts are represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).
+ nullable: true
+ type: object
+ customer:
+ description: The ID of the customer whose cash balance this object represents.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - cash_balance
+ type: string
+ settings:
+ $ref: "#/components/schemas/customer_balance_customer_balance_settings"
+ required:
+ - customer
+ - livemode
+ - object
+ - settings
+ title: cash_balance
+ type: object
+ x-expandableFields:
+ - settings
+ x-resourceId: cash_balance
+ charge:
+ description: |-
+ To charge a credit or a debit card, you create a `Charge` object. You can
+ retrieve and refund individual charges as well as list all charges. Charges
+ are identified by a unique, random ID.
+
+ Related guide: [Accept a payment with the Charges API](https://stripe.com/docs/payments/accept-a-payment-charges).
+ properties:
+ amount:
+ description: Amount intended to be collected by this payment. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).
+ type: integer
+ amount_captured:
+ description: Amount in %s captured (can be less than the amount attribute on the charge if a partial capture was made).
+ type: integer
+ amount_refunded:
+ description: Amount in %s refunded (can be less than the amount attribute on the charge if a partial refund was issued).
+ type: integer
+ application:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/application"
+ description: ID of the Connect application that created the charge.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/application"
+ application_fee:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/application_fee"
+ description: The application fee (if any) for the charge. [See the Connect documentation](https://stripe.com/docs/connect/direct-charges#collecting-fees) for details.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/application_fee"
+ application_fee_amount:
+ description: The amount of the application fee (if any) requested for the charge. [See the Connect documentation](https://stripe.com/docs/connect/direct-charges#collecting-fees) for details.
+ nullable: true
+ type: integer
+ balance_transaction:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/balance_transaction"
+ description: ID of the balance transaction that describes the impact of this charge on your account balance (not including refunds or disputes).
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/balance_transaction"
+ billing_details:
+ $ref: "#/components/schemas/billing_details"
+ calculated_statement_descriptor:
+ description: The full statement descriptor that is passed to card networks, and that is displayed on your customers' credit card and bank statements. Allows you to see what the statement descriptor looks like after the static and dynamic portions are combined.
+ maxLength: 5000
+ nullable: true
+ type: string
+ captured:
+ description: If the charge was created without capturing, this Boolean represents whether it is still uncaptured or has since been captured.
+ type: boolean
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ customer:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ description: ID of the customer this charge is for if one exists.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 40000
+ nullable: true
+ type: string
+ disputed:
+ description: Whether the charge has been disputed.
+ type: boolean
+ failure_balance_transaction:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/balance_transaction"
+ description: ID of the balance transaction that describes the reversal of the balance on your account due to payment failure.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/balance_transaction"
+ failure_code:
+ description: Error code explaining reason for charge failure if available (see [the errors section](https://stripe.com/docs/error-codes) for a list of codes).
+ maxLength: 5000
+ nullable: true
+ type: string
+ failure_message:
+ description: Message to user further explaining reason for charge failure if available.
+ maxLength: 5000
+ nullable: true
+ type: string
+ fraud_details:
+ anyOf:
+ - $ref: "#/components/schemas/charge_fraud_details"
+ description: Information on fraud assessments for the charge.
+ nullable: true
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ invoice:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/invoice"
+ description: ID of the invoice this charge is for if one exists.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/invoice"
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - charge
+ type: string
+ on_behalf_of:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/account"
+ description: The account (if any) the charge was made on behalf of without triggering an automatic transfer. See the [Connect documentation](https://stripe.com/docs/connect/charges-transfers) for details.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/account"
+ outcome:
+ anyOf:
+ - $ref: "#/components/schemas/charge_outcome"
+ description: Details about whether the payment was accepted, and why. See [understanding declines](https://stripe.com/docs/declines) for details.
+ nullable: true
+ paid:
+ description: "`true` if the charge succeeded, or was successfully authorized for later capture."
+ type: boolean
+ payment_intent:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/payment_intent"
+ description: ID of the PaymentIntent associated with this charge, if one exists.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/payment_intent"
+ payment_method:
+ description: ID of the payment method used in this charge.
+ maxLength: 5000
+ nullable: true
+ type: string
+ payment_method_details:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_details"
+ description: Details about the payment method at the time of the transaction.
+ nullable: true
+ radar_options:
+ $ref: "#/components/schemas/radar_radar_options"
+ receipt_email:
+ description: This is the email address that the receipt for this charge was sent to.
+ maxLength: 5000
+ nullable: true
+ type: string
+ receipt_number:
+ description: This is the transaction number that appears on email receipts sent for this charge. This attribute will be `null` until a receipt has been sent.
+ maxLength: 5000
+ nullable: true
+ type: string
+ receipt_url:
+ description: This is the URL to view the receipt for this charge. The receipt is kept up-to-date to the latest state of the charge, including any refunds. If the charge is for an Invoice, the receipt will be stylized as an Invoice receipt.
+ maxLength: 5000
+ nullable: true
+ type: string
+ refunded:
+ description: Whether the charge has been fully refunded. If the charge is only partially refunded, this attribute will still be false.
+ type: boolean
+ refunds:
+ description: A list of refunds that have been applied to the charge.
+ nullable: true
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/refund"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: RefundList
+ type: object
+ x-expandableFields:
+ - data
+ review:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/review"
+ description: ID of the review associated with this charge if one exists.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/review"
+ shipping:
+ anyOf:
+ - $ref: "#/components/schemas/shipping"
+ description: Shipping information for the charge.
+ nullable: true
+ source_transfer:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/transfer"
+ description: The transfer ID which created this charge. Only present if the charge came from another Stripe account. [See the Connect documentation](https://stripe.com/docs/connect/destination-charges) for details.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/transfer"
+ statement_descriptor:
+ description: For card charges, use `statement_descriptor_suffix` instead. Otherwise, you can use this value as the complete description of a charge on your customers’ statements. Must contain at least one letter, maximum 22 characters.
+ maxLength: 5000
+ nullable: true
+ type: string
+ statement_descriptor_suffix:
+ description: Provides information about the charge that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.
+ maxLength: 5000
+ nullable: true
+ type: string
+ status:
+ description: The status of the payment is either `succeeded`, `pending`, or `failed`.
+ enum:
+ - failed
+ - pending
+ - succeeded
+ type: string
+ transfer:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/transfer"
+ description: ID of the transfer to the `destination` account (only applicable if the charge was created using the `destination` parameter).
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/transfer"
+ transfer_data:
+ anyOf:
+ - $ref: "#/components/schemas/charge_transfer_data"
+ description: An optional dictionary including the account to automatically transfer to as part of a destination charge. [See the Connect documentation](https://stripe.com/docs/connect/destination-charges) for details.
+ nullable: true
+ transfer_group:
+ description: A string that identifies this transaction as part of a group. See the [Connect documentation](https://stripe.com/docs/connect/charges-transfers#transfer-options) for details.
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - amount
+ - amount_captured
+ - amount_refunded
+ - billing_details
+ - captured
+ - created
+ - currency
+ - disputed
+ - id
+ - livemode
+ - metadata
+ - object
+ - paid
+ - refunded
+ - status
+ title: Charge
+ type: object
+ x-expandableFields:
+ - application
+ - application_fee
+ - balance_transaction
+ - billing_details
+ - customer
+ - failure_balance_transaction
+ - fraud_details
+ - invoice
+ - on_behalf_of
+ - outcome
+ - payment_intent
+ - payment_method_details
+ - radar_options
+ - refunds
+ - review
+ - shipping
+ - source_transfer
+ - transfer
+ - transfer_data
+ x-resourceId: charge
+ charge_fraud_details:
+ description: ""
+ properties:
+ stripe_report:
+ description: Assessments from Stripe. If set, the value is `fraudulent`.
+ maxLength: 5000
+ type: string
+ user_report:
+ description: Assessments reported by you. If set, possible values of are `safe` and `fraudulent`.
+ maxLength: 5000
+ type: string
+ title: ChargeFraudDetails
+ type: object
+ x-expandableFields: []
+ charge_outcome:
+ description: ""
+ properties:
+ network_status:
+ description: Possible values are `approved_by_network`, `declined_by_network`, `not_sent_to_network`, and `reversed_after_approval`. The value `reversed_after_approval` indicates the payment was [blocked by Stripe](https://stripe.com/docs/declines#blocked-payments) after bank authorization, and may temporarily appear as "pending" on a cardholder's statement.
+ maxLength: 5000
+ nullable: true
+ type: string
+ reason:
+ description: An enumerated value providing a more detailed explanation of the outcome's `type`. Charges blocked by Radar's default block rule have the value `highest_risk_level`. Charges placed in review by Radar's default review rule have the value `elevated_risk_level`. Charges authorized, blocked, or placed in review by custom rules have the value `rule`. See [understanding declines](https://stripe.com/docs/declines) for more details.
+ maxLength: 5000
+ nullable: true
+ type: string
+ risk_level:
+ description: Stripe Radar's evaluation of the riskiness of the payment. Possible values for evaluated payments are `normal`, `elevated`, `highest`. For non-card payments, and card-based payments predating the public assignment of risk levels, this field will have the value `not_assessed`. In the event of an error in the evaluation, this field will have the value `unknown`. This field is only available with Radar.
+ maxLength: 5000
+ type: string
+ risk_score:
+ description: Stripe Radar's evaluation of the riskiness of the payment. Possible values for evaluated payments are between 0 and 100. For non-card payments, card-based payments predating the public assignment of risk scores, or in the event of an error during evaluation, this field will not be present. This field is only available with Radar for Fraud Teams.
+ type: integer
+ rule:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/rule"
+ description: The ID of the Radar rule that matched the payment, if applicable.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/rule"
+ seller_message:
+ description: A human-readable description of the outcome type and reason, designed for you (the recipient of the payment), not your customer.
+ maxLength: 5000
+ nullable: true
+ type: string
+ type:
+ description: Possible values are `authorized`, `manual_review`, `issuer_declined`, `blocked`, and `invalid`. See [understanding declines](https://stripe.com/docs/declines) and [Radar reviews](https://stripe.com/docs/radar/reviews) for details.
+ maxLength: 5000
+ type: string
+ required:
+ - type
+ title: ChargeOutcome
+ type: object
+ x-expandableFields:
+ - rule
+ charge_transfer_data:
+ description: ""
+ properties:
+ amount:
+ description: The amount transferred to the destination account, if specified. By default, the entire charge amount is transferred to the destination account.
+ nullable: true
+ type: integer
+ destination:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/account"
+ description: ID of an existing, connected Stripe account to transfer funds to if `transfer_data` was specified in the charge request.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/account"
+ required:
+ - destination
+ title: ChargeTransferData
+ type: object
+ x-expandableFields:
+ - destination
+ checkout.session:
+ description: |-
+ A Checkout Session represents your customer's session as they pay for
+ one-time purchases or subscriptions through [Checkout](https://stripe.com/docs/payments/checkout)
+ or [Payment Links](https://stripe.com/docs/payments/payment-links). We recommend creating a
+ new Session each time your customer attempts to pay.
+
+ Once payment is successful, the Checkout Session will contain a reference
+ to the [Customer](https://stripe.com/docs/api/customers), and either the successful
+ [PaymentIntent](https://stripe.com/docs/api/payment_intents) or an active
+ [Subscription](https://stripe.com/docs/api/subscriptions).
+
+ You can create a Checkout Session on your server and redirect to its URL
+ to begin Checkout.
+
+ Related guide: [Checkout Quickstart](https://stripe.com/docs/checkout/quickstart).
+ properties:
+ after_expiration:
+ anyOf:
+ - $ref: "#/components/schemas/payment_pages_checkout_session_after_expiration"
+ description: When set, provides configuration for actions to take if this Checkout Session expires.
+ nullable: true
+ allow_promotion_codes:
+ description: Enables user redeemable promotion codes.
+ nullable: true
+ type: boolean
+ amount_subtotal:
+ description: Total of all items before discounts or taxes are applied.
+ nullable: true
+ type: integer
+ amount_total:
+ description: Total of all items after discounts and taxes are applied.
+ nullable: true
+ type: integer
+ automatic_tax:
+ $ref: "#/components/schemas/payment_pages_checkout_session_automatic_tax"
+ billing_address_collection:
+ description: Describes whether Checkout should collect the customer's billing address.
+ enum:
+ - auto
+ - required
+ nullable: true
+ type: string
+ cancel_url:
+ description: If set, Checkout displays a back button and customers will be directed to this URL if they decide to cancel payment and return to your website.
+ maxLength: 5000
+ nullable: true
+ type: string
+ client_reference_id:
+ description: |-
+ A unique string to reference the Checkout Session. This can be a
+ customer ID, a cart ID, or similar, and can be used to reconcile the
+ Session with your internal systems.
+ maxLength: 5000
+ nullable: true
+ type: string
+ consent:
+ anyOf:
+ - $ref: "#/components/schemas/payment_pages_checkout_session_consent"
+ description: Results of `consent_collection` for this session.
+ nullable: true
+ consent_collection:
+ anyOf:
+ - $ref: "#/components/schemas/payment_pages_checkout_session_consent_collection"
+ description: When set, provides configuration for the Checkout Session to gather active consent from customers.
+ nullable: true
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ nullable: true
+ type: string
+ currency_conversion:
+ anyOf:
+ - $ref: "#/components/schemas/payment_pages_checkout_session_currency_conversion"
+ description: Currency conversion details for automatic currency conversion sessions
+ nullable: true
+ custom_fields:
+ description: Collect additional information from your customer using custom fields. Up to 2 fields are supported.
+ items:
+ $ref: "#/components/schemas/payment_pages_checkout_session_custom_fields"
+ type: array
+ custom_text:
+ $ref: "#/components/schemas/payment_pages_checkout_session_custom_text"
+ customer:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ description: |-
+ The ID of the customer for this Session.
+ For Checkout Sessions in `payment` or `subscription` mode, Checkout
+ will create a new customer object based on information provided
+ during the payment flow unless an existing customer was provided when
+ the Session was created.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ customer_creation:
+ description: Configure whether a Checkout Session creates a Customer when the Checkout Session completes.
+ enum:
+ - always
+ - if_required
+ nullable: true
+ type: string
+ customer_details:
+ anyOf:
+ - $ref: "#/components/schemas/payment_pages_checkout_session_customer_details"
+ description: The customer details including the customer's tax exempt status and the customer's tax IDs. Only the customer's email is present on Sessions in `setup` mode.
+ nullable: true
+ customer_email:
+ description: |-
+ If provided, this value will be used when the Customer object is created.
+ If not provided, customers will be asked to enter their email address.
+ Use this parameter to prefill customer data if you already have an email
+ on file. To access information about the customer once the payment flow is
+ complete, use the `customer` attribute.
+ maxLength: 5000
+ nullable: true
+ type: string
+ expires_at:
+ description: The timestamp at which the Checkout Session will expire.
+ format: unix-time
+ type: integer
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ invoice:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/invoice"
+ description: ID of the invoice created by the Checkout Session, if it exists.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/invoice"
+ invoice_creation:
+ anyOf:
+ - $ref: "#/components/schemas/payment_pages_checkout_session_invoice_creation"
+ description: Details on the state of invoice creation for the Checkout Session.
+ nullable: true
+ line_items:
+ description: The line items purchased by the customer.
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/item"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: PaymentPagesCheckoutSessionListLineItems
+ type: object
+ x-expandableFields:
+ - data
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ locale:
+ description: The IETF language tag of the locale Checkout is displayed in. If blank or `auto`, the browser's locale is used.
+ enum:
+ - auto
+ - bg
+ - cs
+ - da
+ - de
+ - el
+ - en
+ - en-GB
+ - es
+ - es-419
+ - et
+ - fi
+ - fil
+ - fr
+ - fr-CA
+ - hr
+ - hu
+ - id
+ - it
+ - ja
+ - ko
+ - lt
+ - lv
+ - ms
+ - mt
+ - nb
+ - nl
+ - pl
+ - pt
+ - pt-BR
+ - ro
+ - ru
+ - sk
+ - sl
+ - sv
+ - th
+ - tr
+ - vi
+ - zh
+ - zh-HK
+ - zh-TW
+ nullable: true
+ type: string
+ x-stripeBypassValidation: true
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ nullable: true
+ type: object
+ mode:
+ description: The mode of the Checkout Session.
+ enum:
+ - payment
+ - setup
+ - subscription
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - checkout.session
+ type: string
+ payment_intent:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/payment_intent"
+ description: The ID of the PaymentIntent for Checkout Sessions in `payment` mode.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/payment_intent"
+ payment_link:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/payment_link"
+ description: The ID of the Payment Link that created this Session.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/payment_link"
+ payment_method_collection:
+ description: Configure whether a Checkout Session should collect a payment method.
+ enum:
+ - always
+ - if_required
+ nullable: true
+ type: string
+ payment_method_options:
+ anyOf:
+ - $ref: "#/components/schemas/checkout_session_payment_method_options"
+ description: Payment-method-specific configuration for the PaymentIntent or SetupIntent of this CheckoutSession.
+ nullable: true
+ payment_method_types:
+ description: |-
+ A list of the types of payment methods (e.g. card) this Checkout
+ Session is allowed to accept.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ payment_status:
+ description: |-
+ The payment status of the Checkout Session, one of `paid`, `unpaid`, or `no_payment_required`.
+ You can use this value to decide when to fulfill your customer's order.
+ enum:
+ - no_payment_required
+ - paid
+ - unpaid
+ type: string
+ phone_number_collection:
+ $ref: "#/components/schemas/payment_pages_checkout_session_phone_number_collection"
+ recovered_from:
+ description: The ID of the original expired Checkout Session that triggered the recovery flow.
+ maxLength: 5000
+ nullable: true
+ type: string
+ setup_intent:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/setup_intent"
+ description: The ID of the SetupIntent for Checkout Sessions in `setup` mode.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/setup_intent"
+ shipping_address_collection:
+ anyOf:
+ - $ref: "#/components/schemas/payment_pages_checkout_session_shipping_address_collection"
+ description: When set, provides configuration for Checkout to collect a shipping address from a customer.
+ nullable: true
+ shipping_cost:
+ anyOf:
+ - $ref: "#/components/schemas/payment_pages_checkout_session_shipping_cost"
+ description: The details of the customer cost of shipping, including the customer chosen ShippingRate.
+ nullable: true
+ shipping_details:
+ anyOf:
+ - $ref: "#/components/schemas/shipping"
+ description: Shipping information for this Checkout Session.
+ nullable: true
+ shipping_options:
+ description: The shipping rate options applied to this Session.
+ items:
+ $ref: "#/components/schemas/payment_pages_checkout_session_shipping_option"
+ type: array
+ status:
+ description: The status of the Checkout Session, one of `open`, `complete`, or `expired`.
+ enum:
+ - complete
+ - expired
+ - open
+ nullable: true
+ type: string
+ submit_type:
+ description: |-
+ Describes the type of transaction being performed by Checkout in order to customize
+ relevant text on the page, such as the submit button. `submit_type` can only be
+ specified on Checkout Sessions in `payment` mode, but not Checkout Sessions
+ in `subscription` or `setup` mode.
+ enum:
+ - auto
+ - book
+ - donate
+ - pay
+ nullable: true
+ type: string
+ subscription:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/subscription"
+ description: The ID of the subscription for Checkout Sessions in `subscription` mode.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/subscription"
+ success_url:
+ description: |-
+ The URL the customer will be directed to after the payment or
+ subscription creation is successful.
+ maxLength: 5000
+ type: string
+ tax_id_collection:
+ $ref: "#/components/schemas/payment_pages_checkout_session_tax_id_collection"
+ total_details:
+ anyOf:
+ - $ref: "#/components/schemas/payment_pages_checkout_session_total_details"
+ description: Tax and discount details for the computed total amount.
+ nullable: true
+ url:
+ description: |-
+ The URL to the Checkout Session. Redirect customers to this URL to take them to Checkout. If you’re using [Custom Domains](https://stripe.com/docs/payments/checkout/custom-domains), the URL will use your subdomain. Otherwise, it’ll use `checkout.stripe.com.`
+ This value is only present when the session is active.
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - automatic_tax
+ - created
+ - custom_fields
+ - custom_text
+ - expires_at
+ - id
+ - livemode
+ - mode
+ - object
+ - payment_method_types
+ - payment_status
+ - shipping_options
+ - success_url
+ title: Session
+ type: object
+ x-expandableFields:
+ - after_expiration
+ - automatic_tax
+ - consent
+ - consent_collection
+ - currency_conversion
+ - custom_fields
+ - custom_text
+ - customer
+ - customer_details
+ - invoice
+ - invoice_creation
+ - line_items
+ - payment_intent
+ - payment_link
+ - payment_method_options
+ - phone_number_collection
+ - setup_intent
+ - shipping_address_collection
+ - shipping_cost
+ - shipping_details
+ - shipping_options
+ - subscription
+ - tax_id_collection
+ - total_details
+ x-resourceId: checkout.session
+ checkout_acss_debit_mandate_options:
+ description: ""
+ properties:
+ custom_mandate_url:
+ description: A URL for custom mandate text
+ maxLength: 5000
+ type: string
+ default_for:
+ description: List of Stripe products where this mandate can be selected automatically. Returned when the Session is in `setup` mode.
+ items:
+ enum:
+ - invoice
+ - subscription
+ type: string
+ type: array
+ interval_description:
+ description: Description of the interval. Only required if the 'payment_schedule' parameter is 'interval' or 'combined'.
+ maxLength: 5000
+ nullable: true
+ type: string
+ payment_schedule:
+ description: Payment schedule for the mandate.
+ enum:
+ - combined
+ - interval
+ - sporadic
+ nullable: true
+ type: string
+ transaction_type:
+ description: Transaction type of the mandate.
+ enum:
+ - business
+ - personal
+ nullable: true
+ type: string
+ title: CheckoutAcssDebitMandateOptions
+ type: object
+ x-expandableFields: []
+ checkout_acss_debit_payment_method_options:
+ description: ""
+ properties:
+ currency:
+ description: Currency supported by the bank account. Returned when the Session is in `setup` mode.
+ enum:
+ - cad
+ - usd
+ type: string
+ mandate_options:
+ $ref: "#/components/schemas/checkout_acss_debit_mandate_options"
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ - off_session
+ - on_session
+ type: string
+ verification_method:
+ description: Bank account verification method.
+ enum:
+ - automatic
+ - instant
+ - microdeposits
+ type: string
+ x-stripeBypassValidation: true
+ title: CheckoutAcssDebitPaymentMethodOptions
+ type: object
+ x-expandableFields:
+ - mandate_options
+ checkout_affirm_payment_method_options:
+ description: ""
+ properties:
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ title: CheckoutAffirmPaymentMethodOptions
+ type: object
+ x-expandableFields: []
+ checkout_afterpay_clearpay_payment_method_options:
+ description: ""
+ properties:
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ title: CheckoutAfterpayClearpayPaymentMethodOptions
+ type: object
+ x-expandableFields: []
+ checkout_alipay_payment_method_options:
+ description: ""
+ properties:
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ title: CheckoutAlipayPaymentMethodOptions
+ type: object
+ x-expandableFields: []
+ checkout_au_becs_debit_payment_method_options:
+ description: ""
+ properties:
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ title: CheckoutAuBecsDebitPaymentMethodOptions
+ type: object
+ x-expandableFields: []
+ checkout_bacs_debit_payment_method_options:
+ description: ""
+ properties:
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ - off_session
+ - on_session
+ type: string
+ title: CheckoutBacsDebitPaymentMethodOptions
+ type: object
+ x-expandableFields: []
+ checkout_bancontact_payment_method_options:
+ description: ""
+ properties:
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ title: CheckoutBancontactPaymentMethodOptions
+ type: object
+ x-expandableFields: []
+ checkout_boleto_payment_method_options:
+ description: ""
+ properties:
+ expires_after_days:
+ description: The number of calendar days before a Boleto voucher expires. For example, if you create a Boleto voucher on Monday and you set expires_after_days to 2, the Boleto voucher will expire on Wednesday at 23:59 America/Sao_Paulo time.
+ type: integer
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ - off_session
+ - on_session
+ type: string
+ required:
+ - expires_after_days
+ title: CheckoutBoletoPaymentMethodOptions
+ type: object
+ x-expandableFields: []
+ checkout_card_installments_options:
+ description: ""
+ properties:
+ enabled:
+ description: Indicates if installments are enabled
+ type: boolean
+ title: CheckoutCardInstallmentsOptions
+ type: object
+ x-expandableFields: []
+ checkout_card_payment_method_options:
+ description: ""
+ properties:
+ installments:
+ $ref: "#/components/schemas/checkout_card_installments_options"
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ - off_session
+ - on_session
+ type: string
+ statement_descriptor_suffix_kana:
+ description: Provides information about a card payment that customers see on their statements. Concatenated with the Kana prefix (shortened Kana descriptor) or Kana statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 22 characters.
+ maxLength: 5000
+ type: string
+ statement_descriptor_suffix_kanji:
+ description: Provides information about a card payment that customers see on their statements. Concatenated with the Kanji prefix (shortened Kanji descriptor) or Kanji statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 17 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 17 characters.
+ maxLength: 5000
+ type: string
+ title: CheckoutCardPaymentMethodOptions
+ type: object
+ x-expandableFields:
+ - installments
+ checkout_cashapp_payment_method_options:
+ description: ""
+ properties:
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ title: CheckoutCashappPaymentMethodOptions
+ type: object
+ x-expandableFields: []
+ checkout_customer_balance_bank_transfer_payment_method_options:
+ description: ""
+ properties:
+ eu_bank_transfer:
+ $ref: "#/components/schemas/payment_method_options_customer_balance_eu_bank_account"
+ requested_address_types:
+ description: |-
+ List of address types that should be returned in the financial_addresses response. If not specified, all valid types will be returned.
+
+ Permitted values include: `sort_code`, `zengin`, `iban`, or `spei`.
+ items:
+ enum:
+ - iban
+ - sepa
+ - sort_code
+ - spei
+ - zengin
+ type: string
+ x-stripeBypassValidation: true
+ type: array
+ type:
+ description: "The bank transfer type that this PaymentIntent is allowed to use for funding Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, or `mx_bank_transfer`."
+ enum:
+ - eu_bank_transfer
+ - gb_bank_transfer
+ - jp_bank_transfer
+ - mx_bank_transfer
+ nullable: true
+ type: string
+ x-stripeBypassValidation: true
+ title: CheckoutCustomerBalanceBankTransferPaymentMethodOptions
+ type: object
+ x-expandableFields:
+ - eu_bank_transfer
+ checkout_customer_balance_payment_method_options:
+ description: ""
+ properties:
+ bank_transfer:
+ $ref: "#/components/schemas/checkout_customer_balance_bank_transfer_payment_method_options"
+ funding_type:
+ description: "The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`."
+ enum:
+ - bank_transfer
+ nullable: true
+ type: string
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ title: CheckoutCustomerBalancePaymentMethodOptions
+ type: object
+ x-expandableFields:
+ - bank_transfer
+ checkout_eps_payment_method_options:
+ description: ""
+ properties:
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ title: CheckoutEpsPaymentMethodOptions
+ type: object
+ x-expandableFields: []
+ checkout_fpx_payment_method_options:
+ description: ""
+ properties:
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ title: CheckoutFpxPaymentMethodOptions
+ type: object
+ x-expandableFields: []
+ checkout_giropay_payment_method_options:
+ description: ""
+ properties:
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ title: CheckoutGiropayPaymentMethodOptions
+ type: object
+ x-expandableFields: []
+ checkout_grab_pay_payment_method_options:
+ description: ""
+ properties:
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ title: CheckoutGrabPayPaymentMethodOptions
+ type: object
+ x-expandableFields: []
+ checkout_ideal_payment_method_options:
+ description: ""
+ properties:
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ title: CheckoutIdealPaymentMethodOptions
+ type: object
+ x-expandableFields: []
+ checkout_klarna_payment_method_options:
+ description: ""
+ properties:
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ - off_session
+ - on_session
+ type: string
+ title: CheckoutKlarnaPaymentMethodOptions
+ type: object
+ x-expandableFields: []
+ checkout_konbini_payment_method_options:
+ description: ""
+ properties:
+ expires_after_days:
+ description: The number of calendar days (between 1 and 60) after which Konbini payment instructions will expire. For example, if a PaymentIntent is confirmed with Konbini and `expires_after_days` set to 2 on Monday JST, the instructions will expire on Wednesday 23:59:59 JST.
+ nullable: true
+ type: integer
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ title: CheckoutKonbiniPaymentMethodOptions
+ type: object
+ x-expandableFields: []
+ checkout_oxxo_payment_method_options:
+ description: ""
+ properties:
+ expires_after_days:
+ description: The number of calendar days before an OXXO invoice expires. For example, if you create an OXXO invoice on Monday and you set expires_after_days to 2, the OXXO invoice will expire on Wednesday at 23:59 America/Mexico_City time.
+ type: integer
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ required:
+ - expires_after_days
+ title: CheckoutOxxoPaymentMethodOptions
+ type: object
+ x-expandableFields: []
+ checkout_p24_payment_method_options:
+ description: ""
+ properties:
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ title: CheckoutP24PaymentMethodOptions
+ type: object
+ x-expandableFields: []
+ checkout_paynow_payment_method_options:
+ description: ""
+ properties:
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ title: CheckoutPaynowPaymentMethodOptions
+ type: object
+ x-expandableFields: []
+ checkout_pix_payment_method_options:
+ description: ""
+ properties:
+ expires_after_seconds:
+ description: The number of seconds after which Pix payment will expire.
+ nullable: true
+ type: integer
+ title: CheckoutPixPaymentMethodOptions
+ type: object
+ x-expandableFields: []
+ checkout_sepa_debit_payment_method_options:
+ description: ""
+ properties:
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ - off_session
+ - on_session
+ type: string
+ title: CheckoutSepaDebitPaymentMethodOptions
+ type: object
+ x-expandableFields: []
+ checkout_session_payment_method_options:
+ description: ""
+ properties:
+ acss_debit:
+ $ref: "#/components/schemas/checkout_acss_debit_payment_method_options"
+ affirm:
+ $ref: "#/components/schemas/checkout_affirm_payment_method_options"
+ afterpay_clearpay:
+ $ref: "#/components/schemas/checkout_afterpay_clearpay_payment_method_options"
+ alipay:
+ $ref: "#/components/schemas/checkout_alipay_payment_method_options"
+ au_becs_debit:
+ $ref: "#/components/schemas/checkout_au_becs_debit_payment_method_options"
+ bacs_debit:
+ $ref: "#/components/schemas/checkout_bacs_debit_payment_method_options"
+ bancontact:
+ $ref: "#/components/schemas/checkout_bancontact_payment_method_options"
+ boleto:
+ $ref: "#/components/schemas/checkout_boleto_payment_method_options"
+ card:
+ $ref: "#/components/schemas/checkout_card_payment_method_options"
+ cashapp:
+ $ref: "#/components/schemas/checkout_cashapp_payment_method_options"
+ customer_balance:
+ $ref: "#/components/schemas/checkout_customer_balance_payment_method_options"
+ eps:
+ $ref: "#/components/schemas/checkout_eps_payment_method_options"
+ fpx:
+ $ref: "#/components/schemas/checkout_fpx_payment_method_options"
+ giropay:
+ $ref: "#/components/schemas/checkout_giropay_payment_method_options"
+ grabpay:
+ $ref: "#/components/schemas/checkout_grab_pay_payment_method_options"
+ ideal:
+ $ref: "#/components/schemas/checkout_ideal_payment_method_options"
+ klarna:
+ $ref: "#/components/schemas/checkout_klarna_payment_method_options"
+ konbini:
+ $ref: "#/components/schemas/checkout_konbini_payment_method_options"
+ oxxo:
+ $ref: "#/components/schemas/checkout_oxxo_payment_method_options"
+ p24:
+ $ref: "#/components/schemas/checkout_p24_payment_method_options"
+ paynow:
+ $ref: "#/components/schemas/checkout_paynow_payment_method_options"
+ pix:
+ $ref: "#/components/schemas/checkout_pix_payment_method_options"
+ sepa_debit:
+ $ref: "#/components/schemas/checkout_sepa_debit_payment_method_options"
+ sofort:
+ $ref: "#/components/schemas/checkout_sofort_payment_method_options"
+ us_bank_account:
+ $ref: "#/components/schemas/checkout_us_bank_account_payment_method_options"
+ title: CheckoutSessionPaymentMethodOptions
+ type: object
+ x-expandableFields:
+ - acss_debit
+ - affirm
+ - afterpay_clearpay
+ - alipay
+ - au_becs_debit
+ - bacs_debit
+ - bancontact
+ - boleto
+ - card
+ - cashapp
+ - customer_balance
+ - eps
+ - fpx
+ - giropay
+ - grabpay
+ - ideal
+ - klarna
+ - konbini
+ - oxxo
+ - p24
+ - paynow
+ - pix
+ - sepa_debit
+ - sofort
+ - us_bank_account
+ checkout_sofort_payment_method_options:
+ description: ""
+ properties:
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ title: CheckoutSofortPaymentMethodOptions
+ type: object
+ x-expandableFields: []
+ checkout_us_bank_account_payment_method_options:
+ description: ""
+ properties:
+ financial_connections:
+ $ref: "#/components/schemas/linked_account_options_us_bank_account"
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ - off_session
+ - on_session
+ type: string
+ verification_method:
+ description: Bank account verification method.
+ enum:
+ - automatic
+ - instant
+ type: string
+ x-stripeBypassValidation: true
+ title: CheckoutUsBankAccountPaymentMethodOptions
+ type: object
+ x-expandableFields:
+ - financial_connections
+ connect_collection_transfer:
+ description: ""
+ properties:
+ amount:
+ description: Amount transferred, in %s.
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ destination:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/account"
+ description: ID of the account that funds are being collected for.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/account"
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - connect_collection_transfer
+ type: string
+ required:
+ - amount
+ - currency
+ - destination
+ - id
+ - livemode
+ - object
+ title: ConnectCollectionTransfer
+ type: object
+ x-expandableFields:
+ - destination
+ country_spec:
+ description: |-
+ Stripe needs to collect certain pieces of information about each account
+ created. These requirements can differ depending on the account's country. The
+ Country Specs API makes these rules available to your integration.
+
+ You can also view the information from this API call as [an online
+ guide](/docs/connect/required-verification-information).
+ properties:
+ default_currency:
+ description: The default currency for this country. This applies to both payment methods and bank accounts.
+ maxLength: 5000
+ type: string
+ id:
+ description: Unique identifier for the object. Represented as the ISO country code for this country.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - country_spec
+ type: string
+ supported_bank_account_currencies:
+ additionalProperties:
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ description: Currencies that can be accepted in the specific country (for transfers).
+ type: object
+ supported_payment_currencies:
+ description: Currencies that can be accepted in the specified country (for payments).
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ supported_payment_methods:
+ description: Payment methods available in the specified country. You may need to enable some payment methods (e.g., [ACH](https://stripe.com/docs/ach)) on your account before they appear in this list. The `stripe` payment method refers to [charging through your platform](https://stripe.com/docs/connect/destination-charges).
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ supported_transfer_countries:
+ description: Countries that can accept transfers from the specified country.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ verification_fields:
+ $ref: "#/components/schemas/country_spec_verification_fields"
+ required:
+ - default_currency
+ - id
+ - object
+ - supported_bank_account_currencies
+ - supported_payment_currencies
+ - supported_payment_methods
+ - supported_transfer_countries
+ - verification_fields
+ title: CountrySpec
+ type: object
+ x-expandableFields:
+ - verification_fields
+ x-resourceId: country_spec
+ country_spec_verification_field_details:
+ description: ""
+ properties:
+ additional:
+ description: Additional fields which are only required for some users.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ minimum:
+ description: Fields which every account must eventually provide.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ required:
+ - additional
+ - minimum
+ title: CountrySpecVerificationFieldDetails
+ type: object
+ x-expandableFields: []
+ country_spec_verification_fields:
+ description: ""
+ properties:
+ company:
+ $ref: "#/components/schemas/country_spec_verification_field_details"
+ individual:
+ $ref: "#/components/schemas/country_spec_verification_field_details"
+ required:
+ - company
+ - individual
+ title: CountrySpecVerificationFields
+ type: object
+ x-expandableFields:
+ - company
+ - individual
+ coupon:
+ description: |-
+ A coupon contains information about a percent-off or amount-off discount you
+ might want to apply to a customer. Coupons may be applied to [subscriptions](https://stripe.com/docs/api#subscriptions), [invoices](https://stripe.com/docs/api#invoices),
+ [checkout sessions](https://stripe.com/docs/api/checkout/sessions), [quotes](https://stripe.com/docs/api#quotes), and more. Coupons do not work with conventional one-off [charges](https://stripe.com/docs/api#create_charge) or [payment intents](https://stripe.com/docs/api/payment_intents).
+ properties:
+ amount_off:
+ description: Amount (in the `currency` specified) that will be taken off the subtotal of any invoices for this customer.
+ nullable: true
+ type: integer
+ applies_to:
+ $ref: "#/components/schemas/coupon_applies_to"
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: If `amount_off` has been set, the three-letter [ISO code for the currency](https://stripe.com/docs/currencies) of the amount to take off.
+ nullable: true
+ type: string
+ currency_options:
+ additionalProperties:
+ $ref: "#/components/schemas/coupon_currency_option"
+ description: Coupons defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies).
+ type: object
+ duration:
+ description: One of `forever`, `once`, and `repeating`. Describes how long a customer who applies this coupon will get the discount.
+ enum:
+ - forever
+ - once
+ - repeating
+ type: string
+ x-stripeBypassValidation: true
+ duration_in_months:
+ description: If `duration` is `repeating`, the number of months the coupon applies. Null if coupon `duration` is `forever` or `once`.
+ nullable: true
+ type: integer
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ max_redemptions:
+ description: Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid.
+ nullable: true
+ type: integer
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ nullable: true
+ type: object
+ name:
+ description: Name of the coupon displayed to customers on for instance invoices or receipts.
+ maxLength: 5000
+ nullable: true
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - coupon
+ type: string
+ percent_off:
+ description: Percent that will be taken off the subtotal of any invoices for this customer for the duration of the coupon. For example, a coupon with percent_off of 50 will make a %s100 invoice %s50 instead.
+ nullable: true
+ type: number
+ redeem_by:
+ description: Date after which the coupon can no longer be redeemed.
+ format: unix-time
+ nullable: true
+ type: integer
+ times_redeemed:
+ description: Number of times this coupon has been applied to a customer.
+ type: integer
+ valid:
+ description: Taking account of the above properties, whether this coupon can still be applied to a customer.
+ type: boolean
+ required:
+ - created
+ - duration
+ - id
+ - livemode
+ - object
+ - times_redeemed
+ - valid
+ title: Coupon
+ type: object
+ x-expandableFields:
+ - applies_to
+ - currency_options
+ x-resourceId: coupon
+ coupon_applies_to:
+ description: ""
+ properties:
+ products:
+ description: A list of product IDs this coupon applies to
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ required:
+ - products
+ title: CouponAppliesTo
+ type: object
+ x-expandableFields: []
+ coupon_currency_option:
+ description: ""
+ properties:
+ amount_off:
+ description: Amount (in the `currency` specified) that will be taken off the subtotal of any invoices for this customer.
+ type: integer
+ required:
+ - amount_off
+ title: CouponCurrencyOption
+ type: object
+ x-expandableFields: []
+ credit_note:
+ description: |-
+ Issue a credit note to adjust an invoice's amount after the invoice is finalized.
+
+ Related guide: [Credit Notes](https://stripe.com/docs/billing/invoices/credit-notes).
+ properties:
+ amount:
+ description: The integer amount in %s representing the total amount of the credit note, including tax.
+ type: integer
+ amount_shipping:
+ description: This is the sum of all the shipping amounts.
+ type: integer
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ customer:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ description: ID of the customer.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ customer_balance_transaction:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/customer_balance_transaction"
+ description: Customer balance transaction related to this credit note.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/customer_balance_transaction"
+ discount_amount:
+ description: The integer amount in %s representing the total amount of discount that was credited.
+ type: integer
+ discount_amounts:
+ description: The aggregate amounts calculated per discount for all line items.
+ items:
+ $ref: "#/components/schemas/discounts_resource_discount_amount"
+ type: array
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ invoice:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/invoice"
+ description: ID of the invoice.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/invoice"
+ lines:
+ description: Line items that make up the credit note
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/credit_note_line_item"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: CreditNoteLinesList
+ type: object
+ x-expandableFields:
+ - data
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ memo:
+ description: Customer-facing text that appears on the credit note PDF.
+ maxLength: 5000
+ nullable: true
+ type: string
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ nullable: true
+ type: object
+ number:
+ description: A unique number that identifies this particular credit note and appears on the PDF of the credit note and its associated invoice.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - credit_note
+ type: string
+ out_of_band_amount:
+ description: Amount that was credited outside of Stripe.
+ nullable: true
+ type: integer
+ pdf:
+ description: The link to download the PDF of the credit note.
+ maxLength: 5000
+ type: string
+ reason:
+ description: Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory`
+ enum:
+ - duplicate
+ - fraudulent
+ - order_change
+ - product_unsatisfactory
+ nullable: true
+ type: string
+ refund:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/refund"
+ description: Refund related to this credit note.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/refund"
+ shipping_cost:
+ anyOf:
+ - $ref: "#/components/schemas/invoices_shipping_cost"
+ description: The details of the cost of shipping, including the ShippingRate applied to the invoice.
+ nullable: true
+ status:
+ description: Status of this credit note, one of `issued` or `void`. Learn more about [voiding credit notes](https://stripe.com/docs/billing/invoices/credit-notes#voiding).
+ enum:
+ - issued
+ - void
+ type: string
+ subtotal:
+ description: The integer amount in %s representing the amount of the credit note, excluding exclusive tax and invoice level discounts.
+ type: integer
+ subtotal_excluding_tax:
+ description: The integer amount in %s representing the amount of the credit note, excluding all tax and invoice level discounts.
+ nullable: true
+ type: integer
+ tax_amounts:
+ description: The aggregate amounts calculated per tax rate for all line items.
+ items:
+ $ref: "#/components/schemas/credit_note_tax_amount"
+ type: array
+ total:
+ description: The integer amount in %s representing the total amount of the credit note, including tax and all discount.
+ type: integer
+ total_excluding_tax:
+ description: The integer amount in %s representing the total amount of the credit note, excluding tax, but including discounts.
+ nullable: true
+ type: integer
+ type:
+ description: Type of this credit note, one of `pre_payment` or `post_payment`. A `pre_payment` credit note means it was issued when the invoice was open. A `post_payment` credit note means it was issued when the invoice was paid.
+ enum:
+ - post_payment
+ - pre_payment
+ type: string
+ voided_at:
+ description: The time that the credit note was voided.
+ format: unix-time
+ nullable: true
+ type: integer
+ required:
+ - amount
+ - amount_shipping
+ - created
+ - currency
+ - customer
+ - discount_amount
+ - discount_amounts
+ - id
+ - invoice
+ - lines
+ - livemode
+ - number
+ - object
+ - pdf
+ - status
+ - subtotal
+ - tax_amounts
+ - total
+ - type
+ title: CreditNote
+ type: object
+ x-expandableFields:
+ - customer
+ - customer_balance_transaction
+ - discount_amounts
+ - invoice
+ - lines
+ - refund
+ - shipping_cost
+ - tax_amounts
+ x-resourceId: credit_note
+ credit_note_line_item:
+ description: ""
+ properties:
+ amount:
+ description: The integer amount in %s representing the gross amount being credited for this line item, excluding (exclusive) tax and discounts.
+ type: integer
+ amount_excluding_tax:
+ description: The integer amount in %s representing the amount being credited for this line item, excluding all tax and discounts.
+ nullable: true
+ type: integer
+ description:
+ description: Description of the item being credited.
+ maxLength: 5000
+ nullable: true
+ type: string
+ discount_amount:
+ description: The integer amount in %s representing the discount being credited for this line item.
+ type: integer
+ discount_amounts:
+ description: The amount of discount calculated per discount for this line item
+ items:
+ $ref: "#/components/schemas/discounts_resource_discount_amount"
+ type: array
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ invoice_line_item:
+ description: ID of the invoice line item being credited
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - credit_note_line_item
+ type: string
+ quantity:
+ description: The number of units of product being credited.
+ nullable: true
+ type: integer
+ tax_amounts:
+ description: The amount of tax calculated per tax rate for this line item
+ items:
+ $ref: "#/components/schemas/credit_note_tax_amount"
+ type: array
+ tax_rates:
+ description: The tax rates which apply to the line item.
+ items:
+ $ref: "#/components/schemas/tax_rate"
+ type: array
+ type:
+ description: The type of the credit note line item, one of `invoice_line_item` or `custom_line_item`. When the type is `invoice_line_item` there is an additional `invoice_line_item` property on the resource the value of which is the id of the credited line item on the invoice.
+ enum:
+ - custom_line_item
+ - invoice_line_item
+ type: string
+ unit_amount:
+ description: The cost of each unit of product being credited.
+ nullable: true
+ type: integer
+ unit_amount_decimal:
+ description: Same as `unit_amount`, but contains a decimal value with at most 12 decimal places.
+ format: decimal
+ nullable: true
+ type: string
+ unit_amount_excluding_tax:
+ description: The amount in %s representing the unit amount being credited for this line item, excluding all tax and discounts.
+ format: decimal
+ nullable: true
+ type: string
+ required:
+ - amount
+ - discount_amount
+ - discount_amounts
+ - id
+ - livemode
+ - object
+ - tax_amounts
+ - tax_rates
+ - type
+ title: CreditNoteLineItem
+ type: object
+ x-expandableFields:
+ - discount_amounts
+ - tax_amounts
+ - tax_rates
+ x-resourceId: credit_note_line_item
+ credit_note_tax_amount:
+ description: ""
+ properties:
+ amount:
+ description: The amount, in %s, of the tax.
+ type: integer
+ inclusive:
+ description: Whether this tax amount is inclusive or exclusive.
+ type: boolean
+ tax_rate:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/tax_rate"
+ description: The tax rate that was applied to get this tax amount.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/tax_rate"
+ required:
+ - amount
+ - inclusive
+ - tax_rate
+ title: CreditNoteTaxAmount
+ type: object
+ x-expandableFields:
+ - tax_rate
+ currency_option:
+ description: ""
+ properties:
+ custom_unit_amount:
+ anyOf:
+ - $ref: "#/components/schemas/custom_unit_amount"
+ description: When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links.
+ nullable: true
+ tax_behavior:
+ description: Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed.
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ nullable: true
+ type: string
+ tiers:
+ description: Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`.
+ items:
+ $ref: "#/components/schemas/price_tier"
+ type: array
+ unit_amount:
+ description: The unit amount in %s to be charged, represented as a whole integer if possible. Only set if `billing_scheme=per_unit`.
+ nullable: true
+ type: integer
+ unit_amount_decimal:
+ description: The unit amount in %s to be charged, represented as a decimal string with at most 12 decimal places. Only set if `billing_scheme=per_unit`.
+ format: decimal
+ nullable: true
+ type: string
+ title: CurrencyOption
+ type: object
+ x-expandableFields:
+ - custom_unit_amount
+ - tiers
+ custom_unit_amount:
+ description: ""
+ properties:
+ maximum:
+ description: The maximum unit amount the customer can specify for this item.
+ nullable: true
+ type: integer
+ minimum:
+ description: The minimum unit amount the customer can specify for this item. Must be at least the minimum charge amount.
+ nullable: true
+ type: integer
+ preset:
+ description: The starting unit amount which can be updated by the customer.
+ nullable: true
+ type: integer
+ title: CustomUnitAmount
+ type: object
+ x-expandableFields: []
+ customer:
+ description: |-
+ This object represents a customer of your business. It lets you create recurring charges and track payments that belong to the same customer.
+
+ Related guide: [Save a card during payment](https://stripe.com/docs/payments/save-during-payment).
+ properties:
+ address:
+ anyOf:
+ - $ref: "#/components/schemas/address"
+ description: The customer's address.
+ nullable: true
+ balance:
+ description: Current balance, if any, being stored on the customer. If negative, the customer has credit to apply to their next invoice. If positive, the customer has an amount owed that will be added to their next invoice. The balance does not refer to any unpaid invoices; it solely takes into account amounts that have yet to be successfully applied to any invoice. This balance is only taken into account as invoices are finalized.
+ type: integer
+ cash_balance:
+ anyOf:
+ - $ref: "#/components/schemas/cash_balance"
+ description: The current funds being held by Stripe on behalf of the customer. These funds can be applied towards payment intents with source "cash_balance". The settings[reconciliation_mode] field describes whether these funds are applied to such payment intents manually or automatically.
+ nullable: true
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) the customer can be charged in for recurring billing purposes.
+ maxLength: 5000
+ nullable: true
+ type: string
+ default_source:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/bank_account"
+ - $ref: "#/components/schemas/card"
+ - $ref: "#/components/schemas/source"
+ description: |-
+ ID of the default payment source for the customer.
+
+ If you are using payment methods created via the PaymentMethods API, see the [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) field instead.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/bank_account"
+ - $ref: "#/components/schemas/card"
+ - $ref: "#/components/schemas/source"
+ x-stripeBypassValidation: true
+ delinquent:
+ description: |-
+ When the customer's latest invoice is billed by charging automatically, `delinquent` is `true` if the invoice's latest charge failed. When the customer's latest invoice is billed by sending an invoice, `delinquent` is `true` if the invoice isn't paid by its due date.
+
+ If an invoice is marked uncollectible by [dunning](https://stripe.com/docs/billing/automatic-collection), `delinquent` doesn't get reset to `false`.
+ nullable: true
+ type: boolean
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 5000
+ nullable: true
+ type: string
+ discount:
+ anyOf:
+ - $ref: "#/components/schemas/discount"
+ description: Describes the current discount active on the customer, if there is one.
+ nullable: true
+ email:
+ description: The customer's email address.
+ maxLength: 5000
+ nullable: true
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ invoice_credit_balance:
+ additionalProperties:
+ type: integer
+ description: The current multi-currency balances, if any, being stored on the customer. If positive in a currency, the customer has a credit to apply to their next invoice denominated in that currency. If negative, the customer has an amount owed that will be added to their next invoice denominated in that currency. These balances do not refer to any unpaid invoices. They solely track amounts that have yet to be successfully applied to any invoice. A balance in a particular currency is only applied to any invoice as an invoice in that currency is finalized.
+ type: object
+ invoice_prefix:
+ description: The prefix for the customer used to generate unique invoice numbers.
+ maxLength: 5000
+ nullable: true
+ type: string
+ invoice_settings:
+ $ref: "#/components/schemas/invoice_setting_customer_setting"
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ name:
+ description: The customer's full name or business name.
+ maxLength: 5000
+ nullable: true
+ type: string
+ next_invoice_sequence:
+ description: The suffix of the customer's next invoice number, e.g., 0001.
+ type: integer
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - customer
+ type: string
+ phone:
+ description: The customer's phone number.
+ maxLength: 5000
+ nullable: true
+ type: string
+ preferred_locales:
+ description: The customer's preferred locales (languages), ordered by preference.
+ items:
+ maxLength: 5000
+ type: string
+ nullable: true
+ type: array
+ shipping:
+ anyOf:
+ - $ref: "#/components/schemas/shipping"
+ description: Mailing and shipping address for the customer. Appears on invoices emailed to this customer.
+ nullable: true
+ sources:
+ description: The customer's payment sources, if any.
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ anyOf:
+ - $ref: "#/components/schemas/bank_account"
+ - $ref: "#/components/schemas/card"
+ - $ref: "#/components/schemas/source"
+ title: Polymorphic
+ x-stripeBypassValidation: true
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: ApmsSourcesSourceList
+ type: object
+ x-expandableFields:
+ - data
+ subscriptions:
+ description: The customer's current subscriptions, if any.
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/subscription"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: SubscriptionList
+ type: object
+ x-expandableFields:
+ - data
+ tax:
+ $ref: "#/components/schemas/customer_tax"
+ tax_exempt:
+ description: Describes the customer's tax exemption status. One of `none`, `exempt`, or `reverse`. When set to `reverse`, invoice and receipt PDFs include the text **"Reverse charge"**.
+ enum:
+ - exempt
+ - none
+ - reverse
+ nullable: true
+ type: string
+ tax_ids:
+ description: The customer's tax IDs.
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/tax_id"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: TaxIDsList
+ type: object
+ x-expandableFields:
+ - data
+ test_clock:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/test_helpers.test_clock"
+ description: ID of the test clock this customer belongs to.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/test_helpers.test_clock"
+ required:
+ - created
+ - id
+ - livemode
+ - object
+ title: Customer
+ type: object
+ x-expandableFields:
+ - address
+ - cash_balance
+ - default_source
+ - discount
+ - invoice_settings
+ - shipping
+ - sources
+ - subscriptions
+ - tax
+ - tax_ids
+ - test_clock
+ x-resourceId: customer
+ customer_acceptance:
+ description: ""
+ properties:
+ accepted_at:
+ description: The time at which the customer accepted the Mandate.
+ format: unix-time
+ nullable: true
+ type: integer
+ offline:
+ $ref: "#/components/schemas/offline_acceptance"
+ online:
+ $ref: "#/components/schemas/online_acceptance"
+ type:
+ description: The type of customer acceptance information included with the Mandate. One of `online` or `offline`.
+ enum:
+ - offline
+ - online
+ type: string
+ required:
+ - type
+ title: customer_acceptance
+ type: object
+ x-expandableFields:
+ - offline
+ - online
+ customer_balance_customer_balance_settings:
+ description: ""
+ properties:
+ reconciliation_mode:
+ description: The configuration for how funds that land in the customer cash balance are reconciled.
+ enum:
+ - automatic
+ - manual
+ type: string
+ using_merchant_default:
+ description: A flag to indicate if reconciliation mode returned is the user's default or is specific to this customer cash balance
+ type: boolean
+ required:
+ - reconciliation_mode
+ - using_merchant_default
+ title: CustomerBalanceCustomerBalanceSettings
+ type: object
+ x-expandableFields: []
+ customer_balance_resource_cash_balance_transaction_resource_applied_to_payment_transaction:
+ description: ""
+ properties:
+ payment_intent:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/payment_intent"
+ description: The [Payment Intent](https://stripe.com/docs/api/payment_intents/object) that funds were applied to.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/payment_intent"
+ required:
+ - payment_intent
+ title: CustomerBalanceResourceCashBalanceTransactionResourceAppliedToPaymentTransaction
+ type: object
+ x-expandableFields:
+ - payment_intent
+ customer_balance_resource_cash_balance_transaction_resource_funded_transaction:
+ description: ""
+ properties:
+ bank_transfer:
+ $ref: "#/components/schemas/customer_balance_resource_cash_balance_transaction_resource_funded_transaction_resource_bank_transfer"
+ required:
+ - bank_transfer
+ title: CustomerBalanceResourceCashBalanceTransactionResourceFundedTransaction
+ type: object
+ x-expandableFields:
+ - bank_transfer
+ customer_balance_resource_cash_balance_transaction_resource_funded_transaction_resource_bank_transfer:
+ description: ""
+ properties:
+ eu_bank_transfer:
+ $ref: "#/components/schemas/customer_balance_resource_cash_balance_transaction_resource_funded_transaction_resource_bank_transfer_resource_eu_bank_transfer"
+ reference:
+ description: The user-supplied reference field on the bank transfer.
+ maxLength: 5000
+ nullable: true
+ type: string
+ type:
+ description: "The funding method type used to fund the customer balance. Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, or `mx_bank_transfer`."
+ enum:
+ - eu_bank_transfer
+ - gb_bank_transfer
+ - jp_bank_transfer
+ - mx_bank_transfer
+ type: string
+ x-stripeBypassValidation: true
+ required:
+ - type
+ title: CustomerBalanceResourceCashBalanceTransactionResourceFundedTransactionResourceBankTransfer
+ type: object
+ x-expandableFields:
+ - eu_bank_transfer
+ customer_balance_resource_cash_balance_transaction_resource_funded_transaction_resource_bank_transfer_resource_eu_bank_transfer:
+ description: ""
+ properties:
+ bic:
+ description: The BIC of the bank of the sender of the funding.
+ maxLength: 5000
+ nullable: true
+ type: string
+ iban_last4:
+ description: The last 4 digits of the IBAN of the sender of the funding.
+ maxLength: 5000
+ nullable: true
+ type: string
+ sender_name:
+ description: The full name of the sender, as supplied by the sending bank.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: CustomerBalanceResourceCashBalanceTransactionResourceFundedTransactionResourceBankTransferResourceEuBankTransfer
+ type: object
+ x-expandableFields: []
+ customer_balance_resource_cash_balance_transaction_resource_refunded_from_payment_transaction:
+ description: ""
+ properties:
+ refund:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/refund"
+ description: The [Refund](https://stripe.com/docs/api/refunds/object) that moved these funds into the customer's cash balance.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/refund"
+ required:
+ - refund
+ title: CustomerBalanceResourceCashBalanceTransactionResourceRefundedFromPaymentTransaction
+ type: object
+ x-expandableFields:
+ - refund
+ customer_balance_resource_cash_balance_transaction_resource_unapplied_from_payment_transaction:
+ description: ""
+ properties:
+ payment_intent:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/payment_intent"
+ description: The [Payment Intent](https://stripe.com/docs/api/payment_intents/object) that funds were unapplied from.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/payment_intent"
+ required:
+ - payment_intent
+ title: CustomerBalanceResourceCashBalanceTransactionResourceUnappliedFromPaymentTransaction
+ type: object
+ x-expandableFields:
+ - payment_intent
+ customer_balance_transaction:
+ description: |-
+ Each customer has a [`balance`](https://stripe.com/docs/api/customers/object#customer_object-balance) value,
+ which denotes a debit or credit that's automatically applied to their next invoice upon finalization.
+ You may modify the value directly by using the [update customer API](https://stripe.com/docs/api/customers/update),
+ or by creating a Customer Balance Transaction, which increments or decrements the customer's `balance` by the specified `amount`.
+
+ Related guide: [Customer Balance](https://stripe.com/docs/billing/customer/balance) to learn more.
+ properties:
+ amount:
+ description: The amount of the transaction. A negative value is a credit for the customer's balance, and a positive value is a debit to the customer's `balance`.
+ type: integer
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ credit_note:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/credit_note"
+ description: The ID of the credit note (if any) related to the transaction.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/credit_note"
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ customer:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/customer"
+ description: The ID of the customer the transaction belongs to.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/customer"
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 5000
+ nullable: true
+ type: string
+ ending_balance:
+ description: The customer's `balance` after the transaction was applied. A negative value decreases the amount due on the customer's next invoice. A positive value increases the amount due on the customer's next invoice.
+ type: integer
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ invoice:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/invoice"
+ description: The ID of the invoice (if any) related to the transaction.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/invoice"
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ nullable: true
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - customer_balance_transaction
+ type: string
+ type:
+ description: "Transaction type: `adjustment`, `applied_to_invoice`, `credit_note`, `initial`, `invoice_overpaid`, `invoice_too_large`, `invoice_too_small`, `unspent_receiver_credit`, or `unapplied_from_invoice`. See the [Customer Balance page](https://stripe.com/docs/billing/customer/balance#types) to learn more about transaction types."
+ enum:
+ - adjustment
+ - applied_to_invoice
+ - credit_note
+ - initial
+ - invoice_overpaid
+ - invoice_too_large
+ - invoice_too_small
+ - migration
+ - unapplied_from_invoice
+ - unspent_receiver_credit
+ type: string
+ required:
+ - amount
+ - created
+ - currency
+ - customer
+ - ending_balance
+ - id
+ - livemode
+ - object
+ - type
+ title: CustomerBalanceTransaction
+ type: object
+ x-expandableFields:
+ - credit_note
+ - customer
+ - invoice
+ x-resourceId: customer_balance_transaction
+ customer_cash_balance_transaction:
+ description: |-
+ Customers with certain payments enabled have a cash balance, representing funds that were paid
+ by the customer to a merchant, but have not yet been allocated to a payment. Cash Balance Transactions
+ represent when funds are moved into or out of this balance. This includes funding by the customer, allocation
+ to payments, and refunds to the customer.
+ properties:
+ applied_to_payment:
+ $ref: "#/components/schemas/customer_balance_resource_cash_balance_transaction_resource_applied_to_payment_transaction"
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ maxLength: 5000
+ type: string
+ customer:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/customer"
+ description: The customer whose available cash balance changed as a result of this transaction.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/customer"
+ ending_balance:
+ description: The total available cash balance for the specified currency after this transaction was applied. Represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).
+ type: integer
+ funded:
+ $ref: "#/components/schemas/customer_balance_resource_cash_balance_transaction_resource_funded_transaction"
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ net_amount:
+ description: The amount by which the cash balance changed, represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). A positive value represents funds being added to the cash balance, a negative value represents funds being removed from the cash balance.
+ type: integer
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - customer_cash_balance_transaction
+ type: string
+ refunded_from_payment:
+ $ref: "#/components/schemas/customer_balance_resource_cash_balance_transaction_resource_refunded_from_payment_transaction"
+ type:
+ description: The type of the cash balance transaction. One of `applied_to_payment`, `unapplied_from_payment`, `refunded_from_payment`, `funded`, `return_initiated`, or `return_canceled`. New types may be added in future. See [Customer Balance](https://stripe.com/docs/payments/customer-balance#types) to learn more about these types.
+ enum:
+ - applied_to_payment
+ - funded
+ - funding_reversed
+ - refunded_from_payment
+ - return_canceled
+ - return_initiated
+ - unapplied_from_payment
+ type: string
+ unapplied_from_payment:
+ $ref: "#/components/schemas/customer_balance_resource_cash_balance_transaction_resource_unapplied_from_payment_transaction"
+ required:
+ - created
+ - currency
+ - customer
+ - ending_balance
+ - id
+ - livemode
+ - net_amount
+ - object
+ - type
+ title: CustomerCashBalanceTransaction
+ type: object
+ x-expandableFields:
+ - applied_to_payment
+ - customer
+ - funded
+ - refunded_from_payment
+ - unapplied_from_payment
+ x-resourceId: customer_cash_balance_transaction
+ customer_tax:
+ description: ""
+ properties:
+ automatic_tax:
+ description: Surfaces if automatic tax computation is possible given the current customer location information.
+ enum:
+ - failed
+ - not_collecting
+ - supported
+ - unrecognized_location
+ type: string
+ ip_address:
+ description: A recent IP address of the customer used for tax reporting and tax location inference.
+ maxLength: 5000
+ nullable: true
+ type: string
+ location:
+ anyOf:
+ - $ref: "#/components/schemas/customer_tax_location"
+ description: The customer's location as identified by Stripe Tax.
+ nullable: true
+ required:
+ - automatic_tax
+ title: CustomerTax
+ type: object
+ x-expandableFields:
+ - location
+ customer_tax_location:
+ description: ""
+ properties:
+ country:
+ description: The customer's country as identified by Stripe Tax.
+ maxLength: 5000
+ type: string
+ source:
+ description: The data source used to infer the customer's location.
+ enum:
+ - billing_address
+ - ip_address
+ - payment_method
+ - shipping_destination
+ type: string
+ state:
+ description: The customer's state, county, province, or region as identified by Stripe Tax.
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - country
+ - source
+ title: CustomerTaxLocation
+ type: object
+ x-expandableFields: []
+ deleted_account:
+ description: ""
+ properties:
+ deleted:
+ description: Always true for a deleted object
+ enum:
+ - true
+ type: boolean
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - account
+ type: string
+ required:
+ - deleted
+ - id
+ - object
+ title: DeletedAccount
+ type: object
+ x-expandableFields: []
+ x-resourceId: deleted_account
+ deleted_apple_pay_domain:
+ description: ""
+ properties:
+ deleted:
+ description: Always true for a deleted object
+ enum:
+ - true
+ type: boolean
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - apple_pay_domain
+ type: string
+ required:
+ - deleted
+ - id
+ - object
+ title: DeletedApplePayDomain
+ type: object
+ x-expandableFields: []
+ x-resourceId: deleted_apple_pay_domain
+ deleted_application:
+ description: ""
+ properties:
+ deleted:
+ description: Always true for a deleted object
+ enum:
+ - true
+ type: boolean
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ name:
+ description: The name of the application.
+ maxLength: 5000
+ nullable: true
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - application
+ type: string
+ required:
+ - deleted
+ - id
+ - object
+ title: DeletedApplication
+ type: object
+ x-expandableFields: []
+ deleted_bank_account:
+ description: ""
+ properties:
+ currency:
+ description: Three-letter [ISO code for the currency](https://stripe.com/docs/payouts) paid out to the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ deleted:
+ description: Always true for a deleted object
+ enum:
+ - true
+ type: boolean
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - bank_account
+ type: string
+ required:
+ - deleted
+ - id
+ - object
+ title: DeletedBankAccount
+ type: object
+ x-expandableFields: []
+ deleted_card:
+ description: ""
+ properties:
+ currency:
+ description: Three-letter [ISO code for the currency](https://stripe.com/docs/payouts) paid out to the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ deleted:
+ description: Always true for a deleted object
+ enum:
+ - true
+ type: boolean
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - card
+ type: string
+ required:
+ - deleted
+ - id
+ - object
+ title: DeletedCard
+ type: object
+ x-expandableFields: []
+ deleted_coupon:
+ description: ""
+ properties:
+ deleted:
+ description: Always true for a deleted object
+ enum:
+ - true
+ type: boolean
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - coupon
+ type: string
+ required:
+ - deleted
+ - id
+ - object
+ title: DeletedCoupon
+ type: object
+ x-expandableFields: []
+ x-resourceId: deleted_coupon
+ deleted_customer:
+ description: ""
+ properties:
+ deleted:
+ description: Always true for a deleted object
+ enum:
+ - true
+ type: boolean
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - customer
+ type: string
+ required:
+ - deleted
+ - id
+ - object
+ title: DeletedCustomer
+ type: object
+ x-expandableFields: []
+ x-resourceId: deleted_customer
+ deleted_discount:
+ description: ""
+ properties:
+ checkout_session:
+ description: The Checkout session that this coupon is applied to, if it is applied to a particular session in payment mode. Will not be present for subscription mode.
+ maxLength: 5000
+ nullable: true
+ type: string
+ coupon:
+ $ref: "#/components/schemas/coupon"
+ customer:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ description: The ID of the customer associated with this discount.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ deleted:
+ description: Always true for a deleted object
+ enum:
+ - true
+ type: boolean
+ id:
+ description: The ID of the discount object. Discounts cannot be fetched by ID. Use `expand[]=discounts` in API calls to expand discount IDs in an array.
+ maxLength: 5000
+ type: string
+ invoice:
+ description: The invoice that the discount's coupon was applied to, if it was applied directly to a particular invoice.
+ maxLength: 5000
+ nullable: true
+ type: string
+ invoice_item:
+ description: The invoice item `id` (or invoice line item `id` for invoice line items of type='subscription') that the discount's coupon was applied to, if it was applied directly to a particular invoice item or invoice line item.
+ maxLength: 5000
+ nullable: true
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - discount
+ type: string
+ promotion_code:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/promotion_code"
+ description: The promotion code applied to create this discount.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/promotion_code"
+ start:
+ description: Date that the coupon was applied.
+ format: unix-time
+ type: integer
+ subscription:
+ description: The subscription that this coupon is applied to, if it is applied to a particular subscription.
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - coupon
+ - deleted
+ - id
+ - object
+ - start
+ title: DeletedDiscount
+ type: object
+ x-expandableFields:
+ - coupon
+ - customer
+ - promotion_code
+ x-resourceId: deleted_discount
+ deleted_external_account:
+ anyOf:
+ - $ref: "#/components/schemas/deleted_bank_account"
+ - $ref: "#/components/schemas/deleted_card"
+ title: Polymorphic
+ x-resourceId: deleted_external_account
+ x-stripeBypassValidation: true
+ deleted_invoice:
+ description: ""
+ properties:
+ deleted:
+ description: Always true for a deleted object
+ enum:
+ - true
+ type: boolean
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - invoice
+ type: string
+ required:
+ - deleted
+ - id
+ - object
+ title: DeletedInvoice
+ type: object
+ x-expandableFields: []
+ x-resourceId: deleted_invoice
+ deleted_invoiceitem:
+ description: ""
+ properties:
+ deleted:
+ description: Always true for a deleted object
+ enum:
+ - true
+ type: boolean
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - invoiceitem
+ type: string
+ required:
+ - deleted
+ - id
+ - object
+ title: DeletedInvoiceItem
+ type: object
+ x-expandableFields: []
+ x-resourceId: deleted_invoiceitem
+ deleted_payment_source:
+ anyOf:
+ - $ref: "#/components/schemas/deleted_bank_account"
+ - $ref: "#/components/schemas/deleted_card"
+ title: Polymorphic
+ x-resourceId: deleted_payment_source
+ x-stripeBypassValidation: true
+ deleted_person:
+ description: ""
+ properties:
+ deleted:
+ description: Always true for a deleted object
+ enum:
+ - true
+ type: boolean
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - person
+ type: string
+ required:
+ - deleted
+ - id
+ - object
+ title: DeletedPerson
+ type: object
+ x-expandableFields: []
+ x-resourceId: deleted_person
+ deleted_plan:
+ description: ""
+ properties:
+ deleted:
+ description: Always true for a deleted object
+ enum:
+ - true
+ type: boolean
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - plan
+ type: string
+ required:
+ - deleted
+ - id
+ - object
+ title: DeletedPlan
+ type: object
+ x-expandableFields: []
+ x-resourceId: deleted_plan
+ deleted_price:
+ description: ""
+ properties:
+ deleted:
+ description: Always true for a deleted object
+ enum:
+ - true
+ type: boolean
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - price
+ type: string
+ required:
+ - deleted
+ - id
+ - object
+ title: DeletedPrice
+ type: object
+ x-expandableFields: []
+ deleted_product:
+ description: ""
+ properties:
+ deleted:
+ description: Always true for a deleted object
+ enum:
+ - true
+ type: boolean
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - product
+ type: string
+ required:
+ - deleted
+ - id
+ - object
+ title: DeletedProduct
+ type: object
+ x-expandableFields: []
+ x-resourceId: deleted_product
+ deleted_radar.value_list:
+ description: ""
+ properties:
+ deleted:
+ description: Always true for a deleted object
+ enum:
+ - true
+ type: boolean
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - radar.value_list
+ type: string
+ required:
+ - deleted
+ - id
+ - object
+ title: RadarListDeletedList
+ type: object
+ x-expandableFields: []
+ x-resourceId: deleted_radar.value_list
+ deleted_radar.value_list_item:
+ description: ""
+ properties:
+ deleted:
+ description: Always true for a deleted object
+ enum:
+ - true
+ type: boolean
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - radar.value_list_item
+ type: string
+ required:
+ - deleted
+ - id
+ - object
+ title: RadarListDeletedListItem
+ type: object
+ x-expandableFields: []
+ x-resourceId: deleted_radar.value_list_item
+ deleted_subscription_item:
+ description: ""
+ properties:
+ deleted:
+ description: Always true for a deleted object
+ enum:
+ - true
+ type: boolean
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - subscription_item
+ type: string
+ required:
+ - deleted
+ - id
+ - object
+ title: DeletedSubscriptionItem
+ type: object
+ x-expandableFields: []
+ x-resourceId: deleted_subscription_item
+ deleted_tax_id:
+ description: ""
+ properties:
+ deleted:
+ description: Always true for a deleted object
+ enum:
+ - true
+ type: boolean
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - tax_id
+ type: string
+ required:
+ - deleted
+ - id
+ - object
+ title: deleted_tax_id
+ type: object
+ x-expandableFields: []
+ x-resourceId: deleted_tax_id
+ deleted_terminal.configuration:
+ description: ""
+ properties:
+ deleted:
+ description: Always true for a deleted object
+ enum:
+ - true
+ type: boolean
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - terminal.configuration
+ type: string
+ required:
+ - deleted
+ - id
+ - object
+ title: TerminalConfigurationDeletedConfiguration
+ type: object
+ x-expandableFields: []
+ x-resourceId: deleted_terminal.configuration
+ deleted_terminal.location:
+ description: ""
+ properties:
+ deleted:
+ description: Always true for a deleted object
+ enum:
+ - true
+ type: boolean
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - terminal.location
+ type: string
+ required:
+ - deleted
+ - id
+ - object
+ title: TerminalLocationDeletedLocation
+ type: object
+ x-expandableFields: []
+ x-resourceId: deleted_terminal.location
+ deleted_terminal.reader:
+ description: ""
+ properties:
+ deleted:
+ description: Always true for a deleted object
+ enum:
+ - true
+ type: boolean
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - terminal.reader
+ type: string
+ required:
+ - deleted
+ - id
+ - object
+ title: TerminalReaderDeletedReader
+ type: object
+ x-expandableFields: []
+ x-resourceId: deleted_terminal.reader
+ deleted_test_helpers.test_clock:
+ description: ""
+ properties:
+ deleted:
+ description: Always true for a deleted object
+ enum:
+ - true
+ type: boolean
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - test_helpers.test_clock
+ type: string
+ required:
+ - deleted
+ - id
+ - object
+ title: DeletedTestClock
+ type: object
+ x-expandableFields: []
+ x-resourceId: deleted_test_helpers.test_clock
+ deleted_webhook_endpoint:
+ description: ""
+ properties:
+ deleted:
+ description: Always true for a deleted object
+ enum:
+ - true
+ type: boolean
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - webhook_endpoint
+ type: string
+ required:
+ - deleted
+ - id
+ - object
+ title: NotificationWebhookEndpointDeleted
+ type: object
+ x-expandableFields: []
+ x-resourceId: deleted_webhook_endpoint
+ discount:
+ description: |-
+ A discount represents the actual application of a [coupon](https://stripe.com/docs/api#coupons) or [promotion code](https://stripe.com/docs/api#promotion_codes).
+ It contains information about when the discount began, when it will end, and what it is applied to.
+
+ Related guide: [Applying Discounts to Subscriptions](https://stripe.com/docs/billing/subscriptions/discounts).
+ properties:
+ checkout_session:
+ description: The Checkout session that this coupon is applied to, if it is applied to a particular session in payment mode. Will not be present for subscription mode.
+ maxLength: 5000
+ nullable: true
+ type: string
+ coupon:
+ $ref: "#/components/schemas/coupon"
+ customer:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ description: The ID of the customer associated with this discount.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ end:
+ description: If the coupon has a duration of `repeating`, the date that this discount will end. If the coupon has a duration of `once` or `forever`, this attribute will be null.
+ format: unix-time
+ nullable: true
+ type: integer
+ id:
+ description: The ID of the discount object. Discounts cannot be fetched by ID. Use `expand[]=discounts` in API calls to expand discount IDs in an array.
+ maxLength: 5000
+ type: string
+ invoice:
+ description: The invoice that the discount's coupon was applied to, if it was applied directly to a particular invoice.
+ maxLength: 5000
+ nullable: true
+ type: string
+ invoice_item:
+ description: The invoice item `id` (or invoice line item `id` for invoice line items of type='subscription') that the discount's coupon was applied to, if it was applied directly to a particular invoice item or invoice line item.
+ maxLength: 5000
+ nullable: true
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - discount
+ type: string
+ promotion_code:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/promotion_code"
+ description: The promotion code applied to create this discount.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/promotion_code"
+ start:
+ description: Date that the coupon was applied.
+ format: unix-time
+ type: integer
+ subscription:
+ description: The subscription that this coupon is applied to, if it is applied to a particular subscription.
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - coupon
+ - id
+ - object
+ - start
+ title: Discount
+ type: object
+ x-expandableFields:
+ - coupon
+ - customer
+ - promotion_code
+ x-resourceId: discount
+ discounts_resource_discount_amount:
+ description: ""
+ properties:
+ amount:
+ description: The amount, in %s, of the discount.
+ type: integer
+ discount:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/discount"
+ - $ref: "#/components/schemas/deleted_discount"
+ description: The discount that was applied to get this discount amount.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/discount"
+ - $ref: "#/components/schemas/deleted_discount"
+ required:
+ - amount
+ - discount
+ title: DiscountsResourceDiscountAmount
+ type: object
+ x-expandableFields:
+ - discount
+ dispute:
+ description: |-
+ A dispute occurs when a customer questions your charge with their card issuer.
+ When this happens, you're given the opportunity to respond to the dispute with
+ evidence that shows that the charge is legitimate. You can find more
+ information about the dispute process in our [Disputes and
+ Fraud](/docs/disputes) documentation.
+
+ Related guide: [Disputes and Fraud](https://stripe.com/docs/disputes).
+ properties:
+ amount:
+ description: Disputed amount. Usually the amount of the charge, but can differ (usually because of currency fluctuation or because only part of the order is disputed).
+ type: integer
+ balance_transactions:
+ description: List of zero, one, or two balance transactions that show funds withdrawn and reinstated to your Stripe account as a result of this dispute.
+ items:
+ $ref: "#/components/schemas/balance_transaction"
+ type: array
+ charge:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/charge"
+ description: ID of the charge that was disputed.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/charge"
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ evidence:
+ $ref: "#/components/schemas/dispute_evidence"
+ evidence_details:
+ $ref: "#/components/schemas/dispute_evidence_details"
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ is_charge_refundable:
+ description: If true, it is still possible to refund the disputed payment. Once the payment has been fully refunded, no further funds will be withdrawn from your Stripe account as a result of this dispute.
+ type: boolean
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - dispute
+ type: string
+ payment_intent:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/payment_intent"
+ description: ID of the PaymentIntent that was disputed.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/payment_intent"
+ reason:
+ description: Reason given by cardholder for dispute. Possible values are `bank_cannot_process`, `check_returned`, `credit_not_processed`, `customer_initiated`, `debit_not_authorized`, `duplicate`, `fraudulent`, `general`, `incorrect_account_details`, `insufficient_funds`, `product_not_received`, `product_unacceptable`, `subscription_canceled`, or `unrecognized`. Read more about [dispute reasons](https://stripe.com/docs/disputes/categories).
+ maxLength: 5000
+ type: string
+ status:
+ description: Current status of dispute. Possible values are `warning_needs_response`, `warning_under_review`, `warning_closed`, `needs_response`, `under_review`, `charge_refunded`, `won`, or `lost`.
+ enum:
+ - charge_refunded
+ - lost
+ - needs_response
+ - under_review
+ - warning_closed
+ - warning_needs_response
+ - warning_under_review
+ - won
+ type: string
+ required:
+ - amount
+ - balance_transactions
+ - charge
+ - created
+ - currency
+ - evidence
+ - evidence_details
+ - id
+ - is_charge_refundable
+ - livemode
+ - metadata
+ - object
+ - reason
+ - status
+ title: Dispute
+ type: object
+ x-expandableFields:
+ - balance_transactions
+ - charge
+ - evidence
+ - evidence_details
+ - payment_intent
+ x-resourceId: dispute
+ dispute_evidence:
+ description: ""
+ properties:
+ access_activity_log:
+ description: Any server or activity logs showing proof that the customer accessed or downloaded the purchased digital product. This information should include IP addresses, corresponding timestamps, and any detailed recorded activity.
+ maxLength: 150000
+ nullable: true
+ type: string
+ billing_address:
+ description: The billing address provided by the customer.
+ maxLength: 5000
+ nullable: true
+ type: string
+ cancellation_policy:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/file"
+ description: (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Your subscription cancellation policy, as shown to the customer.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/file"
+ cancellation_policy_disclosure:
+ description: An explanation of how and when the customer was shown your refund policy prior to purchase.
+ maxLength: 150000
+ nullable: true
+ type: string
+ cancellation_rebuttal:
+ description: A justification for why the customer's subscription was not canceled.
+ maxLength: 150000
+ nullable: true
+ type: string
+ customer_communication:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/file"
+ description: (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Any communication with the customer that you feel is relevant to your case. Examples include emails proving that the customer received the product or service, or demonstrating their use of or satisfaction with the product or service.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/file"
+ customer_email_address:
+ description: The email address of the customer.
+ maxLength: 5000
+ nullable: true
+ type: string
+ customer_name:
+ description: The name of the customer.
+ maxLength: 5000
+ nullable: true
+ type: string
+ customer_purchase_ip:
+ description: The IP address that the customer used when making the purchase.
+ maxLength: 5000
+ nullable: true
+ type: string
+ customer_signature:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/file"
+ description: (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) A relevant document or contract showing the customer's signature.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/file"
+ duplicate_charge_documentation:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/file"
+ description: (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Documentation for the prior charge that can uniquely identify the charge, such as a receipt, shipping label, work order, etc. This document should be paired with a similar document from the disputed payment that proves the two payments are separate.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/file"
+ duplicate_charge_explanation:
+ description: An explanation of the difference between the disputed charge versus the prior charge that appears to be a duplicate.
+ maxLength: 150000
+ nullable: true
+ type: string
+ duplicate_charge_id:
+ description: The Stripe ID for the prior charge which appears to be a duplicate of the disputed charge.
+ maxLength: 5000
+ nullable: true
+ type: string
+ product_description:
+ description: A description of the product or service that was sold.
+ maxLength: 150000
+ nullable: true
+ type: string
+ receipt:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/file"
+ description: (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Any receipt or message sent to the customer notifying them of the charge.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/file"
+ refund_policy:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/file"
+ description: (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Your refund policy, as shown to the customer.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/file"
+ refund_policy_disclosure:
+ description: Documentation demonstrating that the customer was shown your refund policy prior to purchase.
+ maxLength: 150000
+ nullable: true
+ type: string
+ refund_refusal_explanation:
+ description: A justification for why the customer is not entitled to a refund.
+ maxLength: 150000
+ nullable: true
+ type: string
+ service_date:
+ description: The date on which the customer received or began receiving the purchased service, in a clear human-readable format.
+ maxLength: 5000
+ nullable: true
+ type: string
+ service_documentation:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/file"
+ description: (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Documentation showing proof that a service was provided to the customer. This could include a copy of a signed contract, work order, or other form of written agreement.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/file"
+ shipping_address:
+ description: The address to which a physical product was shipped. You should try to include as complete address information as possible.
+ maxLength: 5000
+ nullable: true
+ type: string
+ shipping_carrier:
+ description: The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. If multiple carriers were used for this purchase, please separate them with commas.
+ maxLength: 5000
+ nullable: true
+ type: string
+ shipping_date:
+ description: The date on which a physical product began its route to the shipping address, in a clear human-readable format.
+ maxLength: 5000
+ nullable: true
+ type: string
+ shipping_documentation:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/file"
+ description: (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Documentation showing proof that a product was shipped to the customer at the same address the customer provided to you. This could include a copy of the shipment receipt, shipping label, etc. It should show the customer's full shipping address, if possible.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/file"
+ shipping_tracking_number:
+ description: The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas.
+ maxLength: 5000
+ nullable: true
+ type: string
+ uncategorized_file:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/file"
+ description: (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Any additional evidence or statements.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/file"
+ uncategorized_text:
+ description: Any additional evidence or statements.
+ maxLength: 150000
+ nullable: true
+ type: string
+ title: DisputeEvidence
+ type: object
+ x-expandableFields:
+ - cancellation_policy
+ - customer_communication
+ - customer_signature
+ - duplicate_charge_documentation
+ - receipt
+ - refund_policy
+ - service_documentation
+ - shipping_documentation
+ - uncategorized_file
+ dispute_evidence_details:
+ description: ""
+ properties:
+ due_by:
+ description: Date by which evidence must be submitted in order to successfully challenge dispute. Will be 0 if the customer's bank or credit card company doesn't allow a response for this particular dispute.
+ format: unix-time
+ nullable: true
+ type: integer
+ has_evidence:
+ description: Whether evidence has been staged for this dispute.
+ type: boolean
+ past_due:
+ description: Whether the last evidence submission was submitted past the due date. Defaults to `false` if no evidence submissions have occurred. If `true`, then delivery of the latest evidence is *not* guaranteed.
+ type: boolean
+ submission_count:
+ description: The number of times evidence has been submitted. Typically, you may only submit evidence once.
+ type: integer
+ required:
+ - has_evidence
+ - past_due
+ - submission_count
+ title: DisputeEvidenceDetails
+ type: object
+ x-expandableFields: []
+ email_sent:
+ description: ""
+ properties:
+ email_sent_at:
+ description: The timestamp when the email was sent.
+ format: unix-time
+ type: integer
+ email_sent_to:
+ description: The recipient's email address.
+ maxLength: 5000
+ type: string
+ required:
+ - email_sent_at
+ - email_sent_to
+ title: EmailSent
+ type: object
+ x-expandableFields: []
+ ephemeral_key:
+ description: ""
+ properties:
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ expires:
+ description: Time at which the key will expire. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - ephemeral_key
+ type: string
+ secret:
+ description: The key's secret. You can use this value to make authorized requests to the Stripe API.
+ maxLength: 5000
+ type: string
+ required:
+ - created
+ - expires
+ - id
+ - livemode
+ - object
+ title: EphemeralKey
+ type: object
+ x-expandableFields: []
+ x-resourceId: ephemeral_key
+ error:
+ description: An error response from the Stripe API
+ properties:
+ error:
+ $ref: "#/components/schemas/api_errors"
+ required:
+ - error
+ type: object
+ event:
+ description: |-
+ Events are our way of letting you know when something interesting happens in
+ your account. When an interesting event occurs, we create a new `Event`
+ object. For example, when a charge succeeds, we create a `charge.succeeded`
+ event; and when an invoice payment attempt fails, we create an
+ `invoice.payment_failed` event. Note that many API requests may cause multiple
+ events to be created. For example, if you create a new subscription for a
+ customer, you will receive both a `customer.subscription.created` event and a
+ `charge.succeeded` event.
+
+ Events occur when the state of another API resource changes. The state of that
+ resource at the time of the change is embedded in the event's data field. For
+ example, a `charge.succeeded` event will contain a charge, and an
+ `invoice.payment_failed` event will contain an invoice.
+
+ As with other API resources, you can use endpoints to retrieve an
+ [individual event](https://stripe.com/docs/api#retrieve_event) or a [list of events](https://stripe.com/docs/api#list_events)
+ from the API. We also have a separate
+ [webhooks](http://en.wikipedia.org/wiki/Webhook) system for sending the
+ `Event` objects directly to an endpoint on your server. Webhooks are managed
+ in your
+ [account settings](https://dashboard.stripe.com/account/webhooks),
+ and our [Using Webhooks](https://stripe.com/docs/webhooks) guide will help you get set up.
+
+ When using [Connect](https://stripe.com/docs/connect), you can also receive notifications of
+ events that occur in connected accounts. For these events, there will be an
+ additional `account` attribute in the received `Event` object.
+
+ **NOTE:** Right now, access to events through the [Retrieve Event API](https://stripe.com/docs/api#retrieve_event) is
+ guaranteed only for 30 days.
+ properties:
+ account:
+ description: The connected account that originated the event.
+ maxLength: 5000
+ type: string
+ api_version:
+ description: "The Stripe API version used to render `data`. *Note: This property is populated only for events on or after October 31, 2014*."
+ maxLength: 5000
+ nullable: true
+ type: string
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ data:
+ $ref: "#/components/schemas/notification_event_data"
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - event
+ type: string
+ pending_webhooks:
+ description: Number of webhooks that have yet to be successfully delivered (i.e., to return a 20x response) to the URLs you've specified.
+ type: integer
+ request:
+ anyOf:
+ - $ref: "#/components/schemas/notification_event_request"
+ description: Information on the API request that instigated the event.
+ nullable: true
+ type:
+ description: Description of the event (e.g., `invoice.created` or `charge.refunded`).
+ maxLength: 5000
+ type: string
+ required:
+ - created
+ - data
+ - id
+ - livemode
+ - object
+ - pending_webhooks
+ - type
+ title: NotificationEvent
+ type: object
+ x-expandableFields:
+ - data
+ - request
+ x-resourceId: event
+ exchange_rate:
+ description: |-
+ `Exchange Rate` objects allow you to determine the rates that Stripe is
+ currently using to convert from one currency to another. Since this number is
+ variable throughout the day, there are various reasons why you might want to
+ know the current rate (for example, to dynamically price an item for a user
+ with a default payment in a foreign currency).
+
+ If you want a guarantee that the charge is made with a certain exchange rate
+ you expect is current, you can pass in `exchange_rate` to charges endpoints.
+ If the value is no longer up to date, the charge won't go through. Please
+ refer to our [Exchange Rates API](https://stripe.com/docs/exchange-rates) guide for more
+ details.
+ properties:
+ id:
+ description: Unique identifier for the object. Represented as the three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) in lowercase.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - exchange_rate
+ type: string
+ rates:
+ additionalProperties:
+ type: number
+ description: Hash where the keys are supported currencies and the values are the exchange rate at which the base id currency converts to the key currency.
+ type: object
+ required:
+ - id
+ - object
+ - rates
+ title: ExchangeRate
+ type: object
+ x-expandableFields: []
+ x-resourceId: exchange_rate
+ external_account:
+ anyOf:
+ - $ref: "#/components/schemas/bank_account"
+ - $ref: "#/components/schemas/card"
+ title: Polymorphic
+ x-resourceId: external_account
+ x-stripeBypassValidation: true
+ external_account_requirements:
+ description: ""
+ properties:
+ currently_due:
+ description: Fields that need to be collected to keep the external account enabled. If not collected by `current_deadline`, these fields appear in `past_due` as well, and the account is disabled.
+ items:
+ maxLength: 5000
+ type: string
+ nullable: true
+ type: array
+ errors:
+ description: Fields that are `currently_due` and need to be collected again because validation or verification failed.
+ items:
+ $ref: "#/components/schemas/account_requirements_error"
+ nullable: true
+ type: array
+ past_due:
+ description: Fields that weren't collected by `current_deadline`. These fields need to be collected to enable the external account.
+ items:
+ maxLength: 5000
+ type: string
+ nullable: true
+ type: array
+ pending_verification:
+ description: Fields that may become required depending on the results of verification or review. Will be an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due`, `currently_due`, or `past_due`.
+ items:
+ maxLength: 5000
+ type: string
+ nullable: true
+ type: array
+ title: ExternalAccountRequirements
+ type: object
+ x-expandableFields:
+ - errors
+ fee:
+ description: ""
+ properties:
+ amount:
+ description: Amount of the fee, in cents.
+ type: integer
+ application:
+ description: ID of the Connect application that earned the fee.
+ maxLength: 5000
+ nullable: true
+ type: string
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 5000
+ nullable: true
+ type: string
+ type:
+ description: "Type of the fee, one of: `application_fee`, `stripe_fee` or `tax`."
+ maxLength: 5000
+ type: string
+ required:
+ - amount
+ - currency
+ - type
+ title: Fee
+ type: object
+ x-expandableFields: []
+ fee_refund:
+ description: |-
+ `Application Fee Refund` objects allow you to refund an application fee that
+ has previously been created but not yet refunded. Funds will be refunded to
+ the Stripe account from which the fee was originally collected.
+
+ Related guide: [Refunding Application Fees](https://stripe.com/docs/connect/destination-charges#refunding-app-fee).
+ properties:
+ amount:
+ description: Amount, in %s.
+ type: integer
+ balance_transaction:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/balance_transaction"
+ description: Balance transaction that describes the impact on your account balance.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/balance_transaction"
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ fee:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/application_fee"
+ description: ID of the application fee that was refunded.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/application_fee"
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ nullable: true
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - fee_refund
+ type: string
+ required:
+ - amount
+ - created
+ - currency
+ - fee
+ - id
+ - object
+ title: FeeRefund
+ type: object
+ x-expandableFields:
+ - balance_transaction
+ - fee
+ x-resourceId: fee_refund
+ file:
+ description: |-
+ This is an object representing a file hosted on Stripe's servers. The
+ file may have been uploaded by yourself using the [create file](https://stripe.com/docs/api#create_file)
+ request (for example, when uploading dispute evidence) or it may have
+ been created by Stripe (for example, the results of a [Sigma scheduled
+ query](#scheduled_queries)).
+
+ Related guide: [File Upload Guide](https://stripe.com/docs/file-upload).
+ properties:
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ expires_at:
+ description: The time at which the file expires and is no longer available in epoch seconds.
+ format: unix-time
+ nullable: true
+ type: integer
+ filename:
+ description: A filename for the file, suitable for saving to a filesystem.
+ maxLength: 5000
+ nullable: true
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ links:
+ description: A list of [file links](https://stripe.com/docs/api#file_links) that point at this file.
+ nullable: true
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/file_link"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/file_links
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: FileFileLinkList
+ type: object
+ x-expandableFields:
+ - data
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - file
+ type: string
+ purpose:
+ description: The [purpose](https://stripe.com/docs/file-upload#uploading-a-file) of the uploaded file.
+ enum:
+ - account_requirement
+ - additional_verification
+ - business_icon
+ - business_logo
+ - customer_signature
+ - dispute_evidence
+ - document_provider_identity_document
+ - finance_report_run
+ - identity_document
+ - identity_document_downloadable
+ - pci_document
+ - selfie
+ - sigma_scheduled_query
+ - tax_document_user_upload
+ - terminal_reader_splashscreen
+ type: string
+ x-stripeBypassValidation: true
+ size:
+ description: The size in bytes of the file object.
+ type: integer
+ title:
+ description: A user friendly title for the document.
+ maxLength: 5000
+ nullable: true
+ type: string
+ type:
+ description: The type of the file returned (e.g., `csv`, `pdf`, `jpg`, or `png`).
+ maxLength: 5000
+ nullable: true
+ type: string
+ url:
+ description: The URL from which the file can be downloaded using your live secret API key.
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - created
+ - id
+ - object
+ - purpose
+ - size
+ title: File
+ type: object
+ x-expandableFields:
+ - links
+ x-resourceId: file
+ file_link:
+ description: |-
+ To share the contents of a `File` object with non-Stripe users, you can
+ create a `FileLink`. `FileLink`s contain a URL that can be used to
+ retrieve the contents of the file without authentication.
+ properties:
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ expired:
+ description: Whether this link is already expired.
+ type: boolean
+ expires_at:
+ description: Time at which the link expires.
+ format: unix-time
+ nullable: true
+ type: integer
+ file:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/file"
+ description: The file object this link points to.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/file"
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - file_link
+ type: string
+ url:
+ description: The publicly accessible URL to download the file.
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - created
+ - expired
+ - file
+ - id
+ - livemode
+ - metadata
+ - object
+ title: FileLink
+ type: object
+ x-expandableFields:
+ - file
+ x-resourceId: file_link
+ financial_connections.account:
+ description: A Financial Connections Account represents an account that exists outside of Stripe, to which you have been granted some degree of access.
+ properties:
+ account_holder:
+ anyOf:
+ - $ref: "#/components/schemas/bank_connections_resource_accountholder"
+ description: The account holder that this account belongs to.
+ nullable: true
+ balance:
+ anyOf:
+ - $ref: "#/components/schemas/bank_connections_resource_balance"
+ description: The most recent information about the account's balance.
+ nullable: true
+ balance_refresh:
+ anyOf:
+ - $ref: "#/components/schemas/bank_connections_resource_balance_refresh"
+ description: The state of the most recent attempt to refresh the account balance.
+ nullable: true
+ category:
+ description: The type of the account. Account category is further divided in `subcategory`.
+ enum:
+ - cash
+ - credit
+ - investment
+ - other
+ type: string
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ display_name:
+ description: A human-readable name that has been assigned to this account, either by the account holder or by the institution.
+ maxLength: 5000
+ nullable: true
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ institution_name:
+ description: The name of the institution that holds this account.
+ maxLength: 5000
+ type: string
+ last4:
+ description: The last 4 digits of the account number. If present, this will be 4 numeric characters.
+ maxLength: 5000
+ nullable: true
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - financial_connections.account
+ type: string
+ ownership:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/financial_connections.account_ownership"
+ description: The most recent information about the account's owners.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/financial_connections.account_ownership"
+ ownership_refresh:
+ anyOf:
+ - $ref: "#/components/schemas/bank_connections_resource_ownership_refresh"
+ description: The state of the most recent attempt to refresh the account owners.
+ nullable: true
+ permissions:
+ description: The list of permissions granted by this account.
+ items:
+ enum:
+ - balances
+ - ownership
+ - payment_method
+ - transactions
+ type: string
+ nullable: true
+ type: array
+ status:
+ description: The status of the link to the account.
+ enum:
+ - active
+ - disconnected
+ - inactive
+ type: string
+ subcategory:
+ description: |-
+ If `category` is `cash`, one of:
+
+ - `checking`
+ - `savings`
+ - `other`
+
+ If `category` is `credit`, one of:
+
+ - `mortgage`
+ - `line_of_credit`
+ - `credit_card`
+ - `other`
+
+ If `category` is `investment` or `other`, this will be `other`.
+ enum:
+ - checking
+ - credit_card
+ - line_of_credit
+ - mortgage
+ - other
+ - savings
+ type: string
+ supported_payment_method_types:
+ description: The [PaymentMethod type](https://stripe.com/docs/api/payment_methods/object#payment_method_object-type)(s) that can be created from this account.
+ items:
+ enum:
+ - link
+ - us_bank_account
+ type: string
+ type: array
+ required:
+ - category
+ - created
+ - id
+ - institution_name
+ - livemode
+ - object
+ - status
+ - subcategory
+ - supported_payment_method_types
+ title: BankConnectionsResourceLinkedAccount
+ type: object
+ x-expandableFields:
+ - account_holder
+ - balance
+ - balance_refresh
+ - ownership
+ - ownership_refresh
+ x-resourceId: financial_connections.account
+ financial_connections.account_owner:
+ description: ""
+ properties:
+ email:
+ description: The email address of the owner.
+ maxLength: 5000
+ nullable: true
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ name:
+ description: The full name of the owner.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - financial_connections.account_owner
+ type: string
+ ownership:
+ description: The ownership object that this owner belongs to.
+ maxLength: 5000
+ type: string
+ phone:
+ description: The raw phone number of the owner.
+ maxLength: 5000
+ nullable: true
+ type: string
+ raw_address:
+ description: The raw physical address of the owner.
+ maxLength: 5000
+ nullable: true
+ type: string
+ refreshed_at:
+ description: The timestamp of the refresh that updated this owner.
+ format: unix-time
+ nullable: true
+ type: integer
+ required:
+ - id
+ - name
+ - object
+ - ownership
+ title: BankConnectionsResourceOwner
+ type: object
+ x-expandableFields: []
+ x-resourceId: financial_connections.account_owner
+ financial_connections.account_ownership:
+ description: Describes a snapshot of the owners of an account at a particular point in time.
+ properties:
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - financial_connections.account_ownership
+ type: string
+ owners:
+ description: A paginated list of owners for this account.
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/financial_connections.account_owner"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: BankConnectionsResourceOwnerList
+ type: object
+ x-expandableFields:
+ - data
+ required:
+ - created
+ - id
+ - object
+ - owners
+ title: BankConnectionsResourceOwnership
+ type: object
+ x-expandableFields:
+ - owners
+ financial_connections.session:
+ description: A Financial Connections Session is the secure way to programmatically launch the client-side Stripe.js modal that lets your users link their accounts.
+ properties:
+ account_holder:
+ anyOf:
+ - $ref: "#/components/schemas/bank_connections_resource_accountholder"
+ description: The account holder for whom accounts are collected in this session.
+ nullable: true
+ accounts:
+ description: The accounts that were collected as part of this Session.
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/financial_connections.account"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/financial_connections/accounts
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: BankConnectionsResourceLinkedAccountList
+ type: object
+ x-expandableFields:
+ - data
+ client_secret:
+ description: A value that will be passed to the client to launch the authentication flow.
+ maxLength: 5000
+ type: string
+ filters:
+ $ref: "#/components/schemas/bank_connections_resource_link_account_session_filters"
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - financial_connections.session
+ type: string
+ permissions:
+ description: Permissions requested for accounts collected during this session.
+ items:
+ enum:
+ - balances
+ - ownership
+ - payment_method
+ - transactions
+ type: string
+ x-stripeBypassValidation: true
+ type: array
+ return_url:
+ description: For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app.
+ maxLength: 5000
+ type: string
+ required:
+ - accounts
+ - client_secret
+ - id
+ - livemode
+ - object
+ - permissions
+ title: BankConnectionsResourceLinkAccountSession
+ type: object
+ x-expandableFields:
+ - account_holder
+ - accounts
+ - filters
+ x-resourceId: financial_connections.session
+ financial_reporting_finance_report_run_run_parameters:
+ description: ""
+ properties:
+ columns:
+ description: The set of output columns requested for inclusion in the report run.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ connected_account:
+ description: Connected account ID by which to filter the report run.
+ maxLength: 5000
+ type: string
+ currency:
+ description: Currency of objects to be included in the report run.
+ type: string
+ interval_end:
+ description: Ending timestamp of data to be included in the report run. Can be any UTC timestamp between 1 second after the user specified `interval_start` and 1 second before this report's last `data_available_end` value.
+ format: unix-time
+ type: integer
+ interval_start:
+ description: Starting timestamp of data to be included in the report run. Can be any UTC timestamp between 1 second after this report's `data_available_start` and 1 second before the user specified `interval_end` value.
+ format: unix-time
+ type: integer
+ payout:
+ description: Payout ID by which to filter the report run.
+ maxLength: 5000
+ type: string
+ reporting_category:
+ description: Category of balance transactions to be included in the report run.
+ maxLength: 5000
+ type: string
+ timezone:
+ description: Defaults to `Etc/UTC`. The output timezone for all timestamps in the report. A list of possible time zone values is maintained at the [IANA Time Zone Database](http://www.iana.org/time-zones). Has no effect on `interval_start` or `interval_end`.
+ maxLength: 5000
+ type: string
+ title: FinancialReportingFinanceReportRunRunParameters
+ type: object
+ x-expandableFields: []
+ funding_instructions:
+ description: |-
+ Each customer has a [`balance`](https://stripe.com/docs/api/customers/object#customer_object-balance) that is
+ automatically applied to future invoices and payments using the `customer_balance` payment method.
+ Customers can fund this balance by initiating a bank transfer to any account in the
+ `financial_addresses` field.
+ Related guide: [Customer Balance - Funding Instructions](https://stripe.com/docs/payments/customer-balance/funding-instructions) to learn more
+ properties:
+ bank_transfer:
+ $ref: "#/components/schemas/funding_instructions_bank_transfer"
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ maxLength: 5000
+ type: string
+ funding_type:
+ description: The `funding_type` of the returned instructions
+ enum:
+ - bank_transfer
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - funding_instructions
+ type: string
+ required:
+ - bank_transfer
+ - currency
+ - funding_type
+ - livemode
+ - object
+ title: CustomerBalanceFundingInstructionsCustomerBalanceFundingInstructions
+ type: object
+ x-expandableFields:
+ - bank_transfer
+ x-resourceId: funding_instructions
+ funding_instructions_bank_transfer:
+ description: ""
+ properties:
+ country:
+ description: The country of the bank account to fund
+ maxLength: 5000
+ type: string
+ financial_addresses:
+ description: A list of financial addresses that can be used to fund a particular balance
+ items:
+ $ref: "#/components/schemas/funding_instructions_bank_transfer_financial_address"
+ type: array
+ type:
+ description: The bank_transfer type
+ enum:
+ - eu_bank_transfer
+ - jp_bank_transfer
+ type: string
+ x-stripeBypassValidation: true
+ required:
+ - country
+ - financial_addresses
+ - type
+ title: FundingInstructionsBankTransfer
+ type: object
+ x-expandableFields:
+ - financial_addresses
+ funding_instructions_bank_transfer_financial_address:
+ description: FinancialAddresses contain identifying information that resolves to a FinancialAccount.
+ properties:
+ iban:
+ $ref: "#/components/schemas/funding_instructions_bank_transfer_iban_record"
+ sort_code:
+ $ref: "#/components/schemas/funding_instructions_bank_transfer_sort_code_record"
+ spei:
+ $ref: "#/components/schemas/funding_instructions_bank_transfer_spei_record"
+ supported_networks:
+ description: The payment networks supported by this FinancialAddress
+ items:
+ enum:
+ - bacs
+ - fps
+ - sepa
+ - spei
+ - zengin
+ type: string
+ x-stripeBypassValidation: true
+ type: array
+ type:
+ description: The type of financial address
+ enum:
+ - iban
+ - sort_code
+ - spei
+ - zengin
+ type: string
+ x-stripeBypassValidation: true
+ zengin:
+ $ref: "#/components/schemas/funding_instructions_bank_transfer_zengin_record"
+ required:
+ - type
+ title: FundingInstructionsBankTransferFinancialAddress
+ type: object
+ x-expandableFields:
+ - iban
+ - sort_code
+ - spei
+ - zengin
+ funding_instructions_bank_transfer_iban_record:
+ description: Iban Records contain E.U. bank account details per the SEPA format.
+ properties:
+ account_holder_name:
+ description: The name of the person or business that owns the bank account
+ maxLength: 5000
+ type: string
+ bic:
+ description: The BIC/SWIFT code of the account.
+ maxLength: 5000
+ type: string
+ country:
+ description: Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
+ maxLength: 5000
+ type: string
+ iban:
+ description: The IBAN of the account.
+ maxLength: 5000
+ type: string
+ required:
+ - account_holder_name
+ - bic
+ - country
+ - iban
+ title: FundingInstructionsBankTransferIbanRecord
+ type: object
+ x-expandableFields: []
+ funding_instructions_bank_transfer_sort_code_record:
+ description: Sort Code Records contain U.K. bank account details per the sort code format.
+ properties:
+ account_holder_name:
+ description: The name of the person or business that owns the bank account
+ maxLength: 5000
+ type: string
+ account_number:
+ description: The account number
+ maxLength: 5000
+ type: string
+ sort_code:
+ description: The six-digit sort code
+ maxLength: 5000
+ type: string
+ required:
+ - account_holder_name
+ - account_number
+ - sort_code
+ title: FundingInstructionsBankTransferSortCodeRecord
+ type: object
+ x-expandableFields: []
+ funding_instructions_bank_transfer_spei_record:
+ description: SPEI Records contain Mexico bank account details per the SPEI format.
+ properties:
+ bank_code:
+ description: The three-digit bank code
+ maxLength: 5000
+ type: string
+ bank_name:
+ description: The short banking institution name
+ maxLength: 5000
+ type: string
+ clabe:
+ description: The CLABE number
+ maxLength: 5000
+ type: string
+ required:
+ - bank_code
+ - bank_name
+ - clabe
+ title: FundingInstructionsBankTransferSpeiRecord
+ type: object
+ x-expandableFields: []
+ funding_instructions_bank_transfer_zengin_record:
+ description: Zengin Records contain Japan bank account details per the Zengin format.
+ properties:
+ account_holder_name:
+ description: The account holder name
+ maxLength: 5000
+ nullable: true
+ type: string
+ account_number:
+ description: The account number
+ maxLength: 5000
+ nullable: true
+ type: string
+ account_type:
+ description: The bank account type. In Japan, this can only be `futsu` or `toza`.
+ maxLength: 5000
+ nullable: true
+ type: string
+ bank_code:
+ description: The bank code of the account
+ maxLength: 5000
+ nullable: true
+ type: string
+ bank_name:
+ description: The bank name of the account
+ maxLength: 5000
+ nullable: true
+ type: string
+ branch_code:
+ description: The branch code of the account
+ maxLength: 5000
+ nullable: true
+ type: string
+ branch_name:
+ description: The branch name of the account
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: FundingInstructionsBankTransferZenginRecord
+ type: object
+ x-expandableFields: []
+ gelato_data_document_report_date_of_birth:
+ description: Point in Time
+ properties:
+ day:
+ description: Numerical day between 1 and 31.
+ nullable: true
+ type: integer
+ month:
+ description: Numerical month between 1 and 12.
+ nullable: true
+ type: integer
+ year:
+ description: The four-digit year.
+ nullable: true
+ type: integer
+ title: GelatoDataDocumentReportDateOfBirth
+ type: object
+ x-expandableFields: []
+ gelato_data_document_report_expiration_date:
+ description: Point in Time
+ properties:
+ day:
+ description: Numerical day between 1 and 31.
+ nullable: true
+ type: integer
+ month:
+ description: Numerical month between 1 and 12.
+ nullable: true
+ type: integer
+ year:
+ description: The four-digit year.
+ nullable: true
+ type: integer
+ title: GelatoDataDocumentReportExpirationDate
+ type: object
+ x-expandableFields: []
+ gelato_data_document_report_issued_date:
+ description: Point in Time
+ properties:
+ day:
+ description: Numerical day between 1 and 31.
+ nullable: true
+ type: integer
+ month:
+ description: Numerical month between 1 and 12.
+ nullable: true
+ type: integer
+ year:
+ description: The four-digit year.
+ nullable: true
+ type: integer
+ title: GelatoDataDocumentReportIssuedDate
+ type: object
+ x-expandableFields: []
+ gelato_data_id_number_report_date:
+ description: Point in Time
+ properties:
+ day:
+ description: Numerical day between 1 and 31.
+ nullable: true
+ type: integer
+ month:
+ description: Numerical month between 1 and 12.
+ nullable: true
+ type: integer
+ year:
+ description: The four-digit year.
+ nullable: true
+ type: integer
+ title: GelatoDataIdNumberReportDate
+ type: object
+ x-expandableFields: []
+ gelato_data_verified_outputs_date:
+ description: Point in Time
+ properties:
+ day:
+ description: Numerical day between 1 and 31.
+ nullable: true
+ type: integer
+ month:
+ description: Numerical month between 1 and 12.
+ nullable: true
+ type: integer
+ year:
+ description: The four-digit year.
+ nullable: true
+ type: integer
+ title: GelatoDataVerifiedOutputsDate
+ type: object
+ x-expandableFields: []
+ gelato_document_report:
+ description: Result from a document check
+ properties:
+ address:
+ anyOf:
+ - $ref: "#/components/schemas/address"
+ description: Address as it appears in the document.
+ nullable: true
+ dob:
+ anyOf:
+ - $ref: "#/components/schemas/gelato_data_document_report_date_of_birth"
+ description: Date of birth as it appears in the document.
+ nullable: true
+ error:
+ anyOf:
+ - $ref: "#/components/schemas/gelato_document_report_error"
+ description: Details on the verification error. Present when status is `unverified`.
+ nullable: true
+ expiration_date:
+ anyOf:
+ - $ref: "#/components/schemas/gelato_data_document_report_expiration_date"
+ description: Expiration date of the document.
+ nullable: true
+ files:
+ description: Array of [File](https://stripe.com/docs/api/files) ids containing images for this document.
+ items:
+ maxLength: 5000
+ type: string
+ nullable: true
+ type: array
+ first_name:
+ description: First name as it appears in the document.
+ maxLength: 5000
+ nullable: true
+ type: string
+ issued_date:
+ anyOf:
+ - $ref: "#/components/schemas/gelato_data_document_report_issued_date"
+ description: Issued date of the document.
+ nullable: true
+ issuing_country:
+ description: Issuing country of the document.
+ maxLength: 5000
+ nullable: true
+ type: string
+ last_name:
+ description: Last name as it appears in the document.
+ maxLength: 5000
+ nullable: true
+ type: string
+ number:
+ description: Document ID number.
+ maxLength: 5000
+ nullable: true
+ type: string
+ status:
+ description: Status of this `document` check.
+ enum:
+ - unverified
+ - verified
+ type: string
+ x-stripeBypassValidation: true
+ type:
+ description: Type of the document.
+ enum:
+ - driving_license
+ - id_card
+ - passport
+ nullable: true
+ type: string
+ required:
+ - status
+ title: GelatoDocumentReport
+ type: object
+ x-expandableFields:
+ - address
+ - dob
+ - error
+ - expiration_date
+ - issued_date
+ gelato_document_report_error:
+ description: ""
+ properties:
+ code:
+ description: A short machine-readable string giving the reason for the verification failure.
+ enum:
+ - document_expired
+ - document_type_not_supported
+ - document_unverified_other
+ nullable: true
+ type: string
+ x-stripeBypassValidation: true
+ reason:
+ description: A human-readable message giving the reason for the failure. These messages can be shown to your users.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: GelatoDocumentReportError
+ type: object
+ x-expandableFields: []
+ gelato_id_number_report:
+ description: Result from an id_number check
+ properties:
+ dob:
+ anyOf:
+ - $ref: "#/components/schemas/gelato_data_id_number_report_date"
+ description: Date of birth.
+ nullable: true
+ error:
+ anyOf:
+ - $ref: "#/components/schemas/gelato_id_number_report_error"
+ description: Details on the verification error. Present when status is `unverified`.
+ nullable: true
+ first_name:
+ description: First name.
+ maxLength: 5000
+ nullable: true
+ type: string
+ id_number:
+ description: ID number.
+ maxLength: 5000
+ nullable: true
+ type: string
+ id_number_type:
+ description: Type of ID number.
+ enum:
+ - br_cpf
+ - sg_nric
+ - us_ssn
+ nullable: true
+ type: string
+ last_name:
+ description: Last name.
+ maxLength: 5000
+ nullable: true
+ type: string
+ status:
+ description: Status of this `id_number` check.
+ enum:
+ - unverified
+ - verified
+ type: string
+ x-stripeBypassValidation: true
+ required:
+ - status
+ title: GelatoIdNumberReport
+ type: object
+ x-expandableFields:
+ - dob
+ - error
+ gelato_id_number_report_error:
+ description: ""
+ properties:
+ code:
+ description: A short machine-readable string giving the reason for the verification failure.
+ enum:
+ - id_number_insufficient_document_data
+ - id_number_mismatch
+ - id_number_unverified_other
+ nullable: true
+ type: string
+ reason:
+ description: A human-readable message giving the reason for the failure. These messages can be shown to your users.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: GelatoIdNumberReportError
+ type: object
+ x-expandableFields: []
+ gelato_report_document_options:
+ description: ""
+ properties:
+ allowed_types:
+ description: Array of strings of allowed identity document types. If the provided identity document isn’t one of the allowed types, the verification check will fail with a document_type_not_allowed error code.
+ items:
+ enum:
+ - driving_license
+ - id_card
+ - passport
+ type: string
+ type: array
+ require_id_number:
+ description: Collect an ID number and perform an [ID number check](https://stripe.com/docs/identity/verification-checks?type=id-number) with the document’s extracted name and date of birth.
+ type: boolean
+ require_live_capture:
+ description: Disable image uploads, identity document images have to be captured using the device’s camera.
+ type: boolean
+ require_matching_selfie:
+ description: Capture a face image and perform a [selfie check](https://stripe.com/docs/identity/verification-checks?type=selfie) comparing a photo ID and a picture of your user’s face. [Learn more](https://stripe.com/docs/identity/selfie).
+ type: boolean
+ title: GelatoReportDocumentOptions
+ type: object
+ x-expandableFields: []
+ gelato_report_id_number_options:
+ description: ""
+ properties: {}
+ title: GelatoReportIdNumberOptions
+ type: object
+ x-expandableFields: []
+ gelato_selfie_report:
+ description: Result from a selfie check
+ properties:
+ document:
+ description: ID of the [File](https://stripe.com/docs/api/files) holding the image of the identity document used in this check.
+ maxLength: 5000
+ nullable: true
+ type: string
+ error:
+ anyOf:
+ - $ref: "#/components/schemas/gelato_selfie_report_error"
+ description: Details on the verification error. Present when status is `unverified`.
+ nullable: true
+ selfie:
+ description: ID of the [File](https://stripe.com/docs/api/files) holding the image of the selfie used in this check.
+ maxLength: 5000
+ nullable: true
+ type: string
+ status:
+ description: Status of this `selfie` check.
+ enum:
+ - unverified
+ - verified
+ type: string
+ x-stripeBypassValidation: true
+ required:
+ - status
+ title: GelatoSelfieReport
+ type: object
+ x-expandableFields:
+ - error
+ gelato_selfie_report_error:
+ description: ""
+ properties:
+ code:
+ description: A short machine-readable string giving the reason for the verification failure.
+ enum:
+ - selfie_document_missing_photo
+ - selfie_face_mismatch
+ - selfie_manipulated
+ - selfie_unverified_other
+ nullable: true
+ type: string
+ reason:
+ description: A human-readable message giving the reason for the failure. These messages can be shown to your users.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: GelatoSelfieReportError
+ type: object
+ x-expandableFields: []
+ gelato_session_document_options:
+ description: ""
+ properties:
+ allowed_types:
+ description: Array of strings of allowed identity document types. If the provided identity document isn’t one of the allowed types, the verification check will fail with a document_type_not_allowed error code.
+ items:
+ enum:
+ - driving_license
+ - id_card
+ - passport
+ type: string
+ type: array
+ require_id_number:
+ description: Collect an ID number and perform an [ID number check](https://stripe.com/docs/identity/verification-checks?type=id-number) with the document’s extracted name and date of birth.
+ type: boolean
+ require_live_capture:
+ description: Disable image uploads, identity document images have to be captured using the device’s camera.
+ type: boolean
+ require_matching_selfie:
+ description: Capture a face image and perform a [selfie check](https://stripe.com/docs/identity/verification-checks?type=selfie) comparing a photo ID and a picture of your user’s face. [Learn more](https://stripe.com/docs/identity/selfie).
+ type: boolean
+ title: GelatoSessionDocumentOptions
+ type: object
+ x-expandableFields: []
+ gelato_session_id_number_options:
+ description: ""
+ properties: {}
+ title: GelatoSessionIdNumberOptions
+ type: object
+ x-expandableFields: []
+ gelato_session_last_error:
+ description: Shows last VerificationSession error
+ properties:
+ code:
+ description: A short machine-readable string giving the reason for the verification or user-session failure.
+ enum:
+ - abandoned
+ - consent_declined
+ - country_not_supported
+ - device_not_supported
+ - document_expired
+ - document_type_not_supported
+ - document_unverified_other
+ - id_number_insufficient_document_data
+ - id_number_mismatch
+ - id_number_unverified_other
+ - selfie_document_missing_photo
+ - selfie_face_mismatch
+ - selfie_manipulated
+ - selfie_unverified_other
+ - under_supported_age
+ nullable: true
+ type: string
+ x-stripeBypassValidation: true
+ reason:
+ description: A message that explains the reason for verification or user-session failure.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: GelatoSessionLastError
+ type: object
+ x-expandableFields: []
+ gelato_verification_report_options:
+ description: ""
+ properties:
+ document:
+ $ref: "#/components/schemas/gelato_report_document_options"
+ id_number:
+ $ref: "#/components/schemas/gelato_report_id_number_options"
+ title: GelatoVerificationReportOptions
+ type: object
+ x-expandableFields:
+ - document
+ - id_number
+ gelato_verification_session_options:
+ description: ""
+ properties:
+ document:
+ $ref: "#/components/schemas/gelato_session_document_options"
+ id_number:
+ $ref: "#/components/schemas/gelato_session_id_number_options"
+ title: GelatoVerificationSessionOptions
+ type: object
+ x-expandableFields:
+ - document
+ - id_number
+ gelato_verified_outputs:
+ description: ""
+ properties:
+ address:
+ anyOf:
+ - $ref: "#/components/schemas/address"
+ description: The user's verified address.
+ nullable: true
+ dob:
+ anyOf:
+ - $ref: "#/components/schemas/gelato_data_verified_outputs_date"
+ description: The user’s verified date of birth.
+ nullable: true
+ first_name:
+ description: The user's verified first name.
+ maxLength: 5000
+ nullable: true
+ type: string
+ id_number:
+ description: The user's verified id number.
+ maxLength: 5000
+ nullable: true
+ type: string
+ id_number_type:
+ description: The user's verified id number type.
+ enum:
+ - br_cpf
+ - sg_nric
+ - us_ssn
+ nullable: true
+ type: string
+ last_name:
+ description: The user's verified last name.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: GelatoVerifiedOutputs
+ type: object
+ x-expandableFields:
+ - address
+ - dob
+ identity.verification_report:
+ description: |-
+ A VerificationReport is the result of an attempt to collect and verify data from a user.
+ The collection of verification checks performed is determined from the `type` and `options`
+ parameters used. You can find the result of each verification check performed in the
+ appropriate sub-resource: `document`, `id_number`, `selfie`.
+
+ Each VerificationReport contains a copy of any data collected by the user as well as
+ reference IDs which can be used to access collected images through the [FileUpload](https://stripe.com/docs/api/files)
+ API. To configure and create VerificationReports, use the
+ [VerificationSession](https://stripe.com/docs/api/identity/verification_sessions) API.
+
+ Related guides: [Accessing verification results](https://stripe.com/docs/identity/verification-sessions#results).
+ properties:
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ document:
+ $ref: "#/components/schemas/gelato_document_report"
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ id_number:
+ $ref: "#/components/schemas/gelato_id_number_report"
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - identity.verification_report
+ type: string
+ options:
+ $ref: "#/components/schemas/gelato_verification_report_options"
+ selfie:
+ $ref: "#/components/schemas/gelato_selfie_report"
+ type:
+ description: Type of report.
+ enum:
+ - document
+ - id_number
+ type: string
+ x-stripeBypassValidation: true
+ verification_session:
+ description: ID of the VerificationSession that created this report.
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - created
+ - id
+ - livemode
+ - object
+ title: GelatoVerificationReport
+ type: object
+ x-expandableFields:
+ - document
+ - id_number
+ - options
+ - selfie
+ x-resourceId: identity.verification_report
+ identity.verification_session:
+ description: |-
+ A VerificationSession guides you through the process of collecting and verifying the identities
+ of your users. It contains details about the type of verification, such as what [verification
+ check](/docs/identity/verification-checks) to perform. Only create one VerificationSession for
+ each verification in your system.
+
+ A VerificationSession transitions through [multiple
+ statuses](/docs/identity/how-sessions-work) throughout its lifetime as it progresses through
+ the verification flow. The VerificationSession contains the user's verified data after
+ verification checks are complete.
+
+ Related guide: [The Verification Sessions API](https://stripe.com/docs/identity/verification-sessions)
+ properties:
+ client_secret:
+ description: The short-lived client secret used by Stripe.js to [show a verification modal](https://stripe.com/docs/js/identity/modal) inside your app. This client secret expires after 24 hours and can only be used once. Don’t store it, log it, embed it in a URL, or expose it to anyone other than the user. Make sure that you have TLS enabled on any page that includes the client secret. Refer to our docs on [passing the client secret to the frontend](https://stripe.com/docs/identity/verification-sessions#client-secret) to learn more.
+ maxLength: 5000
+ nullable: true
+ type: string
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ last_error:
+ anyOf:
+ - $ref: "#/components/schemas/gelato_session_last_error"
+ description: If present, this property tells you the last error encountered when processing the verification.
+ nullable: true
+ last_verification_report:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/identity.verification_report"
+ description: ID of the most recent VerificationReport. [Learn more about accessing detailed verification results.](https://stripe.com/docs/identity/verification-sessions#results)
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/identity.verification_report"
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - identity.verification_session
+ type: string
+ options:
+ anyOf:
+ - $ref: "#/components/schemas/gelato_verification_session_options"
+ description: A set of options for the session’s verification checks.
+ nullable: true
+ redaction:
+ anyOf:
+ - $ref: "#/components/schemas/verification_session_redaction"
+ description: Redaction status of this VerificationSession. If the VerificationSession is not redacted, this field will be null.
+ nullable: true
+ status:
+ description: Status of this VerificationSession. [Learn more about the lifecycle of sessions](https://stripe.com/docs/identity/how-sessions-work).
+ enum:
+ - canceled
+ - processing
+ - requires_input
+ - verified
+ type: string
+ type:
+ description: The type of [verification check](https://stripe.com/docs/identity/verification-checks) to be performed.
+ enum:
+ - document
+ - id_number
+ nullable: true
+ type: string
+ x-stripeBypassValidation: true
+ url:
+ description: The short-lived URL that you use to redirect a user to Stripe to submit their identity information. This URL expires after 48 hours and can only be used once. Don’t store it, log it, send it in emails or expose it to anyone other than the user. Refer to our docs on [verifying identity documents](https://stripe.com/docs/identity/verify-identity-documents?platform=web&type=redirect) to learn how to redirect users to Stripe.
+ maxLength: 5000
+ nullable: true
+ type: string
+ verified_outputs:
+ anyOf:
+ - $ref: "#/components/schemas/gelato_verified_outputs"
+ description: The user’s verified data.
+ nullable: true
+ required:
+ - created
+ - id
+ - livemode
+ - metadata
+ - object
+ - status
+ title: GelatoVerificationSession
+ type: object
+ x-expandableFields:
+ - last_error
+ - last_verification_report
+ - options
+ - redaction
+ - verified_outputs
+ x-resourceId: identity.verification_session
+ inbound_transfers:
+ description: ""
+ properties:
+ billing_details:
+ $ref: "#/components/schemas/treasury_shared_resource_billing_details"
+ type:
+ description: The type of the payment method used in the InboundTransfer.
+ enum:
+ - us_bank_account
+ type: string
+ x-stripeBypassValidation: true
+ us_bank_account:
+ $ref: "#/components/schemas/inbound_transfers_payment_method_details_us_bank_account"
+ required:
+ - billing_details
+ - type
+ title: InboundTransfers
+ type: object
+ x-expandableFields:
+ - billing_details
+ - us_bank_account
+ inbound_transfers_payment_method_details_us_bank_account:
+ description: ""
+ properties:
+ account_holder_type:
+ description: "Account holder type: individual or company."
+ enum:
+ - company
+ - individual
+ nullable: true
+ type: string
+ account_type:
+ description: "Account type: checkings or savings. Defaults to checking if omitted."
+ enum:
+ - checking
+ - savings
+ nullable: true
+ type: string
+ bank_name:
+ description: Name of the bank associated with the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ fingerprint:
+ description: Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
+ maxLength: 5000
+ nullable: true
+ type: string
+ last4:
+ description: Last four digits of the bank account number.
+ maxLength: 5000
+ nullable: true
+ type: string
+ network:
+ description: The US bank account network used to debit funds.
+ enum:
+ - ach
+ type: string
+ routing_number:
+ description: Routing number of the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - network
+ title: inbound_transfers_payment_method_details_us_bank_account
+ type: object
+ x-expandableFields: []
+ invoice:
+ description: |-
+ Invoices are statements of amounts owed by a customer, and are either
+ generated one-off, or generated periodically from a subscription.
+
+ They contain [invoice items](https://stripe.com/docs/api#invoiceitems), and proration adjustments
+ that may be caused by subscription upgrades/downgrades (if necessary).
+
+ If your invoice is configured to be billed through automatic charges,
+ Stripe automatically finalizes your invoice and attempts payment. Note
+ that finalizing the invoice,
+ [when automatic](https://stripe.com/docs/billing/invoices/workflow/#auto_advance), does
+ not happen immediately as the invoice is created. Stripe waits
+ until one hour after the last webhook was successfully sent (or the last
+ webhook timed out after failing). If you (and the platforms you may have
+ connected to) have no webhooks configured, Stripe waits one hour after
+ creation to finalize the invoice.
+
+ If your invoice is configured to be billed by sending an email, then based on your
+ [email settings](https://dashboard.stripe.com/account/billing/automatic),
+ Stripe will email the invoice to your customer and await payment. These
+ emails can contain a link to a hosted page to pay the invoice.
+
+ Stripe applies any customer credit on the account before determining the
+ amount due for the invoice (i.e., the amount that will be actually
+ charged). If the amount due for the invoice is less than Stripe's [minimum allowed charge
+ per currency](/docs/currencies#minimum-and-maximum-charge-amounts), the
+ invoice is automatically marked paid, and we add the amount due to the
+ customer's credit balance which is applied to the next invoice.
+
+ More details on the customer's credit balance are
+ [here](https://stripe.com/docs/billing/customer/balance).
+
+ Related guide: [Send Invoices to Customers](https://stripe.com/docs/billing/invoices/sending).
+ properties:
+ account_country:
+ description: The country of the business associated with this invoice, most often the business creating the invoice.
+ maxLength: 5000
+ nullable: true
+ type: string
+ account_name:
+ description: The public name of the business associated with this invoice, most often the business creating the invoice.
+ maxLength: 5000
+ nullable: true
+ type: string
+ account_tax_ids:
+ description: The account tax IDs associated with the invoice. Only editable when the invoice is a draft.
+ items:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/tax_id"
+ - $ref: "#/components/schemas/deleted_tax_id"
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/tax_id"
+ - $ref: "#/components/schemas/deleted_tax_id"
+ nullable: true
+ type: array
+ amount_due:
+ description: Final amount due at this time for this invoice. If the invoice's total is smaller than the minimum charge amount, for example, or if there is account credit that can be applied to the invoice, the `amount_due` may be 0. If there is a positive `starting_balance` for the invoice (the customer owes money), the `amount_due` will also take that into account. The charge that gets generated for the invoice will be for the amount specified in `amount_due`.
+ type: integer
+ amount_paid:
+ description: The amount, in %s, that was paid.
+ type: integer
+ amount_remaining:
+ description: The difference between amount_due and amount_paid, in %s.
+ type: integer
+ amount_shipping:
+ description: This is the sum of all the shipping amounts.
+ type: integer
+ application:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/application"
+ - $ref: "#/components/schemas/deleted_application"
+ description: ID of the Connect Application that created the invoice.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/application"
+ - $ref: "#/components/schemas/deleted_application"
+ application_fee_amount:
+ description: The fee in %s that will be applied to the invoice and transferred to the application owner's Stripe account when the invoice is paid.
+ nullable: true
+ type: integer
+ attempt_count:
+ description: Number of payment attempts made for this invoice, from the perspective of the payment retry schedule. Any payment attempt counts as the first attempt, and subsequently only automatic retries increment the attempt count. In other words, manual payment attempts after the first attempt do not affect the retry schedule.
+ type: integer
+ attempted:
+ description: Whether an attempt has been made to pay the invoice. An invoice is not attempted until 1 hour after the `invoice.created` webhook, for example, so you might not want to display that invoice as unpaid to your users.
+ type: boolean
+ auto_advance:
+ description: Controls whether Stripe will perform [automatic collection](https://stripe.com/docs/billing/invoices/workflow/#auto_advance) of the invoice. When `false`, the invoice's state will not automatically advance without an explicit action.
+ type: boolean
+ automatic_tax:
+ $ref: "#/components/schemas/automatic_tax"
+ billing_reason:
+ description: "Indicates the reason why the invoice was created. `subscription_cycle` indicates an invoice created by a subscription advancing into a new period. `subscription_create` indicates an invoice created due to creating a subscription. `subscription_update` indicates an invoice created due to updating a subscription. `subscription` is set for all old invoices to indicate either a change to a subscription or a period advancement. `manual` is set for all invoices unrelated to a subscription (for example: created via the invoice editor). The `upcoming` value is reserved for simulated invoices per the upcoming invoice endpoint. `subscription_threshold` indicates an invoice created due to a billing threshold being reached."
+ enum:
+ - automatic_pending_invoice_item_invoice
+ - manual
+ - quote_accept
+ - subscription
+ - subscription_create
+ - subscription_cycle
+ - subscription_threshold
+ - subscription_update
+ - upcoming
+ nullable: true
+ type: string
+ charge:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/charge"
+ description: ID of the latest charge generated for this invoice, if any.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/charge"
+ collection_method:
+ description: Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this invoice using the default source attached to the customer. When sending an invoice, Stripe will email this invoice to the customer with payment instructions.
+ enum:
+ - charge_automatically
+ - send_invoice
+ type: string
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ custom_fields:
+ description: Custom fields displayed on the invoice.
+ items:
+ $ref: "#/components/schemas/invoice_setting_custom_field"
+ nullable: true
+ type: array
+ customer:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ description: The ID of the customer who will be billed.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ customer_address:
+ anyOf:
+ - $ref: "#/components/schemas/address"
+ description: The customer's address. Until the invoice is finalized, this field will equal `customer.address`. Once the invoice is finalized, this field will no longer be updated.
+ nullable: true
+ customer_email:
+ description: The customer's email. Until the invoice is finalized, this field will equal `customer.email`. Once the invoice is finalized, this field will no longer be updated.
+ maxLength: 5000
+ nullable: true
+ type: string
+ customer_name:
+ description: The customer's name. Until the invoice is finalized, this field will equal `customer.name`. Once the invoice is finalized, this field will no longer be updated.
+ maxLength: 5000
+ nullable: true
+ type: string
+ customer_phone:
+ description: The customer's phone number. Until the invoice is finalized, this field will equal `customer.phone`. Once the invoice is finalized, this field will no longer be updated.
+ maxLength: 5000
+ nullable: true
+ type: string
+ customer_shipping:
+ anyOf:
+ - $ref: "#/components/schemas/shipping"
+ description: The customer's shipping information. Until the invoice is finalized, this field will equal `customer.shipping`. Once the invoice is finalized, this field will no longer be updated.
+ nullable: true
+ customer_tax_exempt:
+ description: The customer's tax exempt status. Until the invoice is finalized, this field will equal `customer.tax_exempt`. Once the invoice is finalized, this field will no longer be updated.
+ enum:
+ - exempt
+ - none
+ - reverse
+ nullable: true
+ type: string
+ customer_tax_ids:
+ description: The customer's tax IDs. Until the invoice is finalized, this field will contain the same tax IDs as `customer.tax_ids`. Once the invoice is finalized, this field will no longer be updated.
+ items:
+ $ref: "#/components/schemas/invoices_resource_invoice_tax_id"
+ nullable: true
+ type: array
+ default_payment_method:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/payment_method"
+ description: ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/payment_method"
+ default_source:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/bank_account"
+ - $ref: "#/components/schemas/card"
+ - $ref: "#/components/schemas/source"
+ description: ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/bank_account"
+ - $ref: "#/components/schemas/card"
+ - $ref: "#/components/schemas/source"
+ x-stripeBypassValidation: true
+ default_tax_rates:
+ description: The tax rates applied to this invoice, if any.
+ items:
+ $ref: "#/components/schemas/tax_rate"
+ type: array
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users. Referenced as 'memo' in the Dashboard.
+ maxLength: 5000
+ nullable: true
+ type: string
+ discount:
+ anyOf:
+ - $ref: "#/components/schemas/discount"
+ description: Describes the current discount applied to this invoice, if there is one. Not populated if there are multiple discounts.
+ nullable: true
+ discounts:
+ description: The discounts applied to the invoice. Line item discounts are applied before invoice discounts. Use `expand[]=discounts` to expand each discount.
+ items:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/discount"
+ - $ref: "#/components/schemas/deleted_discount"
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/discount"
+ - $ref: "#/components/schemas/deleted_discount"
+ nullable: true
+ type: array
+ due_date:
+ description: The date on which payment for this invoice is due. This value will be `null` for invoices where `collection_method=charge_automatically`.
+ format: unix-time
+ nullable: true
+ type: integer
+ ending_balance:
+ description: Ending customer balance after the invoice is finalized. Invoices are finalized approximately an hour after successful webhook delivery or when payment collection is attempted for the invoice. If the invoice has not been finalized yet, this will be null.
+ nullable: true
+ type: integer
+ footer:
+ description: Footer displayed on the invoice.
+ maxLength: 5000
+ nullable: true
+ type: string
+ from_invoice:
+ anyOf:
+ - $ref: "#/components/schemas/invoices_from_invoice"
+ description: Details of the invoice that was cloned. See the [revision documentation](https://stripe.com/docs/invoicing/invoice-revisions) for more details.
+ nullable: true
+ hosted_invoice_url:
+ description: The URL for the hosted invoice page, which allows customers to view and pay an invoice. If the invoice has not been finalized yet, this will be null.
+ maxLength: 5000
+ nullable: true
+ type: string
+ id:
+ description: Unique identifier for the object. This property is always present unless the invoice is an upcoming invoice. See [Retrieve an upcoming invoice](https://stripe.com/docs/api/invoices/upcoming) for more details.
+ maxLength: 5000
+ type: string
+ invoice_pdf:
+ description: The link to download the PDF for the invoice. If the invoice has not been finalized yet, this will be null.
+ maxLength: 5000
+ nullable: true
+ type: string
+ last_finalization_error:
+ anyOf:
+ - $ref: "#/components/schemas/api_errors"
+ description: The error encountered during the previous attempt to finalize the invoice. This field is cleared when the invoice is successfully finalized.
+ nullable: true
+ latest_revision:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/invoice"
+ description: The ID of the most recent non-draft revision of this invoice
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/invoice"
+ lines:
+ description: "The individual line items that make up the invoice. `lines` is sorted as follows: (1) pending invoice items (including prorations) in reverse chronological order, (2) subscription items in reverse chronological order, and (3) invoice items added after invoice creation in chronological order."
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/line_item"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: InvoiceLinesList
+ type: object
+ x-expandableFields:
+ - data
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ nullable: true
+ type: object
+ next_payment_attempt:
+ description: The time at which payment will next be attempted. This value will be `null` for invoices where `collection_method=send_invoice`.
+ format: unix-time
+ nullable: true
+ type: integer
+ number:
+ description: A unique, identifying string that appears on emails sent to the customer for this invoice. This starts with the customer's unique invoice_prefix if it is specified.
+ maxLength: 5000
+ nullable: true
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - invoice
+ type: string
+ on_behalf_of:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/account"
+ description: The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account. See the [Invoices with Connect](https://stripe.com/docs/billing/invoices/connect) documentation for details.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/account"
+ paid:
+ description: Whether payment was successfully collected for this invoice. An invoice can be paid (most commonly) with a charge or with credit from the customer's account balance.
+ type: boolean
+ paid_out_of_band:
+ description: Returns true if the invoice was manually marked paid, returns false if the invoice hasn't been paid yet or was paid on Stripe.
+ type: boolean
+ payment_intent:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/payment_intent"
+ description: The PaymentIntent associated with this invoice. The PaymentIntent is generated when the invoice is finalized, and can then be used to pay the invoice. Note that voiding an invoice will cancel the PaymentIntent.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/payment_intent"
+ payment_settings:
+ $ref: "#/components/schemas/invoices_payment_settings"
+ period_end:
+ description: End of the usage period during which invoice items were added to this invoice.
+ format: unix-time
+ type: integer
+ period_start:
+ description: Start of the usage period during which invoice items were added to this invoice.
+ format: unix-time
+ type: integer
+ post_payment_credit_notes_amount:
+ description: Total amount of all post-payment credit notes issued for this invoice.
+ type: integer
+ pre_payment_credit_notes_amount:
+ description: Total amount of all pre-payment credit notes issued for this invoice.
+ type: integer
+ quote:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/quote"
+ description: The quote this invoice was generated from.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/quote"
+ receipt_number:
+ description: This is the transaction number that appears on email receipts sent for this invoice.
+ maxLength: 5000
+ nullable: true
+ type: string
+ rendering_options:
+ anyOf:
+ - $ref: "#/components/schemas/invoice_setting_rendering_options"
+ description: Options for invoice PDF rendering.
+ nullable: true
+ shipping_cost:
+ anyOf:
+ - $ref: "#/components/schemas/invoices_shipping_cost"
+ description: The details of the cost of shipping, including the ShippingRate applied on the invoice.
+ nullable: true
+ shipping_details:
+ anyOf:
+ - $ref: "#/components/schemas/shipping"
+ description: Shipping details for the invoice. The Invoice PDF will use the `shipping_details` value if it is set, otherwise the PDF will render the shipping address from the customer.
+ nullable: true
+ starting_balance:
+ description: Starting customer balance before the invoice is finalized. If the invoice has not been finalized yet, this will be the current customer balance. For revision invoices, this also includes any customer balance that was applied to the original invoice.
+ type: integer
+ statement_descriptor:
+ description: Extra information about an invoice for the customer's credit card statement.
+ maxLength: 5000
+ nullable: true
+ type: string
+ status:
+ description: The status of the invoice, one of `draft`, `open`, `paid`, `uncollectible`, or `void`. [Learn more](https://stripe.com/docs/billing/invoices/workflow#workflow-overview)
+ enum:
+ - draft
+ - open
+ - paid
+ - uncollectible
+ - void
+ nullable: true
+ type: string
+ x-stripeBypassValidation: true
+ status_transitions:
+ $ref: "#/components/schemas/invoices_status_transitions"
+ subscription:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/subscription"
+ description: The subscription that this invoice was prepared for, if any.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/subscription"
+ subscription_proration_date:
+ description: Only set for upcoming invoices that preview prorations. The time used to calculate prorations.
+ type: integer
+ subtotal:
+ description: Total of all subscriptions, invoice items, and prorations on the invoice before any invoice level discount or exclusive tax is applied. Item discounts are already incorporated
+ type: integer
+ subtotal_excluding_tax:
+ description: The integer amount in %s representing the subtotal of the invoice before any invoice level discount or tax is applied. Item discounts are already incorporated
+ nullable: true
+ type: integer
+ tax:
+ description: The amount of tax on this invoice. This is the sum of all the tax amounts on this invoice.
+ nullable: true
+ type: integer
+ test_clock:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/test_helpers.test_clock"
+ description: ID of the test clock this invoice belongs to.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/test_helpers.test_clock"
+ threshold_reason:
+ $ref: "#/components/schemas/invoice_threshold_reason"
+ total:
+ description: Total after discounts and taxes.
+ type: integer
+ total_discount_amounts:
+ description: The aggregate amounts calculated per discount across all line items.
+ items:
+ $ref: "#/components/schemas/discounts_resource_discount_amount"
+ nullable: true
+ type: array
+ total_excluding_tax:
+ description: The integer amount in %s representing the total amount of the invoice including all discounts but excluding all tax.
+ nullable: true
+ type: integer
+ total_tax_amounts:
+ description: The aggregate amounts calculated per tax rate for all line items.
+ items:
+ $ref: "#/components/schemas/invoice_tax_amount"
+ type: array
+ transfer_data:
+ anyOf:
+ - $ref: "#/components/schemas/invoice_transfer_data"
+ description: The account (if any) the payment will be attributed to for tax reporting, and where funds from the payment will be transferred to for the invoice.
+ nullable: true
+ webhooks_delivered_at:
+ description: Invoices are automatically paid or sent 1 hour after webhooks are delivered, or until all webhook delivery attempts have [been exhausted](https://stripe.com/docs/billing/webhooks#understand). This field tracks the time when webhooks for this invoice were successfully delivered. If the invoice had no webhooks to deliver, this will be set while the invoice is being created.
+ format: unix-time
+ nullable: true
+ type: integer
+ required:
+ - amount_due
+ - amount_paid
+ - amount_remaining
+ - amount_shipping
+ - attempt_count
+ - attempted
+ - automatic_tax
+ - collection_method
+ - created
+ - currency
+ - default_tax_rates
+ - lines
+ - livemode
+ - object
+ - paid
+ - paid_out_of_band
+ - payment_settings
+ - period_end
+ - period_start
+ - post_payment_credit_notes_amount
+ - pre_payment_credit_notes_amount
+ - starting_balance
+ - status_transitions
+ - subtotal
+ - total
+ - total_tax_amounts
+ title: Invoice
+ type: object
+ x-expandableFields:
+ - account_tax_ids
+ - application
+ - automatic_tax
+ - charge
+ - custom_fields
+ - customer
+ - customer_address
+ - customer_shipping
+ - customer_tax_ids
+ - default_payment_method
+ - default_source
+ - default_tax_rates
+ - discount
+ - discounts
+ - from_invoice
+ - last_finalization_error
+ - latest_revision
+ - lines
+ - on_behalf_of
+ - payment_intent
+ - payment_settings
+ - quote
+ - rendering_options
+ - shipping_cost
+ - shipping_details
+ - status_transitions
+ - subscription
+ - test_clock
+ - threshold_reason
+ - total_discount_amounts
+ - total_tax_amounts
+ - transfer_data
+ x-resourceId: invoice
+ invoice_installments_card:
+ description: ""
+ properties:
+ enabled:
+ description: Whether Installments are enabled for this Invoice.
+ nullable: true
+ type: boolean
+ title: invoice_installments_card
+ type: object
+ x-expandableFields: []
+ invoice_item_threshold_reason:
+ description: ""
+ properties:
+ line_item_ids:
+ description: The IDs of the line items that triggered the threshold invoice.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ usage_gte:
+ description: The quantity threshold boundary that applied to the given line item.
+ type: integer
+ required:
+ - line_item_ids
+ - usage_gte
+ title: InvoiceItemThresholdReason
+ type: object
+ x-expandableFields: []
+ invoice_line_item_period:
+ description: ""
+ properties:
+ end:
+ description: The end of the period, which must be greater than or equal to the start. This value is inclusive.
+ format: unix-time
+ type: integer
+ start:
+ description: The start of the period. This value is inclusive.
+ format: unix-time
+ type: integer
+ required:
+ - end
+ - start
+ title: InvoiceLineItemPeriod
+ type: object
+ x-expandableFields: []
+ invoice_mandate_options_card:
+ description: ""
+ properties:
+ amount:
+ description: Amount to be charged for future payments.
+ nullable: true
+ type: integer
+ amount_type:
+ description: One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param.
+ enum:
+ - fixed
+ - maximum
+ nullable: true
+ type: string
+ description:
+ description: A description of the mandate or subscription that is meant to be displayed to the customer.
+ maxLength: 200
+ nullable: true
+ type: string
+ title: invoice_mandate_options_card
+ type: object
+ x-expandableFields: []
+ invoice_payment_method_options_acss_debit:
+ description: ""
+ properties:
+ mandate_options:
+ $ref: "#/components/schemas/invoice_payment_method_options_acss_debit_mandate_options"
+ verification_method:
+ description: Bank account verification method.
+ enum:
+ - automatic
+ - instant
+ - microdeposits
+ type: string
+ x-stripeBypassValidation: true
+ title: invoice_payment_method_options_acss_debit
+ type: object
+ x-expandableFields:
+ - mandate_options
+ invoice_payment_method_options_acss_debit_mandate_options:
+ description: ""
+ properties:
+ transaction_type:
+ description: Transaction type of the mandate.
+ enum:
+ - business
+ - personal
+ nullable: true
+ type: string
+ title: invoice_payment_method_options_acss_debit_mandate_options
+ type: object
+ x-expandableFields: []
+ invoice_payment_method_options_bancontact:
+ description: ""
+ properties:
+ preferred_language:
+ description: Preferred language of the Bancontact authorization page that the customer is redirected to.
+ enum:
+ - de
+ - en
+ - fr
+ - nl
+ type: string
+ required:
+ - preferred_language
+ title: invoice_payment_method_options_bancontact
+ type: object
+ x-expandableFields: []
+ invoice_payment_method_options_card:
+ description: ""
+ properties:
+ installments:
+ $ref: "#/components/schemas/invoice_installments_card"
+ request_three_d_secure:
+ description: We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine.
+ enum:
+ - any
+ - automatic
+ nullable: true
+ type: string
+ title: invoice_payment_method_options_card
+ type: object
+ x-expandableFields:
+ - installments
+ invoice_payment_method_options_customer_balance:
+ description: ""
+ properties:
+ bank_transfer:
+ $ref: "#/components/schemas/invoice_payment_method_options_customer_balance_bank_transfer"
+ funding_type:
+ description: "The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`."
+ enum:
+ - bank_transfer
+ nullable: true
+ type: string
+ title: invoice_payment_method_options_customer_balance
+ type: object
+ x-expandableFields:
+ - bank_transfer
+ invoice_payment_method_options_customer_balance_bank_transfer:
+ description: ""
+ properties:
+ eu_bank_transfer:
+ $ref: "#/components/schemas/invoice_payment_method_options_customer_balance_bank_transfer_eu_bank_transfer"
+ type:
+ description: "The bank transfer type that can be used for funding. Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, or `mx_bank_transfer`."
+ nullable: true
+ type: string
+ title: invoice_payment_method_options_customer_balance_bank_transfer
+ type: object
+ x-expandableFields:
+ - eu_bank_transfer
+ invoice_payment_method_options_customer_balance_bank_transfer_eu_bank_transfer:
+ description: ""
+ properties:
+ country:
+ description: "The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`."
+ enum:
+ - BE
+ - DE
+ - ES
+ - FR
+ - IE
+ - NL
+ type: string
+ required:
+ - country
+ title: invoice_payment_method_options_customer_balance_bank_transfer_eu_bank_transfer
+ type: object
+ x-expandableFields: []
+ invoice_payment_method_options_konbini:
+ description: ""
+ properties: {}
+ title: invoice_payment_method_options_konbini
+ type: object
+ x-expandableFields: []
+ invoice_payment_method_options_us_bank_account:
+ description: ""
+ properties:
+ financial_connections:
+ $ref: "#/components/schemas/invoice_payment_method_options_us_bank_account_linked_account_options"
+ verification_method:
+ description: Bank account verification method.
+ enum:
+ - automatic
+ - instant
+ - microdeposits
+ type: string
+ x-stripeBypassValidation: true
+ title: invoice_payment_method_options_us_bank_account
+ type: object
+ x-expandableFields:
+ - financial_connections
+ invoice_payment_method_options_us_bank_account_linked_account_options:
+ description: ""
+ properties:
+ permissions:
+ description: The list of permissions to request. The `payment_method` permission must be included.
+ items:
+ enum:
+ - balances
+ - payment_method
+ - transactions
+ type: string
+ x-stripeBypassValidation: true
+ type: array
+ title: invoice_payment_method_options_us_bank_account_linked_account_options
+ type: object
+ x-expandableFields: []
+ invoice_setting_custom_field:
+ description: ""
+ properties:
+ name:
+ description: The name of the custom field.
+ maxLength: 5000
+ type: string
+ value:
+ description: The value of the custom field.
+ maxLength: 5000
+ type: string
+ required:
+ - name
+ - value
+ title: InvoiceSettingCustomField
+ type: object
+ x-expandableFields: []
+ invoice_setting_customer_setting:
+ description: ""
+ properties:
+ custom_fields:
+ description: Default custom fields to be displayed on invoices for this customer.
+ items:
+ $ref: "#/components/schemas/invoice_setting_custom_field"
+ nullable: true
+ type: array
+ default_payment_method:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/payment_method"
+ description: ID of a payment method that's attached to the customer, to be used as the customer's default payment method for subscriptions and invoices.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/payment_method"
+ footer:
+ description: Default footer to be displayed on invoices for this customer.
+ maxLength: 5000
+ nullable: true
+ type: string
+ rendering_options:
+ anyOf:
+ - $ref: "#/components/schemas/invoice_setting_rendering_options"
+ description: Default options for invoice PDF rendering for this customer.
+ nullable: true
+ title: InvoiceSettingCustomerSetting
+ type: object
+ x-expandableFields:
+ - custom_fields
+ - default_payment_method
+ - rendering_options
+ invoice_setting_phase_setting:
+ description: ""
+ properties:
+ days_until_due:
+ description: Number of days within which a customer must pay invoices generated by this subscription schedule. This value will be `null` for subscription schedules where `billing=charge_automatically`.
+ nullable: true
+ type: integer
+ title: InvoiceSettingPhaseSetting
+ type: object
+ x-expandableFields: []
+ invoice_setting_quote_setting:
+ description: ""
+ properties:
+ days_until_due:
+ description: Number of days within which a customer must pay invoices generated by this quote. This value will be `null` for quotes where `collection_method=charge_automatically`.
+ nullable: true
+ type: integer
+ title: InvoiceSettingQuoteSetting
+ type: object
+ x-expandableFields: []
+ invoice_setting_rendering_options:
+ description: ""
+ properties:
+ amount_tax_display:
+ description: How line-item prices and amounts will be displayed with respect to tax on invoice PDFs.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: InvoiceSettingRenderingOptions
+ type: object
+ x-expandableFields: []
+ invoice_setting_subscription_schedule_setting:
+ description: ""
+ properties:
+ days_until_due:
+ description: Number of days within which a customer must pay invoices generated by this subscription schedule. This value will be `null` for subscription schedules where `billing=charge_automatically`.
+ nullable: true
+ type: integer
+ title: InvoiceSettingSubscriptionScheduleSetting
+ type: object
+ x-expandableFields: []
+ invoice_tax_amount:
+ description: ""
+ properties:
+ amount:
+ description: The amount, in %s, of the tax.
+ type: integer
+ inclusive:
+ description: Whether this tax amount is inclusive or exclusive.
+ type: boolean
+ tax_rate:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/tax_rate"
+ description: The tax rate that was applied to get this tax amount.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/tax_rate"
+ required:
+ - amount
+ - inclusive
+ - tax_rate
+ title: InvoiceTaxAmount
+ type: object
+ x-expandableFields:
+ - tax_rate
+ invoice_threshold_reason:
+ description: ""
+ properties:
+ amount_gte:
+ description: The total invoice amount threshold boundary if it triggered the threshold invoice.
+ nullable: true
+ type: integer
+ item_reasons:
+ description: Indicates which line items triggered a threshold invoice.
+ items:
+ $ref: "#/components/schemas/invoice_item_threshold_reason"
+ type: array
+ required:
+ - item_reasons
+ title: InvoiceThresholdReason
+ type: object
+ x-expandableFields:
+ - item_reasons
+ invoice_transfer_data:
+ description: ""
+ properties:
+ amount:
+ description: The amount in %s that will be transferred to the destination account when the invoice is paid. By default, the entire amount is transferred to the destination.
+ nullable: true
+ type: integer
+ destination:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/account"
+ description: The account where funds from the payment will be transferred to upon payment success.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/account"
+ required:
+ - destination
+ title: InvoiceTransferData
+ type: object
+ x-expandableFields:
+ - destination
+ invoiceitem:
+ description: |-
+ Invoice Items represent the component lines of an [invoice](https://stripe.com/docs/api/invoices). An invoice item is added to an
+ invoice by creating or updating it with an `invoice` field, at which point it will be included as
+ [an invoice line item](https://stripe.com/docs/api/invoices/line_item) within
+ [invoice.lines](https://stripe.com/docs/api/invoices/object#invoice_object-lines).
+
+ Invoice Items can be created before you are ready to actually send the invoice. This can be particularly useful when combined
+ with a [subscription](https://stripe.com/docs/api/subscriptions). Sometimes you want to add a charge or credit to a customer, but actually charge
+ or credit the customer’s card only at the end of a regular billing cycle. This is useful for combining several charges
+ (to minimize per-transaction fees), or for having Stripe tabulate your usage-based billing totals.
+
+ Related guides: [Integrate with the Invoicing API](https://stripe.com/docs/invoicing/integration), [Subscription Invoices](https://stripe.com/docs/billing/invoices/subscription#adding-upcoming-invoice-items).
+ properties:
+ amount:
+ description: Amount (in the `currency` specified) of the invoice item. This should always be equal to `unit_amount * quantity`.
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ customer:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ description: The ID of the customer who will be billed when this invoice item is billed.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ date:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 5000
+ nullable: true
+ type: string
+ discountable:
+ description: If true, discounts will apply to this invoice item. Always false for prorations.
+ type: boolean
+ discounts:
+ description: The discounts which apply to the invoice item. Item discounts are applied before invoice discounts. Use `expand[]=discounts` to expand each discount.
+ items:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/discount"
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/discount"
+ nullable: true
+ type: array
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ invoice:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/invoice"
+ description: The ID of the invoice this invoice item belongs to.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/invoice"
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ nullable: true
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - invoiceitem
+ type: string
+ period:
+ $ref: "#/components/schemas/invoice_line_item_period"
+ price:
+ anyOf:
+ - $ref: "#/components/schemas/price"
+ description: The price of the invoice item.
+ nullable: true
+ proration:
+ description: Whether the invoice item was created automatically as a proration adjustment when the customer switched plans.
+ type: boolean
+ quantity:
+ description: Quantity of units for the invoice item. If the invoice item is a proration, the quantity of the subscription that the proration was computed for.
+ type: integer
+ subscription:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/subscription"
+ description: The subscription that this invoice item has been created for, if any.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/subscription"
+ subscription_item:
+ description: The subscription item that this invoice item has been created for, if any.
+ maxLength: 5000
+ type: string
+ tax_rates:
+ description: The tax rates which apply to the invoice item. When set, the `default_tax_rates` on the invoice do not apply to this invoice item.
+ items:
+ $ref: "#/components/schemas/tax_rate"
+ nullable: true
+ type: array
+ test_clock:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/test_helpers.test_clock"
+ description: ID of the test clock this invoice item belongs to.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/test_helpers.test_clock"
+ unit_amount:
+ description: Unit amount (in the `currency` specified) of the invoice item.
+ nullable: true
+ type: integer
+ unit_amount_decimal:
+ description: Same as `unit_amount`, but contains a decimal value with at most 12 decimal places.
+ format: decimal
+ nullable: true
+ type: string
+ required:
+ - amount
+ - currency
+ - customer
+ - date
+ - discountable
+ - id
+ - livemode
+ - object
+ - period
+ - proration
+ - quantity
+ title: InvoiceItem
+ type: object
+ x-expandableFields:
+ - customer
+ - discounts
+ - invoice
+ - period
+ - price
+ - subscription
+ - tax_rates
+ - test_clock
+ x-resourceId: invoiceitem
+ invoices_from_invoice:
+ description: ""
+ properties:
+ action:
+ description: The relation between this invoice and the cloned invoice
+ maxLength: 5000
+ type: string
+ invoice:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/invoice"
+ description: The invoice that was cloned.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/invoice"
+ required:
+ - action
+ - invoice
+ title: InvoicesFromInvoice
+ type: object
+ x-expandableFields:
+ - invoice
+ invoices_line_items_credited_items:
+ description: ""
+ properties:
+ invoice:
+ description: Invoice containing the credited invoice line items
+ maxLength: 5000
+ type: string
+ invoice_line_items:
+ description: Credited invoice line items
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ required:
+ - invoice
+ - invoice_line_items
+ title: InvoicesLineItemsCreditedItems
+ type: object
+ x-expandableFields: []
+ invoices_line_items_proration_details:
+ description: ""
+ properties:
+ credited_items:
+ anyOf:
+ - $ref: "#/components/schemas/invoices_line_items_credited_items"
+ description: For a credit proration `line_item`, the original debit line_items to which the credit proration applies.
+ nullable: true
+ title: InvoicesLineItemsProrationDetails
+ type: object
+ x-expandableFields:
+ - credited_items
+ invoices_payment_method_options:
+ description: ""
+ properties:
+ acss_debit:
+ anyOf:
+ - $ref: "#/components/schemas/invoice_payment_method_options_acss_debit"
+ description: If paying by `acss_debit`, this sub-hash contains details about the Canadian pre-authorized debit payment method options to pass to the invoice’s PaymentIntent.
+ nullable: true
+ bancontact:
+ anyOf:
+ - $ref: "#/components/schemas/invoice_payment_method_options_bancontact"
+ description: If paying by `bancontact`, this sub-hash contains details about the Bancontact payment method options to pass to the invoice’s PaymentIntent.
+ nullable: true
+ card:
+ anyOf:
+ - $ref: "#/components/schemas/invoice_payment_method_options_card"
+ description: If paying by `card`, this sub-hash contains details about the Card payment method options to pass to the invoice’s PaymentIntent.
+ nullable: true
+ customer_balance:
+ anyOf:
+ - $ref: "#/components/schemas/invoice_payment_method_options_customer_balance"
+ description: If paying by `customer_balance`, this sub-hash contains details about the Bank transfer payment method options to pass to the invoice’s PaymentIntent.
+ nullable: true
+ konbini:
+ anyOf:
+ - $ref: "#/components/schemas/invoice_payment_method_options_konbini"
+ description: If paying by `konbini`, this sub-hash contains details about the Konbini payment method options to pass to the invoice’s PaymentIntent.
+ nullable: true
+ us_bank_account:
+ anyOf:
+ - $ref: "#/components/schemas/invoice_payment_method_options_us_bank_account"
+ description: If paying by `us_bank_account`, this sub-hash contains details about the ACH direct debit payment method options to pass to the invoice’s PaymentIntent.
+ nullable: true
+ title: InvoicesPaymentMethodOptions
+ type: object
+ x-expandableFields:
+ - acss_debit
+ - bancontact
+ - card
+ - customer_balance
+ - konbini
+ - us_bank_account
+ invoices_payment_settings:
+ description: ""
+ properties:
+ default_mandate:
+ description: ID of the mandate to be used for this invoice. It must correspond to the payment method used to pay the invoice, including the invoice's default_payment_method or default_source, if set.
+ maxLength: 5000
+ nullable: true
+ type: string
+ payment_method_options:
+ anyOf:
+ - $ref: "#/components/schemas/invoices_payment_method_options"
+ description: Payment-method-specific configuration to provide to the invoice’s PaymentIntent.
+ nullable: true
+ payment_method_types:
+ description: The list of payment method types (e.g. card) to provide to the invoice’s PaymentIntent. If not set, Stripe attempts to automatically determine the types to use by looking at the invoice’s default payment method, the subscription’s default payment method, the customer’s default payment method, and your [invoice template settings](https://dashboard.stripe.com/settings/billing/invoice).
+ items:
+ enum:
+ - ach_credit_transfer
+ - ach_debit
+ - acss_debit
+ - au_becs_debit
+ - bacs_debit
+ - bancontact
+ - boleto
+ - card
+ - cashapp
+ - customer_balance
+ - fpx
+ - giropay
+ - grabpay
+ - ideal
+ - konbini
+ - link
+ - paynow
+ - promptpay
+ - sepa_debit
+ - sofort
+ - us_bank_account
+ - wechat_pay
+ type: string
+ x-stripeBypassValidation: true
+ nullable: true
+ type: array
+ title: InvoicesPaymentSettings
+ type: object
+ x-expandableFields:
+ - payment_method_options
+ invoices_resource_invoice_tax_id:
+ description: ""
+ properties:
+ type:
+ description: The type of the tax ID, one of `eu_vat`, `br_cnpj`, `br_cpf`, `eu_oss_vat`, `gb_vat`, `nz_gst`, `au_abn`, `au_arn`, `in_gst`, `no_vat`, `za_vat`, `ch_vat`, `mx_rfc`, `sg_uen`, `ru_inn`, `ru_kpp`, `ca_bn`, `hk_br`, `es_cif`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `my_itn`, `us_ein`, `kr_brn`, `ca_qst`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `my_sst`, `sg_gst`, `ae_trn`, `cl_tin`, `sa_vat`, `id_npwp`, `my_frp`, `il_vat`, `ge_vat`, `ua_vat`, `is_vat`, `bg_uic`, `hu_tin`, `si_tin`, `ke_pin`, `tr_tin`, `eg_tin`, `ph_tin`, or `unknown`
+ enum:
+ - ae_trn
+ - au_abn
+ - au_arn
+ - bg_uic
+ - br_cnpj
+ - br_cpf
+ - ca_bn
+ - ca_gst_hst
+ - ca_pst_bc
+ - ca_pst_mb
+ - ca_pst_sk
+ - ca_qst
+ - ch_vat
+ - cl_tin
+ - eg_tin
+ - es_cif
+ - eu_oss_vat
+ - eu_vat
+ - gb_vat
+ - ge_vat
+ - hk_br
+ - hu_tin
+ - id_npwp
+ - il_vat
+ - in_gst
+ - is_vat
+ - jp_cn
+ - jp_rn
+ - jp_trn
+ - ke_pin
+ - kr_brn
+ - li_uid
+ - mx_rfc
+ - my_frp
+ - my_itn
+ - my_sst
+ - no_vat
+ - nz_gst
+ - ph_tin
+ - ru_inn
+ - ru_kpp
+ - sa_vat
+ - sg_gst
+ - sg_uen
+ - si_tin
+ - th_vat
+ - tr_tin
+ - tw_vat
+ - ua_vat
+ - unknown
+ - us_ein
+ - za_vat
+ type: string
+ value:
+ description: The value of the tax ID.
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - type
+ title: InvoicesResourceInvoiceTaxID
+ type: object
+ x-expandableFields: []
+ invoices_shipping_cost:
+ description: ""
+ properties:
+ amount_subtotal:
+ description: Total shipping cost before any taxes are applied.
+ type: integer
+ amount_tax:
+ description: Total tax amount applied due to shipping costs. If no tax was applied, defaults to 0.
+ type: integer
+ amount_total:
+ description: Total shipping cost after taxes are applied.
+ type: integer
+ shipping_rate:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/shipping_rate"
+ description: The ID of the ShippingRate for this invoice.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/shipping_rate"
+ taxes:
+ description: The taxes applied to the shipping rate.
+ items:
+ $ref: "#/components/schemas/line_items_tax_amount"
+ type: array
+ required:
+ - amount_subtotal
+ - amount_tax
+ - amount_total
+ title: InvoicesShippingCost
+ type: object
+ x-expandableFields:
+ - shipping_rate
+ - taxes
+ invoices_status_transitions:
+ description: ""
+ properties:
+ finalized_at:
+ description: The time that the invoice draft was finalized.
+ format: unix-time
+ nullable: true
+ type: integer
+ marked_uncollectible_at:
+ description: The time that the invoice was marked uncollectible.
+ format: unix-time
+ nullable: true
+ type: integer
+ paid_at:
+ description: The time that the invoice was paid.
+ format: unix-time
+ nullable: true
+ type: integer
+ voided_at:
+ description: The time that the invoice was voided.
+ format: unix-time
+ nullable: true
+ type: integer
+ title: InvoicesStatusTransitions
+ type: object
+ x-expandableFields: []
+ issuing.authorization:
+ description: |-
+ When an [issued card](https://stripe.com/docs/issuing) is used to make a purchase, an Issuing `Authorization`
+ object is created. [Authorizations](https://stripe.com/docs/issuing/purchases/authorizations) must be approved for the
+ purchase to be completed successfully.
+
+ Related guide: [Issued Card Authorizations](https://stripe.com/docs/issuing/purchases/authorizations).
+ properties:
+ amount:
+ description: The total amount that was authorized or rejected. This amount is in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).
+ type: integer
+ amount_details:
+ anyOf:
+ - $ref: "#/components/schemas/issuing_authorization_amount_details"
+ description: Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).
+ nullable: true
+ approved:
+ description: Whether the authorization has been approved.
+ type: boolean
+ authorization_method:
+ description: How the card details were provided.
+ enum:
+ - chip
+ - contactless
+ - keyed_in
+ - online
+ - swipe
+ type: string
+ balance_transactions:
+ description: List of balance transactions associated with this authorization.
+ items:
+ $ref: "#/components/schemas/balance_transaction"
+ type: array
+ card:
+ $ref: "#/components/schemas/issuing.card"
+ cardholder:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/issuing.cardholder"
+ description: The cardholder to whom this authorization belongs.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/issuing.cardholder"
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ merchant_amount:
+ description: The total amount that was authorized or rejected. This amount is in the `merchant_currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).
+ type: integer
+ merchant_currency:
+ description: The currency that was presented to the cardholder for the authorization. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ merchant_data:
+ $ref: "#/components/schemas/issuing_authorization_merchant_data"
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ network_data:
+ anyOf:
+ - $ref: "#/components/schemas/issuing_authorization_network_data"
+ description: Details about the authorization, such as identifiers, set by the card network.
+ nullable: true
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - issuing.authorization
+ type: string
+ pending_request:
+ anyOf:
+ - $ref: "#/components/schemas/issuing_authorization_pending_request"
+ description: The pending authorization request. This field will only be non-null during an `issuing_authorization.request` webhook.
+ nullable: true
+ request_history:
+ description: History of every time a `pending_request` authorization was approved/declined, either by you directly or by Stripe (e.g. based on your spending_controls). If the merchant changes the authorization by performing an incremental authorization, you can look at this field to see the previous requests for the authorization. This field can be helpful in determining why a given authorization was approved/declined.
+ items:
+ $ref: "#/components/schemas/issuing_authorization_request"
+ type: array
+ status:
+ description: The current status of the authorization in its lifecycle.
+ enum:
+ - closed
+ - pending
+ - reversed
+ type: string
+ transactions:
+ description: List of [transactions](https://stripe.com/docs/api/issuing/transactions) associated with this authorization.
+ items:
+ $ref: "#/components/schemas/issuing.transaction"
+ type: array
+ treasury:
+ anyOf:
+ - $ref: "#/components/schemas/issuing_authorization_treasury"
+ description: "[Treasury](https://stripe.com/docs/api/treasury) details related to this authorization if it was created on a [FinancialAccount](https://stripe.com/docs/api/treasury/financial_accounts)."
+ nullable: true
+ verification_data:
+ $ref: "#/components/schemas/issuing_authorization_verification_data"
+ wallet:
+ description: The digital wallet used for this transaction. One of `apple_pay`, `google_pay`, or `samsung_pay`. Will populate as `null` when no digital wallet was utilized.
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - amount
+ - approved
+ - authorization_method
+ - balance_transactions
+ - card
+ - created
+ - currency
+ - id
+ - livemode
+ - merchant_amount
+ - merchant_currency
+ - merchant_data
+ - metadata
+ - object
+ - request_history
+ - status
+ - transactions
+ - verification_data
+ title: IssuingAuthorization
+ type: object
+ x-expandableFields:
+ - amount_details
+ - balance_transactions
+ - card
+ - cardholder
+ - merchant_data
+ - network_data
+ - pending_request
+ - request_history
+ - transactions
+ - treasury
+ - verification_data
+ x-resourceId: issuing.authorization
+ issuing.card:
+ description: You can [create physical or virtual cards](https://stripe.com/docs/issuing/cards) that are issued to cardholders.
+ properties:
+ brand:
+ description: The brand of the card.
+ maxLength: 5000
+ type: string
+ cancellation_reason:
+ description: The reason why the card was canceled.
+ enum:
+ - design_rejected
+ - lost
+ - stolen
+ nullable: true
+ type: string
+ x-stripeBypassValidation: true
+ cardholder:
+ $ref: "#/components/schemas/issuing.cardholder"
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Supported currencies are `usd` in the US, `eur` in the EU, and `gbp` in the UK.
+ type: string
+ cvc:
+ description: The card's CVC. For security reasons, this is only available for virtual cards, and will be omitted unless you explicitly request it with [the `expand` parameter](https://stripe.com/docs/api/expanding_objects). Additionally, it's only available via the ["Retrieve a card" endpoint](https://stripe.com/docs/api/issuing/cards/retrieve), not via "List all cards" or any other endpoint.
+ maxLength: 5000
+ type: string
+ exp_month:
+ description: The expiration month of the card.
+ type: integer
+ exp_year:
+ description: The expiration year of the card.
+ type: integer
+ financial_account:
+ description: The financial account this card is attached to.
+ maxLength: 5000
+ nullable: true
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ last4:
+ description: The last 4 digits of the card number.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ number:
+ description: The full unredacted card number. For security reasons, this is only available for virtual cards, and will be omitted unless you explicitly request it with [the `expand` parameter](https://stripe.com/docs/api/expanding_objects). Additionally, it's only available via the ["Retrieve a card" endpoint](https://stripe.com/docs/api/issuing/cards/retrieve), not via "List all cards" or any other endpoint.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - issuing.card
+ type: string
+ replaced_by:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/issuing.card"
+ description: The latest card that replaces this card, if any.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/issuing.card"
+ replacement_for:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/issuing.card"
+ description: The card this card replaces, if any.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/issuing.card"
+ replacement_reason:
+ description: The reason why the previous card needed to be replaced.
+ enum:
+ - damaged
+ - expired
+ - lost
+ - stolen
+ nullable: true
+ type: string
+ x-stripeBypassValidation: true
+ shipping:
+ anyOf:
+ - $ref: "#/components/schemas/issuing_card_shipping"
+ description: Where and how the card will be shipped.
+ nullable: true
+ spending_controls:
+ $ref: "#/components/schemas/issuing_card_authorization_controls"
+ status:
+ description: Whether authorizations can be approved on this card. May be blocked from activating cards depending on past-due Cardholder requirements. Defaults to `inactive`.
+ enum:
+ - active
+ - canceled
+ - inactive
+ type: string
+ x-stripeBypassValidation: true
+ type:
+ description: The type of the card.
+ enum:
+ - physical
+ - virtual
+ type: string
+ wallets:
+ anyOf:
+ - $ref: "#/components/schemas/issuing_card_wallets"
+ description: Information relating to digital wallets (like Apple Pay and Google Pay).
+ nullable: true
+ required:
+ - brand
+ - cardholder
+ - created
+ - currency
+ - exp_month
+ - exp_year
+ - id
+ - last4
+ - livemode
+ - metadata
+ - object
+ - spending_controls
+ - status
+ - type
+ title: IssuingCard
+ type: object
+ x-expandableFields:
+ - cardholder
+ - replaced_by
+ - replacement_for
+ - shipping
+ - spending_controls
+ - wallets
+ x-resourceId: issuing.card
+ issuing.cardholder:
+ description: |-
+ An Issuing `Cardholder` object represents an individual or business entity who is [issued](https://stripe.com/docs/issuing) cards.
+
+ Related guide: [How to create a Cardholder](https://stripe.com/docs/issuing/cards#create-cardholder)
+ properties:
+ billing:
+ $ref: "#/components/schemas/issuing_cardholder_address"
+ company:
+ anyOf:
+ - $ref: "#/components/schemas/issuing_cardholder_company"
+ description: Additional information about a `company` cardholder.
+ nullable: true
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ email:
+ description: The cardholder's email address.
+ maxLength: 5000
+ nullable: true
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ individual:
+ anyOf:
+ - $ref: "#/components/schemas/issuing_cardholder_individual"
+ description: Additional information about an `individual` cardholder.
+ nullable: true
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ name:
+ description: The cardholder's name. This will be printed on cards issued to them.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - issuing.cardholder
+ type: string
+ phone_number:
+ description: The cardholder's phone number. This is required for all cardholders who will be creating EU cards. See the [3D Secure documentation](https://stripe.com/docs/issuing/3d-secure#when-is-3d-secure-applied) for more details.
+ maxLength: 5000
+ nullable: true
+ type: string
+ requirements:
+ $ref: "#/components/schemas/issuing_cardholder_requirements"
+ spending_controls:
+ anyOf:
+ - $ref: "#/components/schemas/issuing_cardholder_authorization_controls"
+ description: Rules that control spending across this cardholder's cards. Refer to our [documentation](https://stripe.com/docs/issuing/controls/spending-controls) for more details.
+ nullable: true
+ status:
+ description: Specifies whether to permit authorizations on this cardholder's cards.
+ enum:
+ - active
+ - blocked
+ - inactive
+ type: string
+ type:
+ description: One of `individual` or `company`. See [Choose a cardholder type](https://stripe.com/docs/issuing/other/choose-cardholder) for more details.
+ enum:
+ - company
+ - individual
+ type: string
+ x-stripeBypassValidation: true
+ required:
+ - billing
+ - created
+ - id
+ - livemode
+ - metadata
+ - name
+ - object
+ - requirements
+ - status
+ - type
+ title: IssuingCardholder
+ type: object
+ x-expandableFields:
+ - billing
+ - company
+ - individual
+ - requirements
+ - spending_controls
+ x-resourceId: issuing.cardholder
+ issuing.dispute:
+ description: |-
+ As a [card issuer](https://stripe.com/docs/issuing), you can dispute transactions that the cardholder does not recognize, suspects to be fraudulent, or has other issues with.
+
+ Related guide: [Disputing Transactions](https://stripe.com/docs/issuing/purchases/disputes)
+ properties:
+ amount:
+ description: Disputed amount in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Usually the amount of the `transaction`, but can differ (usually because of currency fluctuation).
+ type: integer
+ balance_transactions:
+ description: List of balance transactions associated with the dispute.
+ items:
+ $ref: "#/components/schemas/balance_transaction"
+ nullable: true
+ type: array
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: The currency the `transaction` was made in.
+ type: string
+ evidence:
+ $ref: "#/components/schemas/issuing_dispute_evidence"
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - issuing.dispute
+ type: string
+ status:
+ description: Current status of the dispute.
+ enum:
+ - expired
+ - lost
+ - submitted
+ - unsubmitted
+ - won
+ type: string
+ transaction:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/issuing.transaction"
+ description: The transaction being disputed.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/issuing.transaction"
+ treasury:
+ anyOf:
+ - $ref: "#/components/schemas/issuing_dispute_treasury"
+ description: "[Treasury](https://stripe.com/docs/api/treasury) details related to this dispute if it was created on a [FinancialAccount](/docs/api/treasury/financial_accounts"
+ nullable: true
+ required:
+ - amount
+ - created
+ - currency
+ - evidence
+ - id
+ - livemode
+ - metadata
+ - object
+ - status
+ - transaction
+ title: IssuingDispute
+ type: object
+ x-expandableFields:
+ - balance_transactions
+ - evidence
+ - transaction
+ - treasury
+ x-resourceId: issuing.dispute
+ issuing.settlement:
+ description: When a non-stripe BIN is used, any use of an [issued card](https://stripe.com/docs/issuing) must be settled directly with the card network. The net amount owed is represented by an Issuing `Settlement` object.
+ properties:
+ bin:
+ description: The Bank Identification Number reflecting this settlement record.
+ maxLength: 5000
+ type: string
+ clearing_date:
+ description: The date that the transactions are cleared and posted to user's accounts.
+ type: integer
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ interchange_fees:
+ description: The total interchange received as reimbursement for the transactions.
+ type: integer
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ net_total:
+ description: The total net amount required to settle with the network.
+ type: integer
+ network:
+ description: The card network for this settlement report. One of ["visa"]
+ enum:
+ - visa
+ type: string
+ network_fees:
+ description: The total amount of fees owed to the network.
+ type: integer
+ network_settlement_identifier:
+ description: The Settlement Identification Number assigned by the network.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - issuing.settlement
+ type: string
+ settlement_service:
+ description: One of `international` or `uk_national_net`.
+ maxLength: 5000
+ type: string
+ transaction_count:
+ description: The total number of transactions reflected in this settlement.
+ type: integer
+ transaction_volume:
+ description: The total transaction amount reflected in this settlement.
+ type: integer
+ required:
+ - bin
+ - clearing_date
+ - created
+ - currency
+ - id
+ - interchange_fees
+ - livemode
+ - metadata
+ - net_total
+ - network
+ - network_fees
+ - network_settlement_identifier
+ - object
+ - settlement_service
+ - transaction_count
+ - transaction_volume
+ title: IssuingSettlement
+ type: object
+ x-expandableFields: []
+ x-resourceId: issuing.settlement
+ issuing.transaction:
+ description: |-
+ Any use of an [issued card](https://stripe.com/docs/issuing) that results in funds entering or leaving
+ your Stripe account, such as a completed purchase or refund, is represented by an Issuing
+ `Transaction` object.
+
+ Related guide: [Issued Card Transactions](https://stripe.com/docs/issuing/purchases/transactions).
+ properties:
+ amount:
+ description: The transaction amount, which will be reflected in your balance. This amount is in your currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).
+ type: integer
+ amount_details:
+ anyOf:
+ - $ref: "#/components/schemas/issuing_transaction_amount_details"
+ description: Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).
+ nullable: true
+ authorization:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/issuing.authorization"
+ description: The `Authorization` object that led to this transaction.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/issuing.authorization"
+ balance_transaction:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/balance_transaction"
+ description: ID of the [balance transaction](https://stripe.com/docs/api/balance_transactions) associated with this transaction.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/balance_transaction"
+ card:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/issuing.card"
+ description: The card used to make this transaction.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/issuing.card"
+ cardholder:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/issuing.cardholder"
+ description: The cardholder to whom this transaction belongs.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/issuing.cardholder"
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ dispute:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/issuing.dispute"
+ description: If you've disputed the transaction, the ID of the dispute.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/issuing.dispute"
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ merchant_amount:
+ description: The amount that the merchant will receive, denominated in `merchant_currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). It will be different from `amount` if the merchant is taking payment in a different currency.
+ type: integer
+ merchant_currency:
+ description: The currency with which the merchant is taking payment.
+ type: string
+ merchant_data:
+ $ref: "#/components/schemas/issuing_authorization_merchant_data"
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - issuing.transaction
+ type: string
+ purchase_details:
+ anyOf:
+ - $ref: "#/components/schemas/issuing_transaction_purchase_details"
+ description: Additional purchase information that is optionally provided by the merchant.
+ nullable: true
+ treasury:
+ anyOf:
+ - $ref: "#/components/schemas/issuing_transaction_treasury"
+ description: "[Treasury](https://stripe.com/docs/api/treasury) details related to this transaction if it was created on a [FinancialAccount](/docs/api/treasury/financial_accounts"
+ nullable: true
+ type:
+ description: The nature of the transaction.
+ enum:
+ - capture
+ - refund
+ type: string
+ x-stripeBypassValidation: true
+ wallet:
+ description: The digital wallet used for this transaction. One of `apple_pay`, `google_pay`, or `samsung_pay`.
+ enum:
+ - apple_pay
+ - google_pay
+ - samsung_pay
+ nullable: true
+ type: string
+ required:
+ - amount
+ - card
+ - created
+ - currency
+ - id
+ - livemode
+ - merchant_amount
+ - merchant_currency
+ - merchant_data
+ - metadata
+ - object
+ - type
+ title: IssuingTransaction
+ type: object
+ x-expandableFields:
+ - amount_details
+ - authorization
+ - balance_transaction
+ - card
+ - cardholder
+ - dispute
+ - merchant_data
+ - purchase_details
+ - treasury
+ x-resourceId: issuing.transaction
+ issuing_authorization_amount_details:
+ description: ""
+ properties:
+ atm_fee:
+ description: The fee charged by the ATM for the cash withdrawal.
+ nullable: true
+ type: integer
+ title: IssuingAuthorizationAmountDetails
+ type: object
+ x-expandableFields: []
+ issuing_authorization_merchant_data:
+ description: ""
+ properties:
+ category:
+ description: A categorization of the seller's type of business. See our [merchant categories guide](https://stripe.com/docs/issuing/merchant-categories) for a list of possible values.
+ maxLength: 5000
+ type: string
+ category_code:
+ description: The merchant category code for the seller’s business
+ maxLength: 5000
+ type: string
+ city:
+ description: City where the seller is located
+ maxLength: 5000
+ nullable: true
+ type: string
+ country:
+ description: Country where the seller is located
+ maxLength: 5000
+ nullable: true
+ type: string
+ name:
+ description: Name of the seller
+ maxLength: 5000
+ nullable: true
+ type: string
+ network_id:
+ description: Identifier assigned to the seller by the card network. Different card networks may assign different network_id fields to the same merchant.
+ maxLength: 5000
+ type: string
+ postal_code:
+ description: Postal code where the seller is located
+ maxLength: 5000
+ nullable: true
+ type: string
+ state:
+ description: State where the seller is located
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - category
+ - category_code
+ - network_id
+ title: IssuingAuthorizationMerchantData
+ type: object
+ x-expandableFields: []
+ issuing_authorization_network_data:
+ description: ""
+ properties:
+ acquiring_institution_id:
+ description: Identifier assigned to the acquirer by the card network. Sometimes this value is not provided by the network; in this case, the value will be `null`.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: IssuingAuthorizationNetworkData
+ type: object
+ x-expandableFields: []
+ issuing_authorization_pending_request:
+ description: ""
+ properties:
+ amount:
+ description: The additional amount Stripe will hold if the authorization is approved, in the card's [currency](https://stripe.com/docs/api#issuing_authorization_object-pending-request-currency) and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).
+ type: integer
+ amount_details:
+ anyOf:
+ - $ref: "#/components/schemas/issuing_authorization_amount_details"
+ description: Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).
+ nullable: true
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ is_amount_controllable:
+ description: If set `true`, you may provide [amount](https://stripe.com/docs/api/issuing/authorizations/approve#approve_issuing_authorization-amount) to control how much to hold for the authorization.
+ type: boolean
+ merchant_amount:
+ description: The amount the merchant is requesting to be authorized in the `merchant_currency`. The amount is in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).
+ type: integer
+ merchant_currency:
+ description: The local currency the merchant is requesting to authorize.
+ type: string
+ required:
+ - amount
+ - currency
+ - is_amount_controllable
+ - merchant_amount
+ - merchant_currency
+ title: IssuingAuthorizationPendingRequest
+ type: object
+ x-expandableFields:
+ - amount_details
+ issuing_authorization_request:
+ description: ""
+ properties:
+ amount:
+ description: The `pending_request.amount` at the time of the request, presented in your card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Stripe held this amount from your account to fund the authorization if the request was approved.
+ type: integer
+ amount_details:
+ anyOf:
+ - $ref: "#/components/schemas/issuing_authorization_amount_details"
+ description: Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).
+ nullable: true
+ approved:
+ description: Whether this request was approved.
+ type: boolean
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ maxLength: 5000
+ type: string
+ merchant_amount:
+ description: The `pending_request.merchant_amount` at the time of the request, presented in the `merchant_currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).
+ type: integer
+ merchant_currency:
+ description: The currency that was collected by the merchant and presented to the cardholder for the authorization. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ maxLength: 5000
+ type: string
+ reason:
+ description: When an authorization is approved or declined by you or by Stripe, this field provides additional detail on the reason for the outcome.
+ enum:
+ - account_disabled
+ - card_active
+ - card_inactive
+ - cardholder_inactive
+ - cardholder_verification_required
+ - insufficient_funds
+ - not_allowed
+ - spending_controls
+ - suspected_fraud
+ - verification_failed
+ - webhook_approved
+ - webhook_declined
+ - webhook_error
+ - webhook_timeout
+ type: string
+ x-stripeBypassValidation: true
+ reason_message:
+ description: If approve/decline decision is directly responsed to the webhook with json payload and if the response is invalid (e.g., parsing errors), we surface the detailed message via this field.
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - amount
+ - approved
+ - created
+ - currency
+ - merchant_amount
+ - merchant_currency
+ - reason
+ title: IssuingAuthorizationRequest
+ type: object
+ x-expandableFields:
+ - amount_details
+ issuing_authorization_treasury:
+ description: ""
+ properties:
+ received_credits:
+ description: The array of [ReceivedCredits](https://stripe.com/docs/api/treasury/received_credits) associated with this authorization
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ received_debits:
+ description: The array of [ReceivedDebits](https://stripe.com/docs/api/treasury/received_debits) associated with this authorization
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ transaction:
+ description: The Treasury [Transaction](https://stripe.com/docs/api/treasury/transactions) associated with this authorization
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - received_credits
+ - received_debits
+ title: IssuingAuthorizationTreasury
+ type: object
+ x-expandableFields: []
+ issuing_authorization_verification_data:
+ description: ""
+ properties:
+ address_line1_check:
+ description: Whether the cardholder provided an address first line and if it matched the cardholder’s `billing.address.line1`.
+ enum:
+ - match
+ - mismatch
+ - not_provided
+ type: string
+ address_postal_code_check:
+ description: Whether the cardholder provided a postal code and if it matched the cardholder’s `billing.address.postal_code`.
+ enum:
+ - match
+ - mismatch
+ - not_provided
+ type: string
+ cvc_check:
+ description: Whether the cardholder provided a CVC and if it matched Stripe’s record.
+ enum:
+ - match
+ - mismatch
+ - not_provided
+ type: string
+ expiry_check:
+ description: Whether the cardholder provided an expiry date and if it matched Stripe’s record.
+ enum:
+ - match
+ - mismatch
+ - not_provided
+ type: string
+ required:
+ - address_line1_check
+ - address_postal_code_check
+ - cvc_check
+ - expiry_check
+ title: IssuingAuthorizationVerificationData
+ type: object
+ x-expandableFields: []
+ issuing_card_apple_pay:
+ description: ""
+ properties:
+ eligible:
+ description: Apple Pay Eligibility
+ type: boolean
+ ineligible_reason:
+ description: Reason the card is ineligible for Apple Pay
+ enum:
+ - missing_agreement
+ - missing_cardholder_contact
+ - unsupported_region
+ nullable: true
+ type: string
+ required:
+ - eligible
+ title: IssuingCardApplePay
+ type: object
+ x-expandableFields: []
+ issuing_card_authorization_controls:
+ description: ""
+ properties:
+ allowed_categories:
+ description: Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to allow. All other categories will be blocked. Cannot be set with `blocked_categories`.
+ items:
+ enum:
+ - ac_refrigeration_repair
+ - accounting_bookkeeping_services
+ - advertising_services
+ - agricultural_cooperative
+ - airlines_air_carriers
+ - airports_flying_fields
+ - ambulance_services
+ - amusement_parks_carnivals
+ - antique_reproductions
+ - antique_shops
+ - aquariums
+ - architectural_surveying_services
+ - art_dealers_and_galleries
+ - artists_supply_and_craft_shops
+ - auto_and_home_supply_stores
+ - auto_body_repair_shops
+ - auto_paint_shops
+ - auto_service_shops
+ - automated_cash_disburse
+ - automated_fuel_dispensers
+ - automobile_associations
+ - automotive_parts_and_accessories_stores
+ - automotive_tire_stores
+ - bail_and_bond_payments
+ - bakeries
+ - bands_orchestras
+ - barber_and_beauty_shops
+ - betting_casino_gambling
+ - bicycle_shops
+ - billiard_pool_establishments
+ - boat_dealers
+ - boat_rentals_and_leases
+ - book_stores
+ - books_periodicals_and_newspapers
+ - bowling_alleys
+ - bus_lines
+ - business_secretarial_schools
+ - buying_shopping_services
+ - cable_satellite_and_other_pay_television_and_radio
+ - camera_and_photographic_supply_stores
+ - candy_nut_and_confectionery_stores
+ - car_and_truck_dealers_new_used
+ - car_and_truck_dealers_used_only
+ - car_rental_agencies
+ - car_washes
+ - carpentry_services
+ - carpet_upholstery_cleaning
+ - caterers
+ - charitable_and_social_service_organizations_fundraising
+ - chemicals_and_allied_products
+ - child_care_services
+ - childrens_and_infants_wear_stores
+ - chiropodists_podiatrists
+ - chiropractors
+ - cigar_stores_and_stands
+ - civic_social_fraternal_associations
+ - cleaning_and_maintenance
+ - clothing_rental
+ - colleges_universities
+ - commercial_equipment
+ - commercial_footwear
+ - commercial_photography_art_and_graphics
+ - commuter_transport_and_ferries
+ - computer_network_services
+ - computer_programming
+ - computer_repair
+ - computer_software_stores
+ - computers_peripherals_and_software
+ - concrete_work_services
+ - construction_materials
+ - consulting_public_relations
+ - correspondence_schools
+ - cosmetic_stores
+ - counseling_services
+ - country_clubs
+ - courier_services
+ - court_costs
+ - credit_reporting_agencies
+ - cruise_lines
+ - dairy_products_stores
+ - dance_hall_studios_schools
+ - dating_escort_services
+ - dentists_orthodontists
+ - department_stores
+ - detective_agencies
+ - digital_goods_applications
+ - digital_goods_games
+ - digital_goods_large_volume
+ - digital_goods_media
+ - direct_marketing_catalog_merchant
+ - direct_marketing_combination_catalog_and_retail_merchant
+ - direct_marketing_inbound_telemarketing
+ - direct_marketing_insurance_services
+ - direct_marketing_other
+ - direct_marketing_outbound_telemarketing
+ - direct_marketing_subscription
+ - direct_marketing_travel
+ - discount_stores
+ - doctors
+ - door_to_door_sales
+ - drapery_window_covering_and_upholstery_stores
+ - drinking_places
+ - drug_stores_and_pharmacies
+ - drugs_drug_proprietaries_and_druggist_sundries
+ - dry_cleaners
+ - durable_goods
+ - duty_free_stores
+ - eating_places_restaurants
+ - educational_services
+ - electric_razor_stores
+ - electric_vehicle_charging
+ - electrical_parts_and_equipment
+ - electrical_services
+ - electronics_repair_shops
+ - electronics_stores
+ - elementary_secondary_schools
+ - emergency_services_gcas_visa_use_only
+ - employment_temp_agencies
+ - equipment_rental
+ - exterminating_services
+ - family_clothing_stores
+ - fast_food_restaurants
+ - financial_institutions
+ - fines_government_administrative_entities
+ - fireplace_fireplace_screens_and_accessories_stores
+ - floor_covering_stores
+ - florists
+ - florists_supplies_nursery_stock_and_flowers
+ - freezer_and_locker_meat_provisioners
+ - fuel_dealers_non_automotive
+ - funeral_services_crematories
+ - furniture_home_furnishings_and_equipment_stores_except_appliances
+ - furniture_repair_refinishing
+ - furriers_and_fur_shops
+ - general_services
+ - gift_card_novelty_and_souvenir_shops
+ - glass_paint_and_wallpaper_stores
+ - glassware_crystal_stores
+ - golf_courses_public
+ - government_licensed_horse_dog_racing_us_region_only
+ - government_licensed_online_casions_online_gambling_us_region_only
+ - government_owned_lotteries_non_us_region
+ - government_owned_lotteries_us_region_only
+ - government_services
+ - grocery_stores_supermarkets
+ - hardware_equipment_and_supplies
+ - hardware_stores
+ - health_and_beauty_spas
+ - hearing_aids_sales_and_supplies
+ - heating_plumbing_a_c
+ - hobby_toy_and_game_shops
+ - home_supply_warehouse_stores
+ - hospitals
+ - hotels_motels_and_resorts
+ - household_appliance_stores
+ - industrial_supplies
+ - information_retrieval_services
+ - insurance_default
+ - insurance_underwriting_premiums
+ - intra_company_purchases
+ - jewelry_stores_watches_clocks_and_silverware_stores
+ - landscaping_services
+ - laundries
+ - laundry_cleaning_services
+ - legal_services_attorneys
+ - luggage_and_leather_goods_stores
+ - lumber_building_materials_stores
+ - manual_cash_disburse
+ - marinas_service_and_supplies
+ - marketplaces
+ - masonry_stonework_and_plaster
+ - massage_parlors
+ - medical_and_dental_labs
+ - medical_dental_ophthalmic_and_hospital_equipment_and_supplies
+ - medical_services
+ - membership_organizations
+ - mens_and_boys_clothing_and_accessories_stores
+ - mens_womens_clothing_stores
+ - metal_service_centers
+ - miscellaneous
+ - miscellaneous_apparel_and_accessory_shops
+ - miscellaneous_auto_dealers
+ - miscellaneous_business_services
+ - miscellaneous_food_stores
+ - miscellaneous_general_merchandise
+ - miscellaneous_general_services
+ - miscellaneous_home_furnishing_specialty_stores
+ - miscellaneous_publishing_and_printing
+ - miscellaneous_recreation_services
+ - miscellaneous_repair_shops
+ - miscellaneous_specialty_retail
+ - mobile_home_dealers
+ - motion_picture_theaters
+ - motor_freight_carriers_and_trucking
+ - motor_homes_dealers
+ - motor_vehicle_supplies_and_new_parts
+ - motorcycle_shops_and_dealers
+ - motorcycle_shops_dealers
+ - music_stores_musical_instruments_pianos_and_sheet_music
+ - news_dealers_and_newsstands
+ - non_fi_money_orders
+ - non_fi_stored_value_card_purchase_load
+ - nondurable_goods
+ - nurseries_lawn_and_garden_supply_stores
+ - nursing_personal_care
+ - office_and_commercial_furniture
+ - opticians_eyeglasses
+ - optometrists_ophthalmologist
+ - orthopedic_goods_prosthetic_devices
+ - osteopaths
+ - package_stores_beer_wine_and_liquor
+ - paints_varnishes_and_supplies
+ - parking_lots_garages
+ - passenger_railways
+ - pawn_shops
+ - pet_shops_pet_food_and_supplies
+ - petroleum_and_petroleum_products
+ - photo_developing
+ - photographic_photocopy_microfilm_equipment_and_supplies
+ - photographic_studios
+ - picture_video_production
+ - piece_goods_notions_and_other_dry_goods
+ - plumbing_heating_equipment_and_supplies
+ - political_organizations
+ - postal_services_government_only
+ - precious_stones_and_metals_watches_and_jewelry
+ - professional_services
+ - public_warehousing_and_storage
+ - quick_copy_repro_and_blueprint
+ - railroads
+ - real_estate_agents_and_managers_rentals
+ - record_stores
+ - recreational_vehicle_rentals
+ - religious_goods_stores
+ - religious_organizations
+ - roofing_siding_sheet_metal
+ - secretarial_support_services
+ - security_brokers_dealers
+ - service_stations
+ - sewing_needlework_fabric_and_piece_goods_stores
+ - shoe_repair_hat_cleaning
+ - shoe_stores
+ - small_appliance_repair
+ - snowmobile_dealers
+ - special_trade_services
+ - specialty_cleaning
+ - sporting_goods_stores
+ - sporting_recreation_camps
+ - sports_and_riding_apparel_stores
+ - sports_clubs_fields
+ - stamp_and_coin_stores
+ - stationary_office_supplies_printing_and_writing_paper
+ - stationery_stores_office_and_school_supply_stores
+ - swimming_pools_sales
+ - t_ui_travel_germany
+ - tailors_alterations
+ - tax_payments_government_agencies
+ - tax_preparation_services
+ - taxicabs_limousines
+ - telecommunication_equipment_and_telephone_sales
+ - telecommunication_services
+ - telegraph_services
+ - tent_and_awning_shops
+ - testing_laboratories
+ - theatrical_ticket_agencies
+ - timeshares
+ - tire_retreading_and_repair
+ - tolls_bridge_fees
+ - tourist_attractions_and_exhibits
+ - towing_services
+ - trailer_parks_campgrounds
+ - transportation_services
+ - travel_agencies_tour_operators
+ - truck_stop_iteration
+ - truck_utility_trailer_rentals
+ - typesetting_plate_making_and_related_services
+ - typewriter_stores
+ - u_s_federal_government_agencies_or_departments
+ - uniforms_commercial_clothing
+ - used_merchandise_and_secondhand_stores
+ - utilities
+ - variety_stores
+ - veterinary_services
+ - video_amusement_game_supplies
+ - video_game_arcades
+ - video_tape_rental_stores
+ - vocational_trade_schools
+ - watch_jewelry_repair
+ - welding_repair
+ - wholesale_clubs
+ - wig_and_toupee_stores
+ - wires_money_orders
+ - womens_accessory_and_specialty_shops
+ - womens_ready_to_wear_stores
+ - wrecking_and_salvage_yards
+ type: string
+ nullable: true
+ type: array
+ blocked_categories:
+ description: Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to decline. All other categories will be allowed. Cannot be set with `allowed_categories`.
+ items:
+ enum:
+ - ac_refrigeration_repair
+ - accounting_bookkeeping_services
+ - advertising_services
+ - agricultural_cooperative
+ - airlines_air_carriers
+ - airports_flying_fields
+ - ambulance_services
+ - amusement_parks_carnivals
+ - antique_reproductions
+ - antique_shops
+ - aquariums
+ - architectural_surveying_services
+ - art_dealers_and_galleries
+ - artists_supply_and_craft_shops
+ - auto_and_home_supply_stores
+ - auto_body_repair_shops
+ - auto_paint_shops
+ - auto_service_shops
+ - automated_cash_disburse
+ - automated_fuel_dispensers
+ - automobile_associations
+ - automotive_parts_and_accessories_stores
+ - automotive_tire_stores
+ - bail_and_bond_payments
+ - bakeries
+ - bands_orchestras
+ - barber_and_beauty_shops
+ - betting_casino_gambling
+ - bicycle_shops
+ - billiard_pool_establishments
+ - boat_dealers
+ - boat_rentals_and_leases
+ - book_stores
+ - books_periodicals_and_newspapers
+ - bowling_alleys
+ - bus_lines
+ - business_secretarial_schools
+ - buying_shopping_services
+ - cable_satellite_and_other_pay_television_and_radio
+ - camera_and_photographic_supply_stores
+ - candy_nut_and_confectionery_stores
+ - car_and_truck_dealers_new_used
+ - car_and_truck_dealers_used_only
+ - car_rental_agencies
+ - car_washes
+ - carpentry_services
+ - carpet_upholstery_cleaning
+ - caterers
+ - charitable_and_social_service_organizations_fundraising
+ - chemicals_and_allied_products
+ - child_care_services
+ - childrens_and_infants_wear_stores
+ - chiropodists_podiatrists
+ - chiropractors
+ - cigar_stores_and_stands
+ - civic_social_fraternal_associations
+ - cleaning_and_maintenance
+ - clothing_rental
+ - colleges_universities
+ - commercial_equipment
+ - commercial_footwear
+ - commercial_photography_art_and_graphics
+ - commuter_transport_and_ferries
+ - computer_network_services
+ - computer_programming
+ - computer_repair
+ - computer_software_stores
+ - computers_peripherals_and_software
+ - concrete_work_services
+ - construction_materials
+ - consulting_public_relations
+ - correspondence_schools
+ - cosmetic_stores
+ - counseling_services
+ - country_clubs
+ - courier_services
+ - court_costs
+ - credit_reporting_agencies
+ - cruise_lines
+ - dairy_products_stores
+ - dance_hall_studios_schools
+ - dating_escort_services
+ - dentists_orthodontists
+ - department_stores
+ - detective_agencies
+ - digital_goods_applications
+ - digital_goods_games
+ - digital_goods_large_volume
+ - digital_goods_media
+ - direct_marketing_catalog_merchant
+ - direct_marketing_combination_catalog_and_retail_merchant
+ - direct_marketing_inbound_telemarketing
+ - direct_marketing_insurance_services
+ - direct_marketing_other
+ - direct_marketing_outbound_telemarketing
+ - direct_marketing_subscription
+ - direct_marketing_travel
+ - discount_stores
+ - doctors
+ - door_to_door_sales
+ - drapery_window_covering_and_upholstery_stores
+ - drinking_places
+ - drug_stores_and_pharmacies
+ - drugs_drug_proprietaries_and_druggist_sundries
+ - dry_cleaners
+ - durable_goods
+ - duty_free_stores
+ - eating_places_restaurants
+ - educational_services
+ - electric_razor_stores
+ - electric_vehicle_charging
+ - electrical_parts_and_equipment
+ - electrical_services
+ - electronics_repair_shops
+ - electronics_stores
+ - elementary_secondary_schools
+ - emergency_services_gcas_visa_use_only
+ - employment_temp_agencies
+ - equipment_rental
+ - exterminating_services
+ - family_clothing_stores
+ - fast_food_restaurants
+ - financial_institutions
+ - fines_government_administrative_entities
+ - fireplace_fireplace_screens_and_accessories_stores
+ - floor_covering_stores
+ - florists
+ - florists_supplies_nursery_stock_and_flowers
+ - freezer_and_locker_meat_provisioners
+ - fuel_dealers_non_automotive
+ - funeral_services_crematories
+ - furniture_home_furnishings_and_equipment_stores_except_appliances
+ - furniture_repair_refinishing
+ - furriers_and_fur_shops
+ - general_services
+ - gift_card_novelty_and_souvenir_shops
+ - glass_paint_and_wallpaper_stores
+ - glassware_crystal_stores
+ - golf_courses_public
+ - government_licensed_horse_dog_racing_us_region_only
+ - government_licensed_online_casions_online_gambling_us_region_only
+ - government_owned_lotteries_non_us_region
+ - government_owned_lotteries_us_region_only
+ - government_services
+ - grocery_stores_supermarkets
+ - hardware_equipment_and_supplies
+ - hardware_stores
+ - health_and_beauty_spas
+ - hearing_aids_sales_and_supplies
+ - heating_plumbing_a_c
+ - hobby_toy_and_game_shops
+ - home_supply_warehouse_stores
+ - hospitals
+ - hotels_motels_and_resorts
+ - household_appliance_stores
+ - industrial_supplies
+ - information_retrieval_services
+ - insurance_default
+ - insurance_underwriting_premiums
+ - intra_company_purchases
+ - jewelry_stores_watches_clocks_and_silverware_stores
+ - landscaping_services
+ - laundries
+ - laundry_cleaning_services
+ - legal_services_attorneys
+ - luggage_and_leather_goods_stores
+ - lumber_building_materials_stores
+ - manual_cash_disburse
+ - marinas_service_and_supplies
+ - marketplaces
+ - masonry_stonework_and_plaster
+ - massage_parlors
+ - medical_and_dental_labs
+ - medical_dental_ophthalmic_and_hospital_equipment_and_supplies
+ - medical_services
+ - membership_organizations
+ - mens_and_boys_clothing_and_accessories_stores
+ - mens_womens_clothing_stores
+ - metal_service_centers
+ - miscellaneous
+ - miscellaneous_apparel_and_accessory_shops
+ - miscellaneous_auto_dealers
+ - miscellaneous_business_services
+ - miscellaneous_food_stores
+ - miscellaneous_general_merchandise
+ - miscellaneous_general_services
+ - miscellaneous_home_furnishing_specialty_stores
+ - miscellaneous_publishing_and_printing
+ - miscellaneous_recreation_services
+ - miscellaneous_repair_shops
+ - miscellaneous_specialty_retail
+ - mobile_home_dealers
+ - motion_picture_theaters
+ - motor_freight_carriers_and_trucking
+ - motor_homes_dealers
+ - motor_vehicle_supplies_and_new_parts
+ - motorcycle_shops_and_dealers
+ - motorcycle_shops_dealers
+ - music_stores_musical_instruments_pianos_and_sheet_music
+ - news_dealers_and_newsstands
+ - non_fi_money_orders
+ - non_fi_stored_value_card_purchase_load
+ - nondurable_goods
+ - nurseries_lawn_and_garden_supply_stores
+ - nursing_personal_care
+ - office_and_commercial_furniture
+ - opticians_eyeglasses
+ - optometrists_ophthalmologist
+ - orthopedic_goods_prosthetic_devices
+ - osteopaths
+ - package_stores_beer_wine_and_liquor
+ - paints_varnishes_and_supplies
+ - parking_lots_garages
+ - passenger_railways
+ - pawn_shops
+ - pet_shops_pet_food_and_supplies
+ - petroleum_and_petroleum_products
+ - photo_developing
+ - photographic_photocopy_microfilm_equipment_and_supplies
+ - photographic_studios
+ - picture_video_production
+ - piece_goods_notions_and_other_dry_goods
+ - plumbing_heating_equipment_and_supplies
+ - political_organizations
+ - postal_services_government_only
+ - precious_stones_and_metals_watches_and_jewelry
+ - professional_services
+ - public_warehousing_and_storage
+ - quick_copy_repro_and_blueprint
+ - railroads
+ - real_estate_agents_and_managers_rentals
+ - record_stores
+ - recreational_vehicle_rentals
+ - religious_goods_stores
+ - religious_organizations
+ - roofing_siding_sheet_metal
+ - secretarial_support_services
+ - security_brokers_dealers
+ - service_stations
+ - sewing_needlework_fabric_and_piece_goods_stores
+ - shoe_repair_hat_cleaning
+ - shoe_stores
+ - small_appliance_repair
+ - snowmobile_dealers
+ - special_trade_services
+ - specialty_cleaning
+ - sporting_goods_stores
+ - sporting_recreation_camps
+ - sports_and_riding_apparel_stores
+ - sports_clubs_fields
+ - stamp_and_coin_stores
+ - stationary_office_supplies_printing_and_writing_paper
+ - stationery_stores_office_and_school_supply_stores
+ - swimming_pools_sales
+ - t_ui_travel_germany
+ - tailors_alterations
+ - tax_payments_government_agencies
+ - tax_preparation_services
+ - taxicabs_limousines
+ - telecommunication_equipment_and_telephone_sales
+ - telecommunication_services
+ - telegraph_services
+ - tent_and_awning_shops
+ - testing_laboratories
+ - theatrical_ticket_agencies
+ - timeshares
+ - tire_retreading_and_repair
+ - tolls_bridge_fees
+ - tourist_attractions_and_exhibits
+ - towing_services
+ - trailer_parks_campgrounds
+ - transportation_services
+ - travel_agencies_tour_operators
+ - truck_stop_iteration
+ - truck_utility_trailer_rentals
+ - typesetting_plate_making_and_related_services
+ - typewriter_stores
+ - u_s_federal_government_agencies_or_departments
+ - uniforms_commercial_clothing
+ - used_merchandise_and_secondhand_stores
+ - utilities
+ - variety_stores
+ - veterinary_services
+ - video_amusement_game_supplies
+ - video_game_arcades
+ - video_tape_rental_stores
+ - vocational_trade_schools
+ - watch_jewelry_repair
+ - welding_repair
+ - wholesale_clubs
+ - wig_and_toupee_stores
+ - wires_money_orders
+ - womens_accessory_and_specialty_shops
+ - womens_ready_to_wear_stores
+ - wrecking_and_salvage_yards
+ type: string
+ nullable: true
+ type: array
+ spending_limits:
+ description: Limit spending with amount-based rules that apply across any cards this card replaced (i.e., its `replacement_for` card and _that_ card's `replacement_for` card, up the chain).
+ items:
+ $ref: "#/components/schemas/issuing_card_spending_limit"
+ nullable: true
+ type: array
+ spending_limits_currency:
+ description: Currency of the amounts within `spending_limits`. Always the same as the currency of the card.
+ nullable: true
+ type: string
+ title: IssuingCardAuthorizationControls
+ type: object
+ x-expandableFields:
+ - spending_limits
+ issuing_card_google_pay:
+ description: ""
+ properties:
+ eligible:
+ description: Google Pay Eligibility
+ type: boolean
+ ineligible_reason:
+ description: Reason the card is ineligible for Google Pay
+ enum:
+ - missing_agreement
+ - missing_cardholder_contact
+ - unsupported_region
+ nullable: true
+ type: string
+ required:
+ - eligible
+ title: IssuingCardGooglePay
+ type: object
+ x-expandableFields: []
+ issuing_card_shipping:
+ description: ""
+ properties:
+ address:
+ $ref: "#/components/schemas/address"
+ carrier:
+ description: The delivery company that shipped a card.
+ enum:
+ - dhl
+ - fedex
+ - royal_mail
+ - usps
+ nullable: true
+ type: string
+ customs:
+ anyOf:
+ - $ref: "#/components/schemas/issuing_card_shipping_customs"
+ description: Additional information that may be required for clearing customs.
+ nullable: true
+ eta:
+ description: A unix timestamp representing a best estimate of when the card will be delivered.
+ format: unix-time
+ nullable: true
+ type: integer
+ name:
+ description: Recipient name.
+ maxLength: 5000
+ type: string
+ phone_number:
+ description: The phone number of the receiver of the bulk shipment. This phone number will be provided to the shipping company, who might use it to contact the receiver in case of delivery issues.
+ maxLength: 5000
+ nullable: true
+ type: string
+ require_signature:
+ description: Whether a signature is required for card delivery. This feature is only supported for US users. Standard shipping service does not support signature on delivery. The default value for standard shipping service is false and for express and priority services is true.
+ nullable: true
+ type: boolean
+ service:
+ description: Shipment service, such as `standard` or `express`.
+ enum:
+ - express
+ - priority
+ - standard
+ type: string
+ x-stripeBypassValidation: true
+ status:
+ description: The delivery status of the card.
+ enum:
+ - canceled
+ - delivered
+ - failure
+ - pending
+ - returned
+ - shipped
+ nullable: true
+ type: string
+ tracking_number:
+ description: A tracking number for a card shipment.
+ maxLength: 5000
+ nullable: true
+ type: string
+ tracking_url:
+ description: A link to the shipping carrier's site where you can view detailed information about a card shipment.
+ maxLength: 5000
+ nullable: true
+ type: string
+ type:
+ description: Packaging options.
+ enum:
+ - bulk
+ - individual
+ type: string
+ required:
+ - address
+ - name
+ - service
+ - type
+ title: IssuingCardShipping
+ type: object
+ x-expandableFields:
+ - address
+ - customs
+ issuing_card_shipping_customs:
+ description: ""
+ properties:
+ eori_number:
+ description: A registration number used for customs in Europe. See https://www.gov.uk/eori and https://ec.europa.eu/taxation_customs/business/customs-procedures-import-and-export/customs-procedures/economic-operators-registration-and-identification-number-eori_en.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: IssuingCardShippingCustoms
+ type: object
+ x-expandableFields: []
+ issuing_card_spending_limit:
+ description: ""
+ properties:
+ amount:
+ description: Maximum amount allowed to spend per interval. This amount is in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).
+ type: integer
+ categories:
+ description: Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) this limit applies to. Omitting this field will apply the limit to all categories.
+ items:
+ enum:
+ - ac_refrigeration_repair
+ - accounting_bookkeeping_services
+ - advertising_services
+ - agricultural_cooperative
+ - airlines_air_carriers
+ - airports_flying_fields
+ - ambulance_services
+ - amusement_parks_carnivals
+ - antique_reproductions
+ - antique_shops
+ - aquariums
+ - architectural_surveying_services
+ - art_dealers_and_galleries
+ - artists_supply_and_craft_shops
+ - auto_and_home_supply_stores
+ - auto_body_repair_shops
+ - auto_paint_shops
+ - auto_service_shops
+ - automated_cash_disburse
+ - automated_fuel_dispensers
+ - automobile_associations
+ - automotive_parts_and_accessories_stores
+ - automotive_tire_stores
+ - bail_and_bond_payments
+ - bakeries
+ - bands_orchestras
+ - barber_and_beauty_shops
+ - betting_casino_gambling
+ - bicycle_shops
+ - billiard_pool_establishments
+ - boat_dealers
+ - boat_rentals_and_leases
+ - book_stores
+ - books_periodicals_and_newspapers
+ - bowling_alleys
+ - bus_lines
+ - business_secretarial_schools
+ - buying_shopping_services
+ - cable_satellite_and_other_pay_television_and_radio
+ - camera_and_photographic_supply_stores
+ - candy_nut_and_confectionery_stores
+ - car_and_truck_dealers_new_used
+ - car_and_truck_dealers_used_only
+ - car_rental_agencies
+ - car_washes
+ - carpentry_services
+ - carpet_upholstery_cleaning
+ - caterers
+ - charitable_and_social_service_organizations_fundraising
+ - chemicals_and_allied_products
+ - child_care_services
+ - childrens_and_infants_wear_stores
+ - chiropodists_podiatrists
+ - chiropractors
+ - cigar_stores_and_stands
+ - civic_social_fraternal_associations
+ - cleaning_and_maintenance
+ - clothing_rental
+ - colleges_universities
+ - commercial_equipment
+ - commercial_footwear
+ - commercial_photography_art_and_graphics
+ - commuter_transport_and_ferries
+ - computer_network_services
+ - computer_programming
+ - computer_repair
+ - computer_software_stores
+ - computers_peripherals_and_software
+ - concrete_work_services
+ - construction_materials
+ - consulting_public_relations
+ - correspondence_schools
+ - cosmetic_stores
+ - counseling_services
+ - country_clubs
+ - courier_services
+ - court_costs
+ - credit_reporting_agencies
+ - cruise_lines
+ - dairy_products_stores
+ - dance_hall_studios_schools
+ - dating_escort_services
+ - dentists_orthodontists
+ - department_stores
+ - detective_agencies
+ - digital_goods_applications
+ - digital_goods_games
+ - digital_goods_large_volume
+ - digital_goods_media
+ - direct_marketing_catalog_merchant
+ - direct_marketing_combination_catalog_and_retail_merchant
+ - direct_marketing_inbound_telemarketing
+ - direct_marketing_insurance_services
+ - direct_marketing_other
+ - direct_marketing_outbound_telemarketing
+ - direct_marketing_subscription
+ - direct_marketing_travel
+ - discount_stores
+ - doctors
+ - door_to_door_sales
+ - drapery_window_covering_and_upholstery_stores
+ - drinking_places
+ - drug_stores_and_pharmacies
+ - drugs_drug_proprietaries_and_druggist_sundries
+ - dry_cleaners
+ - durable_goods
+ - duty_free_stores
+ - eating_places_restaurants
+ - educational_services
+ - electric_razor_stores
+ - electric_vehicle_charging
+ - electrical_parts_and_equipment
+ - electrical_services
+ - electronics_repair_shops
+ - electronics_stores
+ - elementary_secondary_schools
+ - emergency_services_gcas_visa_use_only
+ - employment_temp_agencies
+ - equipment_rental
+ - exterminating_services
+ - family_clothing_stores
+ - fast_food_restaurants
+ - financial_institutions
+ - fines_government_administrative_entities
+ - fireplace_fireplace_screens_and_accessories_stores
+ - floor_covering_stores
+ - florists
+ - florists_supplies_nursery_stock_and_flowers
+ - freezer_and_locker_meat_provisioners
+ - fuel_dealers_non_automotive
+ - funeral_services_crematories
+ - furniture_home_furnishings_and_equipment_stores_except_appliances
+ - furniture_repair_refinishing
+ - furriers_and_fur_shops
+ - general_services
+ - gift_card_novelty_and_souvenir_shops
+ - glass_paint_and_wallpaper_stores
+ - glassware_crystal_stores
+ - golf_courses_public
+ - government_licensed_horse_dog_racing_us_region_only
+ - government_licensed_online_casions_online_gambling_us_region_only
+ - government_owned_lotteries_non_us_region
+ - government_owned_lotteries_us_region_only
+ - government_services
+ - grocery_stores_supermarkets
+ - hardware_equipment_and_supplies
+ - hardware_stores
+ - health_and_beauty_spas
+ - hearing_aids_sales_and_supplies
+ - heating_plumbing_a_c
+ - hobby_toy_and_game_shops
+ - home_supply_warehouse_stores
+ - hospitals
+ - hotels_motels_and_resorts
+ - household_appliance_stores
+ - industrial_supplies
+ - information_retrieval_services
+ - insurance_default
+ - insurance_underwriting_premiums
+ - intra_company_purchases
+ - jewelry_stores_watches_clocks_and_silverware_stores
+ - landscaping_services
+ - laundries
+ - laundry_cleaning_services
+ - legal_services_attorneys
+ - luggage_and_leather_goods_stores
+ - lumber_building_materials_stores
+ - manual_cash_disburse
+ - marinas_service_and_supplies
+ - marketplaces
+ - masonry_stonework_and_plaster
+ - massage_parlors
+ - medical_and_dental_labs
+ - medical_dental_ophthalmic_and_hospital_equipment_and_supplies
+ - medical_services
+ - membership_organizations
+ - mens_and_boys_clothing_and_accessories_stores
+ - mens_womens_clothing_stores
+ - metal_service_centers
+ - miscellaneous
+ - miscellaneous_apparel_and_accessory_shops
+ - miscellaneous_auto_dealers
+ - miscellaneous_business_services
+ - miscellaneous_food_stores
+ - miscellaneous_general_merchandise
+ - miscellaneous_general_services
+ - miscellaneous_home_furnishing_specialty_stores
+ - miscellaneous_publishing_and_printing
+ - miscellaneous_recreation_services
+ - miscellaneous_repair_shops
+ - miscellaneous_specialty_retail
+ - mobile_home_dealers
+ - motion_picture_theaters
+ - motor_freight_carriers_and_trucking
+ - motor_homes_dealers
+ - motor_vehicle_supplies_and_new_parts
+ - motorcycle_shops_and_dealers
+ - motorcycle_shops_dealers
+ - music_stores_musical_instruments_pianos_and_sheet_music
+ - news_dealers_and_newsstands
+ - non_fi_money_orders
+ - non_fi_stored_value_card_purchase_load
+ - nondurable_goods
+ - nurseries_lawn_and_garden_supply_stores
+ - nursing_personal_care
+ - office_and_commercial_furniture
+ - opticians_eyeglasses
+ - optometrists_ophthalmologist
+ - orthopedic_goods_prosthetic_devices
+ - osteopaths
+ - package_stores_beer_wine_and_liquor
+ - paints_varnishes_and_supplies
+ - parking_lots_garages
+ - passenger_railways
+ - pawn_shops
+ - pet_shops_pet_food_and_supplies
+ - petroleum_and_petroleum_products
+ - photo_developing
+ - photographic_photocopy_microfilm_equipment_and_supplies
+ - photographic_studios
+ - picture_video_production
+ - piece_goods_notions_and_other_dry_goods
+ - plumbing_heating_equipment_and_supplies
+ - political_organizations
+ - postal_services_government_only
+ - precious_stones_and_metals_watches_and_jewelry
+ - professional_services
+ - public_warehousing_and_storage
+ - quick_copy_repro_and_blueprint
+ - railroads
+ - real_estate_agents_and_managers_rentals
+ - record_stores
+ - recreational_vehicle_rentals
+ - religious_goods_stores
+ - religious_organizations
+ - roofing_siding_sheet_metal
+ - secretarial_support_services
+ - security_brokers_dealers
+ - service_stations
+ - sewing_needlework_fabric_and_piece_goods_stores
+ - shoe_repair_hat_cleaning
+ - shoe_stores
+ - small_appliance_repair
+ - snowmobile_dealers
+ - special_trade_services
+ - specialty_cleaning
+ - sporting_goods_stores
+ - sporting_recreation_camps
+ - sports_and_riding_apparel_stores
+ - sports_clubs_fields
+ - stamp_and_coin_stores
+ - stationary_office_supplies_printing_and_writing_paper
+ - stationery_stores_office_and_school_supply_stores
+ - swimming_pools_sales
+ - t_ui_travel_germany
+ - tailors_alterations
+ - tax_payments_government_agencies
+ - tax_preparation_services
+ - taxicabs_limousines
+ - telecommunication_equipment_and_telephone_sales
+ - telecommunication_services
+ - telegraph_services
+ - tent_and_awning_shops
+ - testing_laboratories
+ - theatrical_ticket_agencies
+ - timeshares
+ - tire_retreading_and_repair
+ - tolls_bridge_fees
+ - tourist_attractions_and_exhibits
+ - towing_services
+ - trailer_parks_campgrounds
+ - transportation_services
+ - travel_agencies_tour_operators
+ - truck_stop_iteration
+ - truck_utility_trailer_rentals
+ - typesetting_plate_making_and_related_services
+ - typewriter_stores
+ - u_s_federal_government_agencies_or_departments
+ - uniforms_commercial_clothing
+ - used_merchandise_and_secondhand_stores
+ - utilities
+ - variety_stores
+ - veterinary_services
+ - video_amusement_game_supplies
+ - video_game_arcades
+ - video_tape_rental_stores
+ - vocational_trade_schools
+ - watch_jewelry_repair
+ - welding_repair
+ - wholesale_clubs
+ - wig_and_toupee_stores
+ - wires_money_orders
+ - womens_accessory_and_specialty_shops
+ - womens_ready_to_wear_stores
+ - wrecking_and_salvage_yards
+ type: string
+ nullable: true
+ type: array
+ interval:
+ description: Interval (or event) to which the amount applies.
+ enum:
+ - all_time
+ - daily
+ - monthly
+ - per_authorization
+ - weekly
+ - yearly
+ type: string
+ required:
+ - amount
+ - interval
+ title: IssuingCardSpendingLimit
+ type: object
+ x-expandableFields: []
+ issuing_card_wallets:
+ description: ""
+ properties:
+ apple_pay:
+ $ref: "#/components/schemas/issuing_card_apple_pay"
+ google_pay:
+ $ref: "#/components/schemas/issuing_card_google_pay"
+ primary_account_identifier:
+ description: Unique identifier for a card used with digital wallets
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - apple_pay
+ - google_pay
+ title: IssuingCardWallets
+ type: object
+ x-expandableFields:
+ - apple_pay
+ - google_pay
+ issuing_cardholder_address:
+ description: ""
+ properties:
+ address:
+ $ref: "#/components/schemas/address"
+ required:
+ - address
+ title: IssuingCardholderAddress
+ type: object
+ x-expandableFields:
+ - address
+ issuing_cardholder_authorization_controls:
+ description: ""
+ properties:
+ allowed_categories:
+ description: Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to allow. All other categories will be blocked. Cannot be set with `blocked_categories`.
+ items:
+ enum:
+ - ac_refrigeration_repair
+ - accounting_bookkeeping_services
+ - advertising_services
+ - agricultural_cooperative
+ - airlines_air_carriers
+ - airports_flying_fields
+ - ambulance_services
+ - amusement_parks_carnivals
+ - antique_reproductions
+ - antique_shops
+ - aquariums
+ - architectural_surveying_services
+ - art_dealers_and_galleries
+ - artists_supply_and_craft_shops
+ - auto_and_home_supply_stores
+ - auto_body_repair_shops
+ - auto_paint_shops
+ - auto_service_shops
+ - automated_cash_disburse
+ - automated_fuel_dispensers
+ - automobile_associations
+ - automotive_parts_and_accessories_stores
+ - automotive_tire_stores
+ - bail_and_bond_payments
+ - bakeries
+ - bands_orchestras
+ - barber_and_beauty_shops
+ - betting_casino_gambling
+ - bicycle_shops
+ - billiard_pool_establishments
+ - boat_dealers
+ - boat_rentals_and_leases
+ - book_stores
+ - books_periodicals_and_newspapers
+ - bowling_alleys
+ - bus_lines
+ - business_secretarial_schools
+ - buying_shopping_services
+ - cable_satellite_and_other_pay_television_and_radio
+ - camera_and_photographic_supply_stores
+ - candy_nut_and_confectionery_stores
+ - car_and_truck_dealers_new_used
+ - car_and_truck_dealers_used_only
+ - car_rental_agencies
+ - car_washes
+ - carpentry_services
+ - carpet_upholstery_cleaning
+ - caterers
+ - charitable_and_social_service_organizations_fundraising
+ - chemicals_and_allied_products
+ - child_care_services
+ - childrens_and_infants_wear_stores
+ - chiropodists_podiatrists
+ - chiropractors
+ - cigar_stores_and_stands
+ - civic_social_fraternal_associations
+ - cleaning_and_maintenance
+ - clothing_rental
+ - colleges_universities
+ - commercial_equipment
+ - commercial_footwear
+ - commercial_photography_art_and_graphics
+ - commuter_transport_and_ferries
+ - computer_network_services
+ - computer_programming
+ - computer_repair
+ - computer_software_stores
+ - computers_peripherals_and_software
+ - concrete_work_services
+ - construction_materials
+ - consulting_public_relations
+ - correspondence_schools
+ - cosmetic_stores
+ - counseling_services
+ - country_clubs
+ - courier_services
+ - court_costs
+ - credit_reporting_agencies
+ - cruise_lines
+ - dairy_products_stores
+ - dance_hall_studios_schools
+ - dating_escort_services
+ - dentists_orthodontists
+ - department_stores
+ - detective_agencies
+ - digital_goods_applications
+ - digital_goods_games
+ - digital_goods_large_volume
+ - digital_goods_media
+ - direct_marketing_catalog_merchant
+ - direct_marketing_combination_catalog_and_retail_merchant
+ - direct_marketing_inbound_telemarketing
+ - direct_marketing_insurance_services
+ - direct_marketing_other
+ - direct_marketing_outbound_telemarketing
+ - direct_marketing_subscription
+ - direct_marketing_travel
+ - discount_stores
+ - doctors
+ - door_to_door_sales
+ - drapery_window_covering_and_upholstery_stores
+ - drinking_places
+ - drug_stores_and_pharmacies
+ - drugs_drug_proprietaries_and_druggist_sundries
+ - dry_cleaners
+ - durable_goods
+ - duty_free_stores
+ - eating_places_restaurants
+ - educational_services
+ - electric_razor_stores
+ - electric_vehicle_charging
+ - electrical_parts_and_equipment
+ - electrical_services
+ - electronics_repair_shops
+ - electronics_stores
+ - elementary_secondary_schools
+ - emergency_services_gcas_visa_use_only
+ - employment_temp_agencies
+ - equipment_rental
+ - exterminating_services
+ - family_clothing_stores
+ - fast_food_restaurants
+ - financial_institutions
+ - fines_government_administrative_entities
+ - fireplace_fireplace_screens_and_accessories_stores
+ - floor_covering_stores
+ - florists
+ - florists_supplies_nursery_stock_and_flowers
+ - freezer_and_locker_meat_provisioners
+ - fuel_dealers_non_automotive
+ - funeral_services_crematories
+ - furniture_home_furnishings_and_equipment_stores_except_appliances
+ - furniture_repair_refinishing
+ - furriers_and_fur_shops
+ - general_services
+ - gift_card_novelty_and_souvenir_shops
+ - glass_paint_and_wallpaper_stores
+ - glassware_crystal_stores
+ - golf_courses_public
+ - government_licensed_horse_dog_racing_us_region_only
+ - government_licensed_online_casions_online_gambling_us_region_only
+ - government_owned_lotteries_non_us_region
+ - government_owned_lotteries_us_region_only
+ - government_services
+ - grocery_stores_supermarkets
+ - hardware_equipment_and_supplies
+ - hardware_stores
+ - health_and_beauty_spas
+ - hearing_aids_sales_and_supplies
+ - heating_plumbing_a_c
+ - hobby_toy_and_game_shops
+ - home_supply_warehouse_stores
+ - hospitals
+ - hotels_motels_and_resorts
+ - household_appliance_stores
+ - industrial_supplies
+ - information_retrieval_services
+ - insurance_default
+ - insurance_underwriting_premiums
+ - intra_company_purchases
+ - jewelry_stores_watches_clocks_and_silverware_stores
+ - landscaping_services
+ - laundries
+ - laundry_cleaning_services
+ - legal_services_attorneys
+ - luggage_and_leather_goods_stores
+ - lumber_building_materials_stores
+ - manual_cash_disburse
+ - marinas_service_and_supplies
+ - marketplaces
+ - masonry_stonework_and_plaster
+ - massage_parlors
+ - medical_and_dental_labs
+ - medical_dental_ophthalmic_and_hospital_equipment_and_supplies
+ - medical_services
+ - membership_organizations
+ - mens_and_boys_clothing_and_accessories_stores
+ - mens_womens_clothing_stores
+ - metal_service_centers
+ - miscellaneous
+ - miscellaneous_apparel_and_accessory_shops
+ - miscellaneous_auto_dealers
+ - miscellaneous_business_services
+ - miscellaneous_food_stores
+ - miscellaneous_general_merchandise
+ - miscellaneous_general_services
+ - miscellaneous_home_furnishing_specialty_stores
+ - miscellaneous_publishing_and_printing
+ - miscellaneous_recreation_services
+ - miscellaneous_repair_shops
+ - miscellaneous_specialty_retail
+ - mobile_home_dealers
+ - motion_picture_theaters
+ - motor_freight_carriers_and_trucking
+ - motor_homes_dealers
+ - motor_vehicle_supplies_and_new_parts
+ - motorcycle_shops_and_dealers
+ - motorcycle_shops_dealers
+ - music_stores_musical_instruments_pianos_and_sheet_music
+ - news_dealers_and_newsstands
+ - non_fi_money_orders
+ - non_fi_stored_value_card_purchase_load
+ - nondurable_goods
+ - nurseries_lawn_and_garden_supply_stores
+ - nursing_personal_care
+ - office_and_commercial_furniture
+ - opticians_eyeglasses
+ - optometrists_ophthalmologist
+ - orthopedic_goods_prosthetic_devices
+ - osteopaths
+ - package_stores_beer_wine_and_liquor
+ - paints_varnishes_and_supplies
+ - parking_lots_garages
+ - passenger_railways
+ - pawn_shops
+ - pet_shops_pet_food_and_supplies
+ - petroleum_and_petroleum_products
+ - photo_developing
+ - photographic_photocopy_microfilm_equipment_and_supplies
+ - photographic_studios
+ - picture_video_production
+ - piece_goods_notions_and_other_dry_goods
+ - plumbing_heating_equipment_and_supplies
+ - political_organizations
+ - postal_services_government_only
+ - precious_stones_and_metals_watches_and_jewelry
+ - professional_services
+ - public_warehousing_and_storage
+ - quick_copy_repro_and_blueprint
+ - railroads
+ - real_estate_agents_and_managers_rentals
+ - record_stores
+ - recreational_vehicle_rentals
+ - religious_goods_stores
+ - religious_organizations
+ - roofing_siding_sheet_metal
+ - secretarial_support_services
+ - security_brokers_dealers
+ - service_stations
+ - sewing_needlework_fabric_and_piece_goods_stores
+ - shoe_repair_hat_cleaning
+ - shoe_stores
+ - small_appliance_repair
+ - snowmobile_dealers
+ - special_trade_services
+ - specialty_cleaning
+ - sporting_goods_stores
+ - sporting_recreation_camps
+ - sports_and_riding_apparel_stores
+ - sports_clubs_fields
+ - stamp_and_coin_stores
+ - stationary_office_supplies_printing_and_writing_paper
+ - stationery_stores_office_and_school_supply_stores
+ - swimming_pools_sales
+ - t_ui_travel_germany
+ - tailors_alterations
+ - tax_payments_government_agencies
+ - tax_preparation_services
+ - taxicabs_limousines
+ - telecommunication_equipment_and_telephone_sales
+ - telecommunication_services
+ - telegraph_services
+ - tent_and_awning_shops
+ - testing_laboratories
+ - theatrical_ticket_agencies
+ - timeshares
+ - tire_retreading_and_repair
+ - tolls_bridge_fees
+ - tourist_attractions_and_exhibits
+ - towing_services
+ - trailer_parks_campgrounds
+ - transportation_services
+ - travel_agencies_tour_operators
+ - truck_stop_iteration
+ - truck_utility_trailer_rentals
+ - typesetting_plate_making_and_related_services
+ - typewriter_stores
+ - u_s_federal_government_agencies_or_departments
+ - uniforms_commercial_clothing
+ - used_merchandise_and_secondhand_stores
+ - utilities
+ - variety_stores
+ - veterinary_services
+ - video_amusement_game_supplies
+ - video_game_arcades
+ - video_tape_rental_stores
+ - vocational_trade_schools
+ - watch_jewelry_repair
+ - welding_repair
+ - wholesale_clubs
+ - wig_and_toupee_stores
+ - wires_money_orders
+ - womens_accessory_and_specialty_shops
+ - womens_ready_to_wear_stores
+ - wrecking_and_salvage_yards
+ type: string
+ nullable: true
+ type: array
+ blocked_categories:
+ description: Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to decline. All other categories will be allowed. Cannot be set with `allowed_categories`.
+ items:
+ enum:
+ - ac_refrigeration_repair
+ - accounting_bookkeeping_services
+ - advertising_services
+ - agricultural_cooperative
+ - airlines_air_carriers
+ - airports_flying_fields
+ - ambulance_services
+ - amusement_parks_carnivals
+ - antique_reproductions
+ - antique_shops
+ - aquariums
+ - architectural_surveying_services
+ - art_dealers_and_galleries
+ - artists_supply_and_craft_shops
+ - auto_and_home_supply_stores
+ - auto_body_repair_shops
+ - auto_paint_shops
+ - auto_service_shops
+ - automated_cash_disburse
+ - automated_fuel_dispensers
+ - automobile_associations
+ - automotive_parts_and_accessories_stores
+ - automotive_tire_stores
+ - bail_and_bond_payments
+ - bakeries
+ - bands_orchestras
+ - barber_and_beauty_shops
+ - betting_casino_gambling
+ - bicycle_shops
+ - billiard_pool_establishments
+ - boat_dealers
+ - boat_rentals_and_leases
+ - book_stores
+ - books_periodicals_and_newspapers
+ - bowling_alleys
+ - bus_lines
+ - business_secretarial_schools
+ - buying_shopping_services
+ - cable_satellite_and_other_pay_television_and_radio
+ - camera_and_photographic_supply_stores
+ - candy_nut_and_confectionery_stores
+ - car_and_truck_dealers_new_used
+ - car_and_truck_dealers_used_only
+ - car_rental_agencies
+ - car_washes
+ - carpentry_services
+ - carpet_upholstery_cleaning
+ - caterers
+ - charitable_and_social_service_organizations_fundraising
+ - chemicals_and_allied_products
+ - child_care_services
+ - childrens_and_infants_wear_stores
+ - chiropodists_podiatrists
+ - chiropractors
+ - cigar_stores_and_stands
+ - civic_social_fraternal_associations
+ - cleaning_and_maintenance
+ - clothing_rental
+ - colleges_universities
+ - commercial_equipment
+ - commercial_footwear
+ - commercial_photography_art_and_graphics
+ - commuter_transport_and_ferries
+ - computer_network_services
+ - computer_programming
+ - computer_repair
+ - computer_software_stores
+ - computers_peripherals_and_software
+ - concrete_work_services
+ - construction_materials
+ - consulting_public_relations
+ - correspondence_schools
+ - cosmetic_stores
+ - counseling_services
+ - country_clubs
+ - courier_services
+ - court_costs
+ - credit_reporting_agencies
+ - cruise_lines
+ - dairy_products_stores
+ - dance_hall_studios_schools
+ - dating_escort_services
+ - dentists_orthodontists
+ - department_stores
+ - detective_agencies
+ - digital_goods_applications
+ - digital_goods_games
+ - digital_goods_large_volume
+ - digital_goods_media
+ - direct_marketing_catalog_merchant
+ - direct_marketing_combination_catalog_and_retail_merchant
+ - direct_marketing_inbound_telemarketing
+ - direct_marketing_insurance_services
+ - direct_marketing_other
+ - direct_marketing_outbound_telemarketing
+ - direct_marketing_subscription
+ - direct_marketing_travel
+ - discount_stores
+ - doctors
+ - door_to_door_sales
+ - drapery_window_covering_and_upholstery_stores
+ - drinking_places
+ - drug_stores_and_pharmacies
+ - drugs_drug_proprietaries_and_druggist_sundries
+ - dry_cleaners
+ - durable_goods
+ - duty_free_stores
+ - eating_places_restaurants
+ - educational_services
+ - electric_razor_stores
+ - electric_vehicle_charging
+ - electrical_parts_and_equipment
+ - electrical_services
+ - electronics_repair_shops
+ - electronics_stores
+ - elementary_secondary_schools
+ - emergency_services_gcas_visa_use_only
+ - employment_temp_agencies
+ - equipment_rental
+ - exterminating_services
+ - family_clothing_stores
+ - fast_food_restaurants
+ - financial_institutions
+ - fines_government_administrative_entities
+ - fireplace_fireplace_screens_and_accessories_stores
+ - floor_covering_stores
+ - florists
+ - florists_supplies_nursery_stock_and_flowers
+ - freezer_and_locker_meat_provisioners
+ - fuel_dealers_non_automotive
+ - funeral_services_crematories
+ - furniture_home_furnishings_and_equipment_stores_except_appliances
+ - furniture_repair_refinishing
+ - furriers_and_fur_shops
+ - general_services
+ - gift_card_novelty_and_souvenir_shops
+ - glass_paint_and_wallpaper_stores
+ - glassware_crystal_stores
+ - golf_courses_public
+ - government_licensed_horse_dog_racing_us_region_only
+ - government_licensed_online_casions_online_gambling_us_region_only
+ - government_owned_lotteries_non_us_region
+ - government_owned_lotteries_us_region_only
+ - government_services
+ - grocery_stores_supermarkets
+ - hardware_equipment_and_supplies
+ - hardware_stores
+ - health_and_beauty_spas
+ - hearing_aids_sales_and_supplies
+ - heating_plumbing_a_c
+ - hobby_toy_and_game_shops
+ - home_supply_warehouse_stores
+ - hospitals
+ - hotels_motels_and_resorts
+ - household_appliance_stores
+ - industrial_supplies
+ - information_retrieval_services
+ - insurance_default
+ - insurance_underwriting_premiums
+ - intra_company_purchases
+ - jewelry_stores_watches_clocks_and_silverware_stores
+ - landscaping_services
+ - laundries
+ - laundry_cleaning_services
+ - legal_services_attorneys
+ - luggage_and_leather_goods_stores
+ - lumber_building_materials_stores
+ - manual_cash_disburse
+ - marinas_service_and_supplies
+ - marketplaces
+ - masonry_stonework_and_plaster
+ - massage_parlors
+ - medical_and_dental_labs
+ - medical_dental_ophthalmic_and_hospital_equipment_and_supplies
+ - medical_services
+ - membership_organizations
+ - mens_and_boys_clothing_and_accessories_stores
+ - mens_womens_clothing_stores
+ - metal_service_centers
+ - miscellaneous
+ - miscellaneous_apparel_and_accessory_shops
+ - miscellaneous_auto_dealers
+ - miscellaneous_business_services
+ - miscellaneous_food_stores
+ - miscellaneous_general_merchandise
+ - miscellaneous_general_services
+ - miscellaneous_home_furnishing_specialty_stores
+ - miscellaneous_publishing_and_printing
+ - miscellaneous_recreation_services
+ - miscellaneous_repair_shops
+ - miscellaneous_specialty_retail
+ - mobile_home_dealers
+ - motion_picture_theaters
+ - motor_freight_carriers_and_trucking
+ - motor_homes_dealers
+ - motor_vehicle_supplies_and_new_parts
+ - motorcycle_shops_and_dealers
+ - motorcycle_shops_dealers
+ - music_stores_musical_instruments_pianos_and_sheet_music
+ - news_dealers_and_newsstands
+ - non_fi_money_orders
+ - non_fi_stored_value_card_purchase_load
+ - nondurable_goods
+ - nurseries_lawn_and_garden_supply_stores
+ - nursing_personal_care
+ - office_and_commercial_furniture
+ - opticians_eyeglasses
+ - optometrists_ophthalmologist
+ - orthopedic_goods_prosthetic_devices
+ - osteopaths
+ - package_stores_beer_wine_and_liquor
+ - paints_varnishes_and_supplies
+ - parking_lots_garages
+ - passenger_railways
+ - pawn_shops
+ - pet_shops_pet_food_and_supplies
+ - petroleum_and_petroleum_products
+ - photo_developing
+ - photographic_photocopy_microfilm_equipment_and_supplies
+ - photographic_studios
+ - picture_video_production
+ - piece_goods_notions_and_other_dry_goods
+ - plumbing_heating_equipment_and_supplies
+ - political_organizations
+ - postal_services_government_only
+ - precious_stones_and_metals_watches_and_jewelry
+ - professional_services
+ - public_warehousing_and_storage
+ - quick_copy_repro_and_blueprint
+ - railroads
+ - real_estate_agents_and_managers_rentals
+ - record_stores
+ - recreational_vehicle_rentals
+ - religious_goods_stores
+ - religious_organizations
+ - roofing_siding_sheet_metal
+ - secretarial_support_services
+ - security_brokers_dealers
+ - service_stations
+ - sewing_needlework_fabric_and_piece_goods_stores
+ - shoe_repair_hat_cleaning
+ - shoe_stores
+ - small_appliance_repair
+ - snowmobile_dealers
+ - special_trade_services
+ - specialty_cleaning
+ - sporting_goods_stores
+ - sporting_recreation_camps
+ - sports_and_riding_apparel_stores
+ - sports_clubs_fields
+ - stamp_and_coin_stores
+ - stationary_office_supplies_printing_and_writing_paper
+ - stationery_stores_office_and_school_supply_stores
+ - swimming_pools_sales
+ - t_ui_travel_germany
+ - tailors_alterations
+ - tax_payments_government_agencies
+ - tax_preparation_services
+ - taxicabs_limousines
+ - telecommunication_equipment_and_telephone_sales
+ - telecommunication_services
+ - telegraph_services
+ - tent_and_awning_shops
+ - testing_laboratories
+ - theatrical_ticket_agencies
+ - timeshares
+ - tire_retreading_and_repair
+ - tolls_bridge_fees
+ - tourist_attractions_and_exhibits
+ - towing_services
+ - trailer_parks_campgrounds
+ - transportation_services
+ - travel_agencies_tour_operators
+ - truck_stop_iteration
+ - truck_utility_trailer_rentals
+ - typesetting_plate_making_and_related_services
+ - typewriter_stores
+ - u_s_federal_government_agencies_or_departments
+ - uniforms_commercial_clothing
+ - used_merchandise_and_secondhand_stores
+ - utilities
+ - variety_stores
+ - veterinary_services
+ - video_amusement_game_supplies
+ - video_game_arcades
+ - video_tape_rental_stores
+ - vocational_trade_schools
+ - watch_jewelry_repair
+ - welding_repair
+ - wholesale_clubs
+ - wig_and_toupee_stores
+ - wires_money_orders
+ - womens_accessory_and_specialty_shops
+ - womens_ready_to_wear_stores
+ - wrecking_and_salvage_yards
+ type: string
+ nullable: true
+ type: array
+ spending_limits:
+ description: Limit spending with amount-based rules that apply across this cardholder's cards.
+ items:
+ $ref: "#/components/schemas/issuing_cardholder_spending_limit"
+ nullable: true
+ type: array
+ spending_limits_currency:
+ description: Currency of the amounts within `spending_limits`.
+ nullable: true
+ type: string
+ title: IssuingCardholderAuthorizationControls
+ type: object
+ x-expandableFields:
+ - spending_limits
+ issuing_cardholder_card_issuing:
+ description: ""
+ properties:
+ user_terms_acceptance:
+ anyOf:
+ - $ref: "#/components/schemas/issuing_cardholder_user_terms_acceptance"
+ description: Information about cardholder acceptance of [Authorized User Terms](https://stripe.com/docs/issuing/cards).
+ nullable: true
+ title: IssuingCardholderCardIssuing
+ type: object
+ x-expandableFields:
+ - user_terms_acceptance
+ issuing_cardholder_company:
+ description: ""
+ properties:
+ tax_id_provided:
+ description: Whether the company's business ID number was provided.
+ type: boolean
+ required:
+ - tax_id_provided
+ title: IssuingCardholderCompany
+ type: object
+ x-expandableFields: []
+ issuing_cardholder_id_document:
+ description: ""
+ properties:
+ back:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/file"
+ description: The back of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/file"
+ front:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/file"
+ description: The front of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/file"
+ title: IssuingCardholderIdDocument
+ type: object
+ x-expandableFields:
+ - back
+ - front
+ issuing_cardholder_individual:
+ description: ""
+ properties:
+ card_issuing:
+ anyOf:
+ - $ref: "#/components/schemas/issuing_cardholder_card_issuing"
+ description: Information related to the card_issuing program for this cardholder.
+ nullable: true
+ dob:
+ anyOf:
+ - $ref: "#/components/schemas/issuing_cardholder_individual_dob"
+ description: The date of birth of this cardholder.
+ nullable: true
+ first_name:
+ description: The first name of this cardholder. Required before activating Cards. This field cannot contain any numbers, special characters (except periods, commas, hyphens, spaces and apostrophes) or non-latin letters.
+ maxLength: 5000
+ nullable: true
+ type: string
+ last_name:
+ description: The last name of this cardholder. Required before activating Cards. This field cannot contain any numbers, special characters (except periods, commas, hyphens, spaces and apostrophes) or non-latin letters.
+ maxLength: 5000
+ nullable: true
+ type: string
+ verification:
+ anyOf:
+ - $ref: "#/components/schemas/issuing_cardholder_verification"
+ description: Government-issued ID document for this cardholder.
+ nullable: true
+ title: IssuingCardholderIndividual
+ type: object
+ x-expandableFields:
+ - card_issuing
+ - dob
+ - verification
+ issuing_cardholder_individual_dob:
+ description: ""
+ properties:
+ day:
+ description: The day of birth, between 1 and 31.
+ nullable: true
+ type: integer
+ month:
+ description: The month of birth, between 1 and 12.
+ nullable: true
+ type: integer
+ year:
+ description: The four-digit year of birth.
+ nullable: true
+ type: integer
+ title: IssuingCardholderIndividualDOB
+ type: object
+ x-expandableFields: []
+ issuing_cardholder_requirements:
+ description: ""
+ properties:
+ disabled_reason:
+ description: If `disabled_reason` is present, all cards will decline authorizations with `cardholder_verification_required` reason.
+ enum:
+ - listed
+ - rejected.listed
+ - requirements.past_due
+ - under_review
+ nullable: true
+ type: string
+ past_due:
+ description: Array of fields that need to be collected in order to verify and re-enable the cardholder.
+ items:
+ enum:
+ - company.tax_id
+ - individual.card_issuing.user_terms_acceptance.date
+ - individual.card_issuing.user_terms_acceptance.ip
+ - individual.dob.day
+ - individual.dob.month
+ - individual.dob.year
+ - individual.first_name
+ - individual.last_name
+ - individual.verification.document
+ type: string
+ x-stripeBypassValidation: true
+ nullable: true
+ type: array
+ title: IssuingCardholderRequirements
+ type: object
+ x-expandableFields: []
+ issuing_cardholder_spending_limit:
+ description: ""
+ properties:
+ amount:
+ description: Maximum amount allowed to spend per interval. This amount is in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).
+ type: integer
+ categories:
+ description: Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) this limit applies to. Omitting this field will apply the limit to all categories.
+ items:
+ enum:
+ - ac_refrigeration_repair
+ - accounting_bookkeeping_services
+ - advertising_services
+ - agricultural_cooperative
+ - airlines_air_carriers
+ - airports_flying_fields
+ - ambulance_services
+ - amusement_parks_carnivals
+ - antique_reproductions
+ - antique_shops
+ - aquariums
+ - architectural_surveying_services
+ - art_dealers_and_galleries
+ - artists_supply_and_craft_shops
+ - auto_and_home_supply_stores
+ - auto_body_repair_shops
+ - auto_paint_shops
+ - auto_service_shops
+ - automated_cash_disburse
+ - automated_fuel_dispensers
+ - automobile_associations
+ - automotive_parts_and_accessories_stores
+ - automotive_tire_stores
+ - bail_and_bond_payments
+ - bakeries
+ - bands_orchestras
+ - barber_and_beauty_shops
+ - betting_casino_gambling
+ - bicycle_shops
+ - billiard_pool_establishments
+ - boat_dealers
+ - boat_rentals_and_leases
+ - book_stores
+ - books_periodicals_and_newspapers
+ - bowling_alleys
+ - bus_lines
+ - business_secretarial_schools
+ - buying_shopping_services
+ - cable_satellite_and_other_pay_television_and_radio
+ - camera_and_photographic_supply_stores
+ - candy_nut_and_confectionery_stores
+ - car_and_truck_dealers_new_used
+ - car_and_truck_dealers_used_only
+ - car_rental_agencies
+ - car_washes
+ - carpentry_services
+ - carpet_upholstery_cleaning
+ - caterers
+ - charitable_and_social_service_organizations_fundraising
+ - chemicals_and_allied_products
+ - child_care_services
+ - childrens_and_infants_wear_stores
+ - chiropodists_podiatrists
+ - chiropractors
+ - cigar_stores_and_stands
+ - civic_social_fraternal_associations
+ - cleaning_and_maintenance
+ - clothing_rental
+ - colleges_universities
+ - commercial_equipment
+ - commercial_footwear
+ - commercial_photography_art_and_graphics
+ - commuter_transport_and_ferries
+ - computer_network_services
+ - computer_programming
+ - computer_repair
+ - computer_software_stores
+ - computers_peripherals_and_software
+ - concrete_work_services
+ - construction_materials
+ - consulting_public_relations
+ - correspondence_schools
+ - cosmetic_stores
+ - counseling_services
+ - country_clubs
+ - courier_services
+ - court_costs
+ - credit_reporting_agencies
+ - cruise_lines
+ - dairy_products_stores
+ - dance_hall_studios_schools
+ - dating_escort_services
+ - dentists_orthodontists
+ - department_stores
+ - detective_agencies
+ - digital_goods_applications
+ - digital_goods_games
+ - digital_goods_large_volume
+ - digital_goods_media
+ - direct_marketing_catalog_merchant
+ - direct_marketing_combination_catalog_and_retail_merchant
+ - direct_marketing_inbound_telemarketing
+ - direct_marketing_insurance_services
+ - direct_marketing_other
+ - direct_marketing_outbound_telemarketing
+ - direct_marketing_subscription
+ - direct_marketing_travel
+ - discount_stores
+ - doctors
+ - door_to_door_sales
+ - drapery_window_covering_and_upholstery_stores
+ - drinking_places
+ - drug_stores_and_pharmacies
+ - drugs_drug_proprietaries_and_druggist_sundries
+ - dry_cleaners
+ - durable_goods
+ - duty_free_stores
+ - eating_places_restaurants
+ - educational_services
+ - electric_razor_stores
+ - electric_vehicle_charging
+ - electrical_parts_and_equipment
+ - electrical_services
+ - electronics_repair_shops
+ - electronics_stores
+ - elementary_secondary_schools
+ - emergency_services_gcas_visa_use_only
+ - employment_temp_agencies
+ - equipment_rental
+ - exterminating_services
+ - family_clothing_stores
+ - fast_food_restaurants
+ - financial_institutions
+ - fines_government_administrative_entities
+ - fireplace_fireplace_screens_and_accessories_stores
+ - floor_covering_stores
+ - florists
+ - florists_supplies_nursery_stock_and_flowers
+ - freezer_and_locker_meat_provisioners
+ - fuel_dealers_non_automotive
+ - funeral_services_crematories
+ - furniture_home_furnishings_and_equipment_stores_except_appliances
+ - furniture_repair_refinishing
+ - furriers_and_fur_shops
+ - general_services
+ - gift_card_novelty_and_souvenir_shops
+ - glass_paint_and_wallpaper_stores
+ - glassware_crystal_stores
+ - golf_courses_public
+ - government_licensed_horse_dog_racing_us_region_only
+ - government_licensed_online_casions_online_gambling_us_region_only
+ - government_owned_lotteries_non_us_region
+ - government_owned_lotteries_us_region_only
+ - government_services
+ - grocery_stores_supermarkets
+ - hardware_equipment_and_supplies
+ - hardware_stores
+ - health_and_beauty_spas
+ - hearing_aids_sales_and_supplies
+ - heating_plumbing_a_c
+ - hobby_toy_and_game_shops
+ - home_supply_warehouse_stores
+ - hospitals
+ - hotels_motels_and_resorts
+ - household_appliance_stores
+ - industrial_supplies
+ - information_retrieval_services
+ - insurance_default
+ - insurance_underwriting_premiums
+ - intra_company_purchases
+ - jewelry_stores_watches_clocks_and_silverware_stores
+ - landscaping_services
+ - laundries
+ - laundry_cleaning_services
+ - legal_services_attorneys
+ - luggage_and_leather_goods_stores
+ - lumber_building_materials_stores
+ - manual_cash_disburse
+ - marinas_service_and_supplies
+ - marketplaces
+ - masonry_stonework_and_plaster
+ - massage_parlors
+ - medical_and_dental_labs
+ - medical_dental_ophthalmic_and_hospital_equipment_and_supplies
+ - medical_services
+ - membership_organizations
+ - mens_and_boys_clothing_and_accessories_stores
+ - mens_womens_clothing_stores
+ - metal_service_centers
+ - miscellaneous
+ - miscellaneous_apparel_and_accessory_shops
+ - miscellaneous_auto_dealers
+ - miscellaneous_business_services
+ - miscellaneous_food_stores
+ - miscellaneous_general_merchandise
+ - miscellaneous_general_services
+ - miscellaneous_home_furnishing_specialty_stores
+ - miscellaneous_publishing_and_printing
+ - miscellaneous_recreation_services
+ - miscellaneous_repair_shops
+ - miscellaneous_specialty_retail
+ - mobile_home_dealers
+ - motion_picture_theaters
+ - motor_freight_carriers_and_trucking
+ - motor_homes_dealers
+ - motor_vehicle_supplies_and_new_parts
+ - motorcycle_shops_and_dealers
+ - motorcycle_shops_dealers
+ - music_stores_musical_instruments_pianos_and_sheet_music
+ - news_dealers_and_newsstands
+ - non_fi_money_orders
+ - non_fi_stored_value_card_purchase_load
+ - nondurable_goods
+ - nurseries_lawn_and_garden_supply_stores
+ - nursing_personal_care
+ - office_and_commercial_furniture
+ - opticians_eyeglasses
+ - optometrists_ophthalmologist
+ - orthopedic_goods_prosthetic_devices
+ - osteopaths
+ - package_stores_beer_wine_and_liquor
+ - paints_varnishes_and_supplies
+ - parking_lots_garages
+ - passenger_railways
+ - pawn_shops
+ - pet_shops_pet_food_and_supplies
+ - petroleum_and_petroleum_products
+ - photo_developing
+ - photographic_photocopy_microfilm_equipment_and_supplies
+ - photographic_studios
+ - picture_video_production
+ - piece_goods_notions_and_other_dry_goods
+ - plumbing_heating_equipment_and_supplies
+ - political_organizations
+ - postal_services_government_only
+ - precious_stones_and_metals_watches_and_jewelry
+ - professional_services
+ - public_warehousing_and_storage
+ - quick_copy_repro_and_blueprint
+ - railroads
+ - real_estate_agents_and_managers_rentals
+ - record_stores
+ - recreational_vehicle_rentals
+ - religious_goods_stores
+ - religious_organizations
+ - roofing_siding_sheet_metal
+ - secretarial_support_services
+ - security_brokers_dealers
+ - service_stations
+ - sewing_needlework_fabric_and_piece_goods_stores
+ - shoe_repair_hat_cleaning
+ - shoe_stores
+ - small_appliance_repair
+ - snowmobile_dealers
+ - special_trade_services
+ - specialty_cleaning
+ - sporting_goods_stores
+ - sporting_recreation_camps
+ - sports_and_riding_apparel_stores
+ - sports_clubs_fields
+ - stamp_and_coin_stores
+ - stationary_office_supplies_printing_and_writing_paper
+ - stationery_stores_office_and_school_supply_stores
+ - swimming_pools_sales
+ - t_ui_travel_germany
+ - tailors_alterations
+ - tax_payments_government_agencies
+ - tax_preparation_services
+ - taxicabs_limousines
+ - telecommunication_equipment_and_telephone_sales
+ - telecommunication_services
+ - telegraph_services
+ - tent_and_awning_shops
+ - testing_laboratories
+ - theatrical_ticket_agencies
+ - timeshares
+ - tire_retreading_and_repair
+ - tolls_bridge_fees
+ - tourist_attractions_and_exhibits
+ - towing_services
+ - trailer_parks_campgrounds
+ - transportation_services
+ - travel_agencies_tour_operators
+ - truck_stop_iteration
+ - truck_utility_trailer_rentals
+ - typesetting_plate_making_and_related_services
+ - typewriter_stores
+ - u_s_federal_government_agencies_or_departments
+ - uniforms_commercial_clothing
+ - used_merchandise_and_secondhand_stores
+ - utilities
+ - variety_stores
+ - veterinary_services
+ - video_amusement_game_supplies
+ - video_game_arcades
+ - video_tape_rental_stores
+ - vocational_trade_schools
+ - watch_jewelry_repair
+ - welding_repair
+ - wholesale_clubs
+ - wig_and_toupee_stores
+ - wires_money_orders
+ - womens_accessory_and_specialty_shops
+ - womens_ready_to_wear_stores
+ - wrecking_and_salvage_yards
+ type: string
+ nullable: true
+ type: array
+ interval:
+ description: Interval (or event) to which the amount applies.
+ enum:
+ - all_time
+ - daily
+ - monthly
+ - per_authorization
+ - weekly
+ - yearly
+ type: string
+ required:
+ - amount
+ - interval
+ title: IssuingCardholderSpendingLimit
+ type: object
+ x-expandableFields: []
+ issuing_cardholder_user_terms_acceptance:
+ description: ""
+ properties:
+ date:
+ description: The Unix timestamp marking when the cardholder accepted the Authorized User Terms. Required for Celtic Spend Card users.
+ format: unix-time
+ nullable: true
+ type: integer
+ ip:
+ description: The IP address from which the cardholder accepted the Authorized User Terms. Required for Celtic Spend Card users.
+ maxLength: 5000
+ nullable: true
+ type: string
+ user_agent:
+ description: The user agent of the browser from which the cardholder accepted the Authorized User Terms.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: IssuingCardholderUserTermsAcceptance
+ type: object
+ x-expandableFields: []
+ issuing_cardholder_verification:
+ description: ""
+ properties:
+ document:
+ anyOf:
+ - $ref: "#/components/schemas/issuing_cardholder_id_document"
+ description: An identifying document, either a passport or local ID card.
+ nullable: true
+ title: IssuingCardholderVerification
+ type: object
+ x-expandableFields:
+ - document
+ issuing_dispute_canceled_evidence:
+ description: ""
+ properties:
+ additional_documentation:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/file"
+ description: (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/file"
+ canceled_at:
+ description: Date when order was canceled.
+ format: unix-time
+ nullable: true
+ type: integer
+ cancellation_policy_provided:
+ description: Whether the cardholder was provided with a cancellation policy.
+ nullable: true
+ type: boolean
+ cancellation_reason:
+ description: Reason for canceling the order.
+ maxLength: 5000
+ nullable: true
+ type: string
+ expected_at:
+ description: Date when the cardholder expected to receive the product.
+ format: unix-time
+ nullable: true
+ type: integer
+ explanation:
+ description: Explanation of why the cardholder is disputing this transaction.
+ maxLength: 5000
+ nullable: true
+ type: string
+ product_description:
+ description: Description of the merchandise or service that was purchased.
+ maxLength: 5000
+ nullable: true
+ type: string
+ product_type:
+ description: Whether the product was a merchandise or service.
+ enum:
+ - merchandise
+ - service
+ nullable: true
+ type: string
+ return_status:
+ description: Result of cardholder's attempt to return the product.
+ enum:
+ - merchant_rejected
+ - successful
+ nullable: true
+ type: string
+ returned_at:
+ description: Date when the product was returned or attempted to be returned.
+ format: unix-time
+ nullable: true
+ type: integer
+ title: IssuingDisputeCanceledEvidence
+ type: object
+ x-expandableFields:
+ - additional_documentation
+ issuing_dispute_duplicate_evidence:
+ description: ""
+ properties:
+ additional_documentation:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/file"
+ description: (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/file"
+ card_statement:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/file"
+ description: (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Copy of the card statement showing that the product had already been paid for.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/file"
+ cash_receipt:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/file"
+ description: (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Copy of the receipt showing that the product had been paid for in cash.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/file"
+ check_image:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/file"
+ description: (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Image of the front and back of the check that was used to pay for the product.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/file"
+ explanation:
+ description: Explanation of why the cardholder is disputing this transaction.
+ maxLength: 5000
+ nullable: true
+ type: string
+ original_transaction:
+ description: Transaction (e.g., ipi_...) that the disputed transaction is a duplicate of. Of the two or more transactions that are copies of each other, this is original undisputed one.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: IssuingDisputeDuplicateEvidence
+ type: object
+ x-expandableFields:
+ - additional_documentation
+ - card_statement
+ - cash_receipt
+ - check_image
+ issuing_dispute_evidence:
+ description: ""
+ properties:
+ canceled:
+ $ref: "#/components/schemas/issuing_dispute_canceled_evidence"
+ duplicate:
+ $ref: "#/components/schemas/issuing_dispute_duplicate_evidence"
+ fraudulent:
+ $ref: "#/components/schemas/issuing_dispute_fraudulent_evidence"
+ merchandise_not_as_described:
+ $ref: "#/components/schemas/issuing_dispute_merchandise_not_as_described_evidence"
+ not_received:
+ $ref: "#/components/schemas/issuing_dispute_not_received_evidence"
+ other:
+ $ref: "#/components/schemas/issuing_dispute_other_evidence"
+ reason:
+ description: The reason for filing the dispute. Its value will match the field containing the evidence.
+ enum:
+ - canceled
+ - duplicate
+ - fraudulent
+ - merchandise_not_as_described
+ - not_received
+ - other
+ - service_not_as_described
+ type: string
+ x-stripeBypassValidation: true
+ service_not_as_described:
+ $ref: "#/components/schemas/issuing_dispute_service_not_as_described_evidence"
+ required:
+ - reason
+ title: IssuingDisputeEvidence
+ type: object
+ x-expandableFields:
+ - canceled
+ - duplicate
+ - fraudulent
+ - merchandise_not_as_described
+ - not_received
+ - other
+ - service_not_as_described
+ issuing_dispute_fraudulent_evidence:
+ description: ""
+ properties:
+ additional_documentation:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/file"
+ description: (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/file"
+ explanation:
+ description: Explanation of why the cardholder is disputing this transaction.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: IssuingDisputeFraudulentEvidence
+ type: object
+ x-expandableFields:
+ - additional_documentation
+ issuing_dispute_merchandise_not_as_described_evidence:
+ description: ""
+ properties:
+ additional_documentation:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/file"
+ description: (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/file"
+ explanation:
+ description: Explanation of why the cardholder is disputing this transaction.
+ maxLength: 5000
+ nullable: true
+ type: string
+ received_at:
+ description: Date when the product was received.
+ format: unix-time
+ nullable: true
+ type: integer
+ return_description:
+ description: Description of the cardholder's attempt to return the product.
+ maxLength: 5000
+ nullable: true
+ type: string
+ return_status:
+ description: Result of cardholder's attempt to return the product.
+ enum:
+ - merchant_rejected
+ - successful
+ nullable: true
+ type: string
+ returned_at:
+ description: Date when the product was returned or attempted to be returned.
+ format: unix-time
+ nullable: true
+ type: integer
+ title: IssuingDisputeMerchandiseNotAsDescribedEvidence
+ type: object
+ x-expandableFields:
+ - additional_documentation
+ issuing_dispute_not_received_evidence:
+ description: ""
+ properties:
+ additional_documentation:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/file"
+ description: (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/file"
+ expected_at:
+ description: Date when the cardholder expected to receive the product.
+ format: unix-time
+ nullable: true
+ type: integer
+ explanation:
+ description: Explanation of why the cardholder is disputing this transaction.
+ maxLength: 5000
+ nullable: true
+ type: string
+ product_description:
+ description: Description of the merchandise or service that was purchased.
+ maxLength: 5000
+ nullable: true
+ type: string
+ product_type:
+ description: Whether the product was a merchandise or service.
+ enum:
+ - merchandise
+ - service
+ nullable: true
+ type: string
+ title: IssuingDisputeNotReceivedEvidence
+ type: object
+ x-expandableFields:
+ - additional_documentation
+ issuing_dispute_other_evidence:
+ description: ""
+ properties:
+ additional_documentation:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/file"
+ description: (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/file"
+ explanation:
+ description: Explanation of why the cardholder is disputing this transaction.
+ maxLength: 5000
+ nullable: true
+ type: string
+ product_description:
+ description: Description of the merchandise or service that was purchased.
+ maxLength: 5000
+ nullable: true
+ type: string
+ product_type:
+ description: Whether the product was a merchandise or service.
+ enum:
+ - merchandise
+ - service
+ nullable: true
+ type: string
+ title: IssuingDisputeOtherEvidence
+ type: object
+ x-expandableFields:
+ - additional_documentation
+ issuing_dispute_service_not_as_described_evidence:
+ description: ""
+ properties:
+ additional_documentation:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/file"
+ description: (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/file"
+ canceled_at:
+ description: Date when order was canceled.
+ format: unix-time
+ nullable: true
+ type: integer
+ cancellation_reason:
+ description: Reason for canceling the order.
+ maxLength: 5000
+ nullable: true
+ type: string
+ explanation:
+ description: Explanation of why the cardholder is disputing this transaction.
+ maxLength: 5000
+ nullable: true
+ type: string
+ received_at:
+ description: Date when the product was received.
+ format: unix-time
+ nullable: true
+ type: integer
+ title: IssuingDisputeServiceNotAsDescribedEvidence
+ type: object
+ x-expandableFields:
+ - additional_documentation
+ issuing_dispute_treasury:
+ description: ""
+ properties:
+ debit_reversal:
+ description: The Treasury [DebitReversal](https://stripe.com/docs/api/treasury/debit_reversals) representing this Issuing dispute
+ maxLength: 5000
+ nullable: true
+ type: string
+ received_debit:
+ description: The Treasury [ReceivedDebit](https://stripe.com/docs/api/treasury/received_debits) that is being disputed.
+ maxLength: 5000
+ type: string
+ required:
+ - received_debit
+ title: IssuingDisputeTreasury
+ type: object
+ x-expandableFields: []
+ issuing_transaction_amount_details:
+ description: ""
+ properties:
+ atm_fee:
+ description: The fee charged by the ATM for the cash withdrawal.
+ nullable: true
+ type: integer
+ title: IssuingTransactionAmountDetails
+ type: object
+ x-expandableFields: []
+ issuing_transaction_flight_data:
+ description: ""
+ properties:
+ departure_at:
+ description: The time that the flight departed.
+ nullable: true
+ type: integer
+ passenger_name:
+ description: The name of the passenger.
+ maxLength: 5000
+ nullable: true
+ type: string
+ refundable:
+ description: Whether the ticket is refundable.
+ nullable: true
+ type: boolean
+ segments:
+ description: The legs of the trip.
+ items:
+ $ref: "#/components/schemas/issuing_transaction_flight_data_leg"
+ nullable: true
+ type: array
+ travel_agency:
+ description: The travel agency that issued the ticket.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: IssuingTransactionFlightData
+ type: object
+ x-expandableFields:
+ - segments
+ issuing_transaction_flight_data_leg:
+ description: ""
+ properties:
+ arrival_airport_code:
+ description: The three-letter IATA airport code of the flight's destination.
+ maxLength: 5000
+ nullable: true
+ type: string
+ carrier:
+ description: The airline carrier code.
+ maxLength: 5000
+ nullable: true
+ type: string
+ departure_airport_code:
+ description: The three-letter IATA airport code that the flight departed from.
+ maxLength: 5000
+ nullable: true
+ type: string
+ flight_number:
+ description: The flight number.
+ maxLength: 5000
+ nullable: true
+ type: string
+ service_class:
+ description: The flight's service class.
+ maxLength: 5000
+ nullable: true
+ type: string
+ stopover_allowed:
+ description: Whether a stopover is allowed on this flight.
+ nullable: true
+ type: boolean
+ title: IssuingTransactionFlightDataLeg
+ type: object
+ x-expandableFields: []
+ issuing_transaction_fuel_data:
+ description: ""
+ properties:
+ type:
+ description: The type of fuel that was purchased. One of `diesel`, `unleaded_plus`, `unleaded_regular`, `unleaded_super`, or `other`.
+ maxLength: 5000
+ type: string
+ unit:
+ description: The units for `volume_decimal`. One of `us_gallon` or `liter`.
+ maxLength: 5000
+ type: string
+ unit_cost_decimal:
+ description: The cost in cents per each unit of fuel, represented as a decimal string with at most 12 decimal places.
+ format: decimal
+ type: string
+ volume_decimal:
+ description: The volume of the fuel that was pumped, represented as a decimal string with at most 12 decimal places.
+ format: decimal
+ nullable: true
+ type: string
+ required:
+ - type
+ - unit
+ - unit_cost_decimal
+ title: IssuingTransactionFuelData
+ type: object
+ x-expandableFields: []
+ issuing_transaction_lodging_data:
+ description: ""
+ properties:
+ check_in_at:
+ description: The time of checking into the lodging.
+ nullable: true
+ type: integer
+ nights:
+ description: The number of nights stayed at the lodging.
+ nullable: true
+ type: integer
+ title: IssuingTransactionLodgingData
+ type: object
+ x-expandableFields: []
+ issuing_transaction_purchase_details:
+ description: ""
+ properties:
+ flight:
+ anyOf:
+ - $ref: "#/components/schemas/issuing_transaction_flight_data"
+ description: Information about the flight that was purchased with this transaction.
+ nullable: true
+ fuel:
+ anyOf:
+ - $ref: "#/components/schemas/issuing_transaction_fuel_data"
+ description: Information about fuel that was purchased with this transaction.
+ nullable: true
+ lodging:
+ anyOf:
+ - $ref: "#/components/schemas/issuing_transaction_lodging_data"
+ description: Information about lodging that was purchased with this transaction.
+ nullable: true
+ receipt:
+ description: The line items in the purchase.
+ items:
+ $ref: "#/components/schemas/issuing_transaction_receipt_data"
+ nullable: true
+ type: array
+ reference:
+ description: A merchant-specific order number.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: IssuingTransactionPurchaseDetails
+ type: object
+ x-expandableFields:
+ - flight
+ - fuel
+ - lodging
+ - receipt
+ issuing_transaction_receipt_data:
+ description: ""
+ properties:
+ description:
+ description: The description of the item. The maximum length of this field is 26 characters.
+ maxLength: 5000
+ nullable: true
+ type: string
+ quantity:
+ description: The quantity of the item.
+ nullable: true
+ type: number
+ total:
+ description: The total for this line item in cents.
+ nullable: true
+ type: integer
+ unit_cost:
+ description: The unit cost of the item in cents.
+ nullable: true
+ type: integer
+ title: IssuingTransactionReceiptData
+ type: object
+ x-expandableFields: []
+ issuing_transaction_treasury:
+ description: ""
+ properties:
+ received_credit:
+ description: The Treasury [ReceivedCredit](https://stripe.com/docs/api/treasury/received_credits) representing this Issuing transaction if it is a refund
+ maxLength: 5000
+ nullable: true
+ type: string
+ received_debit:
+ description: The Treasury [ReceivedDebit](https://stripe.com/docs/api/treasury/received_debits) representing this Issuing transaction if it is a capture
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: IssuingTransactionTreasury
+ type: object
+ x-expandableFields: []
+ item:
+ description: A line item.
+ properties:
+ amount_discount:
+ description: Total discount amount applied. If no discounts were applied, defaults to 0.
+ type: integer
+ amount_subtotal:
+ description: Total before any discounts or taxes are applied.
+ type: integer
+ amount_tax:
+ description: Total tax amount applied. If no tax was applied, defaults to 0.
+ type: integer
+ amount_total:
+ description: Total after discounts and taxes.
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users. Defaults to product name.
+ maxLength: 5000
+ type: string
+ discounts:
+ description: The discounts applied to the line item.
+ items:
+ $ref: "#/components/schemas/line_items_discount_amount"
+ type: array
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - item
+ type: string
+ price:
+ anyOf:
+ - $ref: "#/components/schemas/price"
+ description: The price used to generate the line item.
+ nullable: true
+ quantity:
+ description: The quantity of products being purchased.
+ nullable: true
+ type: integer
+ taxes:
+ description: The taxes applied to the line item.
+ items:
+ $ref: "#/components/schemas/line_items_tax_amount"
+ type: array
+ required:
+ - amount_discount
+ - amount_subtotal
+ - amount_tax
+ - amount_total
+ - currency
+ - description
+ - id
+ - object
+ title: LineItem
+ type: object
+ x-expandableFields:
+ - discounts
+ - price
+ - taxes
+ x-resourceId: item
+ legal_entity_company:
+ description: ""
+ properties:
+ address:
+ $ref: "#/components/schemas/address"
+ address_kana:
+ anyOf:
+ - $ref: "#/components/schemas/legal_entity_japan_address"
+ description: The Kana variation of the company's primary address (Japan only).
+ nullable: true
+ address_kanji:
+ anyOf:
+ - $ref: "#/components/schemas/legal_entity_japan_address"
+ description: The Kanji variation of the company's primary address (Japan only).
+ nullable: true
+ directors_provided:
+ description: Whether the company's directors have been provided. This Boolean will be `true` if you've manually indicated that all directors are provided via [the `directors_provided` parameter](https://stripe.com/docs/api/accounts/update#update_account-company-directors_provided).
+ type: boolean
+ executives_provided:
+ description: Whether the company's executives have been provided. This Boolean will be `true` if you've manually indicated that all executives are provided via [the `executives_provided` parameter](https://stripe.com/docs/api/accounts/update#update_account-company-executives_provided), or if Stripe determined that sufficient executives were provided.
+ type: boolean
+ export_license_id:
+ description: The export license ID number of the company, also referred as Import Export Code (India only).
+ maxLength: 5000
+ type: string
+ export_purpose_code:
+ description: The purpose code to use for export transactions (India only).
+ maxLength: 5000
+ type: string
+ name:
+ description: The company's legal name.
+ maxLength: 5000
+ nullable: true
+ type: string
+ name_kana:
+ description: The Kana variation of the company's legal name (Japan only).
+ maxLength: 5000
+ nullable: true
+ type: string
+ name_kanji:
+ description: The Kanji variation of the company's legal name (Japan only).
+ maxLength: 5000
+ nullable: true
+ type: string
+ owners_provided:
+ description: Whether the company's owners have been provided. This Boolean will be `true` if you've manually indicated that all owners are provided via [the `owners_provided` parameter](https://stripe.com/docs/api/accounts/update#update_account-company-owners_provided), or if Stripe determined that sufficient owners were provided. Stripe determines ownership requirements using both the number of owners provided and their total percent ownership (calculated by adding the `percent_ownership` of each owner together).
+ type: boolean
+ ownership_declaration:
+ anyOf:
+ - $ref: "#/components/schemas/legal_entity_ubo_declaration"
+ description: This hash is used to attest that the beneficial owner information provided to Stripe is both current and correct.
+ nullable: true
+ phone:
+ description: The company's phone number (used for verification).
+ maxLength: 5000
+ nullable: true
+ type: string
+ structure:
+ description: The category identifying the legal structure of the company or legal entity. See [Business structure](https://stripe.com/docs/connect/identity-verification#business-structure) for more details.
+ enum:
+ - free_zone_establishment
+ - free_zone_llc
+ - government_instrumentality
+ - governmental_unit
+ - incorporated_non_profit
+ - limited_liability_partnership
+ - llc
+ - multi_member_llc
+ - private_company
+ - private_corporation
+ - private_partnership
+ - public_company
+ - public_corporation
+ - public_partnership
+ - single_member_llc
+ - sole_establishment
+ - sole_proprietorship
+ - tax_exempt_government_instrumentality
+ - unincorporated_association
+ - unincorporated_non_profit
+ type: string
+ x-stripeBypassValidation: true
+ tax_id_provided:
+ description: Whether the company's business ID number was provided.
+ type: boolean
+ tax_id_registrar:
+ description: The jurisdiction in which the `tax_id` is registered (Germany-based companies only).
+ maxLength: 5000
+ type: string
+ vat_id_provided:
+ description: Whether the company's business VAT number was provided.
+ type: boolean
+ verification:
+ anyOf:
+ - $ref: "#/components/schemas/legal_entity_company_verification"
+ description: Information on the verification state of the company.
+ nullable: true
+ title: LegalEntityCompany
+ type: object
+ x-expandableFields:
+ - address
+ - address_kana
+ - address_kanji
+ - ownership_declaration
+ - verification
+ legal_entity_company_verification:
+ description: ""
+ properties:
+ document:
+ $ref: "#/components/schemas/legal_entity_company_verification_document"
+ required:
+ - document
+ title: LegalEntityCompanyVerification
+ type: object
+ x-expandableFields:
+ - document
+ legal_entity_company_verification_document:
+ description: ""
+ properties:
+ back:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/file"
+ description: The back of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `additional_verification`.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/file"
+ details:
+ description: A user-displayable string describing the verification state of this document.
+ maxLength: 5000
+ nullable: true
+ type: string
+ details_code:
+ description: One of `document_corrupt`, `document_expired`, `document_failed_copy`, `document_failed_greyscale`, `document_failed_other`, `document_failed_test_mode`, `document_fraudulent`, `document_incomplete`, `document_invalid`, `document_manipulated`, `document_not_readable`, `document_not_uploaded`, `document_type_not_supported`, or `document_too_large`. A machine-readable code specifying the verification state for this document.
+ maxLength: 5000
+ nullable: true
+ type: string
+ front:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/file"
+ description: The front of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `additional_verification`.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/file"
+ title: LegalEntityCompanyVerificationDocument
+ type: object
+ x-expandableFields:
+ - back
+ - front
+ legal_entity_dob:
+ description: ""
+ properties:
+ day:
+ description: The day of birth, between 1 and 31.
+ nullable: true
+ type: integer
+ month:
+ description: The month of birth, between 1 and 12.
+ nullable: true
+ type: integer
+ year:
+ description: The four-digit year of birth.
+ nullable: true
+ type: integer
+ title: LegalEntityDOB
+ type: object
+ x-expandableFields: []
+ legal_entity_japan_address:
+ description: ""
+ properties:
+ city:
+ description: City/Ward.
+ maxLength: 5000
+ nullable: true
+ type: string
+ country:
+ description: Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
+ maxLength: 5000
+ nullable: true
+ type: string
+ line1:
+ description: Block/Building number.
+ maxLength: 5000
+ nullable: true
+ type: string
+ line2:
+ description: Building details.
+ maxLength: 5000
+ nullable: true
+ type: string
+ postal_code:
+ description: ZIP or postal code.
+ maxLength: 5000
+ nullable: true
+ type: string
+ state:
+ description: Prefecture.
+ maxLength: 5000
+ nullable: true
+ type: string
+ town:
+ description: Town/cho-me.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: LegalEntityJapanAddress
+ type: object
+ x-expandableFields: []
+ legal_entity_person_verification:
+ description: ""
+ properties:
+ additional_document:
+ anyOf:
+ - $ref: "#/components/schemas/legal_entity_person_verification_document"
+ description: A document showing address, either a passport, local ID card, or utility bill from a well-known utility company.
+ nullable: true
+ details:
+ description: A user-displayable string describing the verification state for the person. For example, this may say "Provided identity information could not be verified".
+ maxLength: 5000
+ nullable: true
+ type: string
+ details_code:
+ description: One of `document_address_mismatch`, `document_dob_mismatch`, `document_duplicate_type`, `document_id_number_mismatch`, `document_name_mismatch`, `document_nationality_mismatch`, `failed_keyed_identity`, or `failed_other`. A machine-readable code specifying the verification state for the person.
+ maxLength: 5000
+ nullable: true
+ type: string
+ document:
+ $ref: "#/components/schemas/legal_entity_person_verification_document"
+ status:
+ description: The state of verification for the person. Possible values are `unverified`, `pending`, or `verified`.
+ maxLength: 5000
+ type: string
+ required:
+ - status
+ title: LegalEntityPersonVerification
+ type: object
+ x-expandableFields:
+ - additional_document
+ - document
+ legal_entity_person_verification_document:
+ description: ""
+ properties:
+ back:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/file"
+ description: The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/file"
+ details:
+ description: A user-displayable string describing the verification state of this document. For example, if a document is uploaded and the picture is too fuzzy, this may say "Identity document is too unclear to read".
+ maxLength: 5000
+ nullable: true
+ type: string
+ details_code:
+ description: One of `document_corrupt`, `document_country_not_supported`, `document_expired`, `document_failed_copy`, `document_failed_other`, `document_failed_test_mode`, `document_fraudulent`, `document_failed_greyscale`, `document_incomplete`, `document_invalid`, `document_manipulated`, `document_missing_back`, `document_missing_front`, `document_not_readable`, `document_not_uploaded`, `document_photo_mismatch`, `document_too_large`, or `document_type_not_supported`. A machine-readable code specifying the verification state for this document.
+ maxLength: 5000
+ nullable: true
+ type: string
+ front:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/file"
+ description: The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/file"
+ title: LegalEntityPersonVerificationDocument
+ type: object
+ x-expandableFields:
+ - back
+ - front
+ legal_entity_ubo_declaration:
+ description: ""
+ properties:
+ date:
+ description: The Unix timestamp marking when the beneficial owner attestation was made.
+ format: unix-time
+ nullable: true
+ type: integer
+ ip:
+ description: The IP address from which the beneficial owner attestation was made.
+ maxLength: 5000
+ nullable: true
+ type: string
+ user_agent:
+ description: The user-agent string from the browser where the beneficial owner attestation was made.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: LegalEntityUBODeclaration
+ type: object
+ x-expandableFields: []
+ line_item:
+ description: ""
+ properties:
+ amount:
+ description: The amount, in %s.
+ type: integer
+ amount_excluding_tax:
+ description: The integer amount in %s representing the amount for this line item, excluding all tax and discounts.
+ nullable: true
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 5000
+ nullable: true
+ type: string
+ discount_amounts:
+ description: The amount of discount calculated per discount for this line item.
+ items:
+ $ref: "#/components/schemas/discounts_resource_discount_amount"
+ nullable: true
+ type: array
+ discountable:
+ description: If true, discounts will apply to this line item. Always false for prorations.
+ type: boolean
+ discounts:
+ description: The discounts applied to the invoice line item. Line item discounts are applied before invoice discounts. Use `expand[]=discounts` to expand each discount.
+ items:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/discount"
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/discount"
+ nullable: true
+ type: array
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ invoice_item:
+ description: The ID of the [invoice item](https://stripe.com/docs/api/invoiceitems) associated with this line item if any.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Note that for line items with `type=subscription` this will reflect the metadata of the subscription that caused the line item to be created.
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - line_item
+ type: string
+ period:
+ $ref: "#/components/schemas/invoice_line_item_period"
+ price:
+ anyOf:
+ - $ref: "#/components/schemas/price"
+ description: The price of the line item.
+ nullable: true
+ proration:
+ description: Whether this is a proration.
+ type: boolean
+ proration_details:
+ anyOf:
+ - $ref: "#/components/schemas/invoices_line_items_proration_details"
+ description: Additional details for proration line items
+ nullable: true
+ quantity:
+ description: The quantity of the subscription, if the line item is a subscription or a proration.
+ nullable: true
+ type: integer
+ subscription:
+ description: The subscription that the invoice item pertains to, if any.
+ maxLength: 5000
+ nullable: true
+ type: string
+ subscription_item:
+ description: The subscription item that generated this line item. Left empty if the line item is not an explicit result of a subscription.
+ maxLength: 5000
+ type: string
+ tax_amounts:
+ description: The amount of tax calculated per tax rate for this line item
+ items:
+ $ref: "#/components/schemas/invoice_tax_amount"
+ type: array
+ tax_rates:
+ description: The tax rates which apply to the line item.
+ items:
+ $ref: "#/components/schemas/tax_rate"
+ type: array
+ type:
+ description: A string identifying the type of the source of this line item, either an `invoiceitem` or a `subscription`.
+ enum:
+ - invoiceitem
+ - subscription
+ type: string
+ unit_amount_excluding_tax:
+ description: The amount in %s representing the unit amount for this line item, excluding all tax and discounts.
+ format: decimal
+ nullable: true
+ type: string
+ required:
+ - amount
+ - currency
+ - discountable
+ - id
+ - livemode
+ - metadata
+ - object
+ - period
+ - proration
+ - type
+ title: InvoiceLineItem
+ type: object
+ x-expandableFields:
+ - discount_amounts
+ - discounts
+ - period
+ - price
+ - proration_details
+ - tax_amounts
+ - tax_rates
+ x-resourceId: line_item
+ line_items_discount_amount:
+ description: ""
+ properties:
+ amount:
+ description: The amount discounted.
+ type: integer
+ discount:
+ $ref: "#/components/schemas/discount"
+ required:
+ - amount
+ - discount
+ title: LineItemsDiscountAmount
+ type: object
+ x-expandableFields:
+ - discount
+ line_items_tax_amount:
+ description: ""
+ properties:
+ amount:
+ description: Amount of tax applied for this rate.
+ type: integer
+ rate:
+ $ref: "#/components/schemas/tax_rate"
+ required:
+ - amount
+ - rate
+ title: LineItemsTaxAmount
+ type: object
+ x-expandableFields:
+ - rate
+ linked_account_options_us_bank_account:
+ description: ""
+ properties:
+ permissions:
+ description: The list of permissions to request. The `payment_method` permission must be included.
+ items:
+ enum:
+ - balances
+ - ownership
+ - payment_method
+ - transactions
+ type: string
+ type: array
+ return_url:
+ description: For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app.
+ maxLength: 5000
+ type: string
+ title: linked_account_options_us_bank_account
+ type: object
+ x-expandableFields: []
+ login_link:
+ description: ""
+ properties:
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - login_link
+ type: string
+ url:
+ description: The URL for the login link.
+ maxLength: 5000
+ type: string
+ required:
+ - created
+ - object
+ - url
+ title: LoginLink
+ type: object
+ x-expandableFields: []
+ x-resourceId: login_link
+ mandate:
+ description: A Mandate is a record of the permission a customer has given you to debit their payment method.
+ properties:
+ customer_acceptance:
+ $ref: "#/components/schemas/customer_acceptance"
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ multi_use:
+ $ref: "#/components/schemas/mandate_multi_use"
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - mandate
+ type: string
+ payment_method:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/payment_method"
+ description: ID of the payment method associated with this mandate.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/payment_method"
+ payment_method_details:
+ $ref: "#/components/schemas/mandate_payment_method_details"
+ single_use:
+ $ref: "#/components/schemas/mandate_single_use"
+ status:
+ description: The status of the mandate, which indicates whether it can be used to initiate a payment.
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ type:
+ description: The type of the mandate.
+ enum:
+ - multi_use
+ - single_use
+ type: string
+ required:
+ - customer_acceptance
+ - id
+ - livemode
+ - object
+ - payment_method
+ - payment_method_details
+ - status
+ - type
+ title: Mandate
+ type: object
+ x-expandableFields:
+ - customer_acceptance
+ - multi_use
+ - payment_method
+ - payment_method_details
+ - single_use
+ x-resourceId: mandate
+ mandate_acss_debit:
+ description: ""
+ properties:
+ default_for:
+ description: List of Stripe products where this mandate can be selected automatically.
+ items:
+ enum:
+ - invoice
+ - subscription
+ type: string
+ type: array
+ interval_description:
+ description: Description of the interval. Only required if the 'payment_schedule' parameter is 'interval' or 'combined'.
+ maxLength: 5000
+ nullable: true
+ type: string
+ payment_schedule:
+ description: Payment schedule for the mandate.
+ enum:
+ - combined
+ - interval
+ - sporadic
+ type: string
+ transaction_type:
+ description: Transaction type of the mandate.
+ enum:
+ - business
+ - personal
+ type: string
+ required:
+ - payment_schedule
+ - transaction_type
+ title: mandate_acss_debit
+ type: object
+ x-expandableFields: []
+ mandate_au_becs_debit:
+ description: ""
+ properties:
+ url:
+ description: The URL of the mandate. This URL generally contains sensitive information about the customer and should be shared with them exclusively.
+ maxLength: 5000
+ type: string
+ required:
+ - url
+ title: mandate_au_becs_debit
+ type: object
+ x-expandableFields: []
+ mandate_bacs_debit:
+ description: ""
+ properties:
+ network_status:
+ description: The status of the mandate on the Bacs network. Can be one of `pending`, `revoked`, `refused`, or `accepted`.
+ enum:
+ - accepted
+ - pending
+ - refused
+ - revoked
+ type: string
+ reference:
+ description: The unique reference identifying the mandate on the Bacs network.
+ maxLength: 5000
+ type: string
+ url:
+ description: The URL that will contain the mandate that the customer has signed.
+ maxLength: 5000
+ type: string
+ required:
+ - network_status
+ - reference
+ - url
+ title: mandate_bacs_debit
+ type: object
+ x-expandableFields: []
+ mandate_blik:
+ description: ""
+ properties:
+ expires_after:
+ description: Date at which the mandate expires.
+ format: unix-time
+ nullable: true
+ type: integer
+ off_session:
+ $ref: "#/components/schemas/mandate_options_off_session_details_blik"
+ type:
+ description: Type of the mandate.
+ enum:
+ - off_session
+ - on_session
+ nullable: true
+ type: string
+ title: mandate_blik
+ type: object
+ x-expandableFields:
+ - off_session
+ mandate_cashapp:
+ description: ""
+ properties: {}
+ title: mandate_cashapp
+ type: object
+ x-expandableFields: []
+ mandate_link:
+ description: ""
+ properties: {}
+ title: mandate_link
+ type: object
+ x-expandableFields: []
+ mandate_multi_use:
+ description: ""
+ properties: {}
+ title: mandate_multi_use
+ type: object
+ x-expandableFields: []
+ mandate_options_off_session_details_blik:
+ description: ""
+ properties:
+ amount:
+ description: Amount of each recurring payment.
+ nullable: true
+ type: integer
+ currency:
+ description: Currency of each recurring payment.
+ maxLength: 5000
+ nullable: true
+ type: string
+ interval:
+ description: Frequency interval of each recurring payment.
+ enum:
+ - day
+ - month
+ - week
+ - year
+ nullable: true
+ type: string
+ interval_count:
+ description: Frequency indicator of each recurring payment.
+ nullable: true
+ type: integer
+ title: mandate_options_off_session_details_blik
+ type: object
+ x-expandableFields: []
+ mandate_payment_method_details:
+ description: ""
+ properties:
+ acss_debit:
+ $ref: "#/components/schemas/mandate_acss_debit"
+ au_becs_debit:
+ $ref: "#/components/schemas/mandate_au_becs_debit"
+ bacs_debit:
+ $ref: "#/components/schemas/mandate_bacs_debit"
+ blik:
+ $ref: "#/components/schemas/mandate_blik"
+ card:
+ $ref: "#/components/schemas/card_mandate_payment_method_details"
+ cashapp:
+ $ref: "#/components/schemas/mandate_cashapp"
+ link:
+ $ref: "#/components/schemas/mandate_link"
+ sepa_debit:
+ $ref: "#/components/schemas/mandate_sepa_debit"
+ type:
+ description: The type of the payment method associated with this mandate. An additional hash is included on `payment_method_details` with a name matching this value. It contains mandate information specific to the payment method.
+ maxLength: 5000
+ type: string
+ us_bank_account:
+ $ref: "#/components/schemas/mandate_us_bank_account"
+ required:
+ - type
+ title: mandate_payment_method_details
+ type: object
+ x-expandableFields:
+ - acss_debit
+ - au_becs_debit
+ - bacs_debit
+ - blik
+ - card
+ - cashapp
+ - link
+ - sepa_debit
+ - us_bank_account
+ mandate_sepa_debit:
+ description: ""
+ properties:
+ reference:
+ description: The unique reference of the mandate.
+ maxLength: 5000
+ type: string
+ url:
+ description: The URL of the mandate. This URL generally contains sensitive information about the customer and should be shared with them exclusively.
+ maxLength: 5000
+ type: string
+ required:
+ - reference
+ - url
+ title: mandate_sepa_debit
+ type: object
+ x-expandableFields: []
+ mandate_single_use:
+ description: ""
+ properties:
+ amount:
+ description: On a single use mandate, the amount of the payment.
+ type: integer
+ currency:
+ description: On a single use mandate, the currency of the payment.
+ type: string
+ required:
+ - amount
+ - currency
+ title: mandate_single_use
+ type: object
+ x-expandableFields: []
+ mandate_us_bank_account:
+ description: ""
+ properties: {}
+ title: mandate_us_bank_account
+ type: object
+ x-expandableFields: []
+ networks:
+ description: ""
+ properties:
+ available:
+ description: All available networks for the card.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ preferred:
+ description: The preferred network for the card.
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - available
+ title: networks
+ type: object
+ x-expandableFields: []
+ notification_event_data:
+ description: ""
+ properties:
+ object:
+ description: Object containing the API resource relevant to the event. For example, an `invoice.created` event will have a full [invoice object](https://stripe.com/docs/api#invoice_object) as the value of the object key.
+ type: object
+ previous_attributes:
+ description: Object containing the names of the attributes that have changed, and their previous values (sent along only with *.updated events).
+ type: object
+ required:
+ - object
+ title: NotificationEventData
+ type: object
+ x-expandableFields: []
+ notification_event_request:
+ description: ""
+ properties:
+ id:
+ description: ID of the API request that caused the event. If null, the event was automatic (e.g., Stripe's automatic subscription handling). Request logs are available in the [dashboard](https://dashboard.stripe.com/logs), but currently not in the API.
+ maxLength: 5000
+ nullable: true
+ type: string
+ idempotency_key:
+ description: "The idempotency key transmitted during the request, if any. *Note: This property is populated only for events on or after May 23, 2017*."
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: NotificationEventRequest
+ type: object
+ x-expandableFields: []
+ offline_acceptance:
+ description: ""
+ properties: {}
+ title: offline_acceptance
+ type: object
+ x-expandableFields: []
+ online_acceptance:
+ description: ""
+ properties:
+ ip_address:
+ description: The IP address from which the Mandate was accepted by the customer.
+ maxLength: 5000
+ nullable: true
+ type: string
+ user_agent:
+ description: The user agent of the browser from which the Mandate was accepted by the customer.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: online_acceptance
+ type: object
+ x-expandableFields: []
+ outbound_payments_payment_method_details:
+ description: ""
+ properties:
+ billing_details:
+ $ref: "#/components/schemas/treasury_shared_resource_billing_details"
+ financial_account:
+ $ref: "#/components/schemas/outbound_payments_payment_method_details_financial_account"
+ type:
+ description: The type of the payment method used in the OutboundPayment.
+ enum:
+ - financial_account
+ - us_bank_account
+ type: string
+ us_bank_account:
+ $ref: "#/components/schemas/outbound_payments_payment_method_details_us_bank_account"
+ required:
+ - billing_details
+ - type
+ title: OutboundPaymentsPaymentMethodDetails
+ type: object
+ x-expandableFields:
+ - billing_details
+ - financial_account
+ - us_bank_account
+ outbound_payments_payment_method_details_financial_account:
+ description: ""
+ properties:
+ id:
+ description: Token of the FinancialAccount.
+ maxLength: 5000
+ type: string
+ network:
+ description: The rails used to send funds.
+ enum:
+ - stripe
+ type: string
+ required:
+ - id
+ - network
+ title: outbound_payments_payment_method_details_financial_account
+ type: object
+ x-expandableFields: []
+ outbound_payments_payment_method_details_us_bank_account:
+ description: ""
+ properties:
+ account_holder_type:
+ description: "Account holder type: individual or company."
+ enum:
+ - company
+ - individual
+ nullable: true
+ type: string
+ account_type:
+ description: "Account type: checkings or savings. Defaults to checking if omitted."
+ enum:
+ - checking
+ - savings
+ nullable: true
+ type: string
+ bank_name:
+ description: Name of the bank associated with the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ fingerprint:
+ description: Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
+ maxLength: 5000
+ nullable: true
+ type: string
+ last4:
+ description: Last four digits of the bank account number.
+ maxLength: 5000
+ nullable: true
+ type: string
+ network:
+ description: The US bank account network used to send funds.
+ enum:
+ - ach
+ - us_domestic_wire
+ type: string
+ routing_number:
+ description: Routing number of the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - network
+ title: outbound_payments_payment_method_details_us_bank_account
+ type: object
+ x-expandableFields: []
+ outbound_transfers_payment_method_details:
+ description: ""
+ properties:
+ billing_details:
+ $ref: "#/components/schemas/treasury_shared_resource_billing_details"
+ type:
+ description: The type of the payment method used in the OutboundTransfer.
+ enum:
+ - us_bank_account
+ type: string
+ x-stripeBypassValidation: true
+ us_bank_account:
+ $ref: "#/components/schemas/outbound_transfers_payment_method_details_us_bank_account"
+ required:
+ - billing_details
+ - type
+ title: OutboundTransfersPaymentMethodDetails
+ type: object
+ x-expandableFields:
+ - billing_details
+ - us_bank_account
+ outbound_transfers_payment_method_details_us_bank_account:
+ description: ""
+ properties:
+ account_holder_type:
+ description: "Account holder type: individual or company."
+ enum:
+ - company
+ - individual
+ nullable: true
+ type: string
+ account_type:
+ description: "Account type: checkings or savings. Defaults to checking if omitted."
+ enum:
+ - checking
+ - savings
+ nullable: true
+ type: string
+ bank_name:
+ description: Name of the bank associated with the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ fingerprint:
+ description: Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
+ maxLength: 5000
+ nullable: true
+ type: string
+ last4:
+ description: Last four digits of the bank account number.
+ maxLength: 5000
+ nullable: true
+ type: string
+ network:
+ description: The US bank account network used to send funds.
+ enum:
+ - ach
+ - us_domestic_wire
+ type: string
+ routing_number:
+ description: Routing number of the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - network
+ title: outbound_transfers_payment_method_details_us_bank_account
+ type: object
+ x-expandableFields: []
+ package_dimensions:
+ description: ""
+ properties:
+ height:
+ description: Height, in inches.
+ type: number
+ length:
+ description: Length, in inches.
+ type: number
+ weight:
+ description: Weight, in ounces.
+ type: number
+ width:
+ description: Width, in inches.
+ type: number
+ required:
+ - height
+ - length
+ - weight
+ - width
+ title: PackageDimensions
+ type: object
+ x-expandableFields: []
+ payment_flows_amount_details:
+ description: ""
+ properties:
+ tip:
+ $ref: "#/components/schemas/payment_flows_amount_details_resource_tip"
+ title: PaymentFlowsAmountDetails
+ type: object
+ x-expandableFields:
+ - tip
+ payment_flows_amount_details_resource_tip:
+ description: ""
+ properties:
+ amount:
+ description: Portion of the amount that corresponds to a tip.
+ type: integer
+ title: PaymentFlowsAmountDetailsResourceTip
+ type: object
+ x-expandableFields: []
+ payment_flows_automatic_payment_methods_payment_intent:
+ description: ""
+ properties:
+ enabled:
+ description: Automatically calculates compatible payment methods
+ type: boolean
+ required:
+ - enabled
+ title: PaymentFlowsAutomaticPaymentMethodsPaymentIntent
+ type: object
+ x-expandableFields: []
+ payment_flows_automatic_payment_methods_setup_intent:
+ description: ""
+ properties:
+ enabled:
+ description: Automatically calculates compatible payment methods
+ nullable: true
+ type: boolean
+ title: PaymentFlowsAutomaticPaymentMethodsSetupIntent
+ type: object
+ x-expandableFields: []
+ payment_flows_installment_options:
+ description: ""
+ properties:
+ enabled:
+ type: boolean
+ plan:
+ $ref: "#/components/schemas/payment_method_details_card_installments_plan"
+ required:
+ - enabled
+ title: PaymentFlowsInstallmentOptions
+ type: object
+ x-expandableFields:
+ - plan
+ payment_flows_private_payment_methods_alipay:
+ description: ""
+ properties: {}
+ title: PaymentFlowsPrivatePaymentMethodsAlipay
+ type: object
+ x-expandableFields: []
+ payment_flows_private_payment_methods_alipay_details:
+ description: ""
+ properties:
+ buyer_id:
+ description: Uniquely identifies this particular Alipay account. You can use this attribute to check whether two Alipay accounts are the same.
+ maxLength: 5000
+ type: string
+ fingerprint:
+ description: Uniquely identifies this particular Alipay account. You can use this attribute to check whether two Alipay accounts are the same.
+ maxLength: 5000
+ nullable: true
+ type: string
+ transaction_id:
+ description: Transaction ID of this particular Alipay transaction.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: PaymentFlowsPrivatePaymentMethodsAlipayDetails
+ type: object
+ x-expandableFields: []
+ payment_flows_private_payment_methods_klarna_dob:
+ description: ""
+ properties:
+ day:
+ description: The day of birth, between 1 and 31.
+ nullable: true
+ type: integer
+ month:
+ description: The month of birth, between 1 and 12.
+ nullable: true
+ type: integer
+ year:
+ description: The four-digit year of birth.
+ nullable: true
+ type: integer
+ title: PaymentFlowsPrivatePaymentMethodsKlarnaDOB
+ type: object
+ x-expandableFields: []
+ payment_intent:
+ description: |-
+ A PaymentIntent guides you through the process of collecting a payment from your customer.
+ We recommend that you create exactly one PaymentIntent for each order or
+ customer session in your system. You can reference the PaymentIntent later to
+ see the history of payment attempts for a particular session.
+
+ A PaymentIntent transitions through
+ [multiple statuses](https://stripe.com/docs/payments/intents#intent-statuses)
+ throughout its lifetime as it interfaces with Stripe.js to perform
+ authentication flows and ultimately creates at most one successful charge.
+
+ Related guide: [Payment Intents API](https://stripe.com/docs/payments/payment-intents).
+ properties:
+ amount:
+ description: Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).
+ type: integer
+ amount_capturable:
+ description: Amount that can be captured from this PaymentIntent.
+ type: integer
+ amount_details:
+ $ref: "#/components/schemas/payment_flows_amount_details"
+ amount_received:
+ description: Amount that was collected by this PaymentIntent.
+ type: integer
+ application:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/application"
+ description: ID of the Connect application that created the PaymentIntent.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/application"
+ application_fee_amount:
+ description: The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).
+ nullable: true
+ type: integer
+ automatic_payment_methods:
+ anyOf:
+ - $ref: "#/components/schemas/payment_flows_automatic_payment_methods_payment_intent"
+ description: Settings to configure compatible payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods)
+ nullable: true
+ canceled_at:
+ description: Populated when `status` is `canceled`, this is the time at which the PaymentIntent was canceled. Measured in seconds since the Unix epoch.
+ format: unix-time
+ nullable: true
+ type: integer
+ cancellation_reason:
+ description: Reason for cancellation of this PaymentIntent, either user-provided (`duplicate`, `fraudulent`, `requested_by_customer`, or `abandoned`) or generated by Stripe internally (`failed_invoice`, `void_invoice`, or `automatic`).
+ enum:
+ - abandoned
+ - automatic
+ - duplicate
+ - failed_invoice
+ - fraudulent
+ - requested_by_customer
+ - void_invoice
+ nullable: true
+ type: string
+ capture_method:
+ description: Controls when the funds will be captured from the customer's account.
+ enum:
+ - automatic
+ - automatic_async
+ - manual
+ type: string
+ client_secret:
+ description: |-
+ The client secret of this PaymentIntent. Used for client-side retrieval using a publishable key.
+
+ The client secret can be used to complete a payment from your frontend. It should not be stored, logged, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret.
+
+ Refer to our docs to [accept a payment](https://stripe.com/docs/payments/accept-a-payment?ui=elements) and learn about how `client_secret` should be handled.
+ maxLength: 5000
+ nullable: true
+ type: string
+ confirmation_method:
+ enum:
+ - automatic
+ - manual
+ type: string
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ customer:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ description: |-
+ ID of the Customer this PaymentIntent belongs to, if one exists.
+
+ Payment methods attached to other Customers cannot be used with this PaymentIntent.
+
+ If present in combination with [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage), this PaymentIntent's payment method will be attached to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 5000
+ nullable: true
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ invoice:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/invoice"
+ description: ID of the invoice that created this PaymentIntent, if it exists.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/invoice"
+ last_payment_error:
+ anyOf:
+ - $ref: "#/components/schemas/api_errors"
+ description: The payment error encountered in the previous PaymentIntent confirmation. It will be cleared if the PaymentIntent is later updated for any reason.
+ nullable: true
+ latest_charge:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/charge"
+ description: The latest charge created by this payment intent.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/charge"
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. For more information, see the [documentation](https://stripe.com/docs/payments/payment-intents/creating-payment-intents#storing-information-in-metadata).
+ type: object
+ next_action:
+ anyOf:
+ - $ref: "#/components/schemas/payment_intent_next_action"
+ description: If present, this property tells you what actions you need to take in order for your customer to fulfill a payment using the provided source.
+ nullable: true
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - payment_intent
+ type: string
+ on_behalf_of:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/account"
+ description: The account (if any) for which the funds of the PaymentIntent are intended. See the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts) for details.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/account"
+ payment_method:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/payment_method"
+ description: ID of the payment method used in this PaymentIntent.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/payment_method"
+ payment_method_options:
+ anyOf:
+ - $ref: "#/components/schemas/payment_intent_payment_method_options"
+ description: Payment-method-specific configuration for this PaymentIntent.
+ nullable: true
+ payment_method_types:
+ description: The list of payment method types (e.g. card) that this PaymentIntent is allowed to use.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ processing:
+ anyOf:
+ - $ref: "#/components/schemas/payment_intent_processing"
+ description: If present, this property tells you about the processing state of the payment.
+ nullable: true
+ receipt_email:
+ description: Email address that the receipt for the resulting payment will be sent to. If `receipt_email` is specified for a payment in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails).
+ maxLength: 5000
+ nullable: true
+ type: string
+ review:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/review"
+ description: ID of the review associated with this PaymentIntent, if any.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/review"
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - off_session
+ - on_session
+ nullable: true
+ type: string
+ shipping:
+ anyOf:
+ - $ref: "#/components/schemas/shipping"
+ description: Shipping information for this PaymentIntent.
+ nullable: true
+ statement_descriptor:
+ description: For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.
+ maxLength: 5000
+ nullable: true
+ type: string
+ statement_descriptor_suffix:
+ description: Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.
+ maxLength: 5000
+ nullable: true
+ type: string
+ status:
+ description: Status of this PaymentIntent, one of `requires_payment_method`, `requires_confirmation`, `requires_action`, `processing`, `requires_capture`, `canceled`, or `succeeded`. Read more about each PaymentIntent [status](https://stripe.com/docs/payments/intents#intent-statuses).
+ enum:
+ - canceled
+ - processing
+ - requires_action
+ - requires_capture
+ - requires_confirmation
+ - requires_payment_method
+ - succeeded
+ type: string
+ transfer_data:
+ anyOf:
+ - $ref: "#/components/schemas/transfer_data"
+ description: The data with which to automatically create a Transfer when the payment is finalized. See the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts) for details.
+ nullable: true
+ transfer_group:
+ description: A string that identifies the resulting payment as part of a group. See the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts) for details.
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - amount
+ - capture_method
+ - confirmation_method
+ - created
+ - currency
+ - id
+ - livemode
+ - object
+ - payment_method_types
+ - status
+ title: PaymentIntent
+ type: object
+ x-expandableFields:
+ - amount_details
+ - application
+ - automatic_payment_methods
+ - customer
+ - invoice
+ - last_payment_error
+ - latest_charge
+ - next_action
+ - on_behalf_of
+ - payment_method
+ - payment_method_options
+ - processing
+ - review
+ - shipping
+ - transfer_data
+ x-resourceId: payment_intent
+ payment_intent_card_processing:
+ description: ""
+ properties:
+ customer_notification:
+ $ref: "#/components/schemas/payment_intent_processing_customer_notification"
+ title: PaymentIntentCardProcessing
+ type: object
+ x-expandableFields:
+ - customer_notification
+ payment_intent_next_action:
+ description: ""
+ properties:
+ alipay_handle_redirect:
+ $ref: "#/components/schemas/payment_intent_next_action_alipay_handle_redirect"
+ boleto_display_details:
+ $ref: "#/components/schemas/payment_intent_next_action_boleto"
+ card_await_notification:
+ $ref: "#/components/schemas/payment_intent_next_action_card_await_notification"
+ cashapp_handle_redirect_or_display_qr_code:
+ $ref: "#/components/schemas/payment_intent_next_action_cashapp_handle_redirect_or_display_qr_code"
+ display_bank_transfer_instructions:
+ $ref: "#/components/schemas/payment_intent_next_action_display_bank_transfer_instructions"
+ konbini_display_details:
+ $ref: "#/components/schemas/payment_intent_next_action_konbini"
+ oxxo_display_details:
+ $ref: "#/components/schemas/payment_intent_next_action_display_oxxo_details"
+ paynow_display_qr_code:
+ $ref: "#/components/schemas/payment_intent_next_action_paynow_display_qr_code"
+ pix_display_qr_code:
+ $ref: "#/components/schemas/payment_intent_next_action_pix_display_qr_code"
+ promptpay_display_qr_code:
+ $ref: "#/components/schemas/payment_intent_next_action_promptpay_display_qr_code"
+ redirect_to_url:
+ $ref: "#/components/schemas/payment_intent_next_action_redirect_to_url"
+ type:
+ description: Type of the next action to perform, one of `redirect_to_url`, `use_stripe_sdk`, `alipay_handle_redirect`, `oxxo_display_details`, or `verify_with_microdeposits`.
+ maxLength: 5000
+ type: string
+ use_stripe_sdk:
+ description: When confirming a PaymentIntent with Stripe.js, Stripe.js depends on the contents of this dictionary to invoke authentication flows. The shape of the contents is subject to change and is only intended to be used by Stripe.js.
+ type: object
+ verify_with_microdeposits:
+ $ref: "#/components/schemas/payment_intent_next_action_verify_with_microdeposits"
+ wechat_pay_display_qr_code:
+ $ref: "#/components/schemas/payment_intent_next_action_wechat_pay_display_qr_code"
+ wechat_pay_redirect_to_android_app:
+ $ref: "#/components/schemas/payment_intent_next_action_wechat_pay_redirect_to_android_app"
+ wechat_pay_redirect_to_ios_app:
+ $ref: "#/components/schemas/payment_intent_next_action_wechat_pay_redirect_to_ios_app"
+ required:
+ - type
+ title: PaymentIntentNextAction
+ type: object
+ x-expandableFields:
+ - alipay_handle_redirect
+ - boleto_display_details
+ - card_await_notification
+ - cashapp_handle_redirect_or_display_qr_code
+ - display_bank_transfer_instructions
+ - konbini_display_details
+ - oxxo_display_details
+ - paynow_display_qr_code
+ - pix_display_qr_code
+ - promptpay_display_qr_code
+ - redirect_to_url
+ - verify_with_microdeposits
+ - wechat_pay_display_qr_code
+ - wechat_pay_redirect_to_android_app
+ - wechat_pay_redirect_to_ios_app
+ payment_intent_next_action_alipay_handle_redirect:
+ description: ""
+ properties:
+ native_data:
+ description: The native data to be used with Alipay SDK you must redirect your customer to in order to authenticate the payment in an Android App.
+ maxLength: 5000
+ nullable: true
+ type: string
+ native_url:
+ description: The native URL you must redirect your customer to in order to authenticate the payment in an iOS App.
+ maxLength: 5000
+ nullable: true
+ type: string
+ return_url:
+ description: If the customer does not exit their browser while authenticating, they will be redirected to this specified URL after completion.
+ maxLength: 5000
+ nullable: true
+ type: string
+ url:
+ description: The URL you must redirect your customer to in order to authenticate the payment.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: PaymentIntentNextActionAlipayHandleRedirect
+ type: object
+ x-expandableFields: []
+ payment_intent_next_action_boleto:
+ description: ""
+ properties:
+ expires_at:
+ description: The timestamp after which the boleto expires.
+ format: unix-time
+ nullable: true
+ type: integer
+ hosted_voucher_url:
+ description: The URL to the hosted boleto voucher page, which allows customers to view the boleto voucher.
+ maxLength: 5000
+ nullable: true
+ type: string
+ number:
+ description: The boleto number.
+ maxLength: 5000
+ nullable: true
+ type: string
+ pdf:
+ description: The URL to the downloadable boleto voucher PDF.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_intent_next_action_boleto
+ type: object
+ x-expandableFields: []
+ payment_intent_next_action_card_await_notification:
+ description: ""
+ properties:
+ charge_attempt_at:
+ description: The time that payment will be attempted. If customer approval is required, they need to provide approval before this time.
+ format: unix-time
+ nullable: true
+ type: integer
+ customer_approval_required:
+ description: For payments greater than INR 15000, the customer must provide explicit approval of the payment with their bank. For payments of lower amount, no customer action is required.
+ nullable: true
+ type: boolean
+ title: PaymentIntentNextActionCardAwaitNotification
+ type: object
+ x-expandableFields: []
+ payment_intent_next_action_cashapp_handle_redirect_or_display_qr_code:
+ description: ""
+ properties:
+ hosted_instructions_url:
+ description: The URL to the hosted Cash App Pay instructions page, which allows customers to view the QR code, and supports QR code refreshing on expiration.
+ maxLength: 5000
+ type: string
+ mobile_auth_url:
+ description: The url for mobile redirect based auth
+ maxLength: 5000
+ type: string
+ qr_code:
+ $ref: "#/components/schemas/payment_intent_next_action_cashapp_qr_code"
+ required:
+ - hosted_instructions_url
+ - mobile_auth_url
+ - qr_code
+ title: PaymentIntentNextActionCashappHandleRedirectOrDisplayQrCode
+ type: object
+ x-expandableFields:
+ - qr_code
+ payment_intent_next_action_cashapp_qr_code:
+ description: ""
+ properties:
+ expires_at:
+ description: The date (unix timestamp) when the QR code expires.
+ format: unix-time
+ type: integer
+ image_url_png:
+ description: The image_url_png string used to render QR code
+ maxLength: 5000
+ type: string
+ image_url_svg:
+ description: The image_url_svg string used to render QR code
+ maxLength: 5000
+ type: string
+ required:
+ - expires_at
+ - image_url_png
+ - image_url_svg
+ title: PaymentIntentNextActionCashappQRCode
+ type: object
+ x-expandableFields: []
+ payment_intent_next_action_display_bank_transfer_instructions:
+ description: ""
+ properties:
+ amount_remaining:
+ description: The remaining amount that needs to be transferred to complete the payment.
+ nullable: true
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ nullable: true
+ type: string
+ financial_addresses:
+ description: A list of financial addresses that can be used to fund the customer balance
+ items:
+ $ref: "#/components/schemas/funding_instructions_bank_transfer_financial_address"
+ type: array
+ hosted_instructions_url:
+ description: A link to a hosted page that guides your customer through completing the transfer.
+ maxLength: 5000
+ nullable: true
+ type: string
+ reference:
+ description: A string identifying this payment. Instruct your customer to include this code in the reference or memo field of their bank transfer.
+ maxLength: 5000
+ nullable: true
+ type: string
+ type:
+ description: Type of bank transfer
+ enum:
+ - eu_bank_transfer
+ - gb_bank_transfer
+ - jp_bank_transfer
+ - mx_bank_transfer
+ type: string
+ x-stripeBypassValidation: true
+ required:
+ - type
+ title: PaymentIntentNextActionDisplayBankTransferInstructions
+ type: object
+ x-expandableFields:
+ - financial_addresses
+ payment_intent_next_action_display_oxxo_details:
+ description: ""
+ properties:
+ expires_after:
+ description: The timestamp after which the OXXO voucher expires.
+ format: unix-time
+ nullable: true
+ type: integer
+ hosted_voucher_url:
+ description: The URL for the hosted OXXO voucher page, which allows customers to view and print an OXXO voucher.
+ maxLength: 5000
+ nullable: true
+ type: string
+ number:
+ description: OXXO reference number.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: PaymentIntentNextActionDisplayOxxoDetails
+ type: object
+ x-expandableFields: []
+ payment_intent_next_action_konbini:
+ description: ""
+ properties:
+ expires_at:
+ description: The timestamp at which the pending Konbini payment expires.
+ format: unix-time
+ type: integer
+ hosted_voucher_url:
+ description: The URL for the Konbini payment instructions page, which allows customers to view and print a Konbini voucher.
+ maxLength: 5000
+ nullable: true
+ type: string
+ stores:
+ $ref: "#/components/schemas/payment_intent_next_action_konbini_stores"
+ required:
+ - expires_at
+ - stores
+ title: payment_intent_next_action_konbini
+ type: object
+ x-expandableFields:
+ - stores
+ payment_intent_next_action_konbini_familymart:
+ description: ""
+ properties:
+ confirmation_number:
+ description: The confirmation number.
+ maxLength: 5000
+ type: string
+ payment_code:
+ description: The payment code.
+ maxLength: 5000
+ type: string
+ required:
+ - payment_code
+ title: payment_intent_next_action_konbini_familymart
+ type: object
+ x-expandableFields: []
+ payment_intent_next_action_konbini_lawson:
+ description: ""
+ properties:
+ confirmation_number:
+ description: The confirmation number.
+ maxLength: 5000
+ type: string
+ payment_code:
+ description: The payment code.
+ maxLength: 5000
+ type: string
+ required:
+ - payment_code
+ title: payment_intent_next_action_konbini_lawson
+ type: object
+ x-expandableFields: []
+ payment_intent_next_action_konbini_ministop:
+ description: ""
+ properties:
+ confirmation_number:
+ description: The confirmation number.
+ maxLength: 5000
+ type: string
+ payment_code:
+ description: The payment code.
+ maxLength: 5000
+ type: string
+ required:
+ - payment_code
+ title: payment_intent_next_action_konbini_ministop
+ type: object
+ x-expandableFields: []
+ payment_intent_next_action_konbini_seicomart:
+ description: ""
+ properties:
+ confirmation_number:
+ description: The confirmation number.
+ maxLength: 5000
+ type: string
+ payment_code:
+ description: The payment code.
+ maxLength: 5000
+ type: string
+ required:
+ - payment_code
+ title: payment_intent_next_action_konbini_seicomart
+ type: object
+ x-expandableFields: []
+ payment_intent_next_action_konbini_stores:
+ description: ""
+ properties:
+ familymart:
+ anyOf:
+ - $ref: "#/components/schemas/payment_intent_next_action_konbini_familymart"
+ description: FamilyMart instruction details.
+ nullable: true
+ lawson:
+ anyOf:
+ - $ref: "#/components/schemas/payment_intent_next_action_konbini_lawson"
+ description: Lawson instruction details.
+ nullable: true
+ ministop:
+ anyOf:
+ - $ref: "#/components/schemas/payment_intent_next_action_konbini_ministop"
+ description: Ministop instruction details.
+ nullable: true
+ seicomart:
+ anyOf:
+ - $ref: "#/components/schemas/payment_intent_next_action_konbini_seicomart"
+ description: Seicomart instruction details.
+ nullable: true
+ title: payment_intent_next_action_konbini_stores
+ type: object
+ x-expandableFields:
+ - familymart
+ - lawson
+ - ministop
+ - seicomart
+ payment_intent_next_action_paynow_display_qr_code:
+ description: ""
+ properties:
+ data:
+ description: The raw data string used to generate QR code, it should be used together with QR code library.
+ maxLength: 5000
+ type: string
+ hosted_instructions_url:
+ description: The URL to the hosted PayNow instructions page, which allows customers to view the PayNow QR code.
+ maxLength: 5000
+ nullable: true
+ type: string
+ image_url_png:
+ description: The image_url_png string used to render QR code
+ maxLength: 5000
+ type: string
+ image_url_svg:
+ description: The image_url_svg string used to render QR code
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - image_url_png
+ - image_url_svg
+ title: PaymentIntentNextActionPaynowDisplayQrCode
+ type: object
+ x-expandableFields: []
+ payment_intent_next_action_pix_display_qr_code:
+ description: ""
+ properties:
+ data:
+ description: The raw data string used to generate QR code, it should be used together with QR code library.
+ maxLength: 5000
+ type: string
+ expires_at:
+ description: The date (unix timestamp) when the PIX expires.
+ type: integer
+ hosted_instructions_url:
+ description: The URL to the hosted pix instructions page, which allows customers to view the pix QR code.
+ maxLength: 5000
+ type: string
+ image_url_png:
+ description: The image_url_png string used to render png QR code
+ maxLength: 5000
+ type: string
+ image_url_svg:
+ description: The image_url_svg string used to render svg QR code
+ maxLength: 5000
+ type: string
+ title: PaymentIntentNextActionPixDisplayQrCode
+ type: object
+ x-expandableFields: []
+ payment_intent_next_action_promptpay_display_qr_code:
+ description: ""
+ properties:
+ data:
+ description: The raw data string used to generate QR code, it should be used together with QR code library.
+ maxLength: 5000
+ type: string
+ hosted_instructions_url:
+ description: The URL to the hosted PromptPay instructions page, which allows customers to view the PromptPay QR code.
+ maxLength: 5000
+ type: string
+ image_url_png:
+ description: The PNG path used to render the QR code, can be used as the source in an HTML img tag
+ maxLength: 5000
+ type: string
+ image_url_svg:
+ description: The SVG path used to render the QR code, can be used as the source in an HTML img tag
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - hosted_instructions_url
+ - image_url_png
+ - image_url_svg
+ title: PaymentIntentNextActionPromptpayDisplayQrCode
+ type: object
+ x-expandableFields: []
+ payment_intent_next_action_redirect_to_url:
+ description: ""
+ properties:
+ return_url:
+ description: If the customer does not exit their browser while authenticating, they will be redirected to this specified URL after completion.
+ maxLength: 5000
+ nullable: true
+ type: string
+ url:
+ description: The URL you must redirect your customer to in order to authenticate the payment.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: PaymentIntentNextActionRedirectToUrl
+ type: object
+ x-expandableFields: []
+ payment_intent_next_action_verify_with_microdeposits:
+ description: ""
+ properties:
+ arrival_date:
+ description: The timestamp when the microdeposits are expected to land.
+ format: unix-time
+ type: integer
+ hosted_verification_url:
+ description: The URL for the hosted verification page, which allows customers to verify their bank account.
+ maxLength: 5000
+ type: string
+ microdeposit_type:
+ description: The type of the microdeposit sent to the customer. Used to distinguish between different verification methods.
+ enum:
+ - amounts
+ - descriptor_code
+ nullable: true
+ type: string
+ required:
+ - arrival_date
+ - hosted_verification_url
+ title: PaymentIntentNextActionVerifyWithMicrodeposits
+ type: object
+ x-expandableFields: []
+ payment_intent_next_action_wechat_pay_display_qr_code:
+ description: ""
+ properties:
+ data:
+ description: The data being used to generate QR code
+ maxLength: 5000
+ type: string
+ hosted_instructions_url:
+ description: The URL to the hosted WeChat Pay instructions page, which allows customers to view the WeChat Pay QR code.
+ maxLength: 5000
+ type: string
+ image_data_url:
+ description: The base64 image data for a pre-generated QR code
+ maxLength: 5000
+ type: string
+ image_url_png:
+ description: The image_url_png string used to render QR code
+ maxLength: 5000
+ type: string
+ image_url_svg:
+ description: The image_url_svg string used to render QR code
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - hosted_instructions_url
+ - image_data_url
+ - image_url_png
+ - image_url_svg
+ title: PaymentIntentNextActionWechatPayDisplayQrCode
+ type: object
+ x-expandableFields: []
+ payment_intent_next_action_wechat_pay_redirect_to_android_app:
+ description: ""
+ properties:
+ app_id:
+ description: app_id is the APP ID registered on WeChat open platform
+ maxLength: 5000
+ type: string
+ nonce_str:
+ description: nonce_str is a random string
+ maxLength: 5000
+ type: string
+ package:
+ description: package is static value
+ maxLength: 5000
+ type: string
+ partner_id:
+ description: an unique merchant ID assigned by WeChat Pay
+ maxLength: 5000
+ type: string
+ prepay_id:
+ description: an unique trading ID assigned by WeChat Pay
+ maxLength: 5000
+ type: string
+ sign:
+ description: A signature
+ maxLength: 5000
+ type: string
+ timestamp:
+ description: Specifies the current time in epoch format
+ maxLength: 5000
+ type: string
+ required:
+ - app_id
+ - nonce_str
+ - package
+ - partner_id
+ - prepay_id
+ - sign
+ - timestamp
+ title: PaymentIntentNextActionWechatPayRedirectToAndroidApp
+ type: object
+ x-expandableFields: []
+ payment_intent_next_action_wechat_pay_redirect_to_ios_app:
+ description: ""
+ properties:
+ native_url:
+ description: An universal link that redirect to WeChat Pay app
+ maxLength: 5000
+ type: string
+ required:
+ - native_url
+ title: PaymentIntentNextActionWechatPayRedirectToIOSApp
+ type: object
+ x-expandableFields: []
+ payment_intent_payment_method_options:
+ description: ""
+ properties:
+ acss_debit:
+ anyOf:
+ - $ref: "#/components/schemas/payment_intent_payment_method_options_acss_debit"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ affirm:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_options_affirm"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ afterpay_clearpay:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_options_afterpay_clearpay"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ alipay:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_options_alipay"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ au_becs_debit:
+ anyOf:
+ - $ref: "#/components/schemas/payment_intent_payment_method_options_au_becs_debit"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ bacs_debit:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_options_bacs_debit"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ bancontact:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_options_bancontact"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ blik:
+ anyOf:
+ - $ref: "#/components/schemas/payment_intent_payment_method_options_blik"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ boleto:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_options_boleto"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ card:
+ anyOf:
+ - $ref: "#/components/schemas/payment_intent_payment_method_options_card"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ card_present:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_options_card_present"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ cashapp:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_options_cashapp"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ customer_balance:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_options_customer_balance"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ eps:
+ anyOf:
+ - $ref: "#/components/schemas/payment_intent_payment_method_options_eps"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ fpx:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_options_fpx"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ giropay:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_options_giropay"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ grabpay:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_options_grabpay"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ ideal:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_options_ideal"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ interac_present:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_options_interac_present"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ klarna:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_options_klarna"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ konbini:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_options_konbini"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ link:
+ anyOf:
+ - $ref: "#/components/schemas/payment_intent_payment_method_options_link"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ oxxo:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_options_oxxo"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ p24:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_options_p24"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ paynow:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_options_paynow"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ pix:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_options_pix"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ promptpay:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_options_promptpay"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ sepa_debit:
+ anyOf:
+ - $ref: "#/components/schemas/payment_intent_payment_method_options_sepa_debit"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ sofort:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_options_sofort"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ us_bank_account:
+ anyOf:
+ - $ref: "#/components/schemas/payment_intent_payment_method_options_us_bank_account"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ wechat_pay:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_options_wechat_pay"
+ - $ref: "#/components/schemas/payment_intent_type_specific_payment_method_options_client"
+ title: PaymentIntentPaymentMethodOptions
+ type: object
+ x-expandableFields:
+ - acss_debit
+ - affirm
+ - afterpay_clearpay
+ - alipay
+ - au_becs_debit
+ - bacs_debit
+ - bancontact
+ - blik
+ - boleto
+ - card
+ - card_present
+ - cashapp
+ - customer_balance
+ - eps
+ - fpx
+ - giropay
+ - grabpay
+ - ideal
+ - interac_present
+ - klarna
+ - konbini
+ - link
+ - oxxo
+ - p24
+ - paynow
+ - pix
+ - promptpay
+ - sepa_debit
+ - sofort
+ - us_bank_account
+ - wechat_pay
+ payment_intent_payment_method_options_acss_debit:
+ description: ""
+ properties:
+ mandate_options:
+ $ref: "#/components/schemas/payment_intent_payment_method_options_mandate_options_acss_debit"
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ - off_session
+ - on_session
+ type: string
+ verification_method:
+ description: Bank account verification method.
+ enum:
+ - automatic
+ - instant
+ - microdeposits
+ type: string
+ x-stripeBypassValidation: true
+ title: payment_intent_payment_method_options_acss_debit
+ type: object
+ x-expandableFields:
+ - mandate_options
+ payment_intent_payment_method_options_au_becs_debit:
+ description: ""
+ properties:
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ - off_session
+ - on_session
+ type: string
+ title: payment_intent_payment_method_options_au_becs_debit
+ type: object
+ x-expandableFields: []
+ payment_intent_payment_method_options_blik:
+ description: ""
+ properties: {}
+ title: payment_intent_payment_method_options_blik
+ type: object
+ x-expandableFields: []
+ payment_intent_payment_method_options_card:
+ description: ""
+ properties:
+ capture_method:
+ description: Controls when the funds will be captured from the customer's account.
+ enum:
+ - manual
+ type: string
+ installments:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_options_card_installments"
+ description: |-
+ Installment details for this payment (Mexico only).
+
+ For more information, see the [installments integration guide](https://stripe.com/docs/payments/installments).
+ nullable: true
+ mandate_options:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_options_card_mandate_options"
+ description: Configuration options for setting up an eMandate for cards issued in India.
+ nullable: true
+ network:
+ description: Selected network to process this payment intent on. Depends on the available networks of the card attached to the payment intent. Can be only set confirm-time.
+ enum:
+ - amex
+ - cartes_bancaires
+ - diners
+ - discover
+ - interac
+ - jcb
+ - mastercard
+ - unionpay
+ - unknown
+ - visa
+ nullable: true
+ type: string
+ request_three_d_secure:
+ description: "We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Permitted values include: `automatic` or `any`. If not provided, defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine."
+ enum:
+ - any
+ - automatic
+ - challenge_only
+ nullable: true
+ type: string
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ - off_session
+ - on_session
+ type: string
+ statement_descriptor_suffix_kana:
+ description: Provides information about a card payment that customers see on their statements. Concatenated with the Kana prefix (shortened Kana descriptor) or Kana statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 22 characters.
+ maxLength: 5000
+ type: string
+ statement_descriptor_suffix_kanji:
+ description: Provides information about a card payment that customers see on their statements. Concatenated with the Kanji prefix (shortened Kanji descriptor) or Kanji statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 17 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 17 characters.
+ maxLength: 5000
+ type: string
+ title: payment_intent_payment_method_options_card
+ type: object
+ x-expandableFields:
+ - installments
+ - mandate_options
+ payment_intent_payment_method_options_eps:
+ description: ""
+ properties:
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ title: payment_intent_payment_method_options_eps
+ type: object
+ x-expandableFields: []
+ payment_intent_payment_method_options_link:
+ description: ""
+ properties:
+ capture_method:
+ description: Controls when the funds will be captured from the customer's account.
+ enum:
+ - manual
+ type: string
+ persistent_token:
+ description: Token used for persistent Link logins.
+ maxLength: 5000
+ nullable: true
+ type: string
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ - off_session
+ type: string
+ title: payment_intent_payment_method_options_link
+ type: object
+ x-expandableFields: []
+ payment_intent_payment_method_options_mandate_options_acss_debit:
+ description: ""
+ properties:
+ custom_mandate_url:
+ description: A URL for custom mandate text
+ maxLength: 5000
+ type: string
+ interval_description:
+ description: Description of the interval. Only required if the 'payment_schedule' parameter is 'interval' or 'combined'.
+ maxLength: 5000
+ nullable: true
+ type: string
+ payment_schedule:
+ description: Payment schedule for the mandate.
+ enum:
+ - combined
+ - interval
+ - sporadic
+ nullable: true
+ type: string
+ transaction_type:
+ description: Transaction type of the mandate.
+ enum:
+ - business
+ - personal
+ nullable: true
+ type: string
+ title: payment_intent_payment_method_options_mandate_options_acss_debit
+ type: object
+ x-expandableFields: []
+ payment_intent_payment_method_options_mandate_options_sepa_debit:
+ description: ""
+ properties: {}
+ title: payment_intent_payment_method_options_mandate_options_sepa_debit
+ type: object
+ x-expandableFields: []
+ payment_intent_payment_method_options_sepa_debit:
+ description: ""
+ properties:
+ mandate_options:
+ $ref: "#/components/schemas/payment_intent_payment_method_options_mandate_options_sepa_debit"
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ - off_session
+ - on_session
+ type: string
+ title: payment_intent_payment_method_options_sepa_debit
+ type: object
+ x-expandableFields:
+ - mandate_options
+ payment_intent_payment_method_options_us_bank_account:
+ description: ""
+ properties:
+ financial_connections:
+ $ref: "#/components/schemas/linked_account_options_us_bank_account"
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ - off_session
+ - on_session
+ type: string
+ verification_method:
+ description: Bank account verification method.
+ enum:
+ - automatic
+ - instant
+ - microdeposits
+ type: string
+ x-stripeBypassValidation: true
+ title: payment_intent_payment_method_options_us_bank_account
+ type: object
+ x-expandableFields:
+ - financial_connections
+ payment_intent_processing:
+ description: ""
+ properties:
+ card:
+ $ref: "#/components/schemas/payment_intent_card_processing"
+ type:
+ description: Type of the payment method for which payment is in `processing` state, one of `card`.
+ enum:
+ - card
+ type: string
+ required:
+ - type
+ title: PaymentIntentProcessing
+ type: object
+ x-expandableFields:
+ - card
+ payment_intent_processing_customer_notification:
+ description: ""
+ properties:
+ approval_requested:
+ description: Whether customer approval has been requested for this payment. For payments greater than INR 15000 or mandate amount, the customer must provide explicit approval of the payment with their bank.
+ nullable: true
+ type: boolean
+ completes_at:
+ description: If customer approval is required, they need to provide approval before this time.
+ format: unix-time
+ nullable: true
+ type: integer
+ title: PaymentIntentProcessingCustomerNotification
+ type: object
+ x-expandableFields: []
+ payment_intent_type_specific_payment_method_options_client:
+ description: ""
+ properties:
+ capture_method:
+ description: Controls when the funds will be captured from the customer's account.
+ enum:
+ - manual
+ - manual_preferred
+ type: string
+ installments:
+ $ref: "#/components/schemas/payment_flows_installment_options"
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ - off_session
+ - on_session
+ type: string
+ verification_method:
+ description: Bank account verification method.
+ enum:
+ - automatic
+ - instant
+ - microdeposits
+ type: string
+ x-stripeBypassValidation: true
+ title: PaymentIntentTypeSpecificPaymentMethodOptionsClient
+ type: object
+ x-expandableFields:
+ - installments
+ payment_link:
+ description: |-
+ A payment link is a shareable URL that will take your customers to a hosted payment page. A payment link can be shared and used multiple times.
+
+ When a customer opens a payment link it will open a new [checkout session](https://stripe.com/docs/api/checkout/sessions) to render the payment page. You can use [checkout session events](https://stripe.com/docs/api/events/types#event_types-checkout.session.completed) to track payments through payment links.
+
+ Related guide: [Payment Links API](https://stripe.com/docs/payment-links)
+ properties:
+ active:
+ description: Whether the payment link's `url` is active. If `false`, customers visiting the URL will be shown a page saying that the link has been deactivated.
+ type: boolean
+ after_completion:
+ $ref: "#/components/schemas/payment_links_resource_after_completion"
+ allow_promotion_codes:
+ description: Whether user redeemable promotion codes are enabled.
+ type: boolean
+ application_fee_amount:
+ description: The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account.
+ nullable: true
+ type: integer
+ application_fee_percent:
+ description: This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account.
+ nullable: true
+ type: number
+ automatic_tax:
+ $ref: "#/components/schemas/payment_links_resource_automatic_tax"
+ billing_address_collection:
+ description: Configuration for collecting the customer's billing address.
+ enum:
+ - auto
+ - required
+ type: string
+ consent_collection:
+ anyOf:
+ - $ref: "#/components/schemas/payment_links_resource_consent_collection"
+ description: When set, provides configuration to gather active consent from customers.
+ nullable: true
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ custom_fields:
+ description: Collect additional information from your customer using custom fields. Up to 2 fields are supported.
+ items:
+ $ref: "#/components/schemas/payment_links_resource_custom_fields"
+ type: array
+ custom_text:
+ $ref: "#/components/schemas/payment_links_resource_custom_text"
+ customer_creation:
+ description: Configuration for Customer creation during checkout.
+ enum:
+ - always
+ - if_required
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ invoice_creation:
+ anyOf:
+ - $ref: "#/components/schemas/payment_links_resource_invoice_creation"
+ description: Configuration for creating invoice for payment mode payment links.
+ nullable: true
+ line_items:
+ description: The line items representing what is being sold.
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/item"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: PaymentLinksResourceListLineItems
+ type: object
+ x-expandableFields:
+ - data
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - payment_link
+ type: string
+ on_behalf_of:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/account"
+ description: The account on behalf of which to charge. See the [Connect documentation](https://support.stripe.com/questions/sending-invoices-on-behalf-of-connected-accounts) for details.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/account"
+ payment_intent_data:
+ anyOf:
+ - $ref: "#/components/schemas/payment_links_resource_payment_intent_data"
+ description: Indicates the parameters to be passed to PaymentIntent creation during checkout.
+ nullable: true
+ payment_method_collection:
+ description: Configuration for collecting a payment method during checkout.
+ enum:
+ - always
+ - if_required
+ type: string
+ payment_method_types:
+ description: The list of payment method types that customers can use. When `null`, Stripe will dynamically show relevant payment methods you've enabled in your [payment method settings](https://dashboard.stripe.com/settings/payment_methods).
+ items:
+ enum:
+ - affirm
+ - afterpay_clearpay
+ - alipay
+ - au_becs_debit
+ - bacs_debit
+ - bancontact
+ - blik
+ - boleto
+ - card
+ - cashapp
+ - eps
+ - fpx
+ - giropay
+ - grabpay
+ - ideal
+ - klarna
+ - konbini
+ - link
+ - oxxo
+ - p24
+ - paynow
+ - pix
+ - promptpay
+ - sepa_debit
+ - sofort
+ - us_bank_account
+ - wechat_pay
+ type: string
+ x-stripeBypassValidation: true
+ nullable: true
+ type: array
+ phone_number_collection:
+ $ref: "#/components/schemas/payment_links_resource_phone_number_collection"
+ shipping_address_collection:
+ anyOf:
+ - $ref: "#/components/schemas/payment_links_resource_shipping_address_collection"
+ description: Configuration for collecting the customer's shipping address.
+ nullable: true
+ shipping_options:
+ description: The shipping rate options applied to the session.
+ items:
+ $ref: "#/components/schemas/payment_links_resource_shipping_option"
+ type: array
+ submit_type:
+ description: Indicates the type of transaction being performed which customizes relevant text on the page, such as the submit button.
+ enum:
+ - auto
+ - book
+ - donate
+ - pay
+ type: string
+ subscription_data:
+ anyOf:
+ - $ref: "#/components/schemas/payment_links_resource_subscription_data"
+ description: When creating a subscription, the specified configuration data will be used. There must be at least one line item with a recurring price to use `subscription_data`.
+ nullable: true
+ tax_id_collection:
+ $ref: "#/components/schemas/payment_links_resource_tax_id_collection"
+ transfer_data:
+ anyOf:
+ - $ref: "#/components/schemas/payment_links_resource_transfer_data"
+ description: The account (if any) the payments will be attributed to for tax reporting, and where funds from each payment will be transferred to.
+ nullable: true
+ url:
+ description: The public URL that can be shared with customers.
+ maxLength: 5000
+ type: string
+ required:
+ - active
+ - after_completion
+ - allow_promotion_codes
+ - automatic_tax
+ - billing_address_collection
+ - currency
+ - custom_fields
+ - custom_text
+ - customer_creation
+ - id
+ - livemode
+ - metadata
+ - object
+ - payment_method_collection
+ - phone_number_collection
+ - shipping_options
+ - submit_type
+ - tax_id_collection
+ - url
+ title: PaymentLink
+ type: object
+ x-expandableFields:
+ - after_completion
+ - automatic_tax
+ - consent_collection
+ - custom_fields
+ - custom_text
+ - invoice_creation
+ - line_items
+ - on_behalf_of
+ - payment_intent_data
+ - phone_number_collection
+ - shipping_address_collection
+ - shipping_options
+ - subscription_data
+ - tax_id_collection
+ - transfer_data
+ x-resourceId: payment_link
+ payment_links_resource_after_completion:
+ description: ""
+ properties:
+ hosted_confirmation:
+ $ref: "#/components/schemas/payment_links_resource_completion_behavior_confirmation_page"
+ redirect:
+ $ref: "#/components/schemas/payment_links_resource_completion_behavior_redirect"
+ type:
+ description: The specified behavior after the purchase is complete.
+ enum:
+ - hosted_confirmation
+ - redirect
+ type: string
+ required:
+ - type
+ title: PaymentLinksResourceAfterCompletion
+ type: object
+ x-expandableFields:
+ - hosted_confirmation
+ - redirect
+ payment_links_resource_automatic_tax:
+ description: ""
+ properties:
+ enabled:
+ description: If `true`, tax will be calculated automatically using the customer's location.
+ type: boolean
+ required:
+ - enabled
+ title: PaymentLinksResourceAutomaticTax
+ type: object
+ x-expandableFields: []
+ payment_links_resource_completion_behavior_confirmation_page:
+ description: ""
+ properties:
+ custom_message:
+ description: The custom message that is displayed to the customer after the purchase is complete.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: PaymentLinksResourceCompletionBehaviorConfirmationPage
+ type: object
+ x-expandableFields: []
+ payment_links_resource_completion_behavior_redirect:
+ description: ""
+ properties:
+ url:
+ description: The URL the customer will be redirected to after the purchase is complete.
+ maxLength: 5000
+ type: string
+ required:
+ - url
+ title: PaymentLinksResourceCompletionBehaviorRedirect
+ type: object
+ x-expandableFields: []
+ payment_links_resource_consent_collection:
+ description: ""
+ properties:
+ promotions:
+ description: If set to `auto`, enables the collection of customer consent for promotional communications.
+ enum:
+ - auto
+ - none
+ nullable: true
+ type: string
+ terms_of_service:
+ description: If set to `required`, it requires cutomers to accept the terms of service before being able to pay. If set to `none`, customers won't be shown a checkbox to accept the terms of service.
+ enum:
+ - none
+ - required
+ nullable: true
+ type: string
+ title: PaymentLinksResourceConsentCollection
+ type: object
+ x-expandableFields: []
+ payment_links_resource_custom_fields:
+ description: ""
+ properties:
+ dropdown:
+ anyOf:
+ - $ref: "#/components/schemas/payment_links_resource_custom_fields_dropdown"
+ description: Configuration for `type=dropdown` fields.
+ nullable: true
+ key:
+ description: String of your choice that your integration can use to reconcile this field. Must be unique to this field, alphanumeric, and up to 200 characters.
+ maxLength: 5000
+ type: string
+ label:
+ $ref: "#/components/schemas/payment_links_resource_custom_fields_label"
+ optional:
+ description: Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`.
+ type: boolean
+ type:
+ description: The type of the field.
+ enum:
+ - dropdown
+ - numeric
+ - text
+ type: string
+ required:
+ - key
+ - label
+ - optional
+ - type
+ title: PaymentLinksResourceCustomFields
+ type: object
+ x-expandableFields:
+ - dropdown
+ - label
+ payment_links_resource_custom_fields_dropdown:
+ description: ""
+ properties:
+ options:
+ description: The options available for the customer to select. Up to 200 options allowed.
+ items:
+ $ref: "#/components/schemas/payment_links_resource_custom_fields_dropdown_option"
+ type: array
+ required:
+ - options
+ title: PaymentLinksResourceCustomFieldsDropdown
+ type: object
+ x-expandableFields:
+ - options
+ payment_links_resource_custom_fields_dropdown_option:
+ description: ""
+ properties:
+ label:
+ description: The label for the option, displayed to the customer. Up to 100 characters.
+ maxLength: 5000
+ type: string
+ value:
+ description: The value for this option, not displayed to the customer, used by your integration to reconcile the option selected by the customer. Must be unique to this option, alphanumeric, and up to 100 characters.
+ maxLength: 5000
+ type: string
+ required:
+ - label
+ - value
+ title: PaymentLinksResourceCustomFieldsDropdownOption
+ type: object
+ x-expandableFields: []
+ payment_links_resource_custom_fields_label:
+ description: ""
+ properties:
+ custom:
+ description: Custom text for the label, displayed to the customer. Up to 50 characters.
+ maxLength: 5000
+ nullable: true
+ type: string
+ type:
+ description: The type of the label.
+ enum:
+ - custom
+ type: string
+ required:
+ - type
+ title: PaymentLinksResourceCustomFieldsLabel
+ type: object
+ x-expandableFields: []
+ payment_links_resource_custom_text:
+ description: ""
+ properties:
+ shipping_address:
+ anyOf:
+ - $ref: "#/components/schemas/payment_links_resource_custom_text_position"
+ description: Custom text that should be displayed alongside shipping address collection.
+ nullable: true
+ submit:
+ anyOf:
+ - $ref: "#/components/schemas/payment_links_resource_custom_text_position"
+ description: Custom text that should be displayed alongside the payment confirmation button.
+ nullable: true
+ title: PaymentLinksResourceCustomText
+ type: object
+ x-expandableFields:
+ - shipping_address
+ - submit
+ payment_links_resource_custom_text_position:
+ description: ""
+ properties:
+ message:
+ description: Text may be up to 1000 characters in length.
+ maxLength: 500
+ type: string
+ required:
+ - message
+ title: PaymentLinksResourceCustomTextPosition
+ type: object
+ x-expandableFields: []
+ payment_links_resource_invoice_creation:
+ description: ""
+ properties:
+ enabled:
+ description: Enable creating an invoice on successful payment.
+ type: boolean
+ invoice_data:
+ anyOf:
+ - $ref: "#/components/schemas/payment_links_resource_invoice_settings"
+ description: Configuration for the invoice. Default invoice values will be used if unspecified.
+ nullable: true
+ required:
+ - enabled
+ title: PaymentLinksResourceInvoiceCreation
+ type: object
+ x-expandableFields:
+ - invoice_data
+ payment_links_resource_invoice_settings:
+ description: ""
+ properties:
+ account_tax_ids:
+ description: The account tax IDs associated with the invoice.
+ items:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/tax_id"
+ - $ref: "#/components/schemas/deleted_tax_id"
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/tax_id"
+ - $ref: "#/components/schemas/deleted_tax_id"
+ nullable: true
+ type: array
+ custom_fields:
+ description: A list of up to 4 custom fields to be displayed on the invoice.
+ items:
+ $ref: "#/components/schemas/invoice_setting_custom_field"
+ nullable: true
+ type: array
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 5000
+ nullable: true
+ type: string
+ footer:
+ description: Footer to be displayed on the invoice.
+ maxLength: 5000
+ nullable: true
+ type: string
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ nullable: true
+ type: object
+ rendering_options:
+ anyOf:
+ - $ref: "#/components/schemas/invoice_setting_rendering_options"
+ description: Options for invoice PDF rendering.
+ nullable: true
+ title: PaymentLinksResourceInvoiceSettings
+ type: object
+ x-expandableFields:
+ - account_tax_ids
+ - custom_fields
+ - rendering_options
+ payment_links_resource_payment_intent_data:
+ description: ""
+ properties:
+ capture_method:
+ description: Indicates when the funds will be captured from the customer's account.
+ enum:
+ - automatic
+ - automatic_async
+ - manual
+ nullable: true
+ type: string
+ setup_future_usage:
+ description: Indicates that you intend to make future payments with the payment method collected during checkout.
+ enum:
+ - off_session
+ - on_session
+ nullable: true
+ type: string
+ title: PaymentLinksResourcePaymentIntentData
+ type: object
+ x-expandableFields: []
+ payment_links_resource_phone_number_collection:
+ description: ""
+ properties:
+ enabled:
+ description: If `true`, a phone number will be collected during checkout.
+ type: boolean
+ required:
+ - enabled
+ title: PaymentLinksResourcePhoneNumberCollection
+ type: object
+ x-expandableFields: []
+ payment_links_resource_shipping_address_collection:
+ description: ""
+ properties:
+ allowed_countries:
+ description: "An array of two-letter ISO country codes representing which countries Checkout should provide as options for shipping locations. Unsupported country codes: `AS, CX, CC, CU, HM, IR, KP, MH, FM, NF, MP, PW, SD, SY, UM, VI`."
+ items:
+ enum:
+ - AC
+ - AD
+ - AE
+ - AF
+ - AG
+ - AI
+ - AL
+ - AM
+ - AO
+ - AQ
+ - AR
+ - AT
+ - AU
+ - AW
+ - AX
+ - AZ
+ - BA
+ - BB
+ - BD
+ - BE
+ - BF
+ - BG
+ - BH
+ - BI
+ - BJ
+ - BL
+ - BM
+ - BN
+ - BO
+ - BQ
+ - BR
+ - BS
+ - BT
+ - BV
+ - BW
+ - BY
+ - BZ
+ - CA
+ - CD
+ - CF
+ - CG
+ - CH
+ - CI
+ - CK
+ - CL
+ - CM
+ - CN
+ - CO
+ - CR
+ - CV
+ - CW
+ - CY
+ - CZ
+ - DE
+ - DJ
+ - DK
+ - DM
+ - DO
+ - DZ
+ - EC
+ - EE
+ - EG
+ - EH
+ - ER
+ - ES
+ - ET
+ - FI
+ - FJ
+ - FK
+ - FO
+ - FR
+ - GA
+ - GB
+ - GD
+ - GE
+ - GF
+ - GG
+ - GH
+ - GI
+ - GL
+ - GM
+ - GN
+ - GP
+ - GQ
+ - GR
+ - GS
+ - GT
+ - GU
+ - GW
+ - GY
+ - HK
+ - HN
+ - HR
+ - HT
+ - HU
+ - ID
+ - IE
+ - IL
+ - IM
+ - IN
+ - IO
+ - IQ
+ - IS
+ - IT
+ - JE
+ - JM
+ - JO
+ - JP
+ - KE
+ - KG
+ - KH
+ - KI
+ - KM
+ - KN
+ - KR
+ - KW
+ - KY
+ - KZ
+ - LA
+ - LB
+ - LC
+ - LI
+ - LK
+ - LR
+ - LS
+ - LT
+ - LU
+ - LV
+ - LY
+ - MA
+ - MC
+ - MD
+ - ME
+ - MF
+ - MG
+ - MK
+ - ML
+ - MM
+ - MN
+ - MO
+ - MQ
+ - MR
+ - MS
+ - MT
+ - MU
+ - MV
+ - MW
+ - MX
+ - MY
+ - MZ
+ - NA
+ - NC
+ - NE
+ - NG
+ - NI
+ - NL
+ - NO
+ - NP
+ - NR
+ - NU
+ - NZ
+ - OM
+ - PA
+ - PE
+ - PF
+ - PG
+ - PH
+ - PK
+ - PL
+ - PM
+ - PN
+ - PR
+ - PS
+ - PT
+ - PY
+ - QA
+ - RE
+ - RO
+ - RS
+ - RU
+ - RW
+ - SA
+ - SB
+ - SC
+ - SE
+ - SG
+ - SH
+ - SI
+ - SJ
+ - SK
+ - SL
+ - SM
+ - SN
+ - SO
+ - SR
+ - SS
+ - ST
+ - SV
+ - SX
+ - SZ
+ - TA
+ - TC
+ - TD
+ - TF
+ - TG
+ - TH
+ - TJ
+ - TK
+ - TL
+ - TM
+ - TN
+ - TO
+ - TR
+ - TT
+ - TV
+ - TW
+ - TZ
+ - UA
+ - UG
+ - US
+ - UY
+ - UZ
+ - VA
+ - VC
+ - VE
+ - VG
+ - VN
+ - VU
+ - WF
+ - WS
+ - XK
+ - YE
+ - YT
+ - ZA
+ - ZM
+ - ZW
+ - ZZ
+ type: string
+ type: array
+ required:
+ - allowed_countries
+ title: PaymentLinksResourceShippingAddressCollection
+ type: object
+ x-expandableFields: []
+ payment_links_resource_shipping_option:
+ description: ""
+ properties:
+ shipping_amount:
+ description: A non-negative integer in cents representing how much to charge.
+ type: integer
+ shipping_rate:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/shipping_rate"
+ description: The ID of the Shipping Rate to use for this shipping option.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/shipping_rate"
+ required:
+ - shipping_amount
+ - shipping_rate
+ title: PaymentLinksResourceShippingOption
+ type: object
+ x-expandableFields:
+ - shipping_rate
+ payment_links_resource_subscription_data:
+ description: ""
+ properties:
+ description:
+ description: The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription.
+ maxLength: 5000
+ nullable: true
+ type: string
+ trial_period_days:
+ description: Integer representing the number of trial period days before the customer is charged for the first time.
+ nullable: true
+ type: integer
+ title: PaymentLinksResourceSubscriptionData
+ type: object
+ x-expandableFields: []
+ payment_links_resource_tax_id_collection:
+ description: ""
+ properties:
+ enabled:
+ description: Indicates whether tax ID collection is enabled for the session.
+ type: boolean
+ required:
+ - enabled
+ title: PaymentLinksResourceTaxIdCollection
+ type: object
+ x-expandableFields: []
+ payment_links_resource_transfer_data:
+ description: ""
+ properties:
+ amount:
+ description: The amount in %s that will be transferred to the destination account. By default, the entire amount is transferred to the destination.
+ nullable: true
+ type: integer
+ destination:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/account"
+ description: The connected account receiving the transfer.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/account"
+ required:
+ - destination
+ title: PaymentLinksResourceTransferData
+ type: object
+ x-expandableFields:
+ - destination
+ payment_method:
+ description: |-
+ PaymentMethod objects represent your customer's payment instruments.
+ You can use them with [PaymentIntents](https://stripe.com/docs/payments/payment-intents) to collect payments or save them to
+ Customer objects to store instrument details for future payments.
+
+ Related guides: [Payment Methods](https://stripe.com/docs/payments/payment-methods) and [More Payment Scenarios](https://stripe.com/docs/payments/more-payment-scenarios).
+ properties:
+ acss_debit:
+ $ref: "#/components/schemas/payment_method_acss_debit"
+ affirm:
+ $ref: "#/components/schemas/payment_method_affirm"
+ afterpay_clearpay:
+ $ref: "#/components/schemas/payment_method_afterpay_clearpay"
+ alipay:
+ $ref: "#/components/schemas/payment_flows_private_payment_methods_alipay"
+ au_becs_debit:
+ $ref: "#/components/schemas/payment_method_au_becs_debit"
+ bacs_debit:
+ $ref: "#/components/schemas/payment_method_bacs_debit"
+ bancontact:
+ $ref: "#/components/schemas/payment_method_bancontact"
+ billing_details:
+ $ref: "#/components/schemas/billing_details"
+ blik:
+ $ref: "#/components/schemas/payment_method_blik"
+ boleto:
+ $ref: "#/components/schemas/payment_method_boleto"
+ card:
+ $ref: "#/components/schemas/payment_method_card"
+ card_present:
+ $ref: "#/components/schemas/payment_method_card_present"
+ cashapp:
+ $ref: "#/components/schemas/payment_method_cashapp"
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ customer:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/customer"
+ description: The ID of the Customer to which this PaymentMethod is saved. This will not be set when the PaymentMethod has not been saved to a Customer.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/customer"
+ customer_balance:
+ $ref: "#/components/schemas/payment_method_customer_balance"
+ eps:
+ $ref: "#/components/schemas/payment_method_eps"
+ fpx:
+ $ref: "#/components/schemas/payment_method_fpx"
+ giropay:
+ $ref: "#/components/schemas/payment_method_giropay"
+ grabpay:
+ $ref: "#/components/schemas/payment_method_grabpay"
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ ideal:
+ $ref: "#/components/schemas/payment_method_ideal"
+ interac_present:
+ $ref: "#/components/schemas/payment_method_interac_present"
+ klarna:
+ $ref: "#/components/schemas/payment_method_klarna"
+ konbini:
+ $ref: "#/components/schemas/payment_method_konbini"
+ link:
+ $ref: "#/components/schemas/payment_method_link"
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ nullable: true
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - payment_method
+ type: string
+ oxxo:
+ $ref: "#/components/schemas/payment_method_oxxo"
+ p24:
+ $ref: "#/components/schemas/payment_method_p24"
+ paynow:
+ $ref: "#/components/schemas/payment_method_paynow"
+ pix:
+ $ref: "#/components/schemas/payment_method_pix"
+ promptpay:
+ $ref: "#/components/schemas/payment_method_promptpay"
+ radar_options:
+ $ref: "#/components/schemas/radar_radar_options"
+ sepa_debit:
+ $ref: "#/components/schemas/payment_method_sepa_debit"
+ sofort:
+ $ref: "#/components/schemas/payment_method_sofort"
+ type:
+ description: The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type.
+ enum:
+ - acss_debit
+ - affirm
+ - afterpay_clearpay
+ - alipay
+ - au_becs_debit
+ - bacs_debit
+ - bancontact
+ - blik
+ - boleto
+ - card
+ - card_present
+ - cashapp
+ - customer_balance
+ - eps
+ - fpx
+ - giropay
+ - grabpay
+ - ideal
+ - interac_present
+ - klarna
+ - konbini
+ - link
+ - oxxo
+ - p24
+ - paynow
+ - pix
+ - promptpay
+ - sepa_debit
+ - sofort
+ - us_bank_account
+ - wechat_pay
+ type: string
+ x-stripeBypassValidation: true
+ us_bank_account:
+ $ref: "#/components/schemas/payment_method_us_bank_account"
+ wechat_pay:
+ $ref: "#/components/schemas/payment_method_wechat_pay"
+ required:
+ - billing_details
+ - created
+ - id
+ - livemode
+ - object
+ - type
+ title: PaymentMethod
+ type: object
+ x-expandableFields:
+ - acss_debit
+ - affirm
+ - afterpay_clearpay
+ - alipay
+ - au_becs_debit
+ - bacs_debit
+ - bancontact
+ - billing_details
+ - blik
+ - boleto
+ - card
+ - card_present
+ - cashapp
+ - customer
+ - customer_balance
+ - eps
+ - fpx
+ - giropay
+ - grabpay
+ - ideal
+ - interac_present
+ - klarna
+ - konbini
+ - link
+ - oxxo
+ - p24
+ - paynow
+ - pix
+ - promptpay
+ - radar_options
+ - sepa_debit
+ - sofort
+ - us_bank_account
+ - wechat_pay
+ x-resourceId: payment_method
+ payment_method_acss_debit:
+ description: ""
+ properties:
+ bank_name:
+ description: Name of the bank associated with the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ fingerprint:
+ description: Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
+ maxLength: 5000
+ nullable: true
+ type: string
+ institution_number:
+ description: Institution number of the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ last4:
+ description: Last four digits of the bank account number.
+ maxLength: 5000
+ nullable: true
+ type: string
+ transit_number:
+ description: Transit number of the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_acss_debit
+ type: object
+ x-expandableFields: []
+ payment_method_affirm:
+ description: ""
+ properties: {}
+ title: payment_method_affirm
+ type: object
+ x-expandableFields: []
+ payment_method_afterpay_clearpay:
+ description: ""
+ properties: {}
+ title: payment_method_afterpay_clearpay
+ type: object
+ x-expandableFields: []
+ payment_method_au_becs_debit:
+ description: ""
+ properties:
+ bsb_number:
+ description: Six-digit number identifying bank and branch associated with this bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ fingerprint:
+ description: Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
+ maxLength: 5000
+ nullable: true
+ type: string
+ last4:
+ description: Last four digits of the bank account number.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_au_becs_debit
+ type: object
+ x-expandableFields: []
+ payment_method_bacs_debit:
+ description: ""
+ properties:
+ fingerprint:
+ description: Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
+ maxLength: 5000
+ nullable: true
+ type: string
+ last4:
+ description: Last four digits of the bank account number.
+ maxLength: 5000
+ nullable: true
+ type: string
+ sort_code:
+ description: Sort code of the bank account. (e.g., `10-20-30`)
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_bacs_debit
+ type: object
+ x-expandableFields: []
+ payment_method_bancontact:
+ description: ""
+ properties: {}
+ title: payment_method_bancontact
+ type: object
+ x-expandableFields: []
+ payment_method_blik:
+ description: ""
+ properties: {}
+ title: payment_method_blik
+ type: object
+ x-expandableFields: []
+ payment_method_boleto:
+ description: ""
+ properties:
+ tax_id:
+ description: Uniquely identifies the customer tax id (CNPJ or CPF)
+ maxLength: 5000
+ type: string
+ required:
+ - tax_id
+ title: payment_method_boleto
+ type: object
+ x-expandableFields: []
+ payment_method_card:
+ description: ""
+ properties:
+ brand:
+ description: Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.
+ maxLength: 5000
+ type: string
+ checks:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_card_checks"
+ description: Checks on Card address and CVC if provided.
+ nullable: true
+ country:
+ description: Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected.
+ maxLength: 5000
+ nullable: true
+ type: string
+ exp_month:
+ description: Two-digit number representing the card's expiration month.
+ type: integer
+ exp_year:
+ description: Four-digit number representing the card's expiration year.
+ type: integer
+ fingerprint:
+ description: |-
+ Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.
+
+ *Starting May 1, 2021, card fingerprint in India for Connect will change to allow two fingerprints for the same card --- one for India and one for the rest of the world.*
+ maxLength: 5000
+ nullable: true
+ type: string
+ funding:
+ description: Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.
+ maxLength: 5000
+ type: string
+ generated_from:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_card_generated_card"
+ description: Details of the original PaymentMethod that created this object.
+ nullable: true
+ last4:
+ description: The last four digits of the card.
+ maxLength: 5000
+ type: string
+ networks:
+ anyOf:
+ - $ref: "#/components/schemas/networks"
+ description: Contains information about card networks that can be used to process the payment.
+ nullable: true
+ three_d_secure_usage:
+ anyOf:
+ - $ref: "#/components/schemas/three_d_secure_usage"
+ description: Contains details on how this Card may be used for 3D Secure authentication.
+ nullable: true
+ wallet:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_card_wallet"
+ description: If this Card is part of a card wallet, this contains the details of the card wallet.
+ nullable: true
+ required:
+ - brand
+ - exp_month
+ - exp_year
+ - funding
+ - last4
+ title: payment_method_card
+ type: object
+ x-expandableFields:
+ - checks
+ - generated_from
+ - networks
+ - three_d_secure_usage
+ - wallet
+ payment_method_card_checks:
+ description: ""
+ properties:
+ address_line1_check:
+ description: If a address line1 was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`.
+ maxLength: 5000
+ nullable: true
+ type: string
+ address_postal_code_check:
+ description: If a address postal code was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`.
+ maxLength: 5000
+ nullable: true
+ type: string
+ cvc_check:
+ description: If a CVC was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_card_checks
+ type: object
+ x-expandableFields: []
+ payment_method_card_generated_card:
+ description: ""
+ properties:
+ charge:
+ description: The charge that created this object.
+ maxLength: 5000
+ nullable: true
+ type: string
+ payment_method_details:
+ anyOf:
+ - $ref: "#/components/schemas/card_generated_from_payment_method_details"
+ description: Transaction-specific details of the payment method used in the payment.
+ nullable: true
+ setup_attempt:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/setup_attempt"
+ description: The ID of the SetupAttempt that generated this PaymentMethod, if any.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/setup_attempt"
+ title: payment_method_card_generated_card
+ type: object
+ x-expandableFields:
+ - payment_method_details
+ - setup_attempt
+ payment_method_card_present:
+ description: ""
+ properties: {}
+ title: payment_method_card_present
+ type: object
+ x-expandableFields: []
+ payment_method_card_wallet:
+ description: ""
+ properties:
+ amex_express_checkout:
+ $ref: "#/components/schemas/payment_method_card_wallet_amex_express_checkout"
+ apple_pay:
+ $ref: "#/components/schemas/payment_method_card_wallet_apple_pay"
+ dynamic_last4:
+ description: (For tokenized numbers only.) The last four digits of the device account number.
+ maxLength: 5000
+ nullable: true
+ type: string
+ google_pay:
+ $ref: "#/components/schemas/payment_method_card_wallet_google_pay"
+ masterpass:
+ $ref: "#/components/schemas/payment_method_card_wallet_masterpass"
+ samsung_pay:
+ $ref: "#/components/schemas/payment_method_card_wallet_samsung_pay"
+ type:
+ description: The type of the card wallet, one of `amex_express_checkout`, `apple_pay`, `google_pay`, `masterpass`, `samsung_pay`, `visa_checkout`, or `link`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type.
+ enum:
+ - amex_express_checkout
+ - apple_pay
+ - google_pay
+ - link
+ - masterpass
+ - samsung_pay
+ - visa_checkout
+ type: string
+ visa_checkout:
+ $ref: "#/components/schemas/payment_method_card_wallet_visa_checkout"
+ required:
+ - type
+ title: payment_method_card_wallet
+ type: object
+ x-expandableFields:
+ - amex_express_checkout
+ - apple_pay
+ - google_pay
+ - masterpass
+ - samsung_pay
+ - visa_checkout
+ payment_method_card_wallet_amex_express_checkout:
+ description: ""
+ properties: {}
+ title: payment_method_card_wallet_amex_express_checkout
+ type: object
+ x-expandableFields: []
+ payment_method_card_wallet_apple_pay:
+ description: ""
+ properties: {}
+ title: payment_method_card_wallet_apple_pay
+ type: object
+ x-expandableFields: []
+ payment_method_card_wallet_google_pay:
+ description: ""
+ properties: {}
+ title: payment_method_card_wallet_google_pay
+ type: object
+ x-expandableFields: []
+ payment_method_card_wallet_masterpass:
+ description: ""
+ properties:
+ billing_address:
+ anyOf:
+ - $ref: "#/components/schemas/address"
+ description: Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ nullable: true
+ email:
+ description: Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ maxLength: 5000
+ nullable: true
+ type: string
+ name:
+ description: Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ maxLength: 5000
+ nullable: true
+ type: string
+ shipping_address:
+ anyOf:
+ - $ref: "#/components/schemas/address"
+ description: Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ nullable: true
+ title: payment_method_card_wallet_masterpass
+ type: object
+ x-expandableFields:
+ - billing_address
+ - shipping_address
+ payment_method_card_wallet_samsung_pay:
+ description: ""
+ properties: {}
+ title: payment_method_card_wallet_samsung_pay
+ type: object
+ x-expandableFields: []
+ payment_method_card_wallet_visa_checkout:
+ description: ""
+ properties:
+ billing_address:
+ anyOf:
+ - $ref: "#/components/schemas/address"
+ description: Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ nullable: true
+ email:
+ description: Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ maxLength: 5000
+ nullable: true
+ type: string
+ name:
+ description: Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ maxLength: 5000
+ nullable: true
+ type: string
+ shipping_address:
+ anyOf:
+ - $ref: "#/components/schemas/address"
+ description: Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ nullable: true
+ title: payment_method_card_wallet_visa_checkout
+ type: object
+ x-expandableFields:
+ - billing_address
+ - shipping_address
+ payment_method_cashapp:
+ description: ""
+ properties: {}
+ title: payment_method_cashapp
+ type: object
+ x-expandableFields: []
+ payment_method_customer_balance:
+ description: ""
+ properties: {}
+ title: payment_method_customer_balance
+ type: object
+ x-expandableFields: []
+ payment_method_details:
+ description: ""
+ properties:
+ ach_credit_transfer:
+ $ref: "#/components/schemas/payment_method_details_ach_credit_transfer"
+ ach_debit:
+ $ref: "#/components/schemas/payment_method_details_ach_debit"
+ acss_debit:
+ $ref: "#/components/schemas/payment_method_details_acss_debit"
+ affirm:
+ $ref: "#/components/schemas/payment_method_details_affirm"
+ afterpay_clearpay:
+ $ref: "#/components/schemas/payment_method_details_afterpay_clearpay"
+ alipay:
+ $ref: "#/components/schemas/payment_flows_private_payment_methods_alipay_details"
+ au_becs_debit:
+ $ref: "#/components/schemas/payment_method_details_au_becs_debit"
+ bacs_debit:
+ $ref: "#/components/schemas/payment_method_details_bacs_debit"
+ bancontact:
+ $ref: "#/components/schemas/payment_method_details_bancontact"
+ blik:
+ $ref: "#/components/schemas/payment_method_details_blik"
+ boleto:
+ $ref: "#/components/schemas/payment_method_details_boleto"
+ card:
+ $ref: "#/components/schemas/payment_method_details_card"
+ card_present:
+ $ref: "#/components/schemas/payment_method_details_card_present"
+ cashapp:
+ $ref: "#/components/schemas/payment_method_details_cashapp"
+ customer_balance:
+ $ref: "#/components/schemas/payment_method_details_customer_balance"
+ eps:
+ $ref: "#/components/schemas/payment_method_details_eps"
+ fpx:
+ $ref: "#/components/schemas/payment_method_details_fpx"
+ giropay:
+ $ref: "#/components/schemas/payment_method_details_giropay"
+ grabpay:
+ $ref: "#/components/schemas/payment_method_details_grabpay"
+ ideal:
+ $ref: "#/components/schemas/payment_method_details_ideal"
+ interac_present:
+ $ref: "#/components/schemas/payment_method_details_interac_present"
+ klarna:
+ $ref: "#/components/schemas/payment_method_details_klarna"
+ konbini:
+ $ref: "#/components/schemas/payment_method_details_konbini"
+ link:
+ $ref: "#/components/schemas/payment_method_details_link"
+ multibanco:
+ $ref: "#/components/schemas/payment_method_details_multibanco"
+ oxxo:
+ $ref: "#/components/schemas/payment_method_details_oxxo"
+ p24:
+ $ref: "#/components/schemas/payment_method_details_p24"
+ paynow:
+ $ref: "#/components/schemas/payment_method_details_paynow"
+ pix:
+ $ref: "#/components/schemas/payment_method_details_pix"
+ promptpay:
+ $ref: "#/components/schemas/payment_method_details_promptpay"
+ sepa_debit:
+ $ref: "#/components/schemas/payment_method_details_sepa_debit"
+ sofort:
+ $ref: "#/components/schemas/payment_method_details_sofort"
+ stripe_account:
+ $ref: "#/components/schemas/payment_method_details_stripe_account"
+ type:
+ description: |-
+ The type of transaction-specific details of the payment method used in the payment, one of `ach_credit_transfer`, `ach_debit`, `acss_debit`, `alipay`, `au_becs_debit`, `bancontact`, `card`, `card_present`, `eps`, `giropay`, `ideal`, `klarna`, `multibanco`, `p24`, `sepa_debit`, `sofort`, `stripe_account`, or `wechat`.
+ An additional hash is included on `payment_method_details` with a name matching this value.
+ It contains information specific to the payment method.
+ maxLength: 5000
+ type: string
+ us_bank_account:
+ $ref: "#/components/schemas/payment_method_details_us_bank_account"
+ wechat:
+ $ref: "#/components/schemas/payment_method_details_wechat"
+ wechat_pay:
+ $ref: "#/components/schemas/payment_method_details_wechat_pay"
+ required:
+ - type
+ title: payment_method_details
+ type: object
+ x-expandableFields:
+ - ach_credit_transfer
+ - ach_debit
+ - acss_debit
+ - affirm
+ - afterpay_clearpay
+ - alipay
+ - au_becs_debit
+ - bacs_debit
+ - bancontact
+ - blik
+ - boleto
+ - card
+ - card_present
+ - cashapp
+ - customer_balance
+ - eps
+ - fpx
+ - giropay
+ - grabpay
+ - ideal
+ - interac_present
+ - klarna
+ - konbini
+ - link
+ - multibanco
+ - oxxo
+ - p24
+ - paynow
+ - pix
+ - promptpay
+ - sepa_debit
+ - sofort
+ - stripe_account
+ - us_bank_account
+ - wechat
+ - wechat_pay
+ payment_method_details_ach_credit_transfer:
+ description: ""
+ properties:
+ account_number:
+ description: Account number to transfer funds to.
+ maxLength: 5000
+ nullable: true
+ type: string
+ bank_name:
+ description: Name of the bank associated with the routing number.
+ maxLength: 5000
+ nullable: true
+ type: string
+ routing_number:
+ description: Routing transit number for the bank account to transfer funds to.
+ maxLength: 5000
+ nullable: true
+ type: string
+ swift_code:
+ description: SWIFT code of the bank associated with the routing number.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_details_ach_credit_transfer
+ type: object
+ x-expandableFields: []
+ payment_method_details_ach_debit:
+ description: ""
+ properties:
+ account_holder_type:
+ description: Type of entity that holds the account. This can be either `individual` or `company`.
+ enum:
+ - company
+ - individual
+ nullable: true
+ type: string
+ bank_name:
+ description: Name of the bank associated with the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ country:
+ description: Two-letter ISO code representing the country the bank account is located in.
+ maxLength: 5000
+ nullable: true
+ type: string
+ fingerprint:
+ description: Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
+ maxLength: 5000
+ nullable: true
+ type: string
+ last4:
+ description: Last four digits of the bank account number.
+ maxLength: 5000
+ nullable: true
+ type: string
+ routing_number:
+ description: Routing transit number of the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_details_ach_debit
+ type: object
+ x-expandableFields: []
+ payment_method_details_acss_debit:
+ description: ""
+ properties:
+ bank_name:
+ description: Name of the bank associated with the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ fingerprint:
+ description: Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
+ maxLength: 5000
+ nullable: true
+ type: string
+ institution_number:
+ description: Institution number of the bank account
+ maxLength: 5000
+ nullable: true
+ type: string
+ last4:
+ description: Last four digits of the bank account number.
+ maxLength: 5000
+ nullable: true
+ type: string
+ mandate:
+ description: ID of the mandate used to make this payment.
+ maxLength: 5000
+ type: string
+ transit_number:
+ description: Transit number of the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_details_acss_debit
+ type: object
+ x-expandableFields: []
+ payment_method_details_affirm:
+ description: ""
+ properties: {}
+ title: payment_method_details_affirm
+ type: object
+ x-expandableFields: []
+ payment_method_details_afterpay_clearpay:
+ description: ""
+ properties:
+ reference:
+ description: Order identifier shown to the merchant in Afterpay’s online portal.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_details_afterpay_clearpay
+ type: object
+ x-expandableFields: []
+ payment_method_details_au_becs_debit:
+ description: ""
+ properties:
+ bsb_number:
+ description: Bank-State-Branch number of the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ fingerprint:
+ description: Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
+ maxLength: 5000
+ nullable: true
+ type: string
+ last4:
+ description: Last four digits of the bank account number.
+ maxLength: 5000
+ nullable: true
+ type: string
+ mandate:
+ description: ID of the mandate used to make this payment.
+ maxLength: 5000
+ type: string
+ title: payment_method_details_au_becs_debit
+ type: object
+ x-expandableFields: []
+ payment_method_details_bacs_debit:
+ description: ""
+ properties:
+ fingerprint:
+ description: Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
+ maxLength: 5000
+ nullable: true
+ type: string
+ last4:
+ description: Last four digits of the bank account number.
+ maxLength: 5000
+ nullable: true
+ type: string
+ mandate:
+ description: ID of the mandate used to make this payment.
+ maxLength: 5000
+ nullable: true
+ type: string
+ sort_code:
+ description: Sort code of the bank account. (e.g., `10-20-30`)
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_details_bacs_debit
+ type: object
+ x-expandableFields: []
+ payment_method_details_bancontact:
+ description: ""
+ properties:
+ bank_code:
+ description: Bank code of bank associated with the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ bank_name:
+ description: Name of the bank associated with the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ bic:
+ description: Bank Identifier Code of the bank associated with the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ generated_sepa_debit:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/payment_method"
+ description: The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/payment_method"
+ generated_sepa_debit_mandate:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/mandate"
+ description: The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/mandate"
+ iban_last4:
+ description: Last four characters of the IBAN.
+ maxLength: 5000
+ nullable: true
+ type: string
+ preferred_language:
+ description: |-
+ Preferred language of the Bancontact authorization page that the customer is redirected to.
+ Can be one of `en`, `de`, `fr`, or `nl`
+ enum:
+ - de
+ - en
+ - fr
+ - nl
+ nullable: true
+ type: string
+ verified_name:
+ description: |-
+ Owner's verified full name. Values are verified or provided by Bancontact directly
+ (if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_details_bancontact
+ type: object
+ x-expandableFields:
+ - generated_sepa_debit
+ - generated_sepa_debit_mandate
+ payment_method_details_blik:
+ description: ""
+ properties: {}
+ title: payment_method_details_blik
+ type: object
+ x-expandableFields: []
+ payment_method_details_boleto:
+ description: ""
+ properties:
+ tax_id:
+ description: The tax ID of the customer (CPF for individuals consumers or CNPJ for businesses consumers)
+ maxLength: 5000
+ type: string
+ required:
+ - tax_id
+ title: payment_method_details_boleto
+ type: object
+ x-expandableFields: []
+ payment_method_details_card:
+ description: ""
+ properties:
+ brand:
+ description: Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.
+ maxLength: 5000
+ nullable: true
+ type: string
+ checks:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_details_card_checks"
+ description: Check results by Card networks on Card address and CVC at time of payment.
+ nullable: true
+ country:
+ description: Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected.
+ maxLength: 5000
+ nullable: true
+ type: string
+ exp_month:
+ description: Two-digit number representing the card's expiration month.
+ type: integer
+ exp_year:
+ description: Four-digit number representing the card's expiration year.
+ type: integer
+ fingerprint:
+ description: |-
+ Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.
+
+ *Starting May 1, 2021, card fingerprint in India for Connect will change to allow two fingerprints for the same card --- one for India and one for the rest of the world.*
+ maxLength: 5000
+ nullable: true
+ type: string
+ funding:
+ description: Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.
+ maxLength: 5000
+ nullable: true
+ type: string
+ installments:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_details_card_installments"
+ description: |-
+ Installment details for this payment (Mexico only).
+
+ For more information, see the [installments integration guide](https://stripe.com/docs/payments/installments).
+ nullable: true
+ last4:
+ description: The last four digits of the card.
+ maxLength: 5000
+ nullable: true
+ type: string
+ mandate:
+ description: ID of the mandate used to make this payment or created by it.
+ maxLength: 5000
+ nullable: true
+ type: string
+ network:
+ description: Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.
+ maxLength: 5000
+ nullable: true
+ type: string
+ three_d_secure:
+ anyOf:
+ - $ref: "#/components/schemas/three_d_secure_details"
+ description: Populated if this transaction used 3D Secure authentication.
+ nullable: true
+ wallet:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_details_card_wallet"
+ description: If this Card is part of a card wallet, this contains the details of the card wallet.
+ nullable: true
+ required:
+ - exp_month
+ - exp_year
+ title: payment_method_details_card
+ type: object
+ x-expandableFields:
+ - checks
+ - installments
+ - three_d_secure
+ - wallet
+ payment_method_details_card_checks:
+ description: ""
+ properties:
+ address_line1_check:
+ description: If a address line1 was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`.
+ maxLength: 5000
+ nullable: true
+ type: string
+ address_postal_code_check:
+ description: If a address postal code was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`.
+ maxLength: 5000
+ nullable: true
+ type: string
+ cvc_check:
+ description: If a CVC was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_details_card_checks
+ type: object
+ x-expandableFields: []
+ payment_method_details_card_installments:
+ description: ""
+ properties:
+ plan:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_details_card_installments_plan"
+ description: Installment plan selected for the payment.
+ nullable: true
+ title: payment_method_details_card_installments
+ type: object
+ x-expandableFields:
+ - plan
+ payment_method_details_card_installments_plan:
+ description: ""
+ properties:
+ count:
+ description: For `fixed_count` installment plans, this is the number of installment payments your customer will make to their credit card.
+ nullable: true
+ type: integer
+ interval:
+ description: |-
+ For `fixed_count` installment plans, this is the interval between installment payments your customer will make to their credit card.
+ One of `month`.
+ enum:
+ - month
+ nullable: true
+ type: string
+ type:
+ description: Type of installment plan, one of `fixed_count`.
+ enum:
+ - fixed_count
+ type: string
+ required:
+ - type
+ title: payment_method_details_card_installments_plan
+ type: object
+ x-expandableFields: []
+ payment_method_details_card_present:
+ description: ""
+ properties:
+ amount_authorized:
+ description: The authorized amount
+ nullable: true
+ type: integer
+ brand:
+ description: Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.
+ maxLength: 5000
+ nullable: true
+ type: string
+ capture_before:
+ description: When using manual capture, a future timestamp after which the charge will be automatically refunded if uncaptured.
+ format: unix-time
+ type: integer
+ cardholder_name:
+ description: The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay.
+ maxLength: 5000
+ nullable: true
+ type: string
+ country:
+ description: Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected.
+ maxLength: 5000
+ nullable: true
+ type: string
+ emv_auth_data:
+ description: Authorization response cryptogram.
+ maxLength: 5000
+ nullable: true
+ type: string
+ exp_month:
+ description: Two-digit number representing the card's expiration month.
+ type: integer
+ exp_year:
+ description: Four-digit number representing the card's expiration year.
+ type: integer
+ fingerprint:
+ description: |-
+ Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.
+
+ *Starting May 1, 2021, card fingerprint in India for Connect will change to allow two fingerprints for the same card --- one for India and one for the rest of the world.*
+ maxLength: 5000
+ nullable: true
+ type: string
+ funding:
+ description: Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.
+ maxLength: 5000
+ nullable: true
+ type: string
+ generated_card:
+ description: ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod.
+ maxLength: 5000
+ nullable: true
+ type: string
+ incremental_authorization_supported:
+ description: Whether this [PaymentIntent](https://stripe.com/docs/api/payment_intents) is eligible for incremental authorizations. Request support using [request_incremental_authorization_support](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-payment_method_options-card_present-request_incremental_authorization_support).
+ type: boolean
+ last4:
+ description: The last four digits of the card.
+ maxLength: 5000
+ nullable: true
+ type: string
+ network:
+ description: Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.
+ maxLength: 5000
+ nullable: true
+ type: string
+ overcapture_supported:
+ description: Defines whether the authorized amount can be over-captured or not
+ type: boolean
+ read_method:
+ description: How card details were read in this transaction.
+ enum:
+ - contact_emv
+ - contactless_emv
+ - contactless_magstripe_mode
+ - magnetic_stripe_fallback
+ - magnetic_stripe_track2
+ nullable: true
+ type: string
+ receipt:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_details_card_present_receipt"
+ description: A collection of fields required to be displayed on receipts. Only required for EMV transactions.
+ nullable: true
+ required:
+ - exp_month
+ - exp_year
+ - incremental_authorization_supported
+ - overcapture_supported
+ title: payment_method_details_card_present
+ type: object
+ x-expandableFields:
+ - receipt
+ payment_method_details_card_present_receipt:
+ description: ""
+ properties:
+ account_type:
+ description: The type of account being debited or credited
+ enum:
+ - checking
+ - credit
+ - prepaid
+ - unknown
+ type: string
+ x-stripeBypassValidation: true
+ application_cryptogram:
+ description: EMV tag 9F26, cryptogram generated by the integrated circuit chip.
+ maxLength: 5000
+ nullable: true
+ type: string
+ application_preferred_name:
+ description: Mnenomic of the Application Identifier.
+ maxLength: 5000
+ nullable: true
+ type: string
+ authorization_code:
+ description: Identifier for this transaction.
+ maxLength: 5000
+ nullable: true
+ type: string
+ authorization_response_code:
+ description: EMV tag 8A. A code returned by the card issuer.
+ maxLength: 5000
+ nullable: true
+ type: string
+ cardholder_verification_method:
+ description: How the cardholder verified ownership of the card.
+ maxLength: 5000
+ nullable: true
+ type: string
+ dedicated_file_name:
+ description: EMV tag 84. Similar to the application identifier stored on the integrated circuit chip.
+ maxLength: 5000
+ nullable: true
+ type: string
+ terminal_verification_results:
+ description: The outcome of a series of EMV functions performed by the card reader.
+ maxLength: 5000
+ nullable: true
+ type: string
+ transaction_status_information:
+ description: An indication of various EMV functions performed during the transaction.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_details_card_present_receipt
+ type: object
+ x-expandableFields: []
+ payment_method_details_card_wallet:
+ description: ""
+ properties:
+ amex_express_checkout:
+ $ref: "#/components/schemas/payment_method_details_card_wallet_amex_express_checkout"
+ apple_pay:
+ $ref: "#/components/schemas/payment_method_details_card_wallet_apple_pay"
+ dynamic_last4:
+ description: (For tokenized numbers only.) The last four digits of the device account number.
+ maxLength: 5000
+ nullable: true
+ type: string
+ google_pay:
+ $ref: "#/components/schemas/payment_method_details_card_wallet_google_pay"
+ masterpass:
+ $ref: "#/components/schemas/payment_method_details_card_wallet_masterpass"
+ samsung_pay:
+ $ref: "#/components/schemas/payment_method_details_card_wallet_samsung_pay"
+ type:
+ description: The type of the card wallet, one of `amex_express_checkout`, `apple_pay`, `google_pay`, `masterpass`, `samsung_pay`, `visa_checkout`, or `link`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type.
+ enum:
+ - amex_express_checkout
+ - apple_pay
+ - google_pay
+ - link
+ - masterpass
+ - samsung_pay
+ - visa_checkout
+ type: string
+ visa_checkout:
+ $ref: "#/components/schemas/payment_method_details_card_wallet_visa_checkout"
+ required:
+ - type
+ title: payment_method_details_card_wallet
+ type: object
+ x-expandableFields:
+ - amex_express_checkout
+ - apple_pay
+ - google_pay
+ - masterpass
+ - samsung_pay
+ - visa_checkout
+ payment_method_details_card_wallet_amex_express_checkout:
+ description: ""
+ properties: {}
+ title: payment_method_details_card_wallet_amex_express_checkout
+ type: object
+ x-expandableFields: []
+ payment_method_details_card_wallet_apple_pay:
+ description: ""
+ properties: {}
+ title: payment_method_details_card_wallet_apple_pay
+ type: object
+ x-expandableFields: []
+ payment_method_details_card_wallet_google_pay:
+ description: ""
+ properties: {}
+ title: payment_method_details_card_wallet_google_pay
+ type: object
+ x-expandableFields: []
+ payment_method_details_card_wallet_masterpass:
+ description: ""
+ properties:
+ billing_address:
+ anyOf:
+ - $ref: "#/components/schemas/address"
+ description: Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ nullable: true
+ email:
+ description: Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ maxLength: 5000
+ nullable: true
+ type: string
+ name:
+ description: Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ maxLength: 5000
+ nullable: true
+ type: string
+ shipping_address:
+ anyOf:
+ - $ref: "#/components/schemas/address"
+ description: Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ nullable: true
+ title: payment_method_details_card_wallet_masterpass
+ type: object
+ x-expandableFields:
+ - billing_address
+ - shipping_address
+ payment_method_details_card_wallet_samsung_pay:
+ description: ""
+ properties: {}
+ title: payment_method_details_card_wallet_samsung_pay
+ type: object
+ x-expandableFields: []
+ payment_method_details_card_wallet_visa_checkout:
+ description: ""
+ properties:
+ billing_address:
+ anyOf:
+ - $ref: "#/components/schemas/address"
+ description: Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ nullable: true
+ email:
+ description: Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ maxLength: 5000
+ nullable: true
+ type: string
+ name:
+ description: Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ maxLength: 5000
+ nullable: true
+ type: string
+ shipping_address:
+ anyOf:
+ - $ref: "#/components/schemas/address"
+ description: Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ nullable: true
+ title: payment_method_details_card_wallet_visa_checkout
+ type: object
+ x-expandableFields:
+ - billing_address
+ - shipping_address
+ payment_method_details_cashapp:
+ description: ""
+ properties: {}
+ title: payment_method_details_cashapp
+ type: object
+ x-expandableFields: []
+ payment_method_details_customer_balance:
+ description: ""
+ properties: {}
+ title: payment_method_details_customer_balance
+ type: object
+ x-expandableFields: []
+ payment_method_details_eps:
+ description: ""
+ properties:
+ bank:
+ description: The customer's bank. Should be one of `arzte_und_apotheker_bank`, `austrian_anadi_bank_ag`, `bank_austria`, `bankhaus_carl_spangler`, `bankhaus_schelhammer_und_schattera_ag`, `bawag_psk_ag`, `bks_bank_ag`, `brull_kallmus_bank_ag`, `btv_vier_lander_bank`, `capital_bank_grawe_gruppe_ag`, `deutsche_bank_ag`, `dolomitenbank`, `easybank_ag`, `erste_bank_und_sparkassen`, `hypo_alpeadriabank_international_ag`, `hypo_noe_lb_fur_niederosterreich_u_wien`, `hypo_oberosterreich_salzburg_steiermark`, `hypo_tirol_bank_ag`, `hypo_vorarlberg_bank_ag`, `hypo_bank_burgenland_aktiengesellschaft`, `marchfelder_bank`, `oberbank_ag`, `raiffeisen_bankengruppe_osterreich`, `schoellerbank_ag`, `sparda_bank_wien`, `volksbank_gruppe`, `volkskreditbank_ag`, or `vr_bank_braunau`.
+ enum:
+ - arzte_und_apotheker_bank
+ - austrian_anadi_bank_ag
+ - bank_austria
+ - bankhaus_carl_spangler
+ - bankhaus_schelhammer_und_schattera_ag
+ - bawag_psk_ag
+ - bks_bank_ag
+ - brull_kallmus_bank_ag
+ - btv_vier_lander_bank
+ - capital_bank_grawe_gruppe_ag
+ - deutsche_bank_ag
+ - dolomitenbank
+ - easybank_ag
+ - erste_bank_und_sparkassen
+ - hypo_alpeadriabank_international_ag
+ - hypo_bank_burgenland_aktiengesellschaft
+ - hypo_noe_lb_fur_niederosterreich_u_wien
+ - hypo_oberosterreich_salzburg_steiermark
+ - hypo_tirol_bank_ag
+ - hypo_vorarlberg_bank_ag
+ - marchfelder_bank
+ - oberbank_ag
+ - raiffeisen_bankengruppe_osterreich
+ - schoellerbank_ag
+ - sparda_bank_wien
+ - volksbank_gruppe
+ - volkskreditbank_ag
+ - vr_bank_braunau
+ nullable: true
+ type: string
+ verified_name:
+ description: |-
+ Owner's verified full name. Values are verified or provided by EPS directly
+ (if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ EPS rarely provides this information so the attribute is usually empty.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_details_eps
+ type: object
+ x-expandableFields: []
+ payment_method_details_fpx:
+ description: ""
+ properties:
+ bank:
+ description: The customer's bank. Can be one of `affin_bank`, `agrobank`, `alliance_bank`, `ambank`, `bank_islam`, `bank_muamalat`, `bank_rakyat`, `bsn`, `cimb`, `hong_leong_bank`, `hsbc`, `kfh`, `maybank2u`, `ocbc`, `public_bank`, `rhb`, `standard_chartered`, `uob`, `deutsche_bank`, `maybank2e`, `pb_enterprise`, or `bank_of_china`.
+ enum:
+ - affin_bank
+ - agrobank
+ - alliance_bank
+ - ambank
+ - bank_islam
+ - bank_muamalat
+ - bank_of_china
+ - bank_rakyat
+ - bsn
+ - cimb
+ - deutsche_bank
+ - hong_leong_bank
+ - hsbc
+ - kfh
+ - maybank2e
+ - maybank2u
+ - ocbc
+ - pb_enterprise
+ - public_bank
+ - rhb
+ - standard_chartered
+ - uob
+ type: string
+ transaction_id:
+ description: Unique transaction id generated by FPX for every request from the merchant
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - bank
+ title: payment_method_details_fpx
+ type: object
+ x-expandableFields: []
+ payment_method_details_giropay:
+ description: ""
+ properties:
+ bank_code:
+ description: Bank code of bank associated with the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ bank_name:
+ description: Name of the bank associated with the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ bic:
+ description: Bank Identifier Code of the bank associated with the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ verified_name:
+ description: |-
+ Owner's verified full name. Values are verified or provided by Giropay directly
+ (if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ Giropay rarely provides this information so the attribute is usually empty.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_details_giropay
+ type: object
+ x-expandableFields: []
+ payment_method_details_grabpay:
+ description: ""
+ properties:
+ transaction_id:
+ description: Unique transaction id generated by GrabPay
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_details_grabpay
+ type: object
+ x-expandableFields: []
+ payment_method_details_ideal:
+ description: ""
+ properties:
+ bank:
+ description: The customer's bank. Can be one of `abn_amro`, `asn_bank`, `bunq`, `handelsbanken`, `ing`, `knab`, `moneyou`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`.
+ enum:
+ - abn_amro
+ - asn_bank
+ - bunq
+ - handelsbanken
+ - ing
+ - knab
+ - moneyou
+ - rabobank
+ - regiobank
+ - revolut
+ - sns_bank
+ - triodos_bank
+ - van_lanschot
+ - yoursafe
+ nullable: true
+ type: string
+ bic:
+ description: The Bank Identifier Code of the customer's bank.
+ enum:
+ - ABNANL2A
+ - ASNBNL21
+ - BITSNL2A
+ - BUNQNL2A
+ - FVLBNL22
+ - HANDNL2A
+ - INGBNL2A
+ - KNABNL2H
+ - MOYONL21
+ - RABONL2U
+ - RBRBNL21
+ - REVOIE23
+ - REVOLT21
+ - SNSBNL2A
+ - TRIONL2U
+ nullable: true
+ type: string
+ generated_sepa_debit:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/payment_method"
+ description: The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/payment_method"
+ generated_sepa_debit_mandate:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/mandate"
+ description: The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/mandate"
+ iban_last4:
+ description: Last four characters of the IBAN.
+ maxLength: 5000
+ nullable: true
+ type: string
+ verified_name:
+ description: |-
+ Owner's verified full name. Values are verified or provided by iDEAL directly
+ (if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_details_ideal
+ type: object
+ x-expandableFields:
+ - generated_sepa_debit
+ - generated_sepa_debit_mandate
+ payment_method_details_interac_present:
+ description: ""
+ properties:
+ brand:
+ description: Card brand. Can be `interac`, `mastercard` or `visa`.
+ maxLength: 5000
+ nullable: true
+ type: string
+ cardholder_name:
+ description: The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay.
+ maxLength: 5000
+ nullable: true
+ type: string
+ country:
+ description: Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected.
+ maxLength: 5000
+ nullable: true
+ type: string
+ emv_auth_data:
+ description: Authorization response cryptogram.
+ maxLength: 5000
+ nullable: true
+ type: string
+ exp_month:
+ description: Two-digit number representing the card's expiration month.
+ type: integer
+ exp_year:
+ description: Four-digit number representing the card's expiration year.
+ type: integer
+ fingerprint:
+ description: |-
+ Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.
+
+ *Starting May 1, 2021, card fingerprint in India for Connect will change to allow two fingerprints for the same card --- one for India and one for the rest of the world.*
+ maxLength: 5000
+ nullable: true
+ type: string
+ funding:
+ description: Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.
+ maxLength: 5000
+ nullable: true
+ type: string
+ generated_card:
+ description: ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod.
+ maxLength: 5000
+ nullable: true
+ type: string
+ last4:
+ description: The last four digits of the card.
+ maxLength: 5000
+ nullable: true
+ type: string
+ network:
+ description: Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.
+ maxLength: 5000
+ nullable: true
+ type: string
+ preferred_locales:
+ description: EMV tag 5F2D. Preferred languages specified by the integrated circuit chip.
+ items:
+ maxLength: 5000
+ type: string
+ nullable: true
+ type: array
+ read_method:
+ description: How card details were read in this transaction.
+ enum:
+ - contact_emv
+ - contactless_emv
+ - contactless_magstripe_mode
+ - magnetic_stripe_fallback
+ - magnetic_stripe_track2
+ nullable: true
+ type: string
+ receipt:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_details_interac_present_receipt"
+ description: A collection of fields required to be displayed on receipts. Only required for EMV transactions.
+ nullable: true
+ required:
+ - exp_month
+ - exp_year
+ title: payment_method_details_interac_present
+ type: object
+ x-expandableFields:
+ - receipt
+ payment_method_details_interac_present_receipt:
+ description: ""
+ properties:
+ account_type:
+ description: The type of account being debited or credited
+ enum:
+ - checking
+ - savings
+ - unknown
+ type: string
+ x-stripeBypassValidation: true
+ application_cryptogram:
+ description: EMV tag 9F26, cryptogram generated by the integrated circuit chip.
+ maxLength: 5000
+ nullable: true
+ type: string
+ application_preferred_name:
+ description: Mnenomic of the Application Identifier.
+ maxLength: 5000
+ nullable: true
+ type: string
+ authorization_code:
+ description: Identifier for this transaction.
+ maxLength: 5000
+ nullable: true
+ type: string
+ authorization_response_code:
+ description: EMV tag 8A. A code returned by the card issuer.
+ maxLength: 5000
+ nullable: true
+ type: string
+ cardholder_verification_method:
+ description: How the cardholder verified ownership of the card.
+ maxLength: 5000
+ nullable: true
+ type: string
+ dedicated_file_name:
+ description: EMV tag 84. Similar to the application identifier stored on the integrated circuit chip.
+ maxLength: 5000
+ nullable: true
+ type: string
+ terminal_verification_results:
+ description: The outcome of a series of EMV functions performed by the card reader.
+ maxLength: 5000
+ nullable: true
+ type: string
+ transaction_status_information:
+ description: An indication of various EMV functions performed during the transaction.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_details_interac_present_receipt
+ type: object
+ x-expandableFields: []
+ payment_method_details_klarna:
+ description: ""
+ properties:
+ payment_method_category:
+ description: |-
+ The Klarna payment method used for this transaction.
+ Can be one of `pay_later`, `pay_now`, `pay_with_financing`, or `pay_in_installments`
+ maxLength: 5000
+ nullable: true
+ type: string
+ preferred_locale:
+ description: |-
+ Preferred language of the Klarna authorization page that the customer is redirected to.
+ Can be one of `de-AT`, `en-AT`, `nl-BE`, `fr-BE`, `en-BE`, `de-DE`, `en-DE`, `da-DK`, `en-DK`, `es-ES`, `en-ES`, `fi-FI`, `sv-FI`, `en-FI`, `en-GB`, `en-IE`, `it-IT`, `en-IT`, `nl-NL`, `en-NL`, `nb-NO`, `en-NO`, `sv-SE`, `en-SE`, `en-US`, `es-US`, `fr-FR`, `en-FR`, `cs-CZ`, `en-CZ`, `el-GR`, `en-GR`, `en-AU`, `en-NZ`, `en-CA`, `fr-CA`, `pl-PL`, `en-PL`, `pt-PT`, `en-PT`, `de-CH`, `fr-CH`, `it-CH`, or `en-CH`
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_details_klarna
+ type: object
+ x-expandableFields: []
+ payment_method_details_konbini:
+ description: ""
+ properties:
+ store:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_details_konbini_store"
+ description: If the payment succeeded, this contains the details of the convenience store where the payment was completed.
+ nullable: true
+ title: payment_method_details_konbini
+ type: object
+ x-expandableFields:
+ - store
+ payment_method_details_konbini_store:
+ description: ""
+ properties:
+ chain:
+ description: The name of the convenience store chain where the payment was completed.
+ enum:
+ - familymart
+ - lawson
+ - ministop
+ - seicomart
+ nullable: true
+ type: string
+ title: payment_method_details_konbini_store
+ type: object
+ x-expandableFields: []
+ payment_method_details_link:
+ description: ""
+ properties:
+ country:
+ description: |-
+ Two-letter ISO code representing the funding source country beneath the Link payment.
+ You could use this attribute to get a sense of international fees.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_details_link
+ type: object
+ x-expandableFields: []
+ payment_method_details_multibanco:
+ description: ""
+ properties:
+ entity:
+ description: Entity number associated with this Multibanco payment.
+ maxLength: 5000
+ nullable: true
+ type: string
+ reference:
+ description: Reference number associated with this Multibanco payment.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_details_multibanco
+ type: object
+ x-expandableFields: []
+ payment_method_details_oxxo:
+ description: ""
+ properties:
+ number:
+ description: OXXO reference number
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_details_oxxo
+ type: object
+ x-expandableFields: []
+ payment_method_details_p24:
+ description: ""
+ properties:
+ bank:
+ description: The customer's bank. Can be one of `ing`, `citi_handlowy`, `tmobile_usbugi_bankowe`, `plus_bank`, `etransfer_pocztowy24`, `banki_spbdzielcze`, `bank_nowy_bfg_sa`, `getin_bank`, `blik`, `noble_pay`, `ideabank`, `envelobank`, `santander_przelew24`, `nest_przelew`, `mbank_mtransfer`, `inteligo`, `pbac_z_ipko`, `bnp_paribas`, `credit_agricole`, `toyota_bank`, `bank_pekao_sa`, `volkswagen_bank`, `bank_millennium`, `alior_bank`, or `boz`.
+ enum:
+ - alior_bank
+ - bank_millennium
+ - bank_nowy_bfg_sa
+ - bank_pekao_sa
+ - banki_spbdzielcze
+ - blik
+ - bnp_paribas
+ - boz
+ - citi_handlowy
+ - credit_agricole
+ - envelobank
+ - etransfer_pocztowy24
+ - getin_bank
+ - ideabank
+ - ing
+ - inteligo
+ - mbank_mtransfer
+ - nest_przelew
+ - noble_pay
+ - pbac_z_ipko
+ - plus_bank
+ - santander_przelew24
+ - tmobile_usbugi_bankowe
+ - toyota_bank
+ - volkswagen_bank
+ nullable: true
+ type: string
+ reference:
+ description: Unique reference for this Przelewy24 payment.
+ maxLength: 5000
+ nullable: true
+ type: string
+ verified_name:
+ description: |-
+ Owner's verified full name. Values are verified or provided by Przelewy24 directly
+ (if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ Przelewy24 rarely provides this information so the attribute is usually empty.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_details_p24
+ type: object
+ x-expandableFields: []
+ payment_method_details_paynow:
+ description: ""
+ properties:
+ reference:
+ description: Reference number associated with this PayNow payment
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_details_paynow
+ type: object
+ x-expandableFields: []
+ payment_method_details_pix:
+ description: ""
+ properties:
+ bank_transaction_id:
+ description: Unique transaction id generated by BCB
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_details_pix
+ type: object
+ x-expandableFields: []
+ payment_method_details_promptpay:
+ description: ""
+ properties:
+ reference:
+ description: Bill reference generated by PromptPay
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_details_promptpay
+ type: object
+ x-expandableFields: []
+ payment_method_details_sepa_debit:
+ description: ""
+ properties:
+ bank_code:
+ description: Bank code of bank associated with the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ branch_code:
+ description: Branch code of bank associated with the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ country:
+ description: Two-letter ISO code representing the country the bank account is located in.
+ maxLength: 5000
+ nullable: true
+ type: string
+ fingerprint:
+ description: Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
+ maxLength: 5000
+ nullable: true
+ type: string
+ last4:
+ description: Last four characters of the IBAN.
+ maxLength: 5000
+ nullable: true
+ type: string
+ mandate:
+ description: ID of the mandate used to make this payment.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_details_sepa_debit
+ type: object
+ x-expandableFields: []
+ payment_method_details_sofort:
+ description: ""
+ properties:
+ bank_code:
+ description: Bank code of bank associated with the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ bank_name:
+ description: Name of the bank associated with the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ bic:
+ description: Bank Identifier Code of the bank associated with the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ country:
+ description: Two-letter ISO code representing the country the bank account is located in.
+ maxLength: 5000
+ nullable: true
+ type: string
+ generated_sepa_debit:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/payment_method"
+ description: The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/payment_method"
+ generated_sepa_debit_mandate:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/mandate"
+ description: The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/mandate"
+ iban_last4:
+ description: Last four characters of the IBAN.
+ maxLength: 5000
+ nullable: true
+ type: string
+ preferred_language:
+ description: |-
+ Preferred language of the SOFORT authorization page that the customer is redirected to.
+ Can be one of `de`, `en`, `es`, `fr`, `it`, `nl`, or `pl`
+ enum:
+ - de
+ - en
+ - es
+ - fr
+ - it
+ - nl
+ - pl
+ nullable: true
+ type: string
+ verified_name:
+ description: |-
+ Owner's verified full name. Values are verified or provided by SOFORT directly
+ (if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_details_sofort
+ type: object
+ x-expandableFields:
+ - generated_sepa_debit
+ - generated_sepa_debit_mandate
+ payment_method_details_stripe_account:
+ description: ""
+ properties: {}
+ title: payment_method_details_stripe_account
+ type: object
+ x-expandableFields: []
+ payment_method_details_us_bank_account:
+ description: ""
+ properties:
+ account_holder_type:
+ description: "Account holder type: individual or company."
+ enum:
+ - company
+ - individual
+ nullable: true
+ type: string
+ account_type:
+ description: "Account type: checkings or savings. Defaults to checking if omitted."
+ enum:
+ - checking
+ - savings
+ nullable: true
+ type: string
+ bank_name:
+ description: Name of the bank associated with the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ fingerprint:
+ description: Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
+ maxLength: 5000
+ nullable: true
+ type: string
+ last4:
+ description: Last four digits of the bank account number.
+ maxLength: 5000
+ nullable: true
+ type: string
+ routing_number:
+ description: Routing number of the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_details_us_bank_account
+ type: object
+ x-expandableFields: []
+ payment_method_details_wechat:
+ description: ""
+ properties: {}
+ title: payment_method_details_wechat
+ type: object
+ x-expandableFields: []
+ payment_method_details_wechat_pay:
+ description: ""
+ properties:
+ fingerprint:
+ description: Uniquely identifies this particular WeChat Pay account. You can use this attribute to check whether two WeChat accounts are the same.
+ maxLength: 5000
+ nullable: true
+ type: string
+ transaction_id:
+ description: Transaction ID of this particular WeChat Pay transaction.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_details_wechat_pay
+ type: object
+ x-expandableFields: []
+ payment_method_eps:
+ description: ""
+ properties:
+ bank:
+ description: The customer's bank. Should be one of `arzte_und_apotheker_bank`, `austrian_anadi_bank_ag`, `bank_austria`, `bankhaus_carl_spangler`, `bankhaus_schelhammer_und_schattera_ag`, `bawag_psk_ag`, `bks_bank_ag`, `brull_kallmus_bank_ag`, `btv_vier_lander_bank`, `capital_bank_grawe_gruppe_ag`, `deutsche_bank_ag`, `dolomitenbank`, `easybank_ag`, `erste_bank_und_sparkassen`, `hypo_alpeadriabank_international_ag`, `hypo_noe_lb_fur_niederosterreich_u_wien`, `hypo_oberosterreich_salzburg_steiermark`, `hypo_tirol_bank_ag`, `hypo_vorarlberg_bank_ag`, `hypo_bank_burgenland_aktiengesellschaft`, `marchfelder_bank`, `oberbank_ag`, `raiffeisen_bankengruppe_osterreich`, `schoellerbank_ag`, `sparda_bank_wien`, `volksbank_gruppe`, `volkskreditbank_ag`, or `vr_bank_braunau`.
+ enum:
+ - arzte_und_apotheker_bank
+ - austrian_anadi_bank_ag
+ - bank_austria
+ - bankhaus_carl_spangler
+ - bankhaus_schelhammer_und_schattera_ag
+ - bawag_psk_ag
+ - bks_bank_ag
+ - brull_kallmus_bank_ag
+ - btv_vier_lander_bank
+ - capital_bank_grawe_gruppe_ag
+ - deutsche_bank_ag
+ - dolomitenbank
+ - easybank_ag
+ - erste_bank_und_sparkassen
+ - hypo_alpeadriabank_international_ag
+ - hypo_bank_burgenland_aktiengesellschaft
+ - hypo_noe_lb_fur_niederosterreich_u_wien
+ - hypo_oberosterreich_salzburg_steiermark
+ - hypo_tirol_bank_ag
+ - hypo_vorarlberg_bank_ag
+ - marchfelder_bank
+ - oberbank_ag
+ - raiffeisen_bankengruppe_osterreich
+ - schoellerbank_ag
+ - sparda_bank_wien
+ - volksbank_gruppe
+ - volkskreditbank_ag
+ - vr_bank_braunau
+ nullable: true
+ type: string
+ title: payment_method_eps
+ type: object
+ x-expandableFields: []
+ payment_method_fpx:
+ description: ""
+ properties:
+ bank:
+ description: The customer's bank, if provided. Can be one of `affin_bank`, `agrobank`, `alliance_bank`, `ambank`, `bank_islam`, `bank_muamalat`, `bank_rakyat`, `bsn`, `cimb`, `hong_leong_bank`, `hsbc`, `kfh`, `maybank2u`, `ocbc`, `public_bank`, `rhb`, `standard_chartered`, `uob`, `deutsche_bank`, `maybank2e`, `pb_enterprise`, or `bank_of_china`.
+ enum:
+ - affin_bank
+ - agrobank
+ - alliance_bank
+ - ambank
+ - bank_islam
+ - bank_muamalat
+ - bank_of_china
+ - bank_rakyat
+ - bsn
+ - cimb
+ - deutsche_bank
+ - hong_leong_bank
+ - hsbc
+ - kfh
+ - maybank2e
+ - maybank2u
+ - ocbc
+ - pb_enterprise
+ - public_bank
+ - rhb
+ - standard_chartered
+ - uob
+ type: string
+ required:
+ - bank
+ title: payment_method_fpx
+ type: object
+ x-expandableFields: []
+ payment_method_giropay:
+ description: ""
+ properties: {}
+ title: payment_method_giropay
+ type: object
+ x-expandableFields: []
+ payment_method_grabpay:
+ description: ""
+ properties: {}
+ title: payment_method_grabpay
+ type: object
+ x-expandableFields: []
+ payment_method_ideal:
+ description: ""
+ properties:
+ bank:
+ description: The customer's bank, if provided. Can be one of `abn_amro`, `asn_bank`, `bunq`, `handelsbanken`, `ing`, `knab`, `moneyou`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`.
+ enum:
+ - abn_amro
+ - asn_bank
+ - bunq
+ - handelsbanken
+ - ing
+ - knab
+ - moneyou
+ - rabobank
+ - regiobank
+ - revolut
+ - sns_bank
+ - triodos_bank
+ - van_lanschot
+ - yoursafe
+ nullable: true
+ type: string
+ bic:
+ description: The Bank Identifier Code of the customer's bank, if the bank was provided.
+ enum:
+ - ABNANL2A
+ - ASNBNL21
+ - BITSNL2A
+ - BUNQNL2A
+ - FVLBNL22
+ - HANDNL2A
+ - INGBNL2A
+ - KNABNL2H
+ - MOYONL21
+ - RABONL2U
+ - RBRBNL21
+ - REVOIE23
+ - REVOLT21
+ - SNSBNL2A
+ - TRIONL2U
+ nullable: true
+ type: string
+ title: payment_method_ideal
+ type: object
+ x-expandableFields: []
+ payment_method_interac_present:
+ description: ""
+ properties: {}
+ title: payment_method_interac_present
+ type: object
+ x-expandableFields: []
+ payment_method_klarna:
+ description: ""
+ properties:
+ dob:
+ anyOf:
+ - $ref: "#/components/schemas/payment_flows_private_payment_methods_klarna_dob"
+ description: The customer's date of birth, if provided.
+ nullable: true
+ title: payment_method_klarna
+ type: object
+ x-expandableFields:
+ - dob
+ payment_method_konbini:
+ description: ""
+ properties: {}
+ title: payment_method_konbini
+ type: object
+ x-expandableFields: []
+ payment_method_link:
+ description: ""
+ properties:
+ email:
+ description: Account owner's email address.
+ maxLength: 5000
+ nullable: true
+ type: string
+ persistent_token:
+ description: Token used for persistent Link logins.
+ maxLength: 5000
+ type: string
+ title: payment_method_link
+ type: object
+ x-expandableFields: []
+ payment_method_options_affirm:
+ description: ""
+ properties:
+ capture_method:
+ description: Controls when the funds will be captured from the customer's account.
+ enum:
+ - manual
+ type: string
+ preferred_locale:
+ description: Preferred language of the Affirm authorization page that the customer is redirected to.
+ maxLength: 10
+ type: string
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ title: payment_method_options_affirm
+ type: object
+ x-expandableFields: []
+ payment_method_options_afterpay_clearpay:
+ description: ""
+ properties:
+ capture_method:
+ description: Controls when the funds will be captured from the customer's account.
+ enum:
+ - manual
+ type: string
+ reference:
+ description: |-
+ Order identifier shown to the customer in Afterpay’s online portal. We recommend using a value that helps you answer any questions a customer might have about
+ the payment. The identifier is limited to 128 characters and may contain only letters, digits, underscores, backslashes and dashes.
+ maxLength: 5000
+ nullable: true
+ type: string
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ x-stripeBypassValidation: true
+ title: payment_method_options_afterpay_clearpay
+ type: object
+ x-expandableFields: []
+ payment_method_options_alipay:
+ description: ""
+ properties:
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ - off_session
+ type: string
+ title: payment_method_options_alipay
+ type: object
+ x-expandableFields: []
+ payment_method_options_bacs_debit:
+ description: ""
+ properties:
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ - off_session
+ - on_session
+ type: string
+ title: payment_method_options_bacs_debit
+ type: object
+ x-expandableFields: []
+ payment_method_options_bancontact:
+ description: ""
+ properties:
+ preferred_language:
+ description: Preferred language of the Bancontact authorization page that the customer is redirected to.
+ enum:
+ - de
+ - en
+ - fr
+ - nl
+ type: string
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ - off_session
+ type: string
+ required:
+ - preferred_language
+ title: payment_method_options_bancontact
+ type: object
+ x-expandableFields: []
+ payment_method_options_boleto:
+ description: ""
+ properties:
+ expires_after_days:
+ description: The number of calendar days before a Boleto voucher expires. For example, if you create a Boleto voucher on Monday and you set expires_after_days to 2, the Boleto voucher will expire on Wednesday at 23:59 America/Sao_Paulo time.
+ type: integer
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ - off_session
+ - on_session
+ type: string
+ required:
+ - expires_after_days
+ title: payment_method_options_boleto
+ type: object
+ x-expandableFields: []
+ payment_method_options_card_installments:
+ description: ""
+ properties:
+ available_plans:
+ description: Installment plans that may be selected for this PaymentIntent.
+ items:
+ $ref: "#/components/schemas/payment_method_details_card_installments_plan"
+ nullable: true
+ type: array
+ enabled:
+ description: Whether Installments are enabled for this PaymentIntent.
+ type: boolean
+ plan:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_details_card_installments_plan"
+ description: Installment plan selected for this PaymentIntent.
+ nullable: true
+ required:
+ - enabled
+ title: payment_method_options_card_installments
+ type: object
+ x-expandableFields:
+ - available_plans
+ - plan
+ payment_method_options_card_mandate_options:
+ description: ""
+ properties:
+ amount:
+ description: Amount to be charged for future payments.
+ type: integer
+ amount_type:
+ description: One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param.
+ enum:
+ - fixed
+ - maximum
+ type: string
+ description:
+ description: A description of the mandate or subscription that is meant to be displayed to the customer.
+ maxLength: 200
+ nullable: true
+ type: string
+ end_date:
+ description: End date of the mandate or subscription. If not provided, the mandate will be active until canceled. If provided, end date should be after start date.
+ format: unix-time
+ nullable: true
+ type: integer
+ interval:
+ description: Specifies payment frequency. One of `day`, `week`, `month`, `year`, or `sporadic`.
+ enum:
+ - day
+ - month
+ - sporadic
+ - week
+ - year
+ type: string
+ interval_count:
+ description: The number of intervals between payments. For example, `interval=month` and `interval_count=3` indicates one payment every three months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). This parameter is optional when `interval=sporadic`.
+ nullable: true
+ type: integer
+ reference:
+ description: Unique identifier for the mandate or subscription.
+ maxLength: 80
+ type: string
+ start_date:
+ description: Start date of the mandate or subscription. Start date should not be lesser than yesterday.
+ format: unix-time
+ type: integer
+ supported_types:
+ description: Specifies the type of mandates supported. Possible values are `india`.
+ items:
+ enum:
+ - india
+ type: string
+ nullable: true
+ type: array
+ required:
+ - amount
+ - amount_type
+ - interval
+ - reference
+ - start_date
+ title: payment_method_options_card_mandate_options
+ type: object
+ x-expandableFields: []
+ payment_method_options_card_present:
+ description: ""
+ properties:
+ request_extended_authorization:
+ description: Request ability to capture this payment beyond the standard [authorization validity window](https://stripe.com/docs/terminal/features/extended-authorizations#authorization-validity)
+ nullable: true
+ type: boolean
+ request_incremental_authorization_support:
+ description: Request ability to [increment](https://stripe.com/docs/terminal/features/incremental-authorizations) this PaymentIntent if the combination of MCC and card brand is eligible. Check [incremental_authorization_supported](https://stripe.com/docs/api/charges/object#charge_object-payment_method_details-card_present-incremental_authorization_supported) in the [Confirm](https://stripe.com/docs/api/payment_intents/confirm) response to verify support.
+ nullable: true
+ type: boolean
+ title: payment_method_options_card_present
+ type: object
+ x-expandableFields: []
+ payment_method_options_cashapp:
+ description: ""
+ properties:
+ capture_method:
+ description: Controls when the funds will be captured from the customer's account.
+ enum:
+ - manual
+ type: string
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ - off_session
+ - on_session
+ type: string
+ title: payment_method_options_cashapp
+ type: object
+ x-expandableFields: []
+ payment_method_options_customer_balance:
+ description: ""
+ properties:
+ bank_transfer:
+ $ref: "#/components/schemas/payment_method_options_customer_balance_bank_transfer"
+ funding_type:
+ description: "The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`."
+ enum:
+ - bank_transfer
+ nullable: true
+ type: string
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ title: payment_method_options_customer_balance
+ type: object
+ x-expandableFields:
+ - bank_transfer
+ payment_method_options_customer_balance_bank_transfer:
+ description: ""
+ properties:
+ eu_bank_transfer:
+ $ref: "#/components/schemas/payment_method_options_customer_balance_eu_bank_account"
+ requested_address_types:
+ description: |-
+ List of address types that should be returned in the financial_addresses response. If not specified, all valid types will be returned.
+
+ Permitted values include: `sort_code`, `zengin`, `iban`, or `spei`.
+ items:
+ enum:
+ - iban
+ - sepa
+ - sort_code
+ - spei
+ - zengin
+ type: string
+ x-stripeBypassValidation: true
+ type: array
+ type:
+ description: "The bank transfer type that this PaymentIntent is allowed to use for funding Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, or `mx_bank_transfer`."
+ enum:
+ - eu_bank_transfer
+ - gb_bank_transfer
+ - jp_bank_transfer
+ - mx_bank_transfer
+ nullable: true
+ type: string
+ x-stripeBypassValidation: true
+ title: payment_method_options_customer_balance_bank_transfer
+ type: object
+ x-expandableFields:
+ - eu_bank_transfer
+ payment_method_options_customer_balance_eu_bank_account:
+ description: ""
+ properties:
+ country:
+ description: "The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`."
+ enum:
+ - BE
+ - DE
+ - ES
+ - FR
+ - IE
+ - NL
+ type: string
+ required:
+ - country
+ title: payment_method_options_customer_balance_eu_bank_account
+ type: object
+ x-expandableFields: []
+ payment_method_options_fpx:
+ description: ""
+ properties:
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ title: payment_method_options_fpx
+ type: object
+ x-expandableFields: []
+ payment_method_options_giropay:
+ description: ""
+ properties:
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ title: payment_method_options_giropay
+ type: object
+ x-expandableFields: []
+ payment_method_options_grabpay:
+ description: ""
+ properties:
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ title: payment_method_options_grabpay
+ type: object
+ x-expandableFields: []
+ payment_method_options_ideal:
+ description: ""
+ properties:
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ - off_session
+ type: string
+ title: payment_method_options_ideal
+ type: object
+ x-expandableFields: []
+ payment_method_options_interac_present:
+ description: ""
+ properties: {}
+ title: payment_method_options_interac_present
+ type: object
+ x-expandableFields: []
+ payment_method_options_klarna:
+ description: ""
+ properties:
+ capture_method:
+ description: Controls when the funds will be captured from the customer's account.
+ enum:
+ - manual
+ type: string
+ preferred_locale:
+ description: Preferred locale of the Klarna checkout page that the customer is redirected to.
+ maxLength: 5000
+ nullable: true
+ type: string
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ title: payment_method_options_klarna
+ type: object
+ x-expandableFields: []
+ payment_method_options_konbini:
+ description: ""
+ properties:
+ confirmation_number:
+ description: An optional 10 to 11 digit numeric-only string determining the confirmation code at applicable convenience stores.
+ maxLength: 5000
+ nullable: true
+ type: string
+ expires_after_days:
+ description: The number of calendar days (between 1 and 60) after which Konbini payment instructions will expire. For example, if a PaymentIntent is confirmed with Konbini and `expires_after_days` set to 2 on Monday JST, the instructions will expire on Wednesday 23:59:59 JST.
+ nullable: true
+ type: integer
+ expires_at:
+ description: The timestamp at which the Konbini payment instructions will expire. Only one of `expires_after_days` or `expires_at` may be set.
+ format: unix-time
+ nullable: true
+ type: integer
+ product_description:
+ description: A product descriptor of up to 22 characters, which will appear to customers at the convenience store.
+ maxLength: 5000
+ nullable: true
+ type: string
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ title: payment_method_options_konbini
+ type: object
+ x-expandableFields: []
+ payment_method_options_oxxo:
+ description: ""
+ properties:
+ expires_after_days:
+ description: The number of calendar days before an OXXO invoice expires. For example, if you create an OXXO invoice on Monday and you set expires_after_days to 2, the OXXO invoice will expire on Wednesday at 23:59 America/Mexico_City time.
+ type: integer
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ required:
+ - expires_after_days
+ title: payment_method_options_oxxo
+ type: object
+ x-expandableFields: []
+ payment_method_options_p24:
+ description: ""
+ properties:
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ title: payment_method_options_p24
+ type: object
+ x-expandableFields: []
+ payment_method_options_paynow:
+ description: ""
+ properties:
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ title: payment_method_options_paynow
+ type: object
+ x-expandableFields: []
+ payment_method_options_pix:
+ description: ""
+ properties:
+ expires_after_seconds:
+ description: The number of seconds (between 10 and 1209600) after which Pix payment will expire.
+ nullable: true
+ type: integer
+ expires_at:
+ description: The timestamp at which the Pix expires.
+ nullable: true
+ type: integer
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ title: payment_method_options_pix
+ type: object
+ x-expandableFields: []
+ payment_method_options_promptpay:
+ description: ""
+ properties:
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ title: payment_method_options_promptpay
+ type: object
+ x-expandableFields: []
+ payment_method_options_sofort:
+ description: ""
+ properties:
+ preferred_language:
+ description: Preferred language of the SOFORT authorization page that the customer is redirected to.
+ enum:
+ - de
+ - en
+ - es
+ - fr
+ - it
+ - nl
+ - pl
+ nullable: true
+ type: string
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ - off_session
+ type: string
+ title: payment_method_options_sofort
+ type: object
+ x-expandableFields: []
+ payment_method_options_wechat_pay:
+ description: ""
+ properties:
+ app_id:
+ description: The app ID registered with WeChat Pay. Only required when client is ios or android.
+ maxLength: 5000
+ nullable: true
+ type: string
+ client:
+ description: The client type that the end customer will pay from
+ enum:
+ - android
+ - ios
+ - web
+ nullable: true
+ type: string
+ x-stripeBypassValidation: true
+ setup_future_usage:
+ description: |-
+ Indicates that you intend to make future payments with this PaymentIntent's payment method.
+
+ Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.
+
+ When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).
+ enum:
+ - none
+ type: string
+ title: payment_method_options_wechat_pay
+ type: object
+ x-expandableFields: []
+ payment_method_oxxo:
+ description: ""
+ properties: {}
+ title: payment_method_oxxo
+ type: object
+ x-expandableFields: []
+ payment_method_p24:
+ description: ""
+ properties:
+ bank:
+ description: The customer's bank, if provided.
+ enum:
+ - alior_bank
+ - bank_millennium
+ - bank_nowy_bfg_sa
+ - bank_pekao_sa
+ - banki_spbdzielcze
+ - blik
+ - bnp_paribas
+ - boz
+ - citi_handlowy
+ - credit_agricole
+ - envelobank
+ - etransfer_pocztowy24
+ - getin_bank
+ - ideabank
+ - ing
+ - inteligo
+ - mbank_mtransfer
+ - nest_przelew
+ - noble_pay
+ - pbac_z_ipko
+ - plus_bank
+ - santander_przelew24
+ - tmobile_usbugi_bankowe
+ - toyota_bank
+ - volkswagen_bank
+ nullable: true
+ type: string
+ x-stripeBypassValidation: true
+ title: payment_method_p24
+ type: object
+ x-expandableFields: []
+ payment_method_paynow:
+ description: ""
+ properties: {}
+ title: payment_method_paynow
+ type: object
+ x-expandableFields: []
+ payment_method_pix:
+ description: ""
+ properties: {}
+ title: payment_method_pix
+ type: object
+ x-expandableFields: []
+ payment_method_promptpay:
+ description: ""
+ properties: {}
+ title: payment_method_promptpay
+ type: object
+ x-expandableFields: []
+ payment_method_sepa_debit:
+ description: ""
+ properties:
+ bank_code:
+ description: Bank code of bank associated with the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ branch_code:
+ description: Branch code of bank associated with the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ country:
+ description: Two-letter ISO code representing the country the bank account is located in.
+ maxLength: 5000
+ nullable: true
+ type: string
+ fingerprint:
+ description: Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
+ maxLength: 5000
+ nullable: true
+ type: string
+ generated_from:
+ anyOf:
+ - $ref: "#/components/schemas/sepa_debit_generated_from"
+ description: Information about the object that generated this PaymentMethod.
+ nullable: true
+ last4:
+ description: Last four characters of the IBAN.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_sepa_debit
+ type: object
+ x-expandableFields:
+ - generated_from
+ payment_method_sofort:
+ description: ""
+ properties:
+ country:
+ description: Two-letter ISO code representing the country the bank account is located in.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: payment_method_sofort
+ type: object
+ x-expandableFields: []
+ payment_method_us_bank_account:
+ description: ""
+ properties:
+ account_holder_type:
+ description: "Account holder type: individual or company."
+ enum:
+ - company
+ - individual
+ nullable: true
+ type: string
+ account_type:
+ description: "Account type: checkings or savings. Defaults to checking if omitted."
+ enum:
+ - checking
+ - savings
+ nullable: true
+ type: string
+ bank_name:
+ description: The name of the bank.
+ maxLength: 5000
+ nullable: true
+ type: string
+ financial_connections_account:
+ description: The ID of the Financial Connections Account used to create the payment method.
+ maxLength: 5000
+ nullable: true
+ type: string
+ fingerprint:
+ description: Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
+ maxLength: 5000
+ nullable: true
+ type: string
+ last4:
+ description: Last four digits of the bank account number.
+ maxLength: 5000
+ nullable: true
+ type: string
+ networks:
+ anyOf:
+ - $ref: "#/components/schemas/us_bank_account_networks"
+ description: Contains information about US bank account networks that can be used.
+ nullable: true
+ routing_number:
+ description: Routing number of the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ status_details:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_us_bank_account_status_details"
+ description: Contains information about the future reusability of this PaymentMethod.
+ nullable: true
+ title: payment_method_us_bank_account
+ type: object
+ x-expandableFields:
+ - networks
+ - status_details
+ payment_method_us_bank_account_blocked:
+ description: ""
+ properties:
+ network_code:
+ description: The ACH network code that resulted in this block.
+ enum:
+ - R02
+ - R03
+ - R04
+ - R05
+ - R07
+ - R08
+ - R10
+ - R11
+ - R16
+ - R20
+ - R29
+ - R31
+ nullable: true
+ type: string
+ reason:
+ description: The reason why this PaymentMethod's fingerprint has been blocked
+ enum:
+ - bank_account_closed
+ - bank_account_frozen
+ - bank_account_invalid_details
+ - bank_account_restricted
+ - bank_account_unusable
+ - debit_not_authorized
+ nullable: true
+ type: string
+ title: payment_method_us_bank_account_blocked
+ type: object
+ x-expandableFields: []
+ payment_method_us_bank_account_status_details:
+ description: ""
+ properties:
+ blocked:
+ $ref: "#/components/schemas/payment_method_us_bank_account_blocked"
+ title: payment_method_us_bank_account_status_details
+ type: object
+ x-expandableFields:
+ - blocked
+ payment_method_wechat_pay:
+ description: ""
+ properties: {}
+ title: payment_method_wechat_pay
+ type: object
+ x-expandableFields: []
+ payment_pages_checkout_session_after_expiration:
+ description: ""
+ properties:
+ recovery:
+ anyOf:
+ - $ref: "#/components/schemas/payment_pages_checkout_session_after_expiration_recovery"
+ description: When set, configuration used to recover the Checkout Session on expiry.
+ nullable: true
+ title: PaymentPagesCheckoutSessionAfterExpiration
+ type: object
+ x-expandableFields:
+ - recovery
+ payment_pages_checkout_session_after_expiration_recovery:
+ description: ""
+ properties:
+ allow_promotion_codes:
+ description: Enables user redeemable promotion codes on the recovered Checkout Sessions. Defaults to `false`
+ type: boolean
+ enabled:
+ description: |-
+ If `true`, a recovery url will be generated to recover this Checkout Session if it
+ expires before a transaction is completed. It will be attached to the
+ Checkout Session object upon expiration.
+ type: boolean
+ expires_at:
+ description: The timestamp at which the recovery URL will expire.
+ format: unix-time
+ nullable: true
+ type: integer
+ url:
+ description: URL that creates a new Checkout Session when clicked that is a copy of this expired Checkout Session
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - allow_promotion_codes
+ - enabled
+ title: PaymentPagesCheckoutSessionAfterExpirationRecovery
+ type: object
+ x-expandableFields: []
+ payment_pages_checkout_session_automatic_tax:
+ description: ""
+ properties:
+ enabled:
+ description: Indicates whether automatic tax is enabled for the session
+ type: boolean
+ status:
+ description: The status of the most recent automated tax calculation for this session.
+ enum:
+ - complete
+ - failed
+ - requires_location_inputs
+ nullable: true
+ type: string
+ required:
+ - enabled
+ title: PaymentPagesCheckoutSessionAutomaticTax
+ type: object
+ x-expandableFields: []
+ payment_pages_checkout_session_consent:
+ description: ""
+ properties:
+ promotions:
+ description: |-
+ If `opt_in`, the customer consents to receiving promotional communications
+ from the merchant about this Checkout Session.
+ enum:
+ - opt_in
+ - opt_out
+ nullable: true
+ type: string
+ terms_of_service:
+ description: If `accepted`, the customer in this Checkout Session has agreed to the merchant's terms of service.
+ enum:
+ - accepted
+ nullable: true
+ type: string
+ x-stripeBypassValidation: true
+ title: PaymentPagesCheckoutSessionConsent
+ type: object
+ x-expandableFields: []
+ payment_pages_checkout_session_consent_collection:
+ description: ""
+ properties:
+ promotions:
+ description: |-
+ If set to `auto`, enables the collection of customer consent for promotional communications. The Checkout
+ Session will determine whether to display an option to opt into promotional communication
+ from the merchant depending on the customer's locale. Only available to US merchants.
+ enum:
+ - auto
+ - none
+ nullable: true
+ type: string
+ terms_of_service:
+ description: If set to `required`, it requires customers to accept the terms of service before being able to pay.
+ enum:
+ - none
+ - required
+ nullable: true
+ type: string
+ title: PaymentPagesCheckoutSessionConsentCollection
+ type: object
+ x-expandableFields: []
+ payment_pages_checkout_session_currency_conversion:
+ description: ""
+ properties:
+ amount_subtotal:
+ description: Total of all items in source currency before discounts or taxes are applied.
+ type: integer
+ amount_total:
+ description: Total of all items in source currency after discounts and taxes are applied.
+ type: integer
+ fx_rate:
+ description: Exchange rate used to convert source currency amounts to customer currency amounts
+ format: decimal
+ type: string
+ source_currency:
+ description: Creation currency of the CheckoutSession before localization
+ maxLength: 5000
+ type: string
+ required:
+ - amount_subtotal
+ - amount_total
+ - fx_rate
+ - source_currency
+ title: PaymentPagesCheckoutSessionCurrencyConversion
+ type: object
+ x-expandableFields: []
+ payment_pages_checkout_session_custom_fields:
+ description: ""
+ properties:
+ dropdown:
+ anyOf:
+ - $ref: "#/components/schemas/payment_pages_checkout_session_custom_fields_dropdown"
+ description: Configuration for `type=dropdown` fields.
+ nullable: true
+ key:
+ description: String of your choice that your integration can use to reconcile this field. Must be unique to this field, alphanumeric, and up to 200 characters.
+ maxLength: 5000
+ type: string
+ label:
+ $ref: "#/components/schemas/payment_pages_checkout_session_custom_fields_label"
+ numeric:
+ anyOf:
+ - $ref: "#/components/schemas/payment_pages_checkout_session_custom_fields_numeric"
+ description: Configuration for `type=numeric` fields.
+ nullable: true
+ optional:
+ description: Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`.
+ type: boolean
+ text:
+ anyOf:
+ - $ref: "#/components/schemas/payment_pages_checkout_session_custom_fields_text"
+ description: Configuration for `type=text` fields.
+ nullable: true
+ type:
+ description: The type of the field.
+ enum:
+ - dropdown
+ - numeric
+ - text
+ type: string
+ required:
+ - key
+ - label
+ - optional
+ - type
+ title: PaymentPagesCheckoutSessionCustomFields
+ type: object
+ x-expandableFields:
+ - dropdown
+ - label
+ - numeric
+ - text
+ payment_pages_checkout_session_custom_fields_dropdown:
+ description: ""
+ properties:
+ options:
+ description: The options available for the customer to select. Up to 200 options allowed.
+ items:
+ $ref: "#/components/schemas/payment_pages_checkout_session_custom_fields_option"
+ type: array
+ value:
+ description: The option selected by the customer. This will be the `value` for the option.
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - options
+ title: PaymentPagesCheckoutSessionCustomFieldsDropdown
+ type: object
+ x-expandableFields:
+ - options
+ payment_pages_checkout_session_custom_fields_label:
+ description: ""
+ properties:
+ custom:
+ description: Custom text for the label, displayed to the customer. Up to 50 characters.
+ maxLength: 5000
+ nullable: true
+ type: string
+ type:
+ description: The type of the label.
+ enum:
+ - custom
+ type: string
+ required:
+ - type
+ title: PaymentPagesCheckoutSessionCustomFieldsLabel
+ type: object
+ x-expandableFields: []
+ payment_pages_checkout_session_custom_fields_numeric:
+ description: ""
+ properties:
+ value:
+ description: The value entered by the customer, containing only digits.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: PaymentPagesCheckoutSessionCustomFieldsNumeric
+ type: object
+ x-expandableFields: []
+ payment_pages_checkout_session_custom_fields_option:
+ description: ""
+ properties:
+ label:
+ description: The label for the option, displayed to the customer. Up to 100 characters.
+ maxLength: 5000
+ type: string
+ value:
+ description: The value for this option, not displayed to the customer, used by your integration to reconcile the option selected by the customer. Must be unique to this option, alphanumeric, and up to 100 characters.
+ maxLength: 5000
+ type: string
+ required:
+ - label
+ - value
+ title: PaymentPagesCheckoutSessionCustomFieldsOption
+ type: object
+ x-expandableFields: []
+ payment_pages_checkout_session_custom_fields_text:
+ description: ""
+ properties:
+ value:
+ description: The value entered by the customer.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: PaymentPagesCheckoutSessionCustomFieldsText
+ type: object
+ x-expandableFields: []
+ payment_pages_checkout_session_custom_text:
+ description: ""
+ properties:
+ shipping_address:
+ anyOf:
+ - $ref: "#/components/schemas/payment_pages_checkout_session_custom_text_position"
+ description: Custom text that should be displayed alongside shipping address collection.
+ nullable: true
+ submit:
+ anyOf:
+ - $ref: "#/components/schemas/payment_pages_checkout_session_custom_text_position"
+ description: Custom text that should be displayed alongside the payment confirmation button.
+ nullable: true
+ title: PaymentPagesCheckoutSessionCustomText
+ type: object
+ x-expandableFields:
+ - shipping_address
+ - submit
+ payment_pages_checkout_session_custom_text_position:
+ description: ""
+ properties:
+ message:
+ description: Text may be up to 1000 characters in length.
+ maxLength: 500
+ type: string
+ required:
+ - message
+ title: PaymentPagesCheckoutSessionCustomTextPosition
+ type: object
+ x-expandableFields: []
+ payment_pages_checkout_session_customer_details:
+ description: ""
+ properties:
+ address:
+ anyOf:
+ - $ref: "#/components/schemas/address"
+ description: "The customer's address after a completed Checkout Session. Note: This property is populated only for sessions on or after March 30, 2022."
+ nullable: true
+ email:
+ description: |-
+ The email associated with the Customer, if one exists, on the Checkout Session after a completed Checkout Session or at time of session expiry.
+ Otherwise, if the customer has consented to promotional content, this value is the most recent valid email provided by the customer on the Checkout form.
+ maxLength: 5000
+ nullable: true
+ type: string
+ name:
+ description: "The customer's name after a completed Checkout Session. Note: This property is populated only for sessions on or after March 30, 2022."
+ maxLength: 5000
+ nullable: true
+ type: string
+ phone:
+ description: The customer's phone number after a completed Checkout Session.
+ maxLength: 5000
+ nullable: true
+ type: string
+ tax_exempt:
+ description: The customer’s tax exempt status after a completed Checkout Session.
+ enum:
+ - exempt
+ - none
+ - reverse
+ nullable: true
+ type: string
+ tax_ids:
+ description: The customer’s tax IDs after a completed Checkout Session.
+ items:
+ $ref: "#/components/schemas/payment_pages_checkout_session_tax_id"
+ nullable: true
+ type: array
+ title: PaymentPagesCheckoutSessionCustomerDetails
+ type: object
+ x-expandableFields:
+ - address
+ - tax_ids
+ payment_pages_checkout_session_invoice_creation:
+ description: ""
+ properties:
+ enabled:
+ description: Indicates whether invoice creation is enabled for the Checkout Session.
+ type: boolean
+ invoice_data:
+ $ref: "#/components/schemas/payment_pages_checkout_session_invoice_settings"
+ required:
+ - enabled
+ - invoice_data
+ title: PaymentPagesCheckoutSessionInvoiceCreation
+ type: object
+ x-expandableFields:
+ - invoice_data
+ payment_pages_checkout_session_invoice_settings:
+ description: ""
+ properties:
+ account_tax_ids:
+ description: The account tax IDs associated with the invoice.
+ items:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/tax_id"
+ - $ref: "#/components/schemas/deleted_tax_id"
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/tax_id"
+ - $ref: "#/components/schemas/deleted_tax_id"
+ nullable: true
+ type: array
+ custom_fields:
+ description: Custom fields displayed on the invoice.
+ items:
+ $ref: "#/components/schemas/invoice_setting_custom_field"
+ nullable: true
+ type: array
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 5000
+ nullable: true
+ type: string
+ footer:
+ description: Footer displayed on the invoice.
+ maxLength: 5000
+ nullable: true
+ type: string
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ nullable: true
+ type: object
+ rendering_options:
+ anyOf:
+ - $ref: "#/components/schemas/invoice_setting_rendering_options"
+ description: Options for invoice PDF rendering.
+ nullable: true
+ title: PaymentPagesCheckoutSessionInvoiceSettings
+ type: object
+ x-expandableFields:
+ - account_tax_ids
+ - custom_fields
+ - rendering_options
+ payment_pages_checkout_session_phone_number_collection:
+ description: ""
+ properties:
+ enabled:
+ description: Indicates whether phone number collection is enabled for the session
+ type: boolean
+ required:
+ - enabled
+ title: PaymentPagesCheckoutSessionPhoneNumberCollection
+ type: object
+ x-expandableFields: []
+ payment_pages_checkout_session_shipping_address_collection:
+ description: ""
+ properties:
+ allowed_countries:
+ description: |-
+ An array of two-letter ISO country codes representing which countries Checkout should provide as options for
+ shipping locations. Unsupported country codes: `AS, CX, CC, CU, HM, IR, KP, MH, FM, NF, MP, PW, SD, SY, UM, VI`.
+ items:
+ enum:
+ - AC
+ - AD
+ - AE
+ - AF
+ - AG
+ - AI
+ - AL
+ - AM
+ - AO
+ - AQ
+ - AR
+ - AT
+ - AU
+ - AW
+ - AX
+ - AZ
+ - BA
+ - BB
+ - BD
+ - BE
+ - BF
+ - BG
+ - BH
+ - BI
+ - BJ
+ - BL
+ - BM
+ - BN
+ - BO
+ - BQ
+ - BR
+ - BS
+ - BT
+ - BV
+ - BW
+ - BY
+ - BZ
+ - CA
+ - CD
+ - CF
+ - CG
+ - CH
+ - CI
+ - CK
+ - CL
+ - CM
+ - CN
+ - CO
+ - CR
+ - CV
+ - CW
+ - CY
+ - CZ
+ - DE
+ - DJ
+ - DK
+ - DM
+ - DO
+ - DZ
+ - EC
+ - EE
+ - EG
+ - EH
+ - ER
+ - ES
+ - ET
+ - FI
+ - FJ
+ - FK
+ - FO
+ - FR
+ - GA
+ - GB
+ - GD
+ - GE
+ - GF
+ - GG
+ - GH
+ - GI
+ - GL
+ - GM
+ - GN
+ - GP
+ - GQ
+ - GR
+ - GS
+ - GT
+ - GU
+ - GW
+ - GY
+ - HK
+ - HN
+ - HR
+ - HT
+ - HU
+ - ID
+ - IE
+ - IL
+ - IM
+ - IN
+ - IO
+ - IQ
+ - IS
+ - IT
+ - JE
+ - JM
+ - JO
+ - JP
+ - KE
+ - KG
+ - KH
+ - KI
+ - KM
+ - KN
+ - KR
+ - KW
+ - KY
+ - KZ
+ - LA
+ - LB
+ - LC
+ - LI
+ - LK
+ - LR
+ - LS
+ - LT
+ - LU
+ - LV
+ - LY
+ - MA
+ - MC
+ - MD
+ - ME
+ - MF
+ - MG
+ - MK
+ - ML
+ - MM
+ - MN
+ - MO
+ - MQ
+ - MR
+ - MS
+ - MT
+ - MU
+ - MV
+ - MW
+ - MX
+ - MY
+ - MZ
+ - NA
+ - NC
+ - NE
+ - NG
+ - NI
+ - NL
+ - NO
+ - NP
+ - NR
+ - NU
+ - NZ
+ - OM
+ - PA
+ - PE
+ - PF
+ - PG
+ - PH
+ - PK
+ - PL
+ - PM
+ - PN
+ - PR
+ - PS
+ - PT
+ - PY
+ - QA
+ - RE
+ - RO
+ - RS
+ - RU
+ - RW
+ - SA
+ - SB
+ - SC
+ - SE
+ - SG
+ - SH
+ - SI
+ - SJ
+ - SK
+ - SL
+ - SM
+ - SN
+ - SO
+ - SR
+ - SS
+ - ST
+ - SV
+ - SX
+ - SZ
+ - TA
+ - TC
+ - TD
+ - TF
+ - TG
+ - TH
+ - TJ
+ - TK
+ - TL
+ - TM
+ - TN
+ - TO
+ - TR
+ - TT
+ - TV
+ - TW
+ - TZ
+ - UA
+ - UG
+ - US
+ - UY
+ - UZ
+ - VA
+ - VC
+ - VE
+ - VG
+ - VN
+ - VU
+ - WF
+ - WS
+ - XK
+ - YE
+ - YT
+ - ZA
+ - ZM
+ - ZW
+ - ZZ
+ type: string
+ type: array
+ required:
+ - allowed_countries
+ title: PaymentPagesCheckoutSessionShippingAddressCollection
+ type: object
+ x-expandableFields: []
+ payment_pages_checkout_session_shipping_cost:
+ description: ""
+ properties:
+ amount_subtotal:
+ description: Total shipping cost before any discounts or taxes are applied.
+ type: integer
+ amount_tax:
+ description: Total tax amount applied due to shipping costs. If no tax was applied, defaults to 0.
+ type: integer
+ amount_total:
+ description: Total shipping cost after discounts and taxes are applied.
+ type: integer
+ shipping_rate:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/shipping_rate"
+ description: The ID of the ShippingRate for this order.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/shipping_rate"
+ taxes:
+ description: The taxes applied to the shipping rate.
+ items:
+ $ref: "#/components/schemas/line_items_tax_amount"
+ type: array
+ required:
+ - amount_subtotal
+ - amount_tax
+ - amount_total
+ title: PaymentPagesCheckoutSessionShippingCost
+ type: object
+ x-expandableFields:
+ - shipping_rate
+ - taxes
+ payment_pages_checkout_session_shipping_option:
+ description: ""
+ properties:
+ shipping_amount:
+ description: A non-negative integer in cents representing how much to charge.
+ type: integer
+ shipping_rate:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/shipping_rate"
+ description: The shipping rate.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/shipping_rate"
+ required:
+ - shipping_amount
+ - shipping_rate
+ title: PaymentPagesCheckoutSessionShippingOption
+ type: object
+ x-expandableFields:
+ - shipping_rate
+ payment_pages_checkout_session_tax_id:
+ description: ""
+ properties:
+ type:
+ description: The type of the tax ID, one of `eu_vat`, `br_cnpj`, `br_cpf`, `eu_oss_vat`, `gb_vat`, `nz_gst`, `au_abn`, `au_arn`, `in_gst`, `no_vat`, `za_vat`, `ch_vat`, `mx_rfc`, `sg_uen`, `ru_inn`, `ru_kpp`, `ca_bn`, `hk_br`, `es_cif`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `my_itn`, `us_ein`, `kr_brn`, `ca_qst`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `my_sst`, `sg_gst`, `ae_trn`, `cl_tin`, `sa_vat`, `id_npwp`, `my_frp`, `il_vat`, `ge_vat`, `ua_vat`, `is_vat`, `bg_uic`, `hu_tin`, `si_tin`, `ke_pin`, `tr_tin`, `eg_tin`, `ph_tin`, or `unknown`
+ enum:
+ - ae_trn
+ - au_abn
+ - au_arn
+ - bg_uic
+ - br_cnpj
+ - br_cpf
+ - ca_bn
+ - ca_gst_hst
+ - ca_pst_bc
+ - ca_pst_mb
+ - ca_pst_sk
+ - ca_qst
+ - ch_vat
+ - cl_tin
+ - eg_tin
+ - es_cif
+ - eu_oss_vat
+ - eu_vat
+ - gb_vat
+ - ge_vat
+ - hk_br
+ - hu_tin
+ - id_npwp
+ - il_vat
+ - in_gst
+ - is_vat
+ - jp_cn
+ - jp_rn
+ - jp_trn
+ - ke_pin
+ - kr_brn
+ - li_uid
+ - mx_rfc
+ - my_frp
+ - my_itn
+ - my_sst
+ - no_vat
+ - nz_gst
+ - ph_tin
+ - ru_inn
+ - ru_kpp
+ - sa_vat
+ - sg_gst
+ - sg_uen
+ - si_tin
+ - th_vat
+ - tr_tin
+ - tw_vat
+ - ua_vat
+ - unknown
+ - us_ein
+ - za_vat
+ type: string
+ value:
+ description: The value of the tax ID.
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - type
+ title: PaymentPagesCheckoutSessionTaxID
+ type: object
+ x-expandableFields: []
+ payment_pages_checkout_session_tax_id_collection:
+ description: ""
+ properties:
+ enabled:
+ description: Indicates whether tax ID collection is enabled for the session
+ type: boolean
+ required:
+ - enabled
+ title: PaymentPagesCheckoutSessionTaxIDCollection
+ type: object
+ x-expandableFields: []
+ payment_pages_checkout_session_total_details:
+ description: ""
+ properties:
+ amount_discount:
+ description: This is the sum of all the discounts.
+ type: integer
+ amount_shipping:
+ description: This is the sum of all the shipping amounts.
+ nullable: true
+ type: integer
+ amount_tax:
+ description: This is the sum of all the tax amounts.
+ type: integer
+ breakdown:
+ $ref: "#/components/schemas/payment_pages_checkout_session_total_details_resource_breakdown"
+ required:
+ - amount_discount
+ - amount_tax
+ title: PaymentPagesCheckoutSessionTotalDetails
+ type: object
+ x-expandableFields:
+ - breakdown
+ payment_pages_checkout_session_total_details_resource_breakdown:
+ description: ""
+ properties:
+ discounts:
+ description: The aggregated discounts.
+ items:
+ $ref: "#/components/schemas/line_items_discount_amount"
+ type: array
+ taxes:
+ description: The aggregated tax amounts by rate.
+ items:
+ $ref: "#/components/schemas/line_items_tax_amount"
+ type: array
+ required:
+ - discounts
+ - taxes
+ title: PaymentPagesCheckoutSessionTotalDetailsResourceBreakdown
+ type: object
+ x-expandableFields:
+ - discounts
+ - taxes
+ payment_source:
+ anyOf:
+ - $ref: "#/components/schemas/account"
+ - $ref: "#/components/schemas/bank_account"
+ - $ref: "#/components/schemas/card"
+ - $ref: "#/components/schemas/source"
+ title: Polymorphic
+ x-resourceId: payment_source
+ x-stripeBypassValidation: true
+ payout:
+ description: |-
+ A `Payout` object is created when you receive funds from Stripe, or when you
+ initiate a payout to either a bank account or debit card of a [connected
+ Stripe account](/docs/connect/bank-debit-card-payouts). You can retrieve individual payouts,
+ as well as list all payouts. Payouts are made on [varying
+ schedules](/docs/connect/manage-payout-schedule), depending on your country and
+ industry.
+
+ Related guide: [Receiving Payouts](https://stripe.com/docs/payouts).
+ properties:
+ amount:
+ description: Amount (in %s) to be transferred to your bank account or debit card.
+ type: integer
+ arrival_date:
+ description: Date the payout is expected to arrive in the bank. This factors in delays like weekends or bank holidays.
+ format: unix-time
+ type: integer
+ automatic:
+ description: Returns `true` if the payout was created by an [automated payout schedule](https://stripe.com/docs/payouts#payout-schedule), and `false` if it was [requested manually](https://stripe.com/docs/payouts#manual-payouts).
+ type: boolean
+ balance_transaction:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/balance_transaction"
+ description: ID of the balance transaction that describes the impact of this payout on your account balance.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/balance_transaction"
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 5000
+ nullable: true
+ type: string
+ destination:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/bank_account"
+ - $ref: "#/components/schemas/card"
+ - $ref: "#/components/schemas/deleted_bank_account"
+ - $ref: "#/components/schemas/deleted_card"
+ description: ID of the bank account or card the payout was sent to.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/bank_account"
+ - $ref: "#/components/schemas/card"
+ - $ref: "#/components/schemas/deleted_bank_account"
+ - $ref: "#/components/schemas/deleted_card"
+ x-stripeBypassValidation: true
+ failure_balance_transaction:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/balance_transaction"
+ description: If the payout failed or was canceled, this will be the ID of the balance transaction that reversed the initial balance transaction, and puts the funds from the failed payout back in your balance.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/balance_transaction"
+ failure_code:
+ description: Error code explaining reason for payout failure if available. See [Types of payout failures](https://stripe.com/docs/api#payout_failures) for a list of failure codes.
+ maxLength: 5000
+ nullable: true
+ type: string
+ failure_message:
+ description: Message to user further explaining reason for payout failure if available.
+ maxLength: 5000
+ nullable: true
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ nullable: true
+ type: object
+ method:
+ description: The method used to send this payout, which can be `standard` or `instant`. `instant` is only supported for payouts to debit cards. (See [Instant payouts for marketplaces](https://stripe.com/blog/instant-payouts-for-marketplaces) for more information.)
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - payout
+ type: string
+ original_payout:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/payout"
+ description: If the payout reverses another, this is the ID of the original payout.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/payout"
+ reconciliation_status:
+ description: If `completed`, the [Balance Transactions API](https://stripe.com/docs/api/balance_transactions/list#balance_transaction_list-payout) may be used to list all Balance Transactions that were paid out in this payout.
+ enum:
+ - completed
+ - in_progress
+ - not_applicable
+ type: string
+ reversed_by:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/payout"
+ description: If the payout was reversed, this is the ID of the payout that reverses this payout.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/payout"
+ source_type:
+ description: The source balance this payout came from. One of `card`, `fpx`, or `bank_account`.
+ maxLength: 5000
+ type: string
+ statement_descriptor:
+ description: Extra information about a payout to be displayed on the user's bank statement.
+ maxLength: 5000
+ nullable: true
+ type: string
+ status:
+ description: "Current status of the payout: `paid`, `pending`, `in_transit`, `canceled` or `failed`. A payout is `pending` until it is submitted to the bank, when it becomes `in_transit`. The status then changes to `paid` if the transaction goes through, or to `failed` or `canceled` (within 5 business days). Some failed payouts may initially show as `paid` but then change to `failed`."
+ maxLength: 5000
+ type: string
+ type:
+ description: Can be `bank_account` or `card`.
+ enum:
+ - bank_account
+ - card
+ type: string
+ x-stripeBypassValidation: true
+ required:
+ - amount
+ - arrival_date
+ - automatic
+ - created
+ - currency
+ - id
+ - livemode
+ - method
+ - object
+ - reconciliation_status
+ - source_type
+ - status
+ - type
+ title: Payout
+ type: object
+ x-expandableFields:
+ - balance_transaction
+ - destination
+ - failure_balance_transaction
+ - original_payout
+ - reversed_by
+ x-resourceId: payout
+ period:
+ description: ""
+ properties:
+ end:
+ description: The end date of this usage period. All usage up to and including this point in time is included.
+ format: unix-time
+ nullable: true
+ type: integer
+ start:
+ description: The start date of this usage period. All usage after this point in time is included.
+ format: unix-time
+ nullable: true
+ type: integer
+ title: Period
+ type: object
+ x-expandableFields: []
+ person:
+ description: |-
+ This is an object representing a person associated with a Stripe account.
+
+ A platform cannot access a Standard or Express account's persons after the account starts onboarding, such as after generating an account link for the account.
+ See the [Standard onboarding](https://stripe.com/docs/connect/standard-accounts) or [Express onboarding documentation](https://stripe.com/docs/connect/express-accounts) for information about platform pre-filling and account onboarding steps.
+
+ Related guide: [Handling Identity Verification with the API](https://stripe.com/docs/connect/identity-verification-api#person-information).
+ properties:
+ account:
+ description: The account the person is associated with.
+ maxLength: 5000
+ type: string
+ address:
+ $ref: "#/components/schemas/address"
+ address_kana:
+ anyOf:
+ - $ref: "#/components/schemas/legal_entity_japan_address"
+ nullable: true
+ address_kanji:
+ anyOf:
+ - $ref: "#/components/schemas/legal_entity_japan_address"
+ nullable: true
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ dob:
+ $ref: "#/components/schemas/legal_entity_dob"
+ email:
+ description: The person's email address.
+ maxLength: 5000
+ nullable: true
+ type: string
+ first_name:
+ description: The person's first name.
+ maxLength: 5000
+ nullable: true
+ type: string
+ first_name_kana:
+ description: The Kana variation of the person's first name (Japan only).
+ maxLength: 5000
+ nullable: true
+ type: string
+ first_name_kanji:
+ description: The Kanji variation of the person's first name (Japan only).
+ maxLength: 5000
+ nullable: true
+ type: string
+ full_name_aliases:
+ description: A list of alternate names or aliases that the person is known by.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ future_requirements:
+ anyOf:
+ - $ref: "#/components/schemas/person_future_requirements"
+ nullable: true
+ gender:
+ description: The person's gender (International regulations require either "male" or "female").
+ nullable: true
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ id_number_provided:
+ description: Whether the person's `id_number` was provided.
+ type: boolean
+ id_number_secondary_provided:
+ description: Whether the person's `id_number_secondary` was provided.
+ type: boolean
+ last_name:
+ description: The person's last name.
+ maxLength: 5000
+ nullable: true
+ type: string
+ last_name_kana:
+ description: The Kana variation of the person's last name (Japan only).
+ maxLength: 5000
+ nullable: true
+ type: string
+ last_name_kanji:
+ description: The Kanji variation of the person's last name (Japan only).
+ maxLength: 5000
+ nullable: true
+ type: string
+ maiden_name:
+ description: The person's maiden name.
+ maxLength: 5000
+ nullable: true
+ type: string
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ nationality:
+ description: The country where the person is a national.
+ maxLength: 5000
+ nullable: true
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - person
+ type: string
+ phone:
+ description: The person's phone number.
+ maxLength: 5000
+ nullable: true
+ type: string
+ political_exposure:
+ description: Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction.
+ enum:
+ - existing
+ - none
+ type: string
+ registered_address:
+ $ref: "#/components/schemas/address"
+ relationship:
+ $ref: "#/components/schemas/person_relationship"
+ requirements:
+ anyOf:
+ - $ref: "#/components/schemas/person_requirements"
+ nullable: true
+ ssn_last_4_provided:
+ description: Whether the last four digits of the person's Social Security number have been provided (U.S. only).
+ type: boolean
+ verification:
+ $ref: "#/components/schemas/legal_entity_person_verification"
+ required:
+ - account
+ - created
+ - id
+ - object
+ title: Person
+ type: object
+ x-expandableFields:
+ - address
+ - address_kana
+ - address_kanji
+ - dob
+ - future_requirements
+ - registered_address
+ - relationship
+ - requirements
+ - verification
+ x-resourceId: person
+ person_future_requirements:
+ description: ""
+ properties:
+ alternatives:
+ description: Fields that are due and can be satisfied by providing the corresponding alternative fields instead.
+ items:
+ $ref: "#/components/schemas/account_requirements_alternative"
+ nullable: true
+ type: array
+ currently_due:
+ description: Fields that need to be collected to keep the person's account enabled. If not collected by the account's `future_requirements[current_deadline]`, these fields will transition to the main `requirements` hash, and may immediately become `past_due`, but the account may also be given a grace period depending on the account's enablement state prior to transition.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ errors:
+ description: Fields that are `currently_due` and need to be collected again because validation or verification failed.
+ items:
+ $ref: "#/components/schemas/account_requirements_error"
+ type: array
+ eventually_due:
+ description: Fields that need to be collected assuming all volume thresholds are reached. As they become required, they appear in `currently_due` as well, and the account's `future_requirements[current_deadline]` becomes set.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ past_due:
+ description: Fields that weren't collected by the account's `requirements.current_deadline`. These fields need to be collected to enable the person's account. New fields will never appear here; `future_requirements.past_due` will always be a subset of `requirements.past_due`.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ pending_verification:
+ description: Fields that may become required depending on the results of verification or review. Will be an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due` or `currently_due`.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ required:
+ - currently_due
+ - errors
+ - eventually_due
+ - past_due
+ - pending_verification
+ title: PersonFutureRequirements
+ type: object
+ x-expandableFields:
+ - alternatives
+ - errors
+ person_relationship:
+ description: ""
+ properties:
+ director:
+ description: Whether the person is a director of the account's legal entity. Directors are typically members of the governing board of the company, or responsible for ensuring the company meets its regulatory obligations.
+ nullable: true
+ type: boolean
+ executive:
+ description: Whether the person has significant responsibility to control, manage, or direct the organization.
+ nullable: true
+ type: boolean
+ owner:
+ description: Whether the person is an owner of the account’s legal entity.
+ nullable: true
+ type: boolean
+ percent_ownership:
+ description: The percent owned by the person of the account's legal entity.
+ nullable: true
+ type: number
+ representative:
+ description: Whether the person is authorized as the primary representative of the account. This is the person nominated by the business to provide information about themselves, and general information about the account. There can only be one representative at any given time. At the time the account is created, this person should be set to the person responsible for opening the account.
+ nullable: true
+ type: boolean
+ title:
+ description: The person's title (e.g., CEO, Support Engineer).
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: PersonRelationship
+ type: object
+ x-expandableFields: []
+ person_requirements:
+ description: ""
+ properties:
+ alternatives:
+ description: Fields that are due and can be satisfied by providing the corresponding alternative fields instead.
+ items:
+ $ref: "#/components/schemas/account_requirements_alternative"
+ nullable: true
+ type: array
+ currently_due:
+ description: Fields that need to be collected to keep the person's account enabled. If not collected by the account's `current_deadline`, these fields appear in `past_due` as well, and the account is disabled.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ errors:
+ description: Fields that are `currently_due` and need to be collected again because validation or verification failed.
+ items:
+ $ref: "#/components/schemas/account_requirements_error"
+ type: array
+ eventually_due:
+ description: Fields that need to be collected assuming all volume thresholds are reached. As they become required, they appear in `currently_due` as well, and the account's `current_deadline` becomes set.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ past_due:
+ description: Fields that weren't collected by the account's `current_deadline`. These fields need to be collected to enable the person's account.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ pending_verification:
+ description: Fields that may become required depending on the results of verification or review. Will be an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due`, `currently_due`, or `past_due`.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ required:
+ - currently_due
+ - errors
+ - eventually_due
+ - past_due
+ - pending_verification
+ title: PersonRequirements
+ type: object
+ x-expandableFields:
+ - alternatives
+ - errors
+ plan:
+ description: |-
+ You can now model subscriptions more flexibly using the [Prices API](https://stripe.com/docs/api#prices). It replaces the Plans API and is backwards compatible to simplify your migration.
+
+ Plans define the base price, currency, and billing cycle for recurring purchases of products.
+ [Products](https://stripe.com/docs/api#products) help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.
+
+ For example, you might have a single "gold" product that has plans for $10/month, $100/year, €9/month, and €90/year.
+
+ Related guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and prices](https://stripe.com/docs/products-prices/overview).
+ properties:
+ active:
+ description: Whether the plan can be used for new purchases.
+ type: boolean
+ aggregate_usage:
+ description: Specifies a usage aggregation strategy for plans of `usage_type=metered`. Allowed values are `sum` for summing up all usage during a period, `last_during_period` for using the last usage record reported within a period, `last_ever` for using the last usage record ever (across period bounds) or `max` which uses the usage record with the maximum reported usage during a period. Defaults to `sum`.
+ enum:
+ - last_during_period
+ - last_ever
+ - max
+ - sum
+ nullable: true
+ type: string
+ amount:
+ description: The unit amount in %s to be charged, represented as a whole integer if possible. Only set if `billing_scheme=per_unit`.
+ nullable: true
+ type: integer
+ amount_decimal:
+ description: The unit amount in %s to be charged, represented as a decimal string with at most 12 decimal places. Only set if `billing_scheme=per_unit`.
+ format: decimal
+ nullable: true
+ type: string
+ billing_scheme:
+ description: Describes how to compute the price per period. Either `per_unit` or `tiered`. `per_unit` indicates that the fixed amount (specified in `amount`) will be charged per unit in `quantity` (for plans with `usage_type=licensed`), or per unit of total usage (for plans with `usage_type=metered`). `tiered` indicates that the unit pricing will be computed using a tiering strategy as defined using the `tiers` and `tiers_mode` attributes.
+ enum:
+ - per_unit
+ - tiered
+ type: string
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ interval:
+ description: The frequency at which a subscription is billed. One of `day`, `week`, `month` or `year`.
+ enum:
+ - day
+ - month
+ - week
+ - year
+ type: string
+ interval_count:
+ description: The number of intervals (specified in the `interval` attribute) between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months.
+ type: integer
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ nullable: true
+ type: object
+ nickname:
+ description: A brief description of the plan, hidden from customers.
+ maxLength: 5000
+ nullable: true
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - plan
+ type: string
+ product:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/product"
+ - $ref: "#/components/schemas/deleted_product"
+ description: The product whose pricing this plan determines.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/product"
+ - $ref: "#/components/schemas/deleted_product"
+ tiers:
+ description: Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`.
+ items:
+ $ref: "#/components/schemas/plan_tier"
+ type: array
+ tiers_mode:
+ description: Defines if the tiering price should be `graduated` or `volume` based. In `volume`-based tiering, the maximum quantity within a period determines the per unit price. In `graduated` tiering, pricing can change as the quantity grows.
+ enum:
+ - graduated
+ - volume
+ nullable: true
+ type: string
+ transform_usage:
+ anyOf:
+ - $ref: "#/components/schemas/transform_usage"
+ description: Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with `tiers`.
+ nullable: true
+ trial_period_days:
+ description: Default number of trial days when subscribing a customer to this plan using [`trial_from_plan=true`](https://stripe.com/docs/api#create_subscription-trial_from_plan).
+ nullable: true
+ type: integer
+ usage_type:
+ description: Configures how the quantity per period should be determined. Can be either `metered` or `licensed`. `licensed` automatically bills the `quantity` set when adding it to a subscription. `metered` aggregates the total usage based on usage records. Defaults to `licensed`.
+ enum:
+ - licensed
+ - metered
+ type: string
+ required:
+ - active
+ - billing_scheme
+ - created
+ - currency
+ - id
+ - interval
+ - interval_count
+ - livemode
+ - object
+ - usage_type
+ title: Plan
+ type: object
+ x-expandableFields:
+ - product
+ - tiers
+ - transform_usage
+ x-resourceId: plan
+ plan_tier:
+ description: ""
+ properties:
+ flat_amount:
+ description: Price for the entire tier.
+ nullable: true
+ type: integer
+ flat_amount_decimal:
+ description: Same as `flat_amount`, but contains a decimal value with at most 12 decimal places.
+ format: decimal
+ nullable: true
+ type: string
+ unit_amount:
+ description: Per unit price for units relevant to the tier.
+ nullable: true
+ type: integer
+ unit_amount_decimal:
+ description: Same as `unit_amount`, but contains a decimal value with at most 12 decimal places.
+ format: decimal
+ nullable: true
+ type: string
+ up_to:
+ description: Up to and including to this quantity will be contained in the tier.
+ nullable: true
+ type: integer
+ title: PlanTier
+ type: object
+ x-expandableFields: []
+ platform_tax_fee:
+ description: ""
+ properties:
+ account:
+ description: The Connected account that incurred this charge.
+ maxLength: 5000
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - platform_tax_fee
+ type: string
+ source_transaction:
+ description: The payment object that caused this tax to be inflicted.
+ maxLength: 5000
+ type: string
+ type:
+ description: The type of tax (VAT).
+ maxLength: 5000
+ type: string
+ required:
+ - account
+ - id
+ - object
+ - source_transaction
+ - type
+ title: PlatformTax
+ type: object
+ x-expandableFields: []
+ portal_business_profile:
+ description: ""
+ properties:
+ headline:
+ description: The messaging shown to customers in the portal.
+ maxLength: 5000
+ nullable: true
+ type: string
+ privacy_policy_url:
+ description: A link to the business’s publicly available privacy policy.
+ maxLength: 5000
+ nullable: true
+ type: string
+ terms_of_service_url:
+ description: A link to the business’s publicly available terms of service.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: PortalBusinessProfile
+ type: object
+ x-expandableFields: []
+ portal_customer_update:
+ description: ""
+ properties:
+ allowed_updates:
+ description: The types of customer updates that are supported. When empty, customers are not updateable.
+ items:
+ enum:
+ - address
+ - email
+ - name
+ - phone
+ - shipping
+ - tax_id
+ type: string
+ type: array
+ enabled:
+ description: Whether the feature is enabled.
+ type: boolean
+ required:
+ - allowed_updates
+ - enabled
+ title: PortalCustomerUpdate
+ type: object
+ x-expandableFields: []
+ portal_features:
+ description: ""
+ properties:
+ customer_update:
+ $ref: "#/components/schemas/portal_customer_update"
+ invoice_history:
+ $ref: "#/components/schemas/portal_invoice_list"
+ payment_method_update:
+ $ref: "#/components/schemas/portal_payment_method_update"
+ subscription_cancel:
+ $ref: "#/components/schemas/portal_subscription_cancel"
+ subscription_pause:
+ $ref: "#/components/schemas/portal_subscription_pause"
+ subscription_update:
+ $ref: "#/components/schemas/portal_subscription_update"
+ required:
+ - customer_update
+ - invoice_history
+ - payment_method_update
+ - subscription_cancel
+ - subscription_pause
+ - subscription_update
+ title: PortalFeatures
+ type: object
+ x-expandableFields:
+ - customer_update
+ - invoice_history
+ - payment_method_update
+ - subscription_cancel
+ - subscription_pause
+ - subscription_update
+ portal_flows_after_completion_hosted_confirmation:
+ description: ""
+ properties:
+ custom_message:
+ description: A custom message to display to the customer after the flow is completed.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: PortalFlowsAfterCompletionHostedConfirmation
+ type: object
+ x-expandableFields: []
+ portal_flows_after_completion_redirect:
+ description: ""
+ properties:
+ return_url:
+ description: The URL the customer will be redirected to after the flow is completed.
+ maxLength: 5000
+ type: string
+ required:
+ - return_url
+ title: PortalFlowsAfterCompletionRedirect
+ type: object
+ x-expandableFields: []
+ portal_flows_flow:
+ description: ""
+ properties:
+ after_completion:
+ $ref: "#/components/schemas/portal_flows_flow_after_completion"
+ subscription_cancel:
+ anyOf:
+ - $ref: "#/components/schemas/portal_flows_flow_subscription_cancel"
+ description: Configuration when `flow.type=subscription_cancel`.
+ nullable: true
+ type:
+ description: Type of flow that the customer will go through.
+ enum:
+ - payment_method_update
+ - subscription_cancel
+ type: string
+ x-stripeBypassValidation: true
+ required:
+ - after_completion
+ - type
+ title: PortalFlowsFlow
+ type: object
+ x-expandableFields:
+ - after_completion
+ - subscription_cancel
+ portal_flows_flow_after_completion:
+ description: ""
+ properties:
+ hosted_confirmation:
+ anyOf:
+ - $ref: "#/components/schemas/portal_flows_after_completion_hosted_confirmation"
+ description: Configuration when `after_completion.type=hosted_confirmation`.
+ nullable: true
+ redirect:
+ anyOf:
+ - $ref: "#/components/schemas/portal_flows_after_completion_redirect"
+ description: Configuration when `after_completion.type=redirect`.
+ nullable: true
+ type:
+ description: The specified type of behavior after the flow is completed.
+ enum:
+ - hosted_confirmation
+ - portal_homepage
+ - redirect
+ type: string
+ required:
+ - type
+ title: PortalFlowsFlowAfterCompletion
+ type: object
+ x-expandableFields:
+ - hosted_confirmation
+ - redirect
+ portal_flows_flow_subscription_cancel:
+ description: ""
+ properties:
+ subscription:
+ description: The ID of the subscription to be canceled.
+ maxLength: 5000
+ type: string
+ required:
+ - subscription
+ title: PortalFlowsFlowSubscriptionCancel
+ type: object
+ x-expandableFields: []
+ portal_invoice_list:
+ description: ""
+ properties:
+ enabled:
+ description: Whether the feature is enabled.
+ type: boolean
+ required:
+ - enabled
+ title: PortalInvoiceList
+ type: object
+ x-expandableFields: []
+ portal_login_page:
+ description: ""
+ properties:
+ enabled:
+ description: |-
+ If `true`, a shareable `url` will be generated that will take your customers to a hosted login page for the customer portal.
+
+ If `false`, the previously generated `url`, if any, will be deactivated.
+ type: boolean
+ url:
+ description: A shareable URL to the hosted portal login page. Your customers will be able to log in with their [email](https://stripe.com/docs/api/customers/object#customer_object-email) and receive a link to their customer portal.
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - enabled
+ title: PortalLoginPage
+ type: object
+ x-expandableFields: []
+ portal_payment_method_update:
+ description: ""
+ properties:
+ enabled:
+ description: Whether the feature is enabled.
+ type: boolean
+ required:
+ - enabled
+ title: PortalPaymentMethodUpdate
+ type: object
+ x-expandableFields: []
+ portal_subscription_cancel:
+ description: ""
+ properties:
+ cancellation_reason:
+ $ref: "#/components/schemas/portal_subscription_cancellation_reason"
+ enabled:
+ description: Whether the feature is enabled.
+ type: boolean
+ mode:
+ description: Whether to cancel subscriptions immediately or at the end of the billing period.
+ enum:
+ - at_period_end
+ - immediately
+ type: string
+ proration_behavior:
+ description: Whether to create prorations when canceling subscriptions. Possible values are `none` and `create_prorations`.
+ enum:
+ - always_invoice
+ - create_prorations
+ - none
+ type: string
+ required:
+ - cancellation_reason
+ - enabled
+ - mode
+ - proration_behavior
+ title: PortalSubscriptionCancel
+ type: object
+ x-expandableFields:
+ - cancellation_reason
+ portal_subscription_cancellation_reason:
+ description: ""
+ properties:
+ enabled:
+ description: Whether the feature is enabled.
+ type: boolean
+ options:
+ description: Which cancellation reasons will be given as options to the customer.
+ items:
+ enum:
+ - customer_service
+ - low_quality
+ - missing_features
+ - other
+ - switched_service
+ - too_complex
+ - too_expensive
+ - unused
+ type: string
+ type: array
+ required:
+ - enabled
+ - options
+ title: PortalSubscriptionCancellationReason
+ type: object
+ x-expandableFields: []
+ portal_subscription_pause:
+ description: ""
+ properties:
+ enabled:
+ description: Whether the feature is enabled.
+ type: boolean
+ required:
+ - enabled
+ title: PortalSubscriptionPause
+ type: object
+ x-expandableFields: []
+ portal_subscription_update:
+ description: ""
+ properties:
+ default_allowed_updates:
+ description: The types of subscription updates that are supported for items listed in the `products` attribute. When empty, subscriptions are not updateable.
+ items:
+ enum:
+ - price
+ - promotion_code
+ - quantity
+ type: string
+ type: array
+ enabled:
+ description: Whether the feature is enabled.
+ type: boolean
+ products:
+ description: The list of products that support subscription updates.
+ items:
+ $ref: "#/components/schemas/portal_subscription_update_product"
+ nullable: true
+ type: array
+ proration_behavior:
+ description: Determines how to handle prorations resulting from subscription updates. Valid values are `none`, `create_prorations`, and `always_invoice`.
+ enum:
+ - always_invoice
+ - create_prorations
+ - none
+ type: string
+ required:
+ - default_allowed_updates
+ - enabled
+ - proration_behavior
+ title: PortalSubscriptionUpdate
+ type: object
+ x-expandableFields:
+ - products
+ portal_subscription_update_product:
+ description: ""
+ properties:
+ prices:
+ description: The list of price IDs which, when subscribed to, a subscription can be updated.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ product:
+ description: The product ID.
+ maxLength: 5000
+ type: string
+ required:
+ - prices
+ - product
+ title: PortalSubscriptionUpdateProduct
+ type: object
+ x-expandableFields: []
+ price:
+ description: |-
+ Prices define the unit cost, currency, and (optional) billing cycle for both recurring and one-time purchases of products.
+ [Products](https://stripe.com/docs/api#products) help you track inventory or provisioning, and prices help you track payment terms. Different physical goods or levels of service should be represented by products, and pricing options should be represented by prices. This approach lets you change prices without having to change your provisioning scheme.
+
+ For example, you might have a single "gold" product that has prices for $10/month, $100/year, and €9 once.
+
+ Related guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription), [create an invoice](https://stripe.com/docs/billing/invoices/create), and more about [products and prices](https://stripe.com/docs/products-prices/overview).
+ properties:
+ active:
+ description: Whether the price can be used for new purchases.
+ type: boolean
+ billing_scheme:
+ description: Describes how to compute the price per period. Either `per_unit` or `tiered`. `per_unit` indicates that the fixed amount (specified in `unit_amount` or `unit_amount_decimal`) will be charged per unit in `quantity` (for prices with `usage_type=licensed`), or per unit of total usage (for prices with `usage_type=metered`). `tiered` indicates that the unit pricing will be computed using a tiering strategy as defined using the `tiers` and `tiers_mode` attributes.
+ enum:
+ - per_unit
+ - tiered
+ type: string
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ currency_options:
+ additionalProperties:
+ $ref: "#/components/schemas/currency_option"
+ description: Prices defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies).
+ type: object
+ custom_unit_amount:
+ anyOf:
+ - $ref: "#/components/schemas/custom_unit_amount"
+ description: When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links.
+ nullable: true
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ lookup_key:
+ description: A lookup key used to retrieve prices dynamically from a static string. This may be up to 200 characters.
+ maxLength: 5000
+ nullable: true
+ type: string
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ nickname:
+ description: A brief description of the price, hidden from customers.
+ maxLength: 5000
+ nullable: true
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - price
+ type: string
+ product:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/product"
+ - $ref: "#/components/schemas/deleted_product"
+ description: The ID of the product this price is associated with.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/product"
+ - $ref: "#/components/schemas/deleted_product"
+ recurring:
+ anyOf:
+ - $ref: "#/components/schemas/recurring"
+ description: The recurring components of a price such as `interval` and `usage_type`.
+ nullable: true
+ tax_behavior:
+ description: Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed.
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ nullable: true
+ type: string
+ tiers:
+ description: Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`.
+ items:
+ $ref: "#/components/schemas/price_tier"
+ type: array
+ tiers_mode:
+ description: Defines if the tiering price should be `graduated` or `volume` based. In `volume`-based tiering, the maximum quantity within a period determines the per unit price. In `graduated` tiering, pricing can change as the quantity grows.
+ enum:
+ - graduated
+ - volume
+ nullable: true
+ type: string
+ transform_quantity:
+ anyOf:
+ - $ref: "#/components/schemas/transform_quantity"
+ description: Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with `tiers`.
+ nullable: true
+ type:
+ description: One of `one_time` or `recurring` depending on whether the price is for a one-time purchase or a recurring (subscription) purchase.
+ enum:
+ - one_time
+ - recurring
+ type: string
+ unit_amount:
+ description: The unit amount in %s to be charged, represented as a whole integer if possible. Only set if `billing_scheme=per_unit`.
+ nullable: true
+ type: integer
+ unit_amount_decimal:
+ description: The unit amount in %s to be charged, represented as a decimal string with at most 12 decimal places. Only set if `billing_scheme=per_unit`.
+ format: decimal
+ nullable: true
+ type: string
+ required:
+ - active
+ - billing_scheme
+ - created
+ - currency
+ - id
+ - livemode
+ - metadata
+ - object
+ - product
+ - type
+ title: Price
+ type: object
+ x-expandableFields:
+ - currency_options
+ - custom_unit_amount
+ - product
+ - recurring
+ - tiers
+ - transform_quantity
+ x-resourceId: price
+ price_tier:
+ description: ""
+ properties:
+ flat_amount:
+ description: Price for the entire tier.
+ nullable: true
+ type: integer
+ flat_amount_decimal:
+ description: Same as `flat_amount`, but contains a decimal value with at most 12 decimal places.
+ format: decimal
+ nullable: true
+ type: string
+ unit_amount:
+ description: Per unit price for units relevant to the tier.
+ nullable: true
+ type: integer
+ unit_amount_decimal:
+ description: Same as `unit_amount`, but contains a decimal value with at most 12 decimal places.
+ format: decimal
+ nullable: true
+ type: string
+ up_to:
+ description: Up to and including to this quantity will be contained in the tier.
+ nullable: true
+ type: integer
+ title: PriceTier
+ type: object
+ x-expandableFields: []
+ product:
+ description: |-
+ Products describe the specific goods or services you offer to your customers.
+ For example, you might offer a Standard and Premium version of your goods or service; each version would be a separate Product.
+ They can be used in conjunction with [Prices](https://stripe.com/docs/api#prices) to configure pricing in Payment Links, Checkout, and Subscriptions.
+
+ Related guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription),
+ [share a Payment Link](https://stripe.com/docs/payment-links),
+ [accept payments with Checkout](https://stripe.com/docs/payments/accept-a-payment#create-product-prices-upfront),
+ and more about [Products and Prices](https://stripe.com/docs/products-prices/overview)
+ properties:
+ active:
+ description: Whether the product is currently available for purchase.
+ type: boolean
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ default_price:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/price"
+ description: The ID of the [Price](https://stripe.com/docs/api/prices) object that is the default price for this product.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/price"
+ description:
+ description: The product's description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes.
+ maxLength: 5000
+ nullable: true
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ images:
+ description: A list of up to 8 URLs of images for this product, meant to be displayable to the customer.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ name:
+ description: The product's name, meant to be displayable to the customer.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - product
+ type: string
+ package_dimensions:
+ anyOf:
+ - $ref: "#/components/schemas/package_dimensions"
+ description: The dimensions of this product for shipping purposes.
+ nullable: true
+ shippable:
+ description: Whether this product is shipped (i.e., physical goods).
+ nullable: true
+ type: boolean
+ statement_descriptor:
+ description: Extra information about a product which will appear on your customer's credit card statement. In the case that multiple products are billed at once, the first statement descriptor will be used.
+ maxLength: 5000
+ nullable: true
+ type: string
+ tax_code:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/tax_code"
+ description: A [tax code](https://stripe.com/docs/tax/tax-categories) ID.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/tax_code"
+ unit_label:
+ description: A label that represents units of this product. When set, this will be included in customers' receipts, invoices, Checkout, and the customer portal.
+ maxLength: 5000
+ nullable: true
+ type: string
+ updated:
+ description: Time at which the object was last updated. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ url:
+ description: A URL of a publicly-accessible webpage for this product.
+ maxLength: 2048
+ nullable: true
+ type: string
+ required:
+ - active
+ - created
+ - id
+ - images
+ - livemode
+ - metadata
+ - name
+ - object
+ - updated
+ title: Product
+ type: object
+ x-expandableFields:
+ - default_price
+ - package_dimensions
+ - tax_code
+ x-resourceId: product
+ promotion_code:
+ description: |-
+ A Promotion Code represents a customer-redeemable code for a [coupon](https://stripe.com/docs/api#coupons). It can be used to
+ create multiple codes for a single coupon.
+ properties:
+ active:
+ description: Whether the promotion code is currently active. A promotion code is only active if the coupon is also valid.
+ type: boolean
+ code:
+ description: The customer-facing code. Regardless of case, this code must be unique across all active promotion codes for each customer.
+ maxLength: 5000
+ type: string
+ coupon:
+ $ref: "#/components/schemas/coupon"
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ customer:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ description: The customer that this promotion code can be used by.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ expires_at:
+ description: Date at which the promotion code can no longer be redeemed.
+ format: unix-time
+ nullable: true
+ type: integer
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ max_redemptions:
+ description: Maximum number of times this promotion code can be redeemed.
+ nullable: true
+ type: integer
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ nullable: true
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - promotion_code
+ type: string
+ restrictions:
+ $ref: "#/components/schemas/promotion_codes_resource_restrictions"
+ times_redeemed:
+ description: Number of times this promotion code has been used.
+ type: integer
+ required:
+ - active
+ - code
+ - coupon
+ - created
+ - id
+ - livemode
+ - object
+ - restrictions
+ - times_redeemed
+ title: PromotionCode
+ type: object
+ x-expandableFields:
+ - coupon
+ - customer
+ - restrictions
+ x-resourceId: promotion_code
+ promotion_code_currency_option:
+ description: ""
+ properties:
+ minimum_amount:
+ description: Minimum amount required to redeem this Promotion Code into a Coupon (e.g., a purchase must be $100 or more to work).
+ type: integer
+ required:
+ - minimum_amount
+ title: PromotionCodeCurrencyOption
+ type: object
+ x-expandableFields: []
+ promotion_codes_resource_restrictions:
+ description: ""
+ properties:
+ currency_options:
+ additionalProperties:
+ $ref: "#/components/schemas/promotion_code_currency_option"
+ description: Promotion code restrictions defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies).
+ type: object
+ first_time_transaction:
+ description: A Boolean indicating if the Promotion Code should only be redeemed for Customers without any successful payments or invoices
+ type: boolean
+ minimum_amount:
+ description: Minimum amount required to redeem this Promotion Code into a Coupon (e.g., a purchase must be $100 or more to work).
+ nullable: true
+ type: integer
+ minimum_amount_currency:
+ description: Three-letter [ISO code](https://stripe.com/docs/currencies) for minimum_amount
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - first_time_transaction
+ title: PromotionCodesResourceRestrictions
+ type: object
+ x-expandableFields:
+ - currency_options
+ quote:
+ description: |-
+ A Quote is a way to model prices that you'd like to provide to a customer.
+ Once accepted, it will automatically create an invoice, subscription or subscription schedule.
+ properties:
+ amount_subtotal:
+ description: Total before any discounts or taxes are applied.
+ type: integer
+ amount_total:
+ description: Total after discounts and taxes are applied.
+ type: integer
+ application:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/application"
+ - $ref: "#/components/schemas/deleted_application"
+ description: ID of the Connect Application that created the quote.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/application"
+ - $ref: "#/components/schemas/deleted_application"
+ application_fee_amount:
+ description: The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. Only applicable if there are no line items with recurring prices on the quote.
+ nullable: true
+ type: integer
+ application_fee_percent:
+ description: A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account. Only applicable if there are line items with recurring prices on the quote.
+ nullable: true
+ type: number
+ automatic_tax:
+ $ref: "#/components/schemas/quotes_resource_automatic_tax"
+ collection_method:
+ description: Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay invoices at the end of the subscription cycle or on finalization using the default payment method attached to the subscription or customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`.
+ enum:
+ - charge_automatically
+ - send_invoice
+ type: string
+ computed:
+ $ref: "#/components/schemas/quotes_resource_computed"
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ maxLength: 5000
+ nullable: true
+ type: string
+ customer:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ description: The customer which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ default_tax_rates:
+ description: The tax rates applied to this quote.
+ items:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/tax_rate"
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/tax_rate"
+ type: array
+ description:
+ description: A description that will be displayed on the quote PDF.
+ maxLength: 5000
+ nullable: true
+ type: string
+ discounts:
+ description: The discounts applied to this quote.
+ items:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/discount"
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/discount"
+ type: array
+ expires_at:
+ description: The date on which the quote will be canceled if in `open` or `draft` status. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ footer:
+ description: A footer that will be displayed on the quote PDF.
+ maxLength: 5000
+ nullable: true
+ type: string
+ from_quote:
+ anyOf:
+ - $ref: "#/components/schemas/quotes_resource_from_quote"
+ description: Details of the quote that was cloned. See the [cloning documentation](https://stripe.com/docs/quotes/clone) for more details.
+ nullable: true
+ header:
+ description: A header that will be displayed on the quote PDF.
+ maxLength: 5000
+ nullable: true
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ invoice:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/invoice"
+ - $ref: "#/components/schemas/deleted_invoice"
+ description: The invoice that was created from this quote.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/invoice"
+ - $ref: "#/components/schemas/deleted_invoice"
+ invoice_settings:
+ anyOf:
+ - $ref: "#/components/schemas/invoice_setting_quote_setting"
+ description: All invoices will be billed using the specified settings.
+ nullable: true
+ line_items:
+ description: A list of items the customer is being quoted for.
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/item"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: QuotesResourceListLineItems
+ type: object
+ x-expandableFields:
+ - data
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ number:
+ description: A unique number that identifies this particular quote. This number is assigned once the quote is [finalized](https://stripe.com/docs/quotes/overview#finalize).
+ maxLength: 5000
+ nullable: true
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - quote
+ type: string
+ on_behalf_of:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/account"
+ description: The account on behalf of which to charge. See the [Connect documentation](https://support.stripe.com/questions/sending-invoices-on-behalf-of-connected-accounts) for details.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/account"
+ status:
+ description: The status of the quote.
+ enum:
+ - accepted
+ - canceled
+ - draft
+ - open
+ type: string
+ x-stripeBypassValidation: true
+ status_transitions:
+ $ref: "#/components/schemas/quotes_resource_status_transitions"
+ subscription:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/subscription"
+ description: The subscription that was created or updated from this quote.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/subscription"
+ subscription_data:
+ $ref: "#/components/schemas/quotes_resource_subscription_data_subscription_data"
+ subscription_schedule:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/subscription_schedule"
+ description: The subscription schedule that was created or updated from this quote.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/subscription_schedule"
+ test_clock:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/test_helpers.test_clock"
+ description: ID of the test clock this quote belongs to.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/test_helpers.test_clock"
+ total_details:
+ $ref: "#/components/schemas/quotes_resource_total_details"
+ transfer_data:
+ anyOf:
+ - $ref: "#/components/schemas/quotes_resource_transfer_data"
+ description: The account (if any) the payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the invoices.
+ nullable: true
+ required:
+ - amount_subtotal
+ - amount_total
+ - automatic_tax
+ - collection_method
+ - computed
+ - created
+ - discounts
+ - expires_at
+ - id
+ - livemode
+ - metadata
+ - object
+ - status
+ - status_transitions
+ - subscription_data
+ - total_details
+ title: Quote
+ type: object
+ x-expandableFields:
+ - application
+ - automatic_tax
+ - computed
+ - customer
+ - default_tax_rates
+ - discounts
+ - from_quote
+ - invoice
+ - invoice_settings
+ - line_items
+ - on_behalf_of
+ - status_transitions
+ - subscription
+ - subscription_data
+ - subscription_schedule
+ - test_clock
+ - total_details
+ - transfer_data
+ x-resourceId: quote
+ quotes_resource_automatic_tax:
+ description: ""
+ properties:
+ enabled:
+ description: Automatically calculate taxes
+ type: boolean
+ status:
+ description: The status of the most recent automated tax calculation for this quote.
+ enum:
+ - complete
+ - failed
+ - requires_location_inputs
+ nullable: true
+ type: string
+ required:
+ - enabled
+ title: QuotesResourceAutomaticTax
+ type: object
+ x-expandableFields: []
+ quotes_resource_computed:
+ description: ""
+ properties:
+ recurring:
+ anyOf:
+ - $ref: "#/components/schemas/quotes_resource_recurring"
+ description: The definitive totals and line items the customer will be charged on a recurring basis. Takes into account the line items with recurring prices and discounts with `duration=forever` coupons only. Defaults to `null` if no inputted line items with recurring prices.
+ nullable: true
+ upfront:
+ $ref: "#/components/schemas/quotes_resource_upfront"
+ required:
+ - upfront
+ title: QuotesResourceComputed
+ type: object
+ x-expandableFields:
+ - recurring
+ - upfront
+ quotes_resource_from_quote:
+ description: ""
+ properties:
+ is_revision:
+ description: Whether this quote is a revision of a different quote.
+ type: boolean
+ quote:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/quote"
+ description: The quote that was cloned.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/quote"
+ required:
+ - is_revision
+ - quote
+ title: QuotesResourceFromQuote
+ type: object
+ x-expandableFields:
+ - quote
+ quotes_resource_recurring:
+ description: ""
+ properties:
+ amount_subtotal:
+ description: Total before any discounts or taxes are applied.
+ type: integer
+ amount_total:
+ description: Total after discounts and taxes are applied.
+ type: integer
+ interval:
+ description: The frequency at which a subscription is billed. One of `day`, `week`, `month` or `year`.
+ enum:
+ - day
+ - month
+ - week
+ - year
+ type: string
+ interval_count:
+ description: The number of intervals (specified in the `interval` attribute) between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months.
+ type: integer
+ total_details:
+ $ref: "#/components/schemas/quotes_resource_total_details"
+ required:
+ - amount_subtotal
+ - amount_total
+ - interval
+ - interval_count
+ - total_details
+ title: QuotesResourceRecurring
+ type: object
+ x-expandableFields:
+ - total_details
+ quotes_resource_status_transitions:
+ description: ""
+ properties:
+ accepted_at:
+ description: The time that the quote was accepted. Measured in seconds since Unix epoch.
+ format: unix-time
+ nullable: true
+ type: integer
+ canceled_at:
+ description: The time that the quote was canceled. Measured in seconds since Unix epoch.
+ format: unix-time
+ nullable: true
+ type: integer
+ finalized_at:
+ description: The time that the quote was finalized. Measured in seconds since Unix epoch.
+ format: unix-time
+ nullable: true
+ type: integer
+ title: QuotesResourceStatusTransitions
+ type: object
+ x-expandableFields: []
+ quotes_resource_subscription_data_subscription_data:
+ description: ""
+ properties:
+ description:
+ description: The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription.
+ maxLength: 5000
+ nullable: true
+ type: string
+ effective_date:
+ description: When creating a new subscription, the date of which the subscription schedule will start after the quote is accepted. This date is ignored if it is in the past when the quote is accepted. Measured in seconds since the Unix epoch.
+ format: unix-time
+ nullable: true
+ type: integer
+ trial_period_days:
+ description: Integer representing the number of trial period days before the customer is charged for the first time.
+ nullable: true
+ type: integer
+ title: QuotesResourceSubscriptionDataSubscriptionData
+ type: object
+ x-expandableFields: []
+ quotes_resource_total_details:
+ description: ""
+ properties:
+ amount_discount:
+ description: This is the sum of all the discounts.
+ type: integer
+ amount_shipping:
+ description: This is the sum of all the shipping amounts.
+ nullable: true
+ type: integer
+ amount_tax:
+ description: This is the sum of all the tax amounts.
+ type: integer
+ breakdown:
+ $ref: "#/components/schemas/quotes_resource_total_details_resource_breakdown"
+ required:
+ - amount_discount
+ - amount_tax
+ title: QuotesResourceTotalDetails
+ type: object
+ x-expandableFields:
+ - breakdown
+ quotes_resource_total_details_resource_breakdown:
+ description: ""
+ properties:
+ discounts:
+ description: The aggregated discounts.
+ items:
+ $ref: "#/components/schemas/line_items_discount_amount"
+ type: array
+ taxes:
+ description: The aggregated tax amounts by rate.
+ items:
+ $ref: "#/components/schemas/line_items_tax_amount"
+ type: array
+ required:
+ - discounts
+ - taxes
+ title: QuotesResourceTotalDetailsResourceBreakdown
+ type: object
+ x-expandableFields:
+ - discounts
+ - taxes
+ quotes_resource_transfer_data:
+ description: ""
+ properties:
+ amount:
+ description: The amount in %s that will be transferred to the destination account when the invoice is paid. By default, the entire amount is transferred to the destination.
+ nullable: true
+ type: integer
+ amount_percent:
+ description: A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the destination account. By default, the entire amount will be transferred to the destination.
+ nullable: true
+ type: number
+ destination:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/account"
+ description: The account where funds from the payment will be transferred to upon payment success.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/account"
+ required:
+ - destination
+ title: QuotesResourceTransferData
+ type: object
+ x-expandableFields:
+ - destination
+ quotes_resource_upfront:
+ description: ""
+ properties:
+ amount_subtotal:
+ description: Total before any discounts or taxes are applied.
+ type: integer
+ amount_total:
+ description: Total after discounts and taxes are applied.
+ type: integer
+ line_items:
+ description: The line items that will appear on the next invoice after this quote is accepted. This does not include pending invoice items that exist on the customer but may still be included in the next invoice.
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/item"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: QuotesResourceListLineItems
+ type: object
+ x-expandableFields:
+ - data
+ total_details:
+ $ref: "#/components/schemas/quotes_resource_total_details"
+ required:
+ - amount_subtotal
+ - amount_total
+ - total_details
+ title: QuotesResourceUpfront
+ type: object
+ x-expandableFields:
+ - line_items
+ - total_details
+ radar.early_fraud_warning:
+ description: |-
+ An early fraud warning indicates that the card issuer has notified us that a
+ charge may be fraudulent.
+
+ Related guide: [Early Fraud Warnings](https://stripe.com/docs/disputes/measuring#early-fraud-warnings).
+ properties:
+ actionable:
+ description: An EFW is actionable if it has not received a dispute and has not been fully refunded. You may wish to proactively refund a charge that receives an EFW, in order to avoid receiving a dispute later.
+ type: boolean
+ charge:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/charge"
+ description: ID of the charge this early fraud warning is for, optionally expanded.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/charge"
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ fraud_type:
+ description: The type of fraud labelled by the issuer. One of `card_never_received`, `fraudulent_card_application`, `made_with_counterfeit_card`, `made_with_lost_card`, `made_with_stolen_card`, `misc`, `unauthorized_use_of_card`.
+ maxLength: 5000
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - radar.early_fraud_warning
+ type: string
+ payment_intent:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/payment_intent"
+ description: ID of the Payment Intent this early fraud warning is for, optionally expanded.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/payment_intent"
+ required:
+ - actionable
+ - charge
+ - created
+ - fraud_type
+ - id
+ - livemode
+ - object
+ title: RadarEarlyFraudWarning
+ type: object
+ x-expandableFields:
+ - charge
+ - payment_intent
+ x-resourceId: radar.early_fraud_warning
+ radar.value_list:
+ description: |-
+ Value lists allow you to group values together which can then be referenced in rules.
+
+ Related guide: [Default Stripe Lists](https://stripe.com/docs/radar/lists#managing-list-items).
+ properties:
+ alias:
+ description: The name of the value list for use in rules.
+ maxLength: 5000
+ type: string
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ created_by:
+ description: The name or email address of the user who created this value list.
+ maxLength: 5000
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ item_type:
+ description: The type of items in the value list. One of `card_fingerprint`, `card_bin`, `email`, `ip_address`, `country`, `string`, `case_sensitive_string`, or `customer_id`.
+ enum:
+ - card_bin
+ - card_fingerprint
+ - case_sensitive_string
+ - country
+ - customer_id
+ - email
+ - ip_address
+ - string
+ type: string
+ list_items:
+ description: List of items contained within this value list.
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/radar.value_list_item"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: RadarListListItemList
+ type: object
+ x-expandableFields:
+ - data
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ name:
+ description: The name of the value list.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - radar.value_list
+ type: string
+ required:
+ - alias
+ - created
+ - created_by
+ - id
+ - item_type
+ - list_items
+ - livemode
+ - metadata
+ - name
+ - object
+ title: RadarListList
+ type: object
+ x-expandableFields:
+ - list_items
+ x-resourceId: radar.value_list
+ radar.value_list_item:
+ description: |-
+ Value list items allow you to add specific values to a given Radar value list, which can then be used in rules.
+
+ Related guide: [Managing List Items](https://stripe.com/docs/radar/lists#managing-list-items).
+ properties:
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ created_by:
+ description: The name or email address of the user who added this item to the value list.
+ maxLength: 5000
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - radar.value_list_item
+ type: string
+ value:
+ description: The value of the item.
+ maxLength: 5000
+ type: string
+ value_list:
+ description: The identifier of the value list this item belongs to.
+ maxLength: 5000
+ type: string
+ required:
+ - created
+ - created_by
+ - id
+ - livemode
+ - object
+ - value
+ - value_list
+ title: RadarListListItem
+ type: object
+ x-expandableFields: []
+ x-resourceId: radar.value_list_item
+ radar_radar_options:
+ description: Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information.
+ properties:
+ session:
+ description: A [Radar Session](https://stripe.com/docs/radar/radar-session) is a snapshot of the browser metadata and device details that help Radar make more accurate predictions on your payments.
+ maxLength: 5000
+ type: string
+ title: RadarRadarOptions
+ type: object
+ x-expandableFields: []
+ radar_review_resource_location:
+ description: ""
+ properties:
+ city:
+ description: The city where the payment originated.
+ maxLength: 5000
+ nullable: true
+ type: string
+ country:
+ description: Two-letter ISO code representing the country where the payment originated.
+ maxLength: 5000
+ nullable: true
+ type: string
+ latitude:
+ description: The geographic latitude where the payment originated.
+ nullable: true
+ type: number
+ longitude:
+ description: The geographic longitude where the payment originated.
+ nullable: true
+ type: number
+ region:
+ description: The state/county/province/region where the payment originated.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: RadarReviewResourceLocation
+ type: object
+ x-expandableFields: []
+ radar_review_resource_session:
+ description: ""
+ properties:
+ browser:
+ description: The browser used in this browser session (e.g., `Chrome`).
+ maxLength: 5000
+ nullable: true
+ type: string
+ device:
+ description: Information about the device used for the browser session (e.g., `Samsung SM-G930T`).
+ maxLength: 5000
+ nullable: true
+ type: string
+ platform:
+ description: The platform for the browser session (e.g., `Macintosh`).
+ maxLength: 5000
+ nullable: true
+ type: string
+ version:
+ description: The version for the browser session (e.g., `61.0.3163.100`).
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: RadarReviewResourceSession
+ type: object
+ x-expandableFields: []
+ received_payment_method_details_financial_account:
+ description: ""
+ properties:
+ id:
+ description: The FinancialAccount ID.
+ maxLength: 5000
+ type: string
+ network:
+ description: The rails the ReceivedCredit was sent over. A FinancialAccount can only send funds over `stripe`.
+ enum:
+ - stripe
+ type: string
+ required:
+ - id
+ - network
+ title: received_payment_method_details_financial_account
+ type: object
+ x-expandableFields: []
+ recurring:
+ description: ""
+ properties:
+ aggregate_usage:
+ description: Specifies a usage aggregation strategy for prices of `usage_type=metered`. Allowed values are `sum` for summing up all usage during a period, `last_during_period` for using the last usage record reported within a period, `last_ever` for using the last usage record ever (across period bounds) or `max` which uses the usage record with the maximum reported usage during a period. Defaults to `sum`.
+ enum:
+ - last_during_period
+ - last_ever
+ - max
+ - sum
+ nullable: true
+ type: string
+ interval:
+ description: The frequency at which a subscription is billed. One of `day`, `week`, `month` or `year`.
+ enum:
+ - day
+ - month
+ - week
+ - year
+ type: string
+ interval_count:
+ description: The number of intervals (specified in the `interval` attribute) between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months.
+ type: integer
+ usage_type:
+ description: Configures how the quantity per period should be determined. Can be either `metered` or `licensed`. `licensed` automatically bills the `quantity` set when adding it to a subscription. `metered` aggregates the total usage based on usage records. Defaults to `licensed`.
+ enum:
+ - licensed
+ - metered
+ type: string
+ required:
+ - interval
+ - interval_count
+ - usage_type
+ title: Recurring
+ type: object
+ x-expandableFields: []
+ refund:
+ description: |-
+ `Refund` objects allow you to refund a charge that has previously been created
+ but not yet refunded. Funds will be refunded to the credit or debit card that
+ was originally charged.
+
+ Related guide: [Refunds](https://stripe.com/docs/refunds).
+ properties:
+ amount:
+ description: Amount, in %s.
+ type: integer
+ balance_transaction:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/balance_transaction"
+ description: Balance transaction that describes the impact on your account balance.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/balance_transaction"
+ charge:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/charge"
+ description: ID of the charge that was refunded.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/charge"
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users. (Available on non-card refunds only)
+ maxLength: 5000
+ type: string
+ failure_balance_transaction:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/balance_transaction"
+ description: If the refund failed, this balance transaction describes the adjustment made on your account balance that reverses the initial balance transaction.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/balance_transaction"
+ failure_reason:
+ description: If the refund failed, the reason for refund failure if known. Possible values are `lost_or_stolen_card`, `expired_or_canceled_card`, `charge_for_pending_refund_disputed`, `insufficient_funds`, `declined`, `merchant_request` or `unknown`.
+ maxLength: 5000
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ instructions_email:
+ description: For payment methods without native refund support (e.g., Konbini, PromptPay), email for the customer to receive refund instructions.
+ maxLength: 5000
+ type: string
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ nullable: true
+ type: object
+ next_action:
+ $ref: "#/components/schemas/refund_next_action"
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - refund
+ type: string
+ payment_intent:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/payment_intent"
+ description: ID of the PaymentIntent that was refunded.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/payment_intent"
+ reason:
+ description: Reason for the refund, either user-provided (`duplicate`, `fraudulent`, or `requested_by_customer`) or generated by Stripe internally (`expired_uncaptured_charge`).
+ enum:
+ - duplicate
+ - expired_uncaptured_charge
+ - fraudulent
+ - requested_by_customer
+ nullable: true
+ type: string
+ x-stripeBypassValidation: true
+ receipt_number:
+ description: This is the transaction number that appears on email receipts sent for this refund.
+ maxLength: 5000
+ nullable: true
+ type: string
+ source_transfer_reversal:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/transfer_reversal"
+ description: The transfer reversal that is associated with the refund. Only present if the charge came from another Stripe account. See the Connect documentation for details.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/transfer_reversal"
+ status:
+ description: Status of the refund. For credit card refunds, this can be `pending`, `succeeded`, or `failed`. For other types of refunds, it can be `pending`, `requires_action`, `succeeded`, `failed`, or `canceled`. Refer to our [refunds](https://stripe.com/docs/refunds#failed-refunds) documentation for more details.
+ maxLength: 5000
+ nullable: true
+ type: string
+ transfer_reversal:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/transfer_reversal"
+ description: If the accompanying transfer was reversed, the transfer reversal object. Only applicable if the charge was created using the destination parameter.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/transfer_reversal"
+ required:
+ - amount
+ - created
+ - currency
+ - id
+ - object
+ title: Refund
+ type: object
+ x-expandableFields:
+ - balance_transaction
+ - charge
+ - failure_balance_transaction
+ - next_action
+ - payment_intent
+ - source_transfer_reversal
+ - transfer_reversal
+ x-resourceId: refund
+ refund_next_action:
+ description: ""
+ properties:
+ display_details:
+ anyOf:
+ - $ref: "#/components/schemas/refund_next_action_display_details"
+ description: Contains the refund details.
+ nullable: true
+ type:
+ description: Type of the next action to perform.
+ maxLength: 5000
+ type: string
+ required:
+ - type
+ title: RefundNextAction
+ type: object
+ x-expandableFields:
+ - display_details
+ refund_next_action_display_details:
+ description: ""
+ properties:
+ email_sent:
+ $ref: "#/components/schemas/email_sent"
+ expires_at:
+ description: The expiry timestamp.
+ format: unix-time
+ type: integer
+ required:
+ - email_sent
+ - expires_at
+ title: RefundNextActionDisplayDetails
+ type: object
+ x-expandableFields:
+ - email_sent
+ reporting.report_run:
+ description: |-
+ The Report Run object represents an instance of a report type generated with
+ specific run parameters. Once the object is created, Stripe begins processing the report.
+ When the report has finished running, it will give you a reference to a file
+ where you can retrieve your results. For an overview, see
+ [API Access to Reports](https://stripe.com/docs/reporting/statements/api).
+
+ Note that certain report types can only be run based on your live-mode data (not test-mode
+ data), and will error when queried without a [live-mode API key](https://stripe.com/docs/keys#test-live-modes).
+ properties:
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ error:
+ description: |-
+ If something should go wrong during the run, a message about the failure (populated when
+ `status=failed`).
+ maxLength: 5000
+ nullable: true
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: "`true` if the report is run on live mode data and `false` if it is run on test mode data."
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - reporting.report_run
+ type: string
+ parameters:
+ $ref: "#/components/schemas/financial_reporting_finance_report_run_run_parameters"
+ report_type:
+ description: The ID of the [report type](https://stripe.com/docs/reports/report-types) to run, such as `"balance.summary.1"`.
+ maxLength: 5000
+ type: string
+ result:
+ anyOf:
+ - $ref: "#/components/schemas/file"
+ description: |-
+ The file object representing the result of the report run (populated when
+ `status=succeeded`).
+ nullable: true
+ status:
+ description: |-
+ Status of this report run. This will be `pending` when the run is initially created.
+ When the run finishes, this will be set to `succeeded` and the `result` field will be populated.
+ Rarely, we may encounter an error, at which point this will be set to `failed` and the `error` field will be populated.
+ maxLength: 5000
+ type: string
+ succeeded_at:
+ description: |-
+ Timestamp at which this run successfully finished (populated when
+ `status=succeeded`). Measured in seconds since the Unix epoch.
+ format: unix-time
+ nullable: true
+ type: integer
+ required:
+ - created
+ - id
+ - livemode
+ - object
+ - parameters
+ - report_type
+ - status
+ title: reporting_report_run
+ type: object
+ x-expandableFields:
+ - parameters
+ - result
+ x-resourceId: reporting.report_run
+ reporting.report_type:
+ description: |-
+ The Report Type resource corresponds to a particular type of report, such as
+ the "Activity summary" or "Itemized payouts" reports. These objects are
+ identified by an ID belonging to a set of enumerated values. See
+ [API Access to Reports documentation](https://stripe.com/docs/reporting/statements/api)
+ for those Report Type IDs, along with required and optional parameters.
+
+ Note that certain report types can only be run based on your live-mode data (not test-mode
+ data), and will error when queried without a [live-mode API key](https://stripe.com/docs/keys#test-live-modes).
+ properties:
+ data_available_end:
+ description: Most recent time for which this Report Type is available. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ data_available_start:
+ description: Earliest time for which this Report Type is available. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ default_columns:
+ description: List of column names that are included by default when this Report Type gets run. (If the Report Type doesn't support the `columns` parameter, this will be null.)
+ items:
+ maxLength: 5000
+ type: string
+ nullable: true
+ type: array
+ id:
+ description: The [ID of the Report Type](https://stripe.com/docs/reporting/statements/api#available-report-types), such as `balance.summary.1`.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ name:
+ description: Human-readable name of the Report Type
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - reporting.report_type
+ type: string
+ updated:
+ description: When this Report Type was latest updated. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ version:
+ description: Version of the Report Type. Different versions report with the same ID will have the same purpose, but may take different run parameters or have different result schemas.
+ type: integer
+ required:
+ - data_available_end
+ - data_available_start
+ - id
+ - livemode
+ - name
+ - object
+ - updated
+ - version
+ title: reporting_report_type
+ type: object
+ x-expandableFields: []
+ x-resourceId: reporting.report_type
+ reserve_transaction:
+ description: ""
+ properties:
+ amount:
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 5000
+ nullable: true
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - reserve_transaction
+ type: string
+ required:
+ - amount
+ - currency
+ - id
+ - object
+ title: ReserveTransaction
+ type: object
+ x-expandableFields: []
+ review:
+ description: |-
+ Reviews can be used to supplement automated fraud detection with human expertise.
+
+ Learn more about [Radar](/radar) and reviewing payments
+ [here](https://stripe.com/docs/radar/reviews).
+ properties:
+ billing_zip:
+ description: The ZIP or postal code of the card used, if applicable.
+ maxLength: 5000
+ nullable: true
+ type: string
+ charge:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/charge"
+ description: The charge associated with this review.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/charge"
+ closed_reason:
+ description: The reason the review was closed, or null if it has not yet been closed. One of `approved`, `refunded`, `refunded_as_fraud`, `disputed`, or `redacted`.
+ enum:
+ - approved
+ - disputed
+ - redacted
+ - refunded
+ - refunded_as_fraud
+ nullable: true
+ type: string
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ ip_address:
+ description: The IP address where the payment originated.
+ maxLength: 5000
+ nullable: true
+ type: string
+ ip_address_location:
+ anyOf:
+ - $ref: "#/components/schemas/radar_review_resource_location"
+ description: Information related to the location of the payment. Note that this information is an approximation and attempts to locate the nearest population center - it should not be used to determine a specific address.
+ nullable: true
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - review
+ type: string
+ open:
+ description: If `true`, the review needs action.
+ type: boolean
+ opened_reason:
+ description: The reason the review was opened. One of `rule` or `manual`.
+ enum:
+ - manual
+ - rule
+ type: string
+ payment_intent:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/payment_intent"
+ description: The PaymentIntent ID associated with this review, if one exists.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/payment_intent"
+ reason:
+ description: The reason the review is currently open or closed. One of `rule`, `manual`, `approved`, `refunded`, `refunded_as_fraud`, `disputed`, or `redacted`.
+ maxLength: 5000
+ type: string
+ session:
+ anyOf:
+ - $ref: "#/components/schemas/radar_review_resource_session"
+ description: Information related to the browsing session of the user who initiated the payment.
+ nullable: true
+ required:
+ - created
+ - id
+ - livemode
+ - object
+ - open
+ - opened_reason
+ - reason
+ title: RadarReview
+ type: object
+ x-expandableFields:
+ - charge
+ - ip_address_location
+ - payment_intent
+ - session
+ x-resourceId: review
+ rule:
+ description: ""
+ properties:
+ action:
+ description: The action taken on the payment.
+ maxLength: 5000
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ predicate:
+ description: The predicate to evaluate the payment against.
+ maxLength: 5000
+ type: string
+ required:
+ - action
+ - id
+ - predicate
+ title: RadarRule
+ type: object
+ x-expandableFields: []
+ scheduled_query_run:
+ description: |-
+ If you have [scheduled a Sigma query](https://stripe.com/docs/sigma/scheduled-queries), you'll
+ receive a `sigma.scheduled_query_run.created` webhook each time the query
+ runs. The webhook contains a `ScheduledQueryRun` object, which you can use to
+ retrieve the query results.
+ properties:
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ data_load_time:
+ description: When the query was run, Sigma contained a snapshot of your Stripe data at this time.
+ format: unix-time
+ type: integer
+ error:
+ $ref: "#/components/schemas/sigma_scheduled_query_run_error"
+ file:
+ anyOf:
+ - $ref: "#/components/schemas/file"
+ description: The file object representing the results of the query.
+ nullable: true
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - scheduled_query_run
+ type: string
+ result_available_until:
+ description: Time at which the result expires and is no longer available for download.
+ format: unix-time
+ type: integer
+ sql:
+ description: SQL for the query.
+ maxLength: 100000
+ type: string
+ status:
+ description: The query's execution status, which will be `completed` for successful runs, and `canceled`, `failed`, or `timed_out` otherwise.
+ maxLength: 5000
+ type: string
+ title:
+ description: Title of the query.
+ maxLength: 5000
+ type: string
+ required:
+ - created
+ - data_load_time
+ - id
+ - livemode
+ - object
+ - result_available_until
+ - sql
+ - status
+ - title
+ title: ScheduledQueryRun
+ type: object
+ x-expandableFields:
+ - error
+ - file
+ x-resourceId: scheduled_query_run
+ schedules_phase_automatic_tax:
+ description: ""
+ properties:
+ enabled:
+ description: Whether Stripe automatically computes tax on invoices created during this phase.
+ type: boolean
+ required:
+ - enabled
+ title: SchedulesPhaseAutomaticTax
+ type: object
+ x-expandableFields: []
+ secret_service_resource_scope:
+ description: ""
+ properties:
+ type:
+ description: The secret scope type.
+ enum:
+ - account
+ - user
+ type: string
+ user:
+ description: The user ID, if type is set to "user"
+ maxLength: 5000
+ type: string
+ required:
+ - type
+ title: SecretServiceResourceScope
+ type: object
+ x-expandableFields: []
+ sepa_debit_generated_from:
+ description: ""
+ properties:
+ charge:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/charge"
+ description: The ID of the Charge that generated this PaymentMethod, if any.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/charge"
+ setup_attempt:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/setup_attempt"
+ description: The ID of the SetupAttempt that generated this PaymentMethod, if any.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/setup_attempt"
+ title: sepa_debit_generated_from
+ type: object
+ x-expandableFields:
+ - charge
+ - setup_attempt
+ setup_attempt:
+ description: |-
+ A SetupAttempt describes one attempted confirmation of a SetupIntent,
+ whether that confirmation was successful or unsuccessful. You can use
+ SetupAttempts to inspect details of a specific attempt at setting up a
+ payment method using a SetupIntent.
+ properties:
+ application:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/application"
+ description: The value of [application](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-application) on the SetupIntent at the time of this confirmation.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/application"
+ attach_to_self:
+ description: |-
+ If present, the SetupIntent's payment method will be attached to the in-context Stripe Account.
+
+ It can only be used for this Stripe Account’s own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer.
+ type: boolean
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ customer:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ description: The value of [customer](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-customer) on the SetupIntent at the time of this confirmation.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ flow_directions:
+ description: |-
+ Indicates the directions of money movement for which this payment method is intended to be used.
+
+ Include `inbound` if you intend to use the payment method as the origin to pull funds from. Include `outbound` if you intend to use the payment method as the destination to send funds to. You can include both if you intend to use the payment method for both purposes.
+ items:
+ enum:
+ - inbound
+ - outbound
+ type: string
+ nullable: true
+ type: array
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - setup_attempt
+ type: string
+ on_behalf_of:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/account"
+ description: The value of [on_behalf_of](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-on_behalf_of) on the SetupIntent at the time of this confirmation.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/account"
+ payment_method:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/payment_method"
+ description: ID of the payment method used with this SetupAttempt.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/payment_method"
+ payment_method_details:
+ $ref: "#/components/schemas/setup_attempt_payment_method_details"
+ setup_error:
+ anyOf:
+ - $ref: "#/components/schemas/api_errors"
+ description: The error encountered during this attempt to confirm the SetupIntent, if any.
+ nullable: true
+ setup_intent:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/setup_intent"
+ description: ID of the SetupIntent that this attempt belongs to.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/setup_intent"
+ status:
+ description: Status of this SetupAttempt, one of `requires_confirmation`, `requires_action`, `processing`, `succeeded`, `failed`, or `abandoned`.
+ maxLength: 5000
+ type: string
+ usage:
+ description: The value of [usage](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-usage) on the SetupIntent at the time of this confirmation, one of `off_session` or `on_session`.
+ maxLength: 5000
+ type: string
+ required:
+ - created
+ - id
+ - livemode
+ - object
+ - payment_method
+ - payment_method_details
+ - setup_intent
+ - status
+ - usage
+ title: PaymentFlowsSetupIntentSetupAttempt
+ type: object
+ x-expandableFields:
+ - application
+ - customer
+ - on_behalf_of
+ - payment_method
+ - payment_method_details
+ - setup_error
+ - setup_intent
+ x-resourceId: setup_attempt
+ setup_attempt_payment_method_details:
+ description: ""
+ properties:
+ acss_debit:
+ $ref: "#/components/schemas/setup_attempt_payment_method_details_acss_debit"
+ au_becs_debit:
+ $ref: "#/components/schemas/setup_attempt_payment_method_details_au_becs_debit"
+ bacs_debit:
+ $ref: "#/components/schemas/setup_attempt_payment_method_details_bacs_debit"
+ bancontact:
+ $ref: "#/components/schemas/setup_attempt_payment_method_details_bancontact"
+ blik:
+ $ref: "#/components/schemas/setup_attempt_payment_method_details_blik"
+ boleto:
+ $ref: "#/components/schemas/setup_attempt_payment_method_details_boleto"
+ card:
+ $ref: "#/components/schemas/setup_attempt_payment_method_details_card"
+ card_present:
+ $ref: "#/components/schemas/setup_attempt_payment_method_details_card_present"
+ cashapp:
+ $ref: "#/components/schemas/setup_attempt_payment_method_details_cashapp"
+ ideal:
+ $ref: "#/components/schemas/setup_attempt_payment_method_details_ideal"
+ klarna:
+ $ref: "#/components/schemas/setup_attempt_payment_method_details_klarna"
+ link:
+ $ref: "#/components/schemas/setup_attempt_payment_method_details_link"
+ sepa_debit:
+ $ref: "#/components/schemas/setup_attempt_payment_method_details_sepa_debit"
+ sofort:
+ $ref: "#/components/schemas/setup_attempt_payment_method_details_sofort"
+ type:
+ description: The type of the payment method used in the SetupIntent (e.g., `card`). An additional hash is included on `payment_method_details` with a name matching this value. It contains confirmation-specific information for the payment method.
+ maxLength: 5000
+ type: string
+ us_bank_account:
+ $ref: "#/components/schemas/setup_attempt_payment_method_details_us_bank_account"
+ required:
+ - type
+ title: SetupAttemptPaymentMethodDetails
+ type: object
+ x-expandableFields:
+ - acss_debit
+ - au_becs_debit
+ - bacs_debit
+ - bancontact
+ - blik
+ - boleto
+ - card
+ - card_present
+ - cashapp
+ - ideal
+ - klarna
+ - link
+ - sepa_debit
+ - sofort
+ - us_bank_account
+ setup_attempt_payment_method_details_acss_debit:
+ description: ""
+ properties: {}
+ title: setup_attempt_payment_method_details_acss_debit
+ type: object
+ x-expandableFields: []
+ setup_attempt_payment_method_details_au_becs_debit:
+ description: ""
+ properties: {}
+ title: setup_attempt_payment_method_details_au_becs_debit
+ type: object
+ x-expandableFields: []
+ setup_attempt_payment_method_details_bacs_debit:
+ description: ""
+ properties: {}
+ title: setup_attempt_payment_method_details_bacs_debit
+ type: object
+ x-expandableFields: []
+ setup_attempt_payment_method_details_bancontact:
+ description: ""
+ properties:
+ bank_code:
+ description: Bank code of bank associated with the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ bank_name:
+ description: Name of the bank associated with the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ bic:
+ description: Bank Identifier Code of the bank associated with the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ generated_sepa_debit:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/payment_method"
+ description: The ID of the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/payment_method"
+ generated_sepa_debit_mandate:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/mandate"
+ description: The mandate for the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/mandate"
+ iban_last4:
+ description: Last four characters of the IBAN.
+ maxLength: 5000
+ nullable: true
+ type: string
+ preferred_language:
+ description: |-
+ Preferred language of the Bancontact authorization page that the customer is redirected to.
+ Can be one of `en`, `de`, `fr`, or `nl`
+ enum:
+ - de
+ - en
+ - fr
+ - nl
+ nullable: true
+ type: string
+ verified_name:
+ description: |-
+ Owner's verified full name. Values are verified or provided by Bancontact directly
+ (if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: setup_attempt_payment_method_details_bancontact
+ type: object
+ x-expandableFields:
+ - generated_sepa_debit
+ - generated_sepa_debit_mandate
+ setup_attempt_payment_method_details_blik:
+ description: ""
+ properties: {}
+ title: setup_attempt_payment_method_details_blik
+ type: object
+ x-expandableFields: []
+ setup_attempt_payment_method_details_boleto:
+ description: ""
+ properties: {}
+ title: setup_attempt_payment_method_details_boleto
+ type: object
+ x-expandableFields: []
+ setup_attempt_payment_method_details_card:
+ description: ""
+ properties:
+ checks:
+ anyOf:
+ - $ref: "#/components/schemas/payment_method_details_card_checks"
+ description: Check results by Card networks on Card address and CVC at time of payment.
+ nullable: true
+ three_d_secure:
+ anyOf:
+ - $ref: "#/components/schemas/three_d_secure_details"
+ description: Populated if this authorization used 3D Secure authentication.
+ nullable: true
+ title: setup_attempt_payment_method_details_card
+ type: object
+ x-expandableFields:
+ - checks
+ - three_d_secure
+ setup_attempt_payment_method_details_card_present:
+ description: ""
+ properties:
+ generated_card:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/payment_method"
+ description: The ID of the Card PaymentMethod which was generated by this SetupAttempt.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/payment_method"
+ title: setup_attempt_payment_method_details_card_present
+ type: object
+ x-expandableFields:
+ - generated_card
+ setup_attempt_payment_method_details_cashapp:
+ description: ""
+ properties: {}
+ title: setup_attempt_payment_method_details_cashapp
+ type: object
+ x-expandableFields: []
+ setup_attempt_payment_method_details_ideal:
+ description: ""
+ properties:
+ bank:
+ description: The customer's bank. Can be one of `abn_amro`, `asn_bank`, `bunq`, `handelsbanken`, `ing`, `knab`, `moneyou`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`.
+ enum:
+ - abn_amro
+ - asn_bank
+ - bunq
+ - handelsbanken
+ - ing
+ - knab
+ - moneyou
+ - rabobank
+ - regiobank
+ - revolut
+ - sns_bank
+ - triodos_bank
+ - van_lanschot
+ - yoursafe
+ nullable: true
+ type: string
+ bic:
+ description: The Bank Identifier Code of the customer's bank.
+ enum:
+ - ABNANL2A
+ - ASNBNL21
+ - BITSNL2A
+ - BUNQNL2A
+ - FVLBNL22
+ - HANDNL2A
+ - INGBNL2A
+ - KNABNL2H
+ - MOYONL21
+ - RABONL2U
+ - RBRBNL21
+ - REVOIE23
+ - REVOLT21
+ - SNSBNL2A
+ - TRIONL2U
+ nullable: true
+ type: string
+ generated_sepa_debit:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/payment_method"
+ description: The ID of the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/payment_method"
+ generated_sepa_debit_mandate:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/mandate"
+ description: The mandate for the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/mandate"
+ iban_last4:
+ description: Last four characters of the IBAN.
+ maxLength: 5000
+ nullable: true
+ type: string
+ verified_name:
+ description: |-
+ Owner's verified full name. Values are verified or provided by iDEAL directly
+ (if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: setup_attempt_payment_method_details_ideal
+ type: object
+ x-expandableFields:
+ - generated_sepa_debit
+ - generated_sepa_debit_mandate
+ setup_attempt_payment_method_details_klarna:
+ description: ""
+ properties: {}
+ title: setup_attempt_payment_method_details_klarna
+ type: object
+ x-expandableFields: []
+ setup_attempt_payment_method_details_link:
+ description: ""
+ properties: {}
+ title: setup_attempt_payment_method_details_link
+ type: object
+ x-expandableFields: []
+ setup_attempt_payment_method_details_sepa_debit:
+ description: ""
+ properties: {}
+ title: setup_attempt_payment_method_details_sepa_debit
+ type: object
+ x-expandableFields: []
+ setup_attempt_payment_method_details_sofort:
+ description: ""
+ properties:
+ bank_code:
+ description: Bank code of bank associated with the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ bank_name:
+ description: Name of the bank associated with the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ bic:
+ description: Bank Identifier Code of the bank associated with the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ generated_sepa_debit:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/payment_method"
+ description: The ID of the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/payment_method"
+ generated_sepa_debit_mandate:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/mandate"
+ description: The mandate for the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/mandate"
+ iban_last4:
+ description: Last four characters of the IBAN.
+ maxLength: 5000
+ nullable: true
+ type: string
+ preferred_language:
+ description: |-
+ Preferred language of the Sofort authorization page that the customer is redirected to.
+ Can be one of `en`, `de`, `fr`, or `nl`
+ enum:
+ - de
+ - en
+ - fr
+ - nl
+ nullable: true
+ type: string
+ verified_name:
+ description: |-
+ Owner's verified full name. Values are verified or provided by Sofort directly
+ (if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: setup_attempt_payment_method_details_sofort
+ type: object
+ x-expandableFields:
+ - generated_sepa_debit
+ - generated_sepa_debit_mandate
+ setup_attempt_payment_method_details_us_bank_account:
+ description: ""
+ properties: {}
+ title: setup_attempt_payment_method_details_us_bank_account
+ type: object
+ x-expandableFields: []
+ setup_intent:
+ description: |-
+ A SetupIntent guides you through the process of setting up and saving a customer's payment credentials for future payments.
+ For example, you could use a SetupIntent to set up and save your customer's card without immediately collecting a payment.
+ Later, you can use [PaymentIntents](https://stripe.com/docs/api#payment_intents) to drive the payment flow.
+
+ Create a SetupIntent as soon as you're ready to collect your customer's payment credentials.
+ Do not maintain long-lived, unconfirmed SetupIntents as they may no longer be valid.
+ The SetupIntent then transitions through multiple [statuses](https://stripe.com/docs/payments/intents#intent-statuses) as it guides
+ you through the setup process.
+
+ Successful SetupIntents result in payment credentials that are optimized for future payments.
+ For example, cardholders in [certain regions](/guides/strong-customer-authentication) may need to be run through
+ [Strong Customer Authentication](https://stripe.com/docs/strong-customer-authentication) at the time of payment method collection
+ in order to streamline later [off-session payments](https://stripe.com/docs/payments/setup-intents).
+ If the SetupIntent is used with a [Customer](https://stripe.com/docs/api#setup_intent_object-customer), upon success,
+ it will automatically attach the resulting payment method to that Customer.
+ We recommend using SetupIntents or [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) on
+ PaymentIntents to save payment methods in order to prevent saving invalid or unoptimized payment methods.
+
+ By using SetupIntents, you ensure that your customers experience the minimum set of required friction,
+ even as regulations change over time.
+
+ Related guide: [Setup Intents API](https://stripe.com/docs/payments/setup-intents).
+ properties:
+ application:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/application"
+ description: ID of the Connect application that created the SetupIntent.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/application"
+ attach_to_self:
+ description: |-
+ If present, the SetupIntent's payment method will be attached to the in-context Stripe Account.
+
+ It can only be used for this Stripe Account’s own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer.
+ type: boolean
+ automatic_payment_methods:
+ anyOf:
+ - $ref: "#/components/schemas/payment_flows_automatic_payment_methods_setup_intent"
+ description: Settings for automatic payment methods compatible with this Setup Intent
+ nullable: true
+ cancellation_reason:
+ description: Reason for cancellation of this SetupIntent, one of `abandoned`, `requested_by_customer`, or `duplicate`.
+ enum:
+ - abandoned
+ - duplicate
+ - requested_by_customer
+ nullable: true
+ type: string
+ client_secret:
+ description: |-
+ The client secret of this SetupIntent. Used for client-side retrieval using a publishable key.
+
+ The client secret can be used to complete payment setup from your frontend. It should not be stored, logged, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret.
+ maxLength: 5000
+ nullable: true
+ type: string
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ customer:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ description: |-
+ ID of the Customer this SetupIntent belongs to, if one exists.
+
+ If present, the SetupIntent's payment method will be attached to the Customer on successful setup. Payment methods attached to other Customers cannot be used with this SetupIntent.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 5000
+ nullable: true
+ type: string
+ flow_directions:
+ description: |-
+ Indicates the directions of money movement for which this payment method is intended to be used.
+
+ Include `inbound` if you intend to use the payment method as the origin to pull funds from. Include `outbound` if you intend to use the payment method as the destination to send funds to. You can include both if you intend to use the payment method for both purposes.
+ items:
+ enum:
+ - inbound
+ - outbound
+ type: string
+ nullable: true
+ type: array
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ last_setup_error:
+ anyOf:
+ - $ref: "#/components/schemas/api_errors"
+ description: The error encountered in the previous SetupIntent confirmation.
+ nullable: true
+ latest_attempt:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/setup_attempt"
+ description: The most recent SetupAttempt for this SetupIntent.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/setup_attempt"
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ mandate:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/mandate"
+ description: ID of the multi use Mandate generated by the SetupIntent.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/mandate"
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ nullable: true
+ type: object
+ next_action:
+ anyOf:
+ - $ref: "#/components/schemas/setup_intent_next_action"
+ description: If present, this property tells you what actions you need to take in order for your customer to continue payment setup.
+ nullable: true
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - setup_intent
+ type: string
+ on_behalf_of:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/account"
+ description: The account (if any) for which the setup is intended.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/account"
+ payment_method:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/payment_method"
+ description: ID of the payment method used with this SetupIntent.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/payment_method"
+ payment_method_options:
+ anyOf:
+ - $ref: "#/components/schemas/setup_intent_payment_method_options"
+ description: Payment-method-specific configuration for this SetupIntent.
+ nullable: true
+ payment_method_types:
+ description: The list of payment method types (e.g. card) that this SetupIntent is allowed to set up.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ single_use_mandate:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/mandate"
+ description: ID of the single_use Mandate generated by the SetupIntent.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/mandate"
+ status:
+ description: "[Status](https://stripe.com/docs/payments/intents#intent-statuses) of this SetupIntent, one of `requires_payment_method`, `requires_confirmation`, `requires_action`, `processing`, `canceled`, or `succeeded`."
+ enum:
+ - canceled
+ - processing
+ - requires_action
+ - requires_confirmation
+ - requires_payment_method
+ - succeeded
+ type: string
+ usage:
+ description: |-
+ Indicates how the payment method is intended to be used in the future.
+
+ Use `on_session` if you intend to only reuse the payment method when the customer is in your checkout flow. Use `off_session` if your customer may or may not be in your checkout flow. If not provided, this value defaults to `off_session`.
+ maxLength: 5000
+ type: string
+ required:
+ - created
+ - id
+ - livemode
+ - object
+ - payment_method_types
+ - status
+ - usage
+ title: SetupIntent
+ type: object
+ x-expandableFields:
+ - application
+ - automatic_payment_methods
+ - customer
+ - last_setup_error
+ - latest_attempt
+ - mandate
+ - next_action
+ - on_behalf_of
+ - payment_method
+ - payment_method_options
+ - single_use_mandate
+ x-resourceId: setup_intent
+ setup_intent_next_action:
+ description: ""
+ properties:
+ cashapp_handle_redirect_or_display_qr_code:
+ $ref: "#/components/schemas/payment_intent_next_action_cashapp_handle_redirect_or_display_qr_code"
+ redirect_to_url:
+ $ref: "#/components/schemas/setup_intent_next_action_redirect_to_url"
+ type:
+ description: Type of the next action to perform, one of `redirect_to_url`, `use_stripe_sdk`, `alipay_handle_redirect`, `oxxo_display_details`, or `verify_with_microdeposits`.
+ maxLength: 5000
+ type: string
+ use_stripe_sdk:
+ description: When confirming a SetupIntent with Stripe.js, Stripe.js depends on the contents of this dictionary to invoke authentication flows. The shape of the contents is subject to change and is only intended to be used by Stripe.js.
+ type: object
+ verify_with_microdeposits:
+ $ref: "#/components/schemas/setup_intent_next_action_verify_with_microdeposits"
+ required:
+ - type
+ title: SetupIntentNextAction
+ type: object
+ x-expandableFields:
+ - cashapp_handle_redirect_or_display_qr_code
+ - redirect_to_url
+ - verify_with_microdeposits
+ setup_intent_next_action_redirect_to_url:
+ description: ""
+ properties:
+ return_url:
+ description: If the customer does not exit their browser while authenticating, they will be redirected to this specified URL after completion.
+ maxLength: 5000
+ nullable: true
+ type: string
+ url:
+ description: The URL you must redirect your customer to in order to authenticate.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: SetupIntentNextActionRedirectToUrl
+ type: object
+ x-expandableFields: []
+ setup_intent_next_action_verify_with_microdeposits:
+ description: ""
+ properties:
+ arrival_date:
+ description: The timestamp when the microdeposits are expected to land.
+ format: unix-time
+ type: integer
+ hosted_verification_url:
+ description: The URL for the hosted verification page, which allows customers to verify their bank account.
+ maxLength: 5000
+ type: string
+ microdeposit_type:
+ description: The type of the microdeposit sent to the customer. Used to distinguish between different verification methods.
+ enum:
+ - amounts
+ - descriptor_code
+ nullable: true
+ type: string
+ required:
+ - arrival_date
+ - hosted_verification_url
+ title: SetupIntentNextActionVerifyWithMicrodeposits
+ type: object
+ x-expandableFields: []
+ setup_intent_payment_method_options:
+ description: ""
+ properties:
+ acss_debit:
+ anyOf:
+ - $ref: "#/components/schemas/setup_intent_payment_method_options_acss_debit"
+ - $ref: "#/components/schemas/setup_intent_type_specific_payment_method_options_client"
+ blik:
+ anyOf:
+ - $ref: "#/components/schemas/setup_intent_payment_method_options_blik"
+ - $ref: "#/components/schemas/setup_intent_type_specific_payment_method_options_client"
+ card:
+ $ref: "#/components/schemas/setup_intent_payment_method_options_card"
+ link:
+ anyOf:
+ - $ref: "#/components/schemas/setup_intent_payment_method_options_link"
+ - $ref: "#/components/schemas/setup_intent_type_specific_payment_method_options_client"
+ sepa_debit:
+ anyOf:
+ - $ref: "#/components/schemas/setup_intent_payment_method_options_sepa_debit"
+ - $ref: "#/components/schemas/setup_intent_type_specific_payment_method_options_client"
+ us_bank_account:
+ anyOf:
+ - $ref: "#/components/schemas/setup_intent_payment_method_options_us_bank_account"
+ - $ref: "#/components/schemas/setup_intent_type_specific_payment_method_options_client"
+ title: SetupIntentPaymentMethodOptions
+ type: object
+ x-expandableFields:
+ - acss_debit
+ - blik
+ - card
+ - link
+ - sepa_debit
+ - us_bank_account
+ setup_intent_payment_method_options_acss_debit:
+ description: ""
+ properties:
+ currency:
+ description: Currency supported by the bank account
+ enum:
+ - cad
+ - usd
+ nullable: true
+ type: string
+ mandate_options:
+ $ref: "#/components/schemas/setup_intent_payment_method_options_mandate_options_acss_debit"
+ verification_method:
+ description: Bank account verification method.
+ enum:
+ - automatic
+ - instant
+ - microdeposits
+ type: string
+ x-stripeBypassValidation: true
+ title: setup_intent_payment_method_options_acss_debit
+ type: object
+ x-expandableFields:
+ - mandate_options
+ setup_intent_payment_method_options_blik:
+ description: ""
+ properties:
+ mandate_options:
+ $ref: "#/components/schemas/setup_intent_payment_method_options_mandate_options_blik"
+ title: setup_intent_payment_method_options_blik
+ type: object
+ x-expandableFields:
+ - mandate_options
+ setup_intent_payment_method_options_card:
+ description: ""
+ properties:
+ mandate_options:
+ anyOf:
+ - $ref: "#/components/schemas/setup_intent_payment_method_options_card_mandate_options"
+ description: Configuration options for setting up an eMandate for cards issued in India.
+ nullable: true
+ network:
+ description: Selected network to process this SetupIntent on. Depends on the available networks of the card attached to the setup intent. Can be only set confirm-time.
+ enum:
+ - amex
+ - cartes_bancaires
+ - diners
+ - discover
+ - interac
+ - jcb
+ - mastercard
+ - unionpay
+ - unknown
+ - visa
+ nullable: true
+ type: string
+ request_three_d_secure:
+ description: "We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Permitted values include: `automatic` or `any`. If not provided, defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine."
+ enum:
+ - any
+ - automatic
+ - challenge_only
+ nullable: true
+ type: string
+ title: setup_intent_payment_method_options_card
+ type: object
+ x-expandableFields:
+ - mandate_options
+ setup_intent_payment_method_options_card_mandate_options:
+ description: ""
+ properties:
+ amount:
+ description: Amount to be charged for future payments.
+ type: integer
+ amount_type:
+ description: One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param.
+ enum:
+ - fixed
+ - maximum
+ type: string
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ description:
+ description: A description of the mandate or subscription that is meant to be displayed to the customer.
+ maxLength: 200
+ nullable: true
+ type: string
+ end_date:
+ description: End date of the mandate or subscription. If not provided, the mandate will be active until canceled. If provided, end date should be after start date.
+ format: unix-time
+ nullable: true
+ type: integer
+ interval:
+ description: Specifies payment frequency. One of `day`, `week`, `month`, `year`, or `sporadic`.
+ enum:
+ - day
+ - month
+ - sporadic
+ - week
+ - year
+ type: string
+ interval_count:
+ description: The number of intervals between payments. For example, `interval=month` and `interval_count=3` indicates one payment every three months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). This parameter is optional when `interval=sporadic`.
+ nullable: true
+ type: integer
+ reference:
+ description: Unique identifier for the mandate or subscription.
+ maxLength: 80
+ type: string
+ start_date:
+ description: Start date of the mandate or subscription. Start date should not be lesser than yesterday.
+ format: unix-time
+ type: integer
+ supported_types:
+ description: Specifies the type of mandates supported. Possible values are `india`.
+ items:
+ enum:
+ - india
+ type: string
+ nullable: true
+ type: array
+ required:
+ - amount
+ - amount_type
+ - currency
+ - interval
+ - reference
+ - start_date
+ title: setup_intent_payment_method_options_card_mandate_options
+ type: object
+ x-expandableFields: []
+ setup_intent_payment_method_options_link:
+ description: ""
+ properties:
+ persistent_token:
+ description: Token used for persistent Link logins.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: setup_intent_payment_method_options_link
+ type: object
+ x-expandableFields: []
+ setup_intent_payment_method_options_mandate_options_acss_debit:
+ description: ""
+ properties:
+ custom_mandate_url:
+ description: A URL for custom mandate text
+ maxLength: 5000
+ type: string
+ default_for:
+ description: List of Stripe products where this mandate can be selected automatically.
+ items:
+ enum:
+ - invoice
+ - subscription
+ type: string
+ type: array
+ interval_description:
+ description: Description of the interval. Only required if the 'payment_schedule' parameter is 'interval' or 'combined'.
+ maxLength: 5000
+ nullable: true
+ type: string
+ payment_schedule:
+ description: Payment schedule for the mandate.
+ enum:
+ - combined
+ - interval
+ - sporadic
+ nullable: true
+ type: string
+ transaction_type:
+ description: Transaction type of the mandate.
+ enum:
+ - business
+ - personal
+ nullable: true
+ type: string
+ title: setup_intent_payment_method_options_mandate_options_acss_debit
+ type: object
+ x-expandableFields: []
+ setup_intent_payment_method_options_mandate_options_blik:
+ description: ""
+ properties:
+ expires_after:
+ description: Date at which the mandate expires.
+ format: unix-time
+ nullable: true
+ type: integer
+ off_session:
+ $ref: "#/components/schemas/mandate_options_off_session_details_blik"
+ type:
+ description: Type of the mandate.
+ enum:
+ - off_session
+ - on_session
+ nullable: true
+ type: string
+ title: setup_intent_payment_method_options_mandate_options_blik
+ type: object
+ x-expandableFields:
+ - off_session
+ setup_intent_payment_method_options_mandate_options_sepa_debit:
+ description: ""
+ properties: {}
+ title: setup_intent_payment_method_options_mandate_options_sepa_debit
+ type: object
+ x-expandableFields: []
+ setup_intent_payment_method_options_sepa_debit:
+ description: ""
+ properties:
+ mandate_options:
+ $ref: "#/components/schemas/setup_intent_payment_method_options_mandate_options_sepa_debit"
+ title: setup_intent_payment_method_options_sepa_debit
+ type: object
+ x-expandableFields:
+ - mandate_options
+ setup_intent_payment_method_options_us_bank_account:
+ description: ""
+ properties:
+ financial_connections:
+ $ref: "#/components/schemas/linked_account_options_us_bank_account"
+ verification_method:
+ description: Bank account verification method.
+ enum:
+ - automatic
+ - instant
+ - microdeposits
+ type: string
+ x-stripeBypassValidation: true
+ title: setup_intent_payment_method_options_us_bank_account
+ type: object
+ x-expandableFields:
+ - financial_connections
+ setup_intent_type_specific_payment_method_options_client:
+ description: ""
+ properties:
+ verification_method:
+ description: Bank account verification method.
+ enum:
+ - automatic
+ - instant
+ - microdeposits
+ type: string
+ x-stripeBypassValidation: true
+ title: SetupIntentTypeSpecificPaymentMethodOptionsClient
+ type: object
+ x-expandableFields: []
+ shipping:
+ description: ""
+ properties:
+ address:
+ $ref: "#/components/schemas/address"
+ carrier:
+ description: The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc.
+ maxLength: 5000
+ nullable: true
+ type: string
+ name:
+ description: Recipient name.
+ maxLength: 5000
+ type: string
+ phone:
+ description: Recipient phone (including extension).
+ maxLength: 5000
+ nullable: true
+ type: string
+ tracking_number:
+ description: The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: Shipping
+ type: object
+ x-expandableFields:
+ - address
+ shipping_rate:
+ description: |-
+ Shipping rates describe the price of shipping presented to your customers and can be
+ applied to [Checkout Sessions](https://stripe.com/docs/payments/checkout/shipping)
+ and [Orders](https://stripe.com/docs/orders/shipping) to collect shipping costs.
+ properties:
+ active:
+ description: Whether the shipping rate can be used for new purchases. Defaults to `true`.
+ type: boolean
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ delivery_estimate:
+ anyOf:
+ - $ref: "#/components/schemas/shipping_rate_delivery_estimate"
+ description: The estimated range for how long shipping will take, meant to be displayable to the customer. This will appear on CheckoutSessions.
+ nullable: true
+ display_name:
+ description: The name of the shipping rate, meant to be displayable to the customer. This will appear on CheckoutSessions.
+ maxLength: 5000
+ nullable: true
+ type: string
+ fixed_amount:
+ $ref: "#/components/schemas/shipping_rate_fixed_amount"
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - shipping_rate
+ type: string
+ tax_behavior:
+ description: Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`.
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ nullable: true
+ type: string
+ tax_code:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/tax_code"
+ description: A [tax code](https://stripe.com/docs/tax/tax-categories) ID. The Shipping tax code is `txcd_92010001`.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/tax_code"
+ type:
+ description: The type of calculation to use on the shipping rate. Can only be `fixed_amount` for now.
+ enum:
+ - fixed_amount
+ type: string
+ required:
+ - active
+ - created
+ - id
+ - livemode
+ - metadata
+ - object
+ - type
+ title: ShippingRate
+ type: object
+ x-expandableFields:
+ - delivery_estimate
+ - fixed_amount
+ - tax_code
+ x-resourceId: shipping_rate
+ shipping_rate_currency_option:
+ description: ""
+ properties:
+ amount:
+ description: A non-negative integer in cents representing how much to charge.
+ type: integer
+ tax_behavior:
+ description: Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`.
+ enum:
+ - exclusive
+ - inclusive
+ - unspecified
+ type: string
+ required:
+ - amount
+ - tax_behavior
+ title: ShippingRateCurrencyOption
+ type: object
+ x-expandableFields: []
+ shipping_rate_delivery_estimate:
+ description: ""
+ properties:
+ maximum:
+ anyOf:
+ - $ref: "#/components/schemas/shipping_rate_delivery_estimate_bound"
+ description: The upper bound of the estimated range. If empty, represents no upper bound i.e., infinite.
+ nullable: true
+ minimum:
+ anyOf:
+ - $ref: "#/components/schemas/shipping_rate_delivery_estimate_bound"
+ description: The lower bound of the estimated range. If empty, represents no lower bound.
+ nullable: true
+ title: ShippingRateDeliveryEstimate
+ type: object
+ x-expandableFields:
+ - maximum
+ - minimum
+ shipping_rate_delivery_estimate_bound:
+ description: ""
+ properties:
+ unit:
+ description: A unit of time.
+ enum:
+ - business_day
+ - day
+ - hour
+ - month
+ - week
+ type: string
+ value:
+ description: Must be greater than 0.
+ type: integer
+ required:
+ - unit
+ - value
+ title: ShippingRateDeliveryEstimateBound
+ type: object
+ x-expandableFields: []
+ shipping_rate_fixed_amount:
+ description: ""
+ properties:
+ amount:
+ description: A non-negative integer in cents representing how much to charge.
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ currency_options:
+ additionalProperties:
+ $ref: "#/components/schemas/shipping_rate_currency_option"
+ description: Shipping rates defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies).
+ type: object
+ required:
+ - amount
+ - currency
+ title: ShippingRateFixedAmount
+ type: object
+ x-expandableFields:
+ - currency_options
+ sigma_scheduled_query_run_error:
+ description: ""
+ properties:
+ message:
+ description: Information about the run failure.
+ maxLength: 5000
+ type: string
+ required:
+ - message
+ title: SigmaScheduledQueryRunError
+ type: object
+ x-expandableFields: []
+ source:
+ description: |-
+ `Source` objects allow you to accept a variety of payment methods. They
+ represent a customer's payment instrument, and can be used with the Stripe API
+ just like a `Card` object: once chargeable, they can be charged, or can be
+ attached to customers.
+
+ Stripe doesn't recommend using the deprecated [Sources API](https://stripe.com/docs/api/sources).
+ We recommend that you adopt the [PaymentMethods API](https://stripe.com/docs/api/payment_methods).
+ This newer API provides access to our latest features and payment method types.
+
+ Related guides: [Sources API](https://stripe.com/docs/sources) and [Sources & Customers](https://stripe.com/docs/sources/customers).
+ properties:
+ ach_credit_transfer:
+ $ref: "#/components/schemas/source_type_ach_credit_transfer"
+ ach_debit:
+ $ref: "#/components/schemas/source_type_ach_debit"
+ acss_debit:
+ $ref: "#/components/schemas/source_type_acss_debit"
+ alipay:
+ $ref: "#/components/schemas/source_type_alipay"
+ amount:
+ description: A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount associated with the source. This is the amount for which the source will be chargeable once ready. Required for `single_use` sources.
+ nullable: true
+ type: integer
+ au_becs_debit:
+ $ref: "#/components/schemas/source_type_au_becs_debit"
+ bancontact:
+ $ref: "#/components/schemas/source_type_bancontact"
+ card:
+ $ref: "#/components/schemas/source_type_card"
+ card_present:
+ $ref: "#/components/schemas/source_type_card_present"
+ client_secret:
+ description: The client secret of the source. Used for client-side retrieval using a publishable key.
+ maxLength: 5000
+ type: string
+ code_verification:
+ $ref: "#/components/schemas/source_code_verification_flow"
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) associated with the source. This is the currency for which the source will be chargeable once ready. Required for `single_use` sources.
+ nullable: true
+ type: string
+ customer:
+ description: The ID of the customer to which this source is attached. This will not be present when the source has not been attached to a customer.
+ maxLength: 5000
+ type: string
+ eps:
+ $ref: "#/components/schemas/source_type_eps"
+ flow:
+ description: The authentication `flow` of the source. `flow` is one of `redirect`, `receiver`, `code_verification`, `none`.
+ maxLength: 5000
+ type: string
+ giropay:
+ $ref: "#/components/schemas/source_type_giropay"
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ ideal:
+ $ref: "#/components/schemas/source_type_ideal"
+ klarna:
+ $ref: "#/components/schemas/source_type_klarna"
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ nullable: true
+ type: object
+ multibanco:
+ $ref: "#/components/schemas/source_type_multibanco"
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - source
+ type: string
+ owner:
+ anyOf:
+ - $ref: "#/components/schemas/source_owner"
+ description: Information about the owner of the payment instrument that may be used or required by particular source types.
+ nullable: true
+ p24:
+ $ref: "#/components/schemas/source_type_p24"
+ receiver:
+ $ref: "#/components/schemas/source_receiver_flow"
+ redirect:
+ $ref: "#/components/schemas/source_redirect_flow"
+ sepa_debit:
+ $ref: "#/components/schemas/source_type_sepa_debit"
+ sofort:
+ $ref: "#/components/schemas/source_type_sofort"
+ source_order:
+ $ref: "#/components/schemas/source_order"
+ statement_descriptor:
+ description: Extra information about a source. This will appear on your customer's statement every time you charge the source.
+ maxLength: 5000
+ nullable: true
+ type: string
+ status:
+ description: The status of the source, one of `canceled`, `chargeable`, `consumed`, `failed`, or `pending`. Only `chargeable` sources can be used to create a charge.
+ maxLength: 5000
+ type: string
+ three_d_secure:
+ $ref: "#/components/schemas/source_type_three_d_secure"
+ type:
+ description: The `type` of the source. The `type` is a payment method, one of `ach_credit_transfer`, `ach_debit`, `alipay`, `bancontact`, `card`, `card_present`, `eps`, `giropay`, `ideal`, `multibanco`, `klarna`, `p24`, `sepa_debit`, `sofort`, `three_d_secure`, or `wechat`. An additional hash is included on the source with a name matching this value. It contains additional information specific to the [payment method](https://stripe.com/docs/sources) used.
+ enum:
+ - ach_credit_transfer
+ - ach_debit
+ - acss_debit
+ - alipay
+ - au_becs_debit
+ - bancontact
+ - card
+ - card_present
+ - eps
+ - giropay
+ - ideal
+ - klarna
+ - multibanco
+ - p24
+ - sepa_debit
+ - sofort
+ - three_d_secure
+ - wechat
+ type: string
+ x-stripeBypassValidation: true
+ usage:
+ description: Either `reusable` or `single_use`. Whether this source should be reusable or not. Some source types may or may not be reusable by construction, while others may leave the option at creation. If an incompatible value is passed, an error will be returned.
+ maxLength: 5000
+ nullable: true
+ type: string
+ wechat:
+ $ref: "#/components/schemas/source_type_wechat"
+ required:
+ - client_secret
+ - created
+ - flow
+ - id
+ - livemode
+ - object
+ - status
+ - type
+ title: Source
+ type: object
+ x-expandableFields:
+ - code_verification
+ - owner
+ - receiver
+ - redirect
+ - source_order
+ x-resourceId: source
+ source_code_verification_flow:
+ description: ""
+ properties:
+ attempts_remaining:
+ description: The number of attempts remaining to authenticate the source object with a verification code.
+ type: integer
+ status:
+ description: The status of the code verification, either `pending` (awaiting verification, `attempts_remaining` should be greater than 0), `succeeded` (successful verification) or `failed` (failed verification, cannot be verified anymore as `attempts_remaining` should be 0).
+ maxLength: 5000
+ type: string
+ required:
+ - attempts_remaining
+ - status
+ title: SourceCodeVerificationFlow
+ type: object
+ x-expandableFields: []
+ source_mandate_notification:
+ description: |-
+ Source mandate notifications should be created when a notification related to
+ a source mandate must be sent to the payer. They will trigger a webhook or
+ deliver an email to the customer.
+ properties:
+ acss_debit:
+ $ref: "#/components/schemas/source_mandate_notification_acss_debit_data"
+ amount:
+ description: A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the amount associated with the mandate notification. The amount is expressed in the currency of the underlying source. Required if the notification type is `debit_initiated`.
+ nullable: true
+ type: integer
+ bacs_debit:
+ $ref: "#/components/schemas/source_mandate_notification_bacs_debit_data"
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - source_mandate_notification
+ type: string
+ reason:
+ description: The reason of the mandate notification. Valid reasons are `mandate_confirmed` or `debit_initiated`.
+ maxLength: 5000
+ type: string
+ sepa_debit:
+ $ref: "#/components/schemas/source_mandate_notification_sepa_debit_data"
+ source:
+ $ref: "#/components/schemas/source"
+ status:
+ description: The status of the mandate notification. Valid statuses are `pending` or `submitted`.
+ maxLength: 5000
+ type: string
+ type:
+ description: The type of source this mandate notification is attached to. Should be the source type identifier code for the payment method, such as `three_d_secure`.
+ maxLength: 5000
+ type: string
+ required:
+ - created
+ - id
+ - livemode
+ - object
+ - reason
+ - source
+ - status
+ - type
+ title: SourceMandateNotification
+ type: object
+ x-expandableFields:
+ - acss_debit
+ - bacs_debit
+ - sepa_debit
+ - source
+ x-resourceId: source_mandate_notification
+ source_mandate_notification_acss_debit_data:
+ description: ""
+ properties:
+ statement_descriptor:
+ description: The statement descriptor associate with the debit.
+ maxLength: 5000
+ type: string
+ title: SourceMandateNotificationAcssDebitData
+ type: object
+ x-expandableFields: []
+ source_mandate_notification_bacs_debit_data:
+ description: ""
+ properties:
+ last4:
+ description: Last 4 digits of the account number associated with the debit.
+ maxLength: 5000
+ type: string
+ title: SourceMandateNotificationBacsDebitData
+ type: object
+ x-expandableFields: []
+ source_mandate_notification_sepa_debit_data:
+ description: ""
+ properties:
+ creditor_identifier:
+ description: SEPA creditor ID.
+ maxLength: 5000
+ type: string
+ last4:
+ description: Last 4 digits of the account number associated with the debit.
+ maxLength: 5000
+ type: string
+ mandate_reference:
+ description: Mandate reference associated with the debit.
+ maxLength: 5000
+ type: string
+ title: SourceMandateNotificationSepaDebitData
+ type: object
+ x-expandableFields: []
+ source_order:
+ description: ""
+ properties:
+ amount:
+ description: A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount for the order.
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ email:
+ description: The email address of the customer placing the order.
+ maxLength: 5000
+ type: string
+ items:
+ description: List of items constituting the order.
+ items:
+ $ref: "#/components/schemas/source_order_item"
+ nullable: true
+ type: array
+ shipping:
+ $ref: "#/components/schemas/shipping"
+ required:
+ - amount
+ - currency
+ title: SourceOrder
+ type: object
+ x-expandableFields:
+ - items
+ - shipping
+ source_order_item:
+ description: ""
+ properties:
+ amount:
+ description: The amount (price) for this order item.
+ nullable: true
+ type: integer
+ currency:
+ description: This currency of this order item. Required when `amount` is present.
+ maxLength: 5000
+ nullable: true
+ type: string
+ description:
+ description: Human-readable description for this order item.
+ maxLength: 5000
+ nullable: true
+ type: string
+ parent:
+ description: The ID of the associated object for this line item. Expandable if not null (e.g., expandable to a SKU).
+ maxLength: 5000
+ nullable: true
+ type: string
+ quantity:
+ description: The quantity of this order item. When type is `sku`, this is the number of instances of the SKU to be ordered.
+ type: integer
+ type:
+ description: The type of this order item. Must be `sku`, `tax`, or `shipping`.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: SourceOrderItem
+ type: object
+ x-expandableFields: []
+ source_owner:
+ description: ""
+ properties:
+ address:
+ anyOf:
+ - $ref: "#/components/schemas/address"
+ description: Owner's address.
+ nullable: true
+ email:
+ description: Owner's email address.
+ maxLength: 5000
+ nullable: true
+ type: string
+ name:
+ description: Owner's full name.
+ maxLength: 5000
+ nullable: true
+ type: string
+ phone:
+ description: Owner's phone number (including extension).
+ maxLength: 5000
+ nullable: true
+ type: string
+ verified_address:
+ anyOf:
+ - $ref: "#/components/schemas/address"
+ description: Verified owner's address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ nullable: true
+ verified_email:
+ description: Verified owner's email address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ maxLength: 5000
+ nullable: true
+ type: string
+ verified_name:
+ description: Verified owner's full name. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ maxLength: 5000
+ nullable: true
+ type: string
+ verified_phone:
+ description: Verified owner's phone number (including extension). Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: SourceOwner
+ type: object
+ x-expandableFields:
+ - address
+ - verified_address
+ source_receiver_flow:
+ description: ""
+ properties:
+ address:
+ description: The address of the receiver source. This is the value that should be communicated to the customer to send their funds to.
+ maxLength: 5000
+ nullable: true
+ type: string
+ amount_charged:
+ description: The total amount that was moved to your balance. This is almost always equal to the amount charged. In rare cases when customers deposit excess funds and we are unable to refund those, those funds get moved to your balance and show up in amount_charged as well. The amount charged is expressed in the source's currency.
+ type: integer
+ amount_received:
+ description: The total amount received by the receiver source. `amount_received = amount_returned + amount_charged` should be true for consumed sources unless customers deposit excess funds. The amount received is expressed in the source's currency.
+ type: integer
+ amount_returned:
+ description: The total amount that was returned to the customer. The amount returned is expressed in the source's currency.
+ type: integer
+ refund_attributes_method:
+ description: Type of refund attribute method, one of `email`, `manual`, or `none`.
+ maxLength: 5000
+ type: string
+ refund_attributes_status:
+ description: Type of refund attribute status, one of `missing`, `requested`, or `available`.
+ maxLength: 5000
+ type: string
+ required:
+ - amount_charged
+ - amount_received
+ - amount_returned
+ - refund_attributes_method
+ - refund_attributes_status
+ title: SourceReceiverFlow
+ type: object
+ x-expandableFields: []
+ source_redirect_flow:
+ description: ""
+ properties:
+ failure_reason:
+ description: The failure reason for the redirect, either `user_abort` (the customer aborted or dropped out of the redirect flow), `declined` (the authentication failed or the transaction was declined), or `processing_error` (the redirect failed due to a technical error). Present only if the redirect status is `failed`.
+ maxLength: 5000
+ nullable: true
+ type: string
+ return_url:
+ description: The URL you provide to redirect the customer to after they authenticated their payment.
+ maxLength: 5000
+ type: string
+ status:
+ description: The status of the redirect, either `pending` (ready to be used by your customer to authenticate the transaction), `succeeded` (succesful authentication, cannot be reused) or `not_required` (redirect should not be used) or `failed` (failed authentication, cannot be reused).
+ maxLength: 5000
+ type: string
+ url:
+ description: The URL provided to you to redirect a customer to as part of a `redirect` authentication flow.
+ maxLength: 2048
+ type: string
+ required:
+ - return_url
+ - status
+ - url
+ title: SourceRedirectFlow
+ type: object
+ x-expandableFields: []
+ source_transaction:
+ description: |-
+ Some payment methods have no required amount that a customer must send.
+ Customers can be instructed to send any amount, and it can be made up of
+ multiple transactions. As such, sources can have multiple associated
+ transactions.
+ properties:
+ ach_credit_transfer:
+ $ref: "#/components/schemas/source_transaction_ach_credit_transfer_data"
+ amount:
+ description: A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the amount your customer has pushed to the receiver.
+ type: integer
+ chf_credit_transfer:
+ $ref: "#/components/schemas/source_transaction_chf_credit_transfer_data"
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ gbp_credit_transfer:
+ $ref: "#/components/schemas/source_transaction_gbp_credit_transfer_data"
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - source_transaction
+ type: string
+ paper_check:
+ $ref: "#/components/schemas/source_transaction_paper_check_data"
+ sepa_credit_transfer:
+ $ref: "#/components/schemas/source_transaction_sepa_credit_transfer_data"
+ source:
+ description: The ID of the source this transaction is attached to.
+ maxLength: 5000
+ type: string
+ status:
+ description: The status of the transaction, one of `succeeded`, `pending`, or `failed`.
+ maxLength: 5000
+ type: string
+ type:
+ description: The type of source this transaction is attached to.
+ enum:
+ - ach_credit_transfer
+ - ach_debit
+ - alipay
+ - bancontact
+ - card
+ - card_present
+ - eps
+ - giropay
+ - ideal
+ - klarna
+ - multibanco
+ - p24
+ - sepa_debit
+ - sofort
+ - three_d_secure
+ - wechat
+ type: string
+ required:
+ - amount
+ - created
+ - currency
+ - id
+ - livemode
+ - object
+ - source
+ - status
+ - type
+ title: SourceTransaction
+ type: object
+ x-expandableFields:
+ - ach_credit_transfer
+ - chf_credit_transfer
+ - gbp_credit_transfer
+ - paper_check
+ - sepa_credit_transfer
+ x-resourceId: source_transaction
+ source_transaction_ach_credit_transfer_data:
+ description: ""
+ properties:
+ customer_data:
+ description: Customer data associated with the transfer.
+ maxLength: 5000
+ type: string
+ fingerprint:
+ description: Bank account fingerprint associated with the transfer.
+ maxLength: 5000
+ type: string
+ last4:
+ description: Last 4 digits of the account number associated with the transfer.
+ maxLength: 5000
+ type: string
+ routing_number:
+ description: Routing number associated with the transfer.
+ maxLength: 5000
+ type: string
+ title: SourceTransactionAchCreditTransferData
+ type: object
+ x-expandableFields: []
+ source_transaction_chf_credit_transfer_data:
+ description: ""
+ properties:
+ reference:
+ description: Reference associated with the transfer.
+ maxLength: 5000
+ type: string
+ sender_address_country:
+ description: Sender's country address.
+ maxLength: 5000
+ type: string
+ sender_address_line1:
+ description: Sender's line 1 address.
+ maxLength: 5000
+ type: string
+ sender_iban:
+ description: Sender's bank account IBAN.
+ maxLength: 5000
+ type: string
+ sender_name:
+ description: Sender's name.
+ maxLength: 5000
+ type: string
+ title: SourceTransactionChfCreditTransferData
+ type: object
+ x-expandableFields: []
+ source_transaction_gbp_credit_transfer_data:
+ description: ""
+ properties:
+ fingerprint:
+ description: Bank account fingerprint associated with the Stripe owned bank account receiving the transfer.
+ maxLength: 5000
+ type: string
+ funding_method:
+ description: "The credit transfer rails the sender used to push this transfer. The possible rails are: Faster Payments, BACS, CHAPS, and wire transfers. Currently only Faster Payments is supported."
+ maxLength: 5000
+ type: string
+ last4:
+ description: Last 4 digits of sender account number associated with the transfer.
+ maxLength: 5000
+ type: string
+ reference:
+ description: Sender entered arbitrary information about the transfer.
+ maxLength: 5000
+ type: string
+ sender_account_number:
+ description: Sender account number associated with the transfer.
+ maxLength: 5000
+ type: string
+ sender_name:
+ description: Sender name associated with the transfer.
+ maxLength: 5000
+ type: string
+ sender_sort_code:
+ description: Sender sort code associated with the transfer.
+ maxLength: 5000
+ type: string
+ title: SourceTransactionGbpCreditTransferData
+ type: object
+ x-expandableFields: []
+ source_transaction_paper_check_data:
+ description: ""
+ properties:
+ available_at:
+ description: Time at which the deposited funds will be available for use. Measured in seconds since the Unix epoch.
+ maxLength: 5000
+ type: string
+ invoices:
+ description: Comma-separated list of invoice IDs associated with the paper check.
+ maxLength: 5000
+ type: string
+ title: SourceTransactionPaperCheckData
+ type: object
+ x-expandableFields: []
+ source_transaction_sepa_credit_transfer_data:
+ description: ""
+ properties:
+ reference:
+ description: Reference associated with the transfer.
+ maxLength: 5000
+ type: string
+ sender_iban:
+ description: Sender's bank account IBAN.
+ maxLength: 5000
+ type: string
+ sender_name:
+ description: Sender's name.
+ maxLength: 5000
+ type: string
+ title: SourceTransactionSepaCreditTransferData
+ type: object
+ x-expandableFields: []
+ source_type_ach_credit_transfer:
+ properties:
+ account_number:
+ nullable: true
+ type: string
+ bank_name:
+ nullable: true
+ type: string
+ fingerprint:
+ nullable: true
+ type: string
+ refund_account_holder_name:
+ nullable: true
+ type: string
+ refund_account_holder_type:
+ nullable: true
+ type: string
+ refund_routing_number:
+ nullable: true
+ type: string
+ routing_number:
+ nullable: true
+ type: string
+ swift_code:
+ nullable: true
+ type: string
+ type: object
+ source_type_ach_debit:
+ properties:
+ bank_name:
+ nullable: true
+ type: string
+ country:
+ nullable: true
+ type: string
+ fingerprint:
+ nullable: true
+ type: string
+ last4:
+ nullable: true
+ type: string
+ routing_number:
+ nullable: true
+ type: string
+ type:
+ nullable: true
+ type: string
+ type: object
+ source_type_acss_debit:
+ properties:
+ bank_address_city:
+ nullable: true
+ type: string
+ bank_address_line_1:
+ nullable: true
+ type: string
+ bank_address_line_2:
+ nullable: true
+ type: string
+ bank_address_postal_code:
+ nullable: true
+ type: string
+ bank_name:
+ nullable: true
+ type: string
+ category:
+ nullable: true
+ type: string
+ country:
+ nullable: true
+ type: string
+ fingerprint:
+ nullable: true
+ type: string
+ last4:
+ nullable: true
+ type: string
+ routing_number:
+ nullable: true
+ type: string
+ type: object
+ source_type_alipay:
+ properties:
+ data_string:
+ nullable: true
+ type: string
+ native_url:
+ nullable: true
+ type: string
+ statement_descriptor:
+ nullable: true
+ type: string
+ type: object
+ source_type_au_becs_debit:
+ properties:
+ bsb_number:
+ nullable: true
+ type: string
+ fingerprint:
+ nullable: true
+ type: string
+ last4:
+ nullable: true
+ type: string
+ type: object
+ source_type_bancontact:
+ properties:
+ bank_code:
+ nullable: true
+ type: string
+ bank_name:
+ nullable: true
+ type: string
+ bic:
+ nullable: true
+ type: string
+ iban_last4:
+ nullable: true
+ type: string
+ preferred_language:
+ nullable: true
+ type: string
+ statement_descriptor:
+ nullable: true
+ type: string
+ type: object
+ source_type_card:
+ properties:
+ address_line1_check:
+ nullable: true
+ type: string
+ address_zip_check:
+ nullable: true
+ type: string
+ brand:
+ nullable: true
+ type: string
+ country:
+ nullable: true
+ type: string
+ cvc_check:
+ nullable: true
+ type: string
+ dynamic_last4:
+ nullable: true
+ type: string
+ exp_month:
+ nullable: true
+ type: integer
+ exp_year:
+ nullable: true
+ type: integer
+ fingerprint:
+ type: string
+ funding:
+ nullable: true
+ type: string
+ last4:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ three_d_secure:
+ type: string
+ tokenization_method:
+ nullable: true
+ type: string
+ type: object
+ source_type_card_present:
+ properties:
+ application_cryptogram:
+ type: string
+ application_preferred_name:
+ type: string
+ authorization_code:
+ nullable: true
+ type: string
+ authorization_response_code:
+ type: string
+ brand:
+ nullable: true
+ type: string
+ country:
+ nullable: true
+ type: string
+ cvm_type:
+ type: string
+ data_type:
+ nullable: true
+ type: string
+ dedicated_file_name:
+ type: string
+ emv_auth_data:
+ type: string
+ evidence_customer_signature:
+ nullable: true
+ type: string
+ evidence_transaction_certificate:
+ nullable: true
+ type: string
+ exp_month:
+ nullable: true
+ type: integer
+ exp_year:
+ nullable: true
+ type: integer
+ fingerprint:
+ type: string
+ funding:
+ nullable: true
+ type: string
+ last4:
+ nullable: true
+ type: string
+ pos_device_id:
+ nullable: true
+ type: string
+ pos_entry_mode:
+ type: string
+ read_method:
+ nullable: true
+ type: string
+ reader:
+ nullable: true
+ type: string
+ terminal_verification_results:
+ type: string
+ transaction_status_information:
+ type: string
+ type: object
+ source_type_eps:
+ properties:
+ reference:
+ nullable: true
+ type: string
+ statement_descriptor:
+ nullable: true
+ type: string
+ type: object
+ source_type_giropay:
+ properties:
+ bank_code:
+ nullable: true
+ type: string
+ bank_name:
+ nullable: true
+ type: string
+ bic:
+ nullable: true
+ type: string
+ statement_descriptor:
+ nullable: true
+ type: string
+ type: object
+ source_type_ideal:
+ properties:
+ bank:
+ nullable: true
+ type: string
+ bic:
+ nullable: true
+ type: string
+ iban_last4:
+ nullable: true
+ type: string
+ statement_descriptor:
+ nullable: true
+ type: string
+ type: object
+ source_type_klarna:
+ properties:
+ background_image_url:
+ type: string
+ client_token:
+ nullable: true
+ type: string
+ first_name:
+ type: string
+ last_name:
+ type: string
+ locale:
+ type: string
+ logo_url:
+ type: string
+ page_title:
+ type: string
+ pay_later_asset_urls_descriptive:
+ type: string
+ pay_later_asset_urls_standard:
+ type: string
+ pay_later_name:
+ type: string
+ pay_later_redirect_url:
+ type: string
+ pay_now_asset_urls_descriptive:
+ type: string
+ pay_now_asset_urls_standard:
+ type: string
+ pay_now_name:
+ type: string
+ pay_now_redirect_url:
+ type: string
+ pay_over_time_asset_urls_descriptive:
+ type: string
+ pay_over_time_asset_urls_standard:
+ type: string
+ pay_over_time_name:
+ type: string
+ pay_over_time_redirect_url:
+ type: string
+ payment_method_categories:
+ type: string
+ purchase_country:
+ type: string
+ purchase_type:
+ type: string
+ redirect_url:
+ type: string
+ shipping_delay:
+ type: integer
+ shipping_first_name:
+ type: string
+ shipping_last_name:
+ type: string
+ type: object
+ source_type_multibanco:
+ properties:
+ entity:
+ nullable: true
+ type: string
+ reference:
+ nullable: true
+ type: string
+ refund_account_holder_address_city:
+ nullable: true
+ type: string
+ refund_account_holder_address_country:
+ nullable: true
+ type: string
+ refund_account_holder_address_line1:
+ nullable: true
+ type: string
+ refund_account_holder_address_line2:
+ nullable: true
+ type: string
+ refund_account_holder_address_postal_code:
+ nullable: true
+ type: string
+ refund_account_holder_address_state:
+ nullable: true
+ type: string
+ refund_account_holder_name:
+ nullable: true
+ type: string
+ refund_iban:
+ nullable: true
+ type: string
+ type: object
+ source_type_p24:
+ properties:
+ reference:
+ nullable: true
+ type: string
+ type: object
+ source_type_sepa_debit:
+ properties:
+ bank_code:
+ nullable: true
+ type: string
+ branch_code:
+ nullable: true
+ type: string
+ country:
+ nullable: true
+ type: string
+ fingerprint:
+ nullable: true
+ type: string
+ last4:
+ nullable: true
+ type: string
+ mandate_reference:
+ nullable: true
+ type: string
+ mandate_url:
+ nullable: true
+ type: string
+ type: object
+ source_type_sofort:
+ properties:
+ bank_code:
+ nullable: true
+ type: string
+ bank_name:
+ nullable: true
+ type: string
+ bic:
+ nullable: true
+ type: string
+ country:
+ nullable: true
+ type: string
+ iban_last4:
+ nullable: true
+ type: string
+ preferred_language:
+ nullable: true
+ type: string
+ statement_descriptor:
+ nullable: true
+ type: string
+ type: object
+ source_type_three_d_secure:
+ properties:
+ address_line1_check:
+ nullable: true
+ type: string
+ address_zip_check:
+ nullable: true
+ type: string
+ authenticated:
+ nullable: true
+ type: boolean
+ brand:
+ nullable: true
+ type: string
+ card:
+ nullable: true
+ type: string
+ country:
+ nullable: true
+ type: string
+ customer:
+ nullable: true
+ type: string
+ cvc_check:
+ nullable: true
+ type: string
+ dynamic_last4:
+ nullable: true
+ type: string
+ exp_month:
+ nullable: true
+ type: integer
+ exp_year:
+ nullable: true
+ type: integer
+ fingerprint:
+ type: string
+ funding:
+ nullable: true
+ type: string
+ last4:
+ nullable: true
+ type: string
+ name:
+ nullable: true
+ type: string
+ three_d_secure:
+ type: string
+ tokenization_method:
+ nullable: true
+ type: string
+ type: object
+ source_type_wechat:
+ properties:
+ prepay_id:
+ type: string
+ qr_code_url:
+ nullable: true
+ type: string
+ statement_descriptor:
+ type: string
+ type: object
+ subscription:
+ description: |-
+ Subscriptions allow you to charge a customer on a recurring basis.
+
+ Related guide: [Creating Subscriptions](https://stripe.com/docs/billing/subscriptions/creating).
+ properties:
+ application:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/application"
+ - $ref: "#/components/schemas/deleted_application"
+ description: ID of the Connect Application that created the subscription.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/application"
+ - $ref: "#/components/schemas/deleted_application"
+ application_fee_percent:
+ description: A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account.
+ nullable: true
+ type: number
+ automatic_tax:
+ $ref: "#/components/schemas/subscription_automatic_tax"
+ billing_cycle_anchor:
+ description: Determines the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. The timestamp is in UTC format.
+ format: unix-time
+ type: integer
+ billing_thresholds:
+ anyOf:
+ - $ref: "#/components/schemas/subscription_billing_thresholds"
+ description: Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period
+ nullable: true
+ cancel_at:
+ description: A date in the future at which the subscription will automatically get canceled
+ format: unix-time
+ nullable: true
+ type: integer
+ cancel_at_period_end:
+ description: If the subscription has been canceled with the `at_period_end` flag set to `true`, `cancel_at_period_end` on the subscription will be true. You can use this attribute to determine whether a subscription that has a status of active is scheduled to be canceled at the end of the current period.
+ type: boolean
+ canceled_at:
+ description: If the subscription has been canceled, the date of that cancellation. If the subscription was canceled with `cancel_at_period_end`, `canceled_at` will reflect the time of the most recent update request, not the end of the subscription period when the subscription is automatically moved to a canceled state.
+ format: unix-time
+ nullable: true
+ type: integer
+ cancellation_details:
+ anyOf:
+ - $ref: "#/components/schemas/cancellation_details"
+ description: Details about why this subscription was cancelled
+ nullable: true
+ collection_method:
+ description: Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`.
+ enum:
+ - charge_automatically
+ - send_invoice
+ type: string
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ current_period_end:
+ description: End of the current period that the subscription has been invoiced for. At the end of this period, a new invoice will be created.
+ format: unix-time
+ type: integer
+ current_period_start:
+ description: Start of the current period that the subscription has been invoiced for.
+ format: unix-time
+ type: integer
+ customer:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ description: ID of the customer who owns the subscription.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ days_until_due:
+ description: Number of days a customer has to pay invoices generated by this subscription. This value will be `null` for subscriptions where `collection_method=charge_automatically`.
+ nullable: true
+ type: integer
+ default_payment_method:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/payment_method"
+ description: ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source).
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/payment_method"
+ default_source:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/bank_account"
+ - $ref: "#/components/schemas/card"
+ - $ref: "#/components/schemas/source"
+ description: ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source).
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/bank_account"
+ - $ref: "#/components/schemas/card"
+ - $ref: "#/components/schemas/source"
+ x-stripeBypassValidation: true
+ default_tax_rates:
+ description: The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription.
+ items:
+ $ref: "#/components/schemas/tax_rate"
+ nullable: true
+ type: array
+ description:
+ description: The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces.
+ maxLength: 500
+ nullable: true
+ type: string
+ discount:
+ anyOf:
+ - $ref: "#/components/schemas/discount"
+ description: Describes the current discount applied to this subscription, if there is one. When billing, a discount applied to a subscription overrides a discount applied on a customer-wide basis.
+ nullable: true
+ ended_at:
+ description: If the subscription has ended, the date the subscription ended.
+ format: unix-time
+ nullable: true
+ type: integer
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ items:
+ description: List of subscription items, each with an attached price.
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/subscription_item"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: SubscriptionItemList
+ type: object
+ x-expandableFields:
+ - data
+ latest_invoice:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/invoice"
+ description: The most recent invoice this subscription has generated.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/invoice"
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ next_pending_invoice_item_invoice:
+ description: Specifies the approximate timestamp on which any pending invoice items will be billed according to the schedule provided at `pending_invoice_item_interval`.
+ format: unix-time
+ nullable: true
+ type: integer
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - subscription
+ type: string
+ on_behalf_of:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/account"
+ description: The account (if any) the charge was made on behalf of for charges associated with this subscription. See the Connect documentation for details.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/account"
+ pause_collection:
+ anyOf:
+ - $ref: "#/components/schemas/subscriptions_resource_pause_collection"
+ description: If specified, payment collection for this subscription will be paused.
+ nullable: true
+ payment_settings:
+ anyOf:
+ - $ref: "#/components/schemas/subscriptions_resource_payment_settings"
+ description: Payment settings passed on to invoices created by the subscription.
+ nullable: true
+ pending_invoice_item_interval:
+ anyOf:
+ - $ref: "#/components/schemas/subscription_pending_invoice_item_interval"
+ description: Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval.
+ nullable: true
+ pending_setup_intent:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/setup_intent"
+ description: You can use this [SetupIntent](https://stripe.com/docs/api/setup_intents) to collect user authentication when creating a subscription without immediate payment or updating a subscription's payment method, allowing you to optimize for off-session payments. Learn more in the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication#scenario-2).
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/setup_intent"
+ pending_update:
+ anyOf:
+ - $ref: "#/components/schemas/subscriptions_resource_pending_update"
+ description: If specified, [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates) that will be applied to the subscription once the `latest_invoice` has been paid.
+ nullable: true
+ schedule:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/subscription_schedule"
+ description: The schedule attached to the subscription
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/subscription_schedule"
+ start_date:
+ description: Date when the subscription was first created. The date might differ from the `created` date due to backdating.
+ format: unix-time
+ type: integer
+ status:
+ description: |-
+ Possible values are `incomplete`, `incomplete_expired`, `trialing`, `active`, `past_due`, `canceled`, or `unpaid`.
+
+ For `collection_method=charge_automatically` a subscription moves into `incomplete` if the initial payment attempt fails. A subscription in this state can only have metadata and default_source updated. Once the first invoice is paid, the subscription moves into an `active` state. If the first invoice is not paid within 23 hours, the subscription transitions to `incomplete_expired`. This is a terminal state, the open invoice will be voided and no further invoices will be generated.
+
+ A subscription that is currently in a trial period is `trialing` and moves to `active` when the trial period is over.
+
+ If subscription `collection_method=charge_automatically` it becomes `past_due` when payment to renew it fails and `canceled` or `unpaid` (depending on your subscriptions settings) when Stripe has exhausted all payment retry attempts.
+
+ If subscription `collection_method=send_invoice` it becomes `past_due` when its invoice is not paid by the due date, and `canceled` or `unpaid` if it is still not paid by an additional deadline after that. Note that when a subscription has a status of `unpaid`, no subsequent invoices will be attempted (invoices will be created, but then immediately automatically closed). After receiving updated payment information from a customer, you may choose to reopen and pay their closed invoices.
+ enum:
+ - active
+ - canceled
+ - incomplete
+ - incomplete_expired
+ - past_due
+ - paused
+ - trialing
+ - unpaid
+ type: string
+ test_clock:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/test_helpers.test_clock"
+ description: ID of the test clock this subscription belongs to.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/test_helpers.test_clock"
+ transfer_data:
+ anyOf:
+ - $ref: "#/components/schemas/subscription_transfer_data"
+ description: The account (if any) the subscription's payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the subscription's invoices.
+ nullable: true
+ trial_end:
+ description: If the subscription has a trial, the end of that trial.
+ format: unix-time
+ nullable: true
+ type: integer
+ trial_settings:
+ anyOf:
+ - $ref: "#/components/schemas/subscriptions_trials_resource_trial_settings"
+ description: Settings related to subscription trials.
+ nullable: true
+ trial_start:
+ description: If the subscription has a trial, the beginning of that trial.
+ format: unix-time
+ nullable: true
+ type: integer
+ required:
+ - automatic_tax
+ - billing_cycle_anchor
+ - cancel_at_period_end
+ - collection_method
+ - created
+ - currency
+ - current_period_end
+ - current_period_start
+ - customer
+ - id
+ - items
+ - livemode
+ - metadata
+ - object
+ - start_date
+ - status
+ title: Subscription
+ type: object
+ x-expandableFields:
+ - application
+ - automatic_tax
+ - billing_thresholds
+ - cancellation_details
+ - customer
+ - default_payment_method
+ - default_source
+ - default_tax_rates
+ - discount
+ - items
+ - latest_invoice
+ - on_behalf_of
+ - pause_collection
+ - payment_settings
+ - pending_invoice_item_interval
+ - pending_setup_intent
+ - pending_update
+ - schedule
+ - test_clock
+ - transfer_data
+ - trial_settings
+ x-resourceId: subscription
+ subscription_automatic_tax:
+ description: ""
+ properties:
+ enabled:
+ description: Whether Stripe automatically computes tax on this subscription.
+ type: boolean
+ required:
+ - enabled
+ title: SubscriptionAutomaticTax
+ type: object
+ x-expandableFields: []
+ subscription_billing_thresholds:
+ description: ""
+ properties:
+ amount_gte:
+ description: Monetary threshold that triggers the subscription to create an invoice
+ nullable: true
+ type: integer
+ reset_billing_cycle_anchor:
+ description: Indicates if the `billing_cycle_anchor` should be reset when a threshold is reached. If true, `billing_cycle_anchor` will be updated to the date/time the threshold was last reached; otherwise, the value will remain unchanged. This value may not be `true` if the subscription contains items with plans that have `aggregate_usage=last_ever`.
+ nullable: true
+ type: boolean
+ title: SubscriptionBillingThresholds
+ type: object
+ x-expandableFields: []
+ subscription_item:
+ description: |-
+ Subscription items allow you to create customer subscriptions with more than
+ one plan, making it easy to represent complex billing relationships.
+ properties:
+ billing_thresholds:
+ anyOf:
+ - $ref: "#/components/schemas/subscription_item_billing_thresholds"
+ description: Define thresholds at which an invoice will be sent, and the related subscription advanced to a new billing period
+ nullable: true
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ type: integer
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - subscription_item
+ type: string
+ price:
+ $ref: "#/components/schemas/price"
+ quantity:
+ description: The [quantity](https://stripe.com/docs/subscriptions/quantities) of the plan to which the customer should be subscribed.
+ type: integer
+ subscription:
+ description: The `subscription` this `subscription_item` belongs to.
+ maxLength: 5000
+ type: string
+ tax_rates:
+ description: The tax rates which apply to this `subscription_item`. When set, the `default_tax_rates` on the subscription do not apply to this `subscription_item`.
+ items:
+ $ref: "#/components/schemas/tax_rate"
+ nullable: true
+ type: array
+ required:
+ - created
+ - id
+ - metadata
+ - object
+ - price
+ - subscription
+ title: SubscriptionItem
+ type: object
+ x-expandableFields:
+ - billing_thresholds
+ - price
+ - tax_rates
+ x-resourceId: subscription_item
+ subscription_item_billing_thresholds:
+ description: ""
+ properties:
+ usage_gte:
+ description: Usage threshold that triggers the subscription to create an invoice
+ nullable: true
+ type: integer
+ title: SubscriptionItemBillingThresholds
+ type: object
+ x-expandableFields: []
+ subscription_payment_method_options_card:
+ description: ""
+ properties:
+ mandate_options:
+ $ref: "#/components/schemas/invoice_mandate_options_card"
+ network:
+ description: Selected network to process this Subscription on. Depends on the available networks of the card attached to the Subscription. Can be only set confirm-time.
+ enum:
+ - amex
+ - cartes_bancaires
+ - diners
+ - discover
+ - interac
+ - jcb
+ - mastercard
+ - unionpay
+ - unknown
+ - visa
+ nullable: true
+ type: string
+ request_three_d_secure:
+ description: We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine.
+ enum:
+ - any
+ - automatic
+ nullable: true
+ type: string
+ title: subscription_payment_method_options_card
+ type: object
+ x-expandableFields:
+ - mandate_options
+ subscription_pending_invoice_item_interval:
+ description: ""
+ properties:
+ interval:
+ description: Specifies invoicing frequency. Either `day`, `week`, `month` or `year`.
+ enum:
+ - day
+ - month
+ - week
+ - year
+ type: string
+ interval_count:
+ description: The number of intervals between invoices. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks).
+ type: integer
+ required:
+ - interval
+ - interval_count
+ title: SubscriptionPendingInvoiceItemInterval
+ type: object
+ x-expandableFields: []
+ subscription_schedule:
+ description: |-
+ A subscription schedule allows you to create and manage the lifecycle of a subscription by predefining expected changes.
+
+ Related guide: [Subscription Schedules](https://stripe.com/docs/billing/subscriptions/subscription-schedules).
+ properties:
+ application:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/application"
+ - $ref: "#/components/schemas/deleted_application"
+ description: ID of the Connect Application that created the schedule.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/application"
+ - $ref: "#/components/schemas/deleted_application"
+ canceled_at:
+ description: Time at which the subscription schedule was canceled. Measured in seconds since the Unix epoch.
+ format: unix-time
+ nullable: true
+ type: integer
+ completed_at:
+ description: Time at which the subscription schedule was completed. Measured in seconds since the Unix epoch.
+ format: unix-time
+ nullable: true
+ type: integer
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ current_phase:
+ anyOf:
+ - $ref: "#/components/schemas/subscription_schedule_current_phase"
+ description: Object representing the start and end dates for the current phase of the subscription schedule, if it is `active`.
+ nullable: true
+ customer:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ description: ID of the customer who owns the subscription schedule.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/customer"
+ - $ref: "#/components/schemas/deleted_customer"
+ default_settings:
+ $ref: "#/components/schemas/subscription_schedules_resource_default_settings"
+ end_behavior:
+ description: Behavior of the subscription schedule and underlying subscription when it ends. Possible values are `release` or `cancel` with the default being `release`. `release` will end the subscription schedule and keep the underlying subscription running.`cancel` will end the subscription schedule and cancel the underlying subscription.
+ enum:
+ - cancel
+ - none
+ - release
+ - renew
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ nullable: true
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - subscription_schedule
+ type: string
+ phases:
+ description: Configuration for the subscription schedule's phases.
+ items:
+ $ref: "#/components/schemas/subscription_schedule_phase_configuration"
+ type: array
+ released_at:
+ description: Time at which the subscription schedule was released. Measured in seconds since the Unix epoch.
+ format: unix-time
+ nullable: true
+ type: integer
+ released_subscription:
+ description: ID of the subscription once managed by the subscription schedule (if it is released).
+ maxLength: 5000
+ nullable: true
+ type: string
+ status:
+ description: The present status of the subscription schedule. Possible values are `not_started`, `active`, `completed`, `released`, and `canceled`. You can read more about the different states in our [behavior guide](https://stripe.com/docs/billing/subscriptions/subscription-schedules).
+ enum:
+ - active
+ - canceled
+ - completed
+ - not_started
+ - released
+ type: string
+ subscription:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/subscription"
+ description: ID of the subscription managed by the subscription schedule.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/subscription"
+ test_clock:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/test_helpers.test_clock"
+ description: ID of the test clock this subscription schedule belongs to.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/test_helpers.test_clock"
+ required:
+ - created
+ - customer
+ - default_settings
+ - end_behavior
+ - id
+ - livemode
+ - object
+ - phases
+ - status
+ title: SubscriptionSchedule
+ type: object
+ x-expandableFields:
+ - application
+ - current_phase
+ - customer
+ - default_settings
+ - phases
+ - subscription
+ - test_clock
+ x-resourceId: subscription_schedule
+ subscription_schedule_add_invoice_item:
+ description: An Add Invoice Item describes the prices and quantities that will be added as pending invoice items when entering a phase.
+ properties:
+ price:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/price"
+ - $ref: "#/components/schemas/deleted_price"
+ description: ID of the price used to generate the invoice item.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/price"
+ - $ref: "#/components/schemas/deleted_price"
+ quantity:
+ description: The quantity of the invoice item.
+ nullable: true
+ type: integer
+ tax_rates:
+ description: The tax rates which apply to the item. When set, the `default_tax_rates` do not apply to this item.
+ items:
+ $ref: "#/components/schemas/tax_rate"
+ nullable: true
+ type: array
+ required:
+ - price
+ title: SubscriptionScheduleAddInvoiceItem
+ type: object
+ x-expandableFields:
+ - price
+ - tax_rates
+ subscription_schedule_configuration_item:
+ description: A phase item describes the price and quantity of a phase.
+ properties:
+ billing_thresholds:
+ anyOf:
+ - $ref: "#/components/schemas/subscription_item_billing_thresholds"
+ description: Define thresholds at which an invoice will be sent, and the related subscription advanced to a new billing period
+ nullable: true
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an item. Metadata on this item will update the underlying subscription item's `metadata` when the phase is entered.
+ nullable: true
+ type: object
+ price:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/price"
+ - $ref: "#/components/schemas/deleted_price"
+ description: ID of the price to which the customer should be subscribed.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/price"
+ - $ref: "#/components/schemas/deleted_price"
+ quantity:
+ description: Quantity of the plan to which the customer should be subscribed.
+ type: integer
+ tax_rates:
+ description: The tax rates which apply to this `phase_item`. When set, the `default_tax_rates` on the phase do not apply to this `phase_item`.
+ items:
+ $ref: "#/components/schemas/tax_rate"
+ nullable: true
+ type: array
+ required:
+ - price
+ title: SubscriptionScheduleConfigurationItem
+ type: object
+ x-expandableFields:
+ - billing_thresholds
+ - price
+ - tax_rates
+ subscription_schedule_current_phase:
+ description: ""
+ properties:
+ end_date:
+ description: The end of this phase of the subscription schedule.
+ format: unix-time
+ type: integer
+ start_date:
+ description: The start of this phase of the subscription schedule.
+ format: unix-time
+ type: integer
+ required:
+ - end_date
+ - start_date
+ title: SubscriptionScheduleCurrentPhase
+ type: object
+ x-expandableFields: []
+ subscription_schedule_phase_configuration:
+ description: A phase describes the plans, coupon, and trialing status of a subscription for a predefined time period.
+ properties:
+ add_invoice_items:
+ description: A list of prices and quantities that will generate invoice items appended to the next invoice for this phase.
+ items:
+ $ref: "#/components/schemas/subscription_schedule_add_invoice_item"
+ type: array
+ application_fee_percent:
+ description: A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account during this phase of the schedule.
+ nullable: true
+ type: number
+ automatic_tax:
+ $ref: "#/components/schemas/schedules_phase_automatic_tax"
+ billing_cycle_anchor:
+ description: Possible values are `phase_start` or `automatic`. If `phase_start` then billing cycle anchor of the subscription is set to the start of the phase when entering the phase. If `automatic` then the billing cycle anchor is automatically modified as needed when entering the phase. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle).
+ enum:
+ - automatic
+ - phase_start
+ nullable: true
+ type: string
+ billing_thresholds:
+ anyOf:
+ - $ref: "#/components/schemas/subscription_billing_thresholds"
+ description: Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period
+ nullable: true
+ collection_method:
+ description: Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay the underlying subscription at the end of each billing cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`.
+ enum:
+ - charge_automatically
+ - send_invoice
+ nullable: true
+ type: string
+ coupon:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/coupon"
+ - $ref: "#/components/schemas/deleted_coupon"
+ description: ID of the coupon to use during this phase of the subscription schedule.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/coupon"
+ - $ref: "#/components/schemas/deleted_coupon"
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ default_payment_method:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/payment_method"
+ description: ID of the default payment method for the subscription schedule. It must belong to the customer associated with the subscription schedule. If not set, invoices will use the default payment method in the customer's invoice settings.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/payment_method"
+ default_tax_rates:
+ description: The default tax rates to apply to the subscription during this phase of the subscription schedule.
+ items:
+ $ref: "#/components/schemas/tax_rate"
+ nullable: true
+ type: array
+ description:
+ description: Subscription description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription.
+ maxLength: 5000
+ nullable: true
+ type: string
+ end_date:
+ description: The end of this phase of the subscription schedule.
+ format: unix-time
+ type: integer
+ invoice_settings:
+ anyOf:
+ - $ref: "#/components/schemas/invoice_setting_phase_setting"
+ description: The invoice settings applicable during this phase.
+ nullable: true
+ items:
+ description: Subscription items to configure the subscription to during this phase of the subscription schedule.
+ items:
+ $ref: "#/components/schemas/subscription_schedule_configuration_item"
+ type: array
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to a phase. Metadata on a schedule's phase will update the underlying subscription's `metadata` when the phase is entered. Updating the underlying subscription's `metadata` directly will not affect the current phase's `metadata`.
+ nullable: true
+ type: object
+ on_behalf_of:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/account"
+ description: The account (if any) the charge was made on behalf of for charges associated with the schedule's subscription. See the Connect documentation for details.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/account"
+ proration_behavior:
+ description: If the subscription schedule will prorate when transitioning to this phase. Possible values are `create_prorations` and `none`.
+ enum:
+ - always_invoice
+ - create_prorations
+ - none
+ type: string
+ start_date:
+ description: The start of this phase of the subscription schedule.
+ format: unix-time
+ type: integer
+ transfer_data:
+ anyOf:
+ - $ref: "#/components/schemas/subscription_transfer_data"
+ description: The account (if any) the associated subscription's payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the subscription's invoices.
+ nullable: true
+ trial_end:
+ description: When the trial ends within the phase.
+ format: unix-time
+ nullable: true
+ type: integer
+ required:
+ - add_invoice_items
+ - currency
+ - end_date
+ - items
+ - proration_behavior
+ - start_date
+ title: SubscriptionSchedulePhaseConfiguration
+ type: object
+ x-expandableFields:
+ - add_invoice_items
+ - automatic_tax
+ - billing_thresholds
+ - coupon
+ - default_payment_method
+ - default_tax_rates
+ - invoice_settings
+ - items
+ - on_behalf_of
+ - transfer_data
+ subscription_schedules_resource_default_settings:
+ description: ""
+ properties:
+ application_fee_percent:
+ description: A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account during this phase of the schedule.
+ nullable: true
+ type: number
+ automatic_tax:
+ $ref: "#/components/schemas/subscription_schedules_resource_default_settings_automatic_tax"
+ billing_cycle_anchor:
+ description: Possible values are `phase_start` or `automatic`. If `phase_start` then billing cycle anchor of the subscription is set to the start of the phase when entering the phase. If `automatic` then the billing cycle anchor is automatically modified as needed when entering the phase. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle).
+ enum:
+ - automatic
+ - phase_start
+ type: string
+ billing_thresholds:
+ anyOf:
+ - $ref: "#/components/schemas/subscription_billing_thresholds"
+ description: Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period
+ nullable: true
+ collection_method:
+ description: Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay the underlying subscription at the end of each billing cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`.
+ enum:
+ - charge_automatically
+ - send_invoice
+ nullable: true
+ type: string
+ default_payment_method:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/payment_method"
+ description: ID of the default payment method for the subscription schedule. If not set, invoices will use the default payment method in the customer's invoice settings.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/payment_method"
+ description:
+ description: Subscription description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription.
+ maxLength: 5000
+ nullable: true
+ type: string
+ invoice_settings:
+ anyOf:
+ - $ref: "#/components/schemas/invoice_setting_subscription_schedule_setting"
+ description: The subscription schedule's default invoice settings.
+ nullable: true
+ on_behalf_of:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/account"
+ description: The account (if any) the charge was made on behalf of for charges associated with the schedule's subscription. See the Connect documentation for details.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/account"
+ transfer_data:
+ anyOf:
+ - $ref: "#/components/schemas/subscription_transfer_data"
+ description: The account (if any) the associated subscription's payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the subscription's invoices.
+ nullable: true
+ required:
+ - billing_cycle_anchor
+ title: SubscriptionSchedulesResourceDefaultSettings
+ type: object
+ x-expandableFields:
+ - automatic_tax
+ - billing_thresholds
+ - default_payment_method
+ - invoice_settings
+ - on_behalf_of
+ - transfer_data
+ subscription_schedules_resource_default_settings_automatic_tax:
+ description: ""
+ properties:
+ enabled:
+ description: Whether Stripe automatically computes tax on invoices created during this phase.
+ type: boolean
+ required:
+ - enabled
+ title: SubscriptionSchedulesResourceDefaultSettingsAutomaticTax
+ type: object
+ x-expandableFields: []
+ subscription_transfer_data:
+ description: ""
+ properties:
+ amount_percent:
+ description: A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the destination account. By default, the entire amount is transferred to the destination.
+ nullable: true
+ type: number
+ destination:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/account"
+ description: The account where funds from the payment will be transferred to upon payment success.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/account"
+ required:
+ - destination
+ title: SubscriptionTransferData
+ type: object
+ x-expandableFields:
+ - destination
+ subscriptions_resource_pause_collection:
+ description: |-
+ The Pause Collection settings determine how we will pause collection for this subscription and for how long the subscription
+ should be paused.
+ properties:
+ behavior:
+ description: The payment collection behavior for this subscription while paused. One of `keep_as_draft`, `mark_uncollectible`, or `void`.
+ enum:
+ - keep_as_draft
+ - mark_uncollectible
+ - void
+ type: string
+ resumes_at:
+ description: The time after which the subscription will resume collecting payments.
+ format: unix-time
+ nullable: true
+ type: integer
+ required:
+ - behavior
+ title: SubscriptionsResourcePauseCollection
+ type: object
+ x-expandableFields: []
+ subscriptions_resource_payment_method_options:
+ description: ""
+ properties:
+ acss_debit:
+ anyOf:
+ - $ref: "#/components/schemas/invoice_payment_method_options_acss_debit"
+ description: This sub-hash contains details about the Canadian pre-authorized debit payment method options to pass to invoices created by the subscription.
+ nullable: true
+ bancontact:
+ anyOf:
+ - $ref: "#/components/schemas/invoice_payment_method_options_bancontact"
+ description: This sub-hash contains details about the Bancontact payment method options to pass to invoices created by the subscription.
+ nullable: true
+ card:
+ anyOf:
+ - $ref: "#/components/schemas/subscription_payment_method_options_card"
+ description: This sub-hash contains details about the Card payment method options to pass to invoices created by the subscription.
+ nullable: true
+ customer_balance:
+ anyOf:
+ - $ref: "#/components/schemas/invoice_payment_method_options_customer_balance"
+ description: This sub-hash contains details about the Bank transfer payment method options to pass to invoices created by the subscription.
+ nullable: true
+ konbini:
+ anyOf:
+ - $ref: "#/components/schemas/invoice_payment_method_options_konbini"
+ description: This sub-hash contains details about the Konbini payment method options to pass to invoices created by the subscription.
+ nullable: true
+ us_bank_account:
+ anyOf:
+ - $ref: "#/components/schemas/invoice_payment_method_options_us_bank_account"
+ description: This sub-hash contains details about the ACH direct debit payment method options to pass to invoices created by the subscription.
+ nullable: true
+ title: SubscriptionsResourcePaymentMethodOptions
+ type: object
+ x-expandableFields:
+ - acss_debit
+ - bancontact
+ - card
+ - customer_balance
+ - konbini
+ - us_bank_account
+ subscriptions_resource_payment_settings:
+ description: ""
+ properties:
+ payment_method_options:
+ anyOf:
+ - $ref: "#/components/schemas/subscriptions_resource_payment_method_options"
+ description: Payment-method-specific configuration to provide to invoices created by the subscription.
+ nullable: true
+ payment_method_types:
+ description: The list of payment method types to provide to every invoice created by the subscription. If not set, Stripe attempts to automatically determine the types to use by looking at the invoice’s default payment method, the subscription’s default payment method, the customer’s default payment method, and your [invoice template settings](https://dashboard.stripe.com/settings/billing/invoice).
+ items:
+ enum:
+ - ach_credit_transfer
+ - ach_debit
+ - acss_debit
+ - au_becs_debit
+ - bacs_debit
+ - bancontact
+ - boleto
+ - card
+ - cashapp
+ - customer_balance
+ - fpx
+ - giropay
+ - grabpay
+ - ideal
+ - konbini
+ - link
+ - paynow
+ - promptpay
+ - sepa_debit
+ - sofort
+ - us_bank_account
+ - wechat_pay
+ type: string
+ x-stripeBypassValidation: true
+ nullable: true
+ type: array
+ save_default_payment_method:
+ description: Either `off`, or `on_subscription`. With `on_subscription` Stripe updates `subscription.default_payment_method` when a subscription payment succeeds.
+ enum:
+ - off
+ - on_subscription
+ nullable: true
+ type: string
+ title: SubscriptionsResourcePaymentSettings
+ type: object
+ x-expandableFields:
+ - payment_method_options
+ subscriptions_resource_pending_update:
+ description: |-
+ Pending Updates store the changes pending from a previous update that will be applied
+ to the Subscription upon successful payment.
+ properties:
+ billing_cycle_anchor:
+ description: If the update is applied, determines the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. The timestamp is in UTC format.
+ format: unix-time
+ nullable: true
+ type: integer
+ expires_at:
+ description: The point after which the changes reflected by this update will be discarded and no longer applied.
+ format: unix-time
+ type: integer
+ subscription_items:
+ description: List of subscription items, each with an attached plan, that will be set if the update is applied.
+ items:
+ $ref: "#/components/schemas/subscription_item"
+ nullable: true
+ type: array
+ trial_end:
+ description: Unix timestamp representing the end of the trial period the customer will get before being charged for the first time, if the update is applied.
+ format: unix-time
+ nullable: true
+ type: integer
+ trial_from_plan:
+ description: Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more.
+ nullable: true
+ type: boolean
+ required:
+ - expires_at
+ title: SubscriptionsResourcePendingUpdate
+ type: object
+ x-expandableFields:
+ - subscription_items
+ subscriptions_trials_resource_end_behavior:
+ description: Defines how a subscription behaves when a free trial ends.
+ properties:
+ missing_payment_method:
+ description: Indicates how the subscription should change when the trial ends if the user did not provide a payment method.
+ enum:
+ - cancel
+ - create_invoice
+ - pause
+ type: string
+ required:
+ - missing_payment_method
+ title: SubscriptionsTrialsResourceEndBehavior
+ type: object
+ x-expandableFields: []
+ subscriptions_trials_resource_trial_settings:
+ description: Configures how this subscription behaves during the trial period.
+ properties:
+ end_behavior:
+ $ref: "#/components/schemas/subscriptions_trials_resource_end_behavior"
+ required:
+ - end_behavior
+ title: SubscriptionsTrialsResourceTrialSettings
+ type: object
+ x-expandableFields:
+ - end_behavior
+ tax.calculation:
+ description: |-
+ A Tax Calculation allows you to calculate the tax to collect from your customer.
+
+ Related guide: [Calculate tax in your custom payment flow](https://stripe.com/docs/tax/custom).
+ properties:
+ amount_total:
+ description: Total after taxes.
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ maxLength: 5000
+ type: string
+ customer:
+ description: The ID of an existing [Customer](https://stripe.com/docs/api/customers/object) used for the resource.
+ maxLength: 5000
+ nullable: true
+ type: string
+ customer_details:
+ $ref: "#/components/schemas/tax_product_resource_customer_details"
+ expires_at:
+ description: Timestamp of date at which the tax calculation will expire.
+ format: unix-time
+ nullable: true
+ type: integer
+ id:
+ description: Unique identifier for the calculation.
+ maxLength: 5000
+ nullable: true
+ type: string
+ line_items:
+ description: The list of items the customer is purchasing.
+ nullable: true
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/tax.calculation_line_item"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/tax/calculations/:id/line_items
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: TaxProductResourceTaxCalculationLineItemList
+ type: object
+ x-expandableFields:
+ - data
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - tax.calculation
+ type: string
+ shipping_cost:
+ anyOf:
+ - $ref: "#/components/schemas/tax_product_resource_shipping_cost"
+ description: The shipping cost details for the calculation.
+ nullable: true
+ tax_amount_exclusive:
+ description: The amount of tax to be collected on top of the line item prices.
+ type: integer
+ tax_amount_inclusive:
+ description: The amount of tax already included in the line item prices.
+ type: integer
+ tax_breakdown:
+ description: Breakdown of individual tax amounts that add up to the total.
+ items:
+ $ref: "#/components/schemas/tax_product_resource_tax_breakdown"
+ type: array
+ tax_date:
+ description: Timestamp of date at which the tax rules and rates in effect applies for the calculation.
+ format: unix-time
+ type: integer
+ required:
+ - amount_total
+ - currency
+ - customer_details
+ - livemode
+ - object
+ - tax_amount_exclusive
+ - tax_amount_inclusive
+ - tax_breakdown
+ - tax_date
+ title: TaxProductResourceTaxCalculation
+ type: object
+ x-expandableFields:
+ - customer_details
+ - line_items
+ - shipping_cost
+ - tax_breakdown
+ x-resourceId: tax.calculation
+ tax.calculation_line_item:
+ description: ""
+ properties:
+ amount:
+ description: The line item amount in integer cents. If `tax_behavior=inclusive`, then this amount includes taxes. Otherwise, taxes were calculated on top of this amount.
+ type: integer
+ amount_tax:
+ description: The amount of tax calculated for this line item, in integer cents.
+ type: integer
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - tax.calculation_line_item
+ type: string
+ product:
+ description: A Product ID.
+ maxLength: 5000
+ nullable: true
+ type: string
+ quantity:
+ description: The number of units of the item being purchased. For reversals, this is the quantity reversed.
+ type: integer
+ reference:
+ description: A custom identifier for this line item.
+ maxLength: 5000
+ nullable: true
+ type: string
+ tax_behavior:
+ description: Specifies whether the `amount` includes taxes. If `tax_behavior=inclusive`, then the amount includes taxes.
+ enum:
+ - exclusive
+ - inclusive
+ type: string
+ tax_breakdown:
+ description: Detailed account of taxes relevant to this line item.
+ items:
+ $ref: "#/components/schemas/tax_product_resource_line_item_tax_breakdown"
+ nullable: true
+ type: array
+ tax_code:
+ description: The [tax code](https://stripe.com/docs/tax/tax-categories) ID used for this resource.
+ maxLength: 5000
+ type: string
+ required:
+ - amount
+ - amount_tax
+ - id
+ - livemode
+ - object
+ - quantity
+ - tax_behavior
+ - tax_code
+ title: TaxProductResourceTaxCalculationLineItem
+ type: object
+ x-expandableFields:
+ - tax_breakdown
+ x-resourceId: tax.calculation_line_item
+ tax.transaction:
+ description: |-
+ A Tax Transaction records the tax collected from or refunded to your customer.
+
+ Related guide: [Calculate tax in your custom payment flow](https://stripe.com/docs/tax/custom#tax-transaction).
+ properties:
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ maxLength: 5000
+ type: string
+ customer:
+ description: The ID of an existing [Customer](https://stripe.com/docs/api/customers/object) used for the resource.
+ maxLength: 5000
+ nullable: true
+ type: string
+ customer_details:
+ $ref: "#/components/schemas/tax_product_resource_customer_details"
+ id:
+ description: Unique identifier for the transaction.
+ maxLength: 5000
+ type: string
+ line_items:
+ description: The tax collected or refunded, by line item.
+ nullable: true
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/tax.transaction_line_item"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/tax/transactions/:id/line_items
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: TaxProductResourceTaxTransactionLineItemList
+ type: object
+ x-expandableFields:
+ - data
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ nullable: true
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - tax.transaction
+ type: string
+ reference:
+ description: A custom unique identifier, such as 'myOrder_123'.
+ maxLength: 5000
+ type: string
+ reversal:
+ anyOf:
+ - $ref: "#/components/schemas/tax_product_resource_tax_transaction_resource_reversal"
+ description: If `type=reversal`, contains information about what was reversed.
+ nullable: true
+ shipping_cost:
+ anyOf:
+ - $ref: "#/components/schemas/tax_product_resource_shipping_cost"
+ description: The shipping cost details for the transaction.
+ nullable: true
+ tax_date:
+ description: Timestamp of date at which the tax rules and rates in effect applies for the calculation.
+ format: unix-time
+ type: integer
+ type:
+ description: If `reversal`, this transaction reverses an earlier transaction.
+ enum:
+ - reversal
+ - transaction
+ type: string
+ required:
+ - created
+ - currency
+ - customer_details
+ - id
+ - livemode
+ - object
+ - reference
+ - tax_date
+ - type
+ title: TaxProductResourceTaxTransaction
+ type: object
+ x-expandableFields:
+ - customer_details
+ - line_items
+ - reversal
+ - shipping_cost
+ x-resourceId: tax.transaction
+ tax.transaction_line_item:
+ description: ""
+ properties:
+ amount:
+ description: The line item amount in integer cents. If `tax_behavior=inclusive`, then this amount includes taxes. Otherwise, taxes were calculated on top of this amount.
+ type: integer
+ amount_tax:
+ description: The amount of tax calculated for this line item, in integer cents.
+ type: integer
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ nullable: true
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - tax.transaction_line_item
+ type: string
+ quantity:
+ description: The number of units of the item being purchased. For reversals, this is the quantity reversed.
+ type: integer
+ reference:
+ description: A custom identifier for this line item in the transaction.
+ maxLength: 5000
+ type: string
+ reversal:
+ anyOf:
+ - $ref: "#/components/schemas/tax_product_resource_tax_transaction_line_item_resource_reversal"
+ description: If `type=reversal`, contains information about what was reversed.
+ nullable: true
+ tax_behavior:
+ description: Specifies whether the `amount` includes taxes. If `tax_behavior=inclusive`, then the amount includes taxes.
+ enum:
+ - exclusive
+ - inclusive
+ type: string
+ tax_code:
+ description: The [tax code](https://stripe.com/docs/tax/tax-categories) ID used for this resource.
+ maxLength: 5000
+ type: string
+ type:
+ description: If `reversal`, this line item reverses an earlier transaction.
+ enum:
+ - reversal
+ - transaction
+ type: string
+ required:
+ - amount
+ - amount_tax
+ - id
+ - livemode
+ - object
+ - quantity
+ - reference
+ - tax_behavior
+ - tax_code
+ - type
+ title: TaxProductResourceTaxTransactionLineItem
+ type: object
+ x-expandableFields:
+ - reversal
+ x-resourceId: tax.transaction_line_item
+ tax_code:
+ description: "[Tax codes](https://stripe.com/docs/tax/tax-categories) classify goods and services for tax purposes."
+ properties:
+ description:
+ description: A detailed description of which types of products the tax code represents.
+ maxLength: 5000
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ name:
+ description: A short name for the tax code.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - tax_code
+ type: string
+ required:
+ - description
+ - id
+ - name
+ - object
+ title: TaxProductResourceTaxCode
+ type: object
+ x-expandableFields: []
+ x-resourceId: tax_code
+ tax_deducted_at_source:
+ description: ""
+ properties:
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - tax_deducted_at_source
+ type: string
+ period_end:
+ description: The end of the invoicing period. This TDS applies to Stripe fees collected during this invoicing period.
+ format: unix-time
+ type: integer
+ period_start:
+ description: The start of the invoicing period. This TDS applies to Stripe fees collected during this invoicing period.
+ format: unix-time
+ type: integer
+ tax_deduction_account_number:
+ description: The TAN that was supplied to Stripe when TDS was assessed
+ maxLength: 5000
+ type: string
+ required:
+ - id
+ - object
+ - period_end
+ - period_start
+ - tax_deduction_account_number
+ title: TaxDeductedAtSource
+ type: object
+ x-expandableFields: []
+ tax_id:
+ description: |-
+ You can add one or multiple tax IDs to a [customer](https://stripe.com/docs/api/customers).
+ A customer's tax IDs are displayed on invoices and credit notes issued for the customer.
+
+ Related guide: [Customer Tax Identification Numbers](https://stripe.com/docs/billing/taxes/tax-ids).
+ properties:
+ country:
+ description: Two-letter ISO code representing the country of the tax ID.
+ maxLength: 5000
+ nullable: true
+ type: string
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ customer:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/customer"
+ description: ID of the customer.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/customer"
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - tax_id
+ type: string
+ type:
+ description: Type of the tax ID, one of `ae_trn`, `au_abn`, `au_arn`, `bg_uic`, `br_cnpj`, `br_cpf`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `ch_vat`, `cl_tin`, `eg_tin`, `es_cif`, `eu_oss_vat`, `eu_vat`, `gb_vat`, `ge_vat`, `hk_br`, `hu_tin`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kr_brn`, `li_uid`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `no_vat`, `nz_gst`, `ph_tin`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `si_tin`, `th_vat`, `tr_tin`, `tw_vat`, `ua_vat`, `us_ein`, or `za_vat`. Note that some legacy tax IDs have type `unknown`
+ enum:
+ - ae_trn
+ - au_abn
+ - au_arn
+ - bg_uic
+ - br_cnpj
+ - br_cpf
+ - ca_bn
+ - ca_gst_hst
+ - ca_pst_bc
+ - ca_pst_mb
+ - ca_pst_sk
+ - ca_qst
+ - ch_vat
+ - cl_tin
+ - eg_tin
+ - es_cif
+ - eu_oss_vat
+ - eu_vat
+ - gb_vat
+ - ge_vat
+ - hk_br
+ - hu_tin
+ - id_npwp
+ - il_vat
+ - in_gst
+ - is_vat
+ - jp_cn
+ - jp_rn
+ - jp_trn
+ - ke_pin
+ - kr_brn
+ - li_uid
+ - mx_rfc
+ - my_frp
+ - my_itn
+ - my_sst
+ - no_vat
+ - nz_gst
+ - ph_tin
+ - ru_inn
+ - ru_kpp
+ - sa_vat
+ - sg_gst
+ - sg_uen
+ - si_tin
+ - th_vat
+ - tr_tin
+ - tw_vat
+ - ua_vat
+ - unknown
+ - us_ein
+ - za_vat
+ type: string
+ value:
+ description: Value of the tax ID.
+ maxLength: 5000
+ type: string
+ verification:
+ anyOf:
+ - $ref: "#/components/schemas/tax_id_verification"
+ description: Tax ID verification information.
+ nullable: true
+ required:
+ - created
+ - id
+ - livemode
+ - object
+ - type
+ - value
+ title: tax_id
+ type: object
+ x-expandableFields:
+ - customer
+ - verification
+ x-resourceId: tax_id
+ tax_id_verification:
+ description: ""
+ properties:
+ status:
+ description: Verification status, one of `pending`, `verified`, `unverified`, or `unavailable`.
+ enum:
+ - pending
+ - unavailable
+ - unverified
+ - verified
+ type: string
+ verified_address:
+ description: Verified address.
+ maxLength: 5000
+ nullable: true
+ type: string
+ verified_name:
+ description: Verified name.
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - status
+ title: tax_id_verification
+ type: object
+ x-expandableFields: []
+ tax_product_resource_customer_details:
+ description: ""
+ properties:
+ address:
+ anyOf:
+ - $ref: "#/components/schemas/tax_product_resource_postal_address"
+ description: The customer's postal address (for example, home or business location).
+ nullable: true
+ address_source:
+ description: The type of customer address provided.
+ enum:
+ - billing
+ - shipping
+ nullable: true
+ type: string
+ ip_address:
+ description: The customer's IP address (IPv4 or IPv6).
+ maxLength: 5000
+ nullable: true
+ type: string
+ tax_ids:
+ description: The customer's tax IDs (for example, EU VAT numbers).
+ items:
+ $ref: "#/components/schemas/tax_product_resource_customer_details_resource_tax_id"
+ type: array
+ taxability_override:
+ description: The taxability override used for taxation.
+ enum:
+ - customer_exempt
+ - none
+ - reverse_charge
+ type: string
+ required:
+ - tax_ids
+ - taxability_override
+ title: TaxProductResourceCustomerDetails
+ type: object
+ x-expandableFields:
+ - address
+ - tax_ids
+ tax_product_resource_customer_details_resource_tax_id:
+ description: ""
+ properties:
+ type:
+ description: The type of the tax ID, one of `eu_vat`, `br_cnpj`, `br_cpf`, `eu_oss_vat`, `gb_vat`, `nz_gst`, `au_abn`, `au_arn`, `in_gst`, `no_vat`, `za_vat`, `ch_vat`, `mx_rfc`, `sg_uen`, `ru_inn`, `ru_kpp`, `ca_bn`, `hk_br`, `es_cif`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `my_itn`, `us_ein`, `kr_brn`, `ca_qst`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `my_sst`, `sg_gst`, `ae_trn`, `cl_tin`, `sa_vat`, `id_npwp`, `my_frp`, `il_vat`, `ge_vat`, `ua_vat`, `is_vat`, `bg_uic`, `hu_tin`, `si_tin`, `ke_pin`, `tr_tin`, `eg_tin`, `ph_tin`, or `unknown`
+ enum:
+ - ae_trn
+ - au_abn
+ - au_arn
+ - bg_uic
+ - br_cnpj
+ - br_cpf
+ - ca_bn
+ - ca_gst_hst
+ - ca_pst_bc
+ - ca_pst_mb
+ - ca_pst_sk
+ - ca_qst
+ - ch_vat
+ - cl_tin
+ - eg_tin
+ - es_cif
+ - eu_oss_vat
+ - eu_vat
+ - gb_vat
+ - ge_vat
+ - hk_br
+ - hu_tin
+ - id_npwp
+ - il_vat
+ - in_gst
+ - is_vat
+ - jp_cn
+ - jp_rn
+ - jp_trn
+ - ke_pin
+ - kr_brn
+ - li_uid
+ - mx_rfc
+ - my_frp
+ - my_itn
+ - my_sst
+ - no_vat
+ - nz_gst
+ - ph_tin
+ - ru_inn
+ - ru_kpp
+ - sa_vat
+ - sg_gst
+ - sg_uen
+ - si_tin
+ - th_vat
+ - tr_tin
+ - tw_vat
+ - ua_vat
+ - unknown
+ - us_ein
+ - za_vat
+ type: string
+ value:
+ description: The value of the tax ID.
+ maxLength: 5000
+ type: string
+ required:
+ - type
+ - value
+ title: TaxProductResourceCustomerDetailsResourceTaxId
+ type: object
+ x-expandableFields: []
+ tax_product_resource_jurisdiction:
+ description: ""
+ properties:
+ country:
+ description: Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
+ maxLength: 5000
+ type: string
+ display_name:
+ description: A human-readable name for the jurisdiction imposing the tax.
+ maxLength: 5000
+ type: string
+ level:
+ description: Indicates the level of the jurisdiction imposing the tax.
+ enum:
+ - city
+ - country
+ - county
+ - district
+ - state
+ type: string
+ state:
+ description: '[ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2:US), without country prefix. For example, "NY" for New York, United States.'
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - country
+ - display_name
+ - level
+ title: TaxProductResourceJurisdiction
+ type: object
+ x-expandableFields: []
+ tax_product_resource_line_item_tax_breakdown:
+ description: ""
+ properties:
+ amount:
+ description: The amount of tax, in integer cents.
+ type: integer
+ jurisdiction:
+ $ref: "#/components/schemas/tax_product_resource_jurisdiction"
+ sourcing:
+ description: Indicates whether the jurisdiction was determined by the origin (merchant's address) or destination (customer's address).
+ enum:
+ - destination
+ - origin
+ type: string
+ tax_rate_details:
+ anyOf:
+ - $ref: "#/components/schemas/tax_product_resource_line_item_tax_rate_details"
+ description: Details regarding the rate for this tax. This field will be `null` when the tax is not imposed, for example if the product is exempt from tax.
+ nullable: true
+ taxability_reason:
+ description: The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported.
+ enum:
+ - customer_exempt
+ - not_collecting
+ - not_subject_to_tax
+ - not_supported
+ - portion_product_exempt
+ - portion_reduced_rated
+ - portion_standard_rated
+ - product_exempt
+ - product_exempt_holiday
+ - proportionally_rated
+ - reduced_rated
+ - reverse_charge
+ - standard_rated
+ - taxable_basis_reduced
+ - zero_rated
+ type: string
+ taxable_amount:
+ description: The amount on which tax is calculated, in integer cents.
+ type: integer
+ required:
+ - amount
+ - jurisdiction
+ - sourcing
+ - taxability_reason
+ - taxable_amount
+ title: TaxProductResourceLineItemTaxBreakdown
+ type: object
+ x-expandableFields:
+ - jurisdiction
+ - tax_rate_details
+ tax_product_resource_line_item_tax_rate_details:
+ description: ""
+ properties:
+ display_name:
+ description: A localized display name for tax type, intended to be human-readable. For example, "Local Sales and Use Tax", "Value-added tax (VAT)", or "Umsatzsteuer (USt.)".
+ maxLength: 5000
+ type: string
+ percentage_decimal:
+ description: The tax rate percentage as a string. For example, 8.5% is represented as "8.5".
+ maxLength: 5000
+ type: string
+ tax_type:
+ description: The tax type, such as `vat` or `sales_tax`.
+ enum:
+ - gst
+ - hst
+ - igst
+ - jct
+ - lease_tax
+ - pst
+ - qst
+ - rst
+ - sales_tax
+ - vat
+ type: string
+ required:
+ - display_name
+ - percentage_decimal
+ - tax_type
+ title: TaxProductResourceLineItemTaxRateDetails
+ type: object
+ x-expandableFields: []
+ tax_product_resource_postal_address:
+ description: ""
+ properties:
+ city:
+ description: City, district, suburb, town, or village.
+ maxLength: 5000
+ nullable: true
+ type: string
+ country:
+ description: Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
+ maxLength: 5000
+ type: string
+ line1:
+ description: Address line 1 (e.g., street, PO Box, or company name).
+ maxLength: 5000
+ nullable: true
+ type: string
+ line2:
+ description: Address line 2 (e.g., apartment, suite, unit, or building).
+ maxLength: 5000
+ nullable: true
+ type: string
+ postal_code:
+ description: ZIP or postal code.
+ maxLength: 5000
+ nullable: true
+ type: string
+ state:
+ description: 'State/province as an [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) subdivision code, without country prefix. Example: "NY" or "TX".'
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - country
+ title: TaxProductResourcePostalAddress
+ type: object
+ x-expandableFields: []
+ tax_product_resource_shipping_cost:
+ description: ""
+ properties:
+ amount:
+ description: The shipping amount in integer cents. If `tax_behavior=inclusive`, then this amount includes taxes. Otherwise, taxes were calculated on top of this amount.
+ type: integer
+ amount_tax:
+ description: The amount of tax calculated for shipping, in integer cents.
+ type: integer
+ shipping_rate:
+ description: The ID of an existing [ShippingRate](https://stripe.com/docs/api/shipping_rates/object)
+ maxLength: 5000
+ type: string
+ tax_behavior:
+ description: Specifies whether the `amount` includes taxes. If `tax_behavior=inclusive`, then the amount includes taxes.
+ enum:
+ - exclusive
+ - inclusive
+ type: string
+ tax_code:
+ description: The [tax code](https://stripe.com/docs/tax/tax-categories) ID used for shipping.
+ maxLength: 5000
+ type: string
+ required:
+ - amount
+ - amount_tax
+ - tax_behavior
+ - tax_code
+ title: TaxProductResourceShippingCost
+ type: object
+ x-expandableFields: []
+ tax_product_resource_tax_breakdown:
+ description: ""
+ properties:
+ amount:
+ description: The amount of tax, in integer cents.
+ type: integer
+ inclusive:
+ description: Specifies whether the tax amount is included in the line item amount.
+ type: boolean
+ tax_rate_details:
+ $ref: "#/components/schemas/tax_product_resource_tax_rate_details"
+ taxable_amount:
+ description: The amount on which tax is calculated, in integer cents.
+ type: integer
+ required:
+ - amount
+ - inclusive
+ - tax_rate_details
+ - taxable_amount
+ title: TaxProductResourceTaxBreakdown
+ type: object
+ x-expandableFields:
+ - tax_rate_details
+ tax_product_resource_tax_rate_details:
+ description: ""
+ properties:
+ country:
+ description: Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
+ maxLength: 5000
+ nullable: true
+ type: string
+ percentage_decimal:
+ description: The tax rate percentage as a string. For example, 8.5% is represented as `"8.5"`.
+ maxLength: 5000
+ type: string
+ state:
+ description: State, county, province, or region.
+ maxLength: 5000
+ nullable: true
+ type: string
+ tax_type:
+ description: The tax type, such as `vat` or `sales_tax`.
+ enum:
+ - gst
+ - hst
+ - igst
+ - jct
+ - lease_tax
+ - pst
+ - qst
+ - rst
+ - sales_tax
+ - vat
+ nullable: true
+ type: string
+ required:
+ - percentage_decimal
+ title: TaxProductResourceTaxRateDetails
+ type: object
+ x-expandableFields: []
+ tax_product_resource_tax_transaction_line_item_resource_reversal:
+ description: ""
+ properties:
+ original_line_item:
+ description: The `id` of the line item to reverse in the original transaction.
+ maxLength: 5000
+ type: string
+ required:
+ - original_line_item
+ title: TaxProductResourceTaxTransactionLineItemResourceReversal
+ type: object
+ x-expandableFields: []
+ tax_product_resource_tax_transaction_resource_reversal:
+ description: ""
+ properties:
+ original_transaction:
+ description: The `id` of the reversed `Transaction` object.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: TaxProductResourceTaxTransactionResourceReversal
+ type: object
+ x-expandableFields: []
+ tax_rate:
+ description: |-
+ Tax rates can be applied to [invoices](https://stripe.com/docs/billing/invoices/tax-rates), [subscriptions](https://stripe.com/docs/billing/subscriptions/taxes) and [Checkout Sessions](https://stripe.com/docs/payments/checkout/set-up-a-subscription#tax-rates) to collect tax.
+
+ Related guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates).
+ properties:
+ active:
+ description: Defaults to `true`. When set to `false`, this tax rate cannot be used with new applications or Checkout Sessions, but will still work for subscriptions and invoices that already have it set.
+ type: boolean
+ country:
+ description: Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
+ maxLength: 5000
+ nullable: true
+ type: string
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ description:
+ description: An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers.
+ maxLength: 5000
+ nullable: true
+ type: string
+ display_name:
+ description: The display name of the tax rates as it will appear to your customer on their receipt email, PDF, and the hosted invoice page.
+ maxLength: 5000
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ inclusive:
+ description: This specifies if the tax rate is inclusive or exclusive.
+ type: boolean
+ jurisdiction:
+ description: The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer’s invoice.
+ maxLength: 5000
+ nullable: true
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ nullable: true
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - tax_rate
+ type: string
+ percentage:
+ description: This represents the tax rate percent out of 100.
+ type: number
+ state:
+ description: '[ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2:US), without country prefix. For example, "NY" for New York, United States.'
+ maxLength: 5000
+ nullable: true
+ type: string
+ tax_type:
+ description: The high-level tax type, such as `vat` or `sales_tax`.
+ enum:
+ - gst
+ - hst
+ - igst
+ - jct
+ - lease_tax
+ - pst
+ - qst
+ - rst
+ - sales_tax
+ - vat
+ nullable: true
+ type: string
+ required:
+ - active
+ - created
+ - display_name
+ - id
+ - inclusive
+ - livemode
+ - object
+ - percentage
+ title: TaxRate
+ type: object
+ x-expandableFields: []
+ x-resourceId: tax_rate
+ terminal.configuration:
+ description: A Configurations object represents how features should be configured for terminal readers.
+ properties:
+ bbpos_wisepos_e:
+ $ref: "#/components/schemas/terminal_configuration_configuration_resource_device_type_specific_config"
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ is_account_default:
+ description: Whether this Configuration is the default for your account
+ nullable: true
+ type: boolean
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - terminal.configuration
+ type: string
+ tipping:
+ $ref: "#/components/schemas/terminal_configuration_configuration_resource_tipping"
+ verifone_p400:
+ $ref: "#/components/schemas/terminal_configuration_configuration_resource_device_type_specific_config"
+ required:
+ - id
+ - livemode
+ - object
+ title: TerminalConfigurationConfiguration
+ type: object
+ x-expandableFields:
+ - bbpos_wisepos_e
+ - tipping
+ - verifone_p400
+ x-resourceId: terminal.configuration
+ terminal.connection_token:
+ description: |-
+ A Connection Token is used by the Stripe Terminal SDK to connect to a reader.
+
+ Related guide: [Fleet Management](https://stripe.com/docs/terminal/fleet/locations).
+ properties:
+ location:
+ description: The id of the location that this connection token is scoped to. Note that location scoping only applies to internet-connected readers. For more details, see [the docs on scoping connection tokens](https://stripe.com/docs/terminal/fleet/locations#connection-tokens).
+ maxLength: 5000
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - terminal.connection_token
+ type: string
+ secret:
+ description: Your application should pass this token to the Stripe Terminal SDK.
+ maxLength: 5000
+ type: string
+ required:
+ - object
+ - secret
+ title: TerminalConnectionToken
+ type: object
+ x-expandableFields: []
+ x-resourceId: terminal.connection_token
+ terminal.location:
+ description: |-
+ A Location represents a grouping of readers.
+
+ Related guide: [Fleet Management](https://stripe.com/docs/terminal/fleet/locations).
+ properties:
+ address:
+ $ref: "#/components/schemas/address"
+ configuration_overrides:
+ description: The ID of a configuration that will be used to customize all readers in this location.
+ maxLength: 5000
+ type: string
+ display_name:
+ description: The display name of the location.
+ maxLength: 5000
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - terminal.location
+ type: string
+ required:
+ - address
+ - display_name
+ - id
+ - livemode
+ - metadata
+ - object
+ title: TerminalLocationLocation
+ type: object
+ x-expandableFields:
+ - address
+ x-resourceId: terminal.location
+ terminal.reader:
+ description: |-
+ A Reader represents a physical device for accepting payment details.
+
+ Related guide: [Connecting to a Reader](https://stripe.com/docs/terminal/payments/connect-reader).
+ properties:
+ action:
+ anyOf:
+ - $ref: "#/components/schemas/terminal_reader_reader_resource_reader_action"
+ description: The most recent action performed by the reader.
+ nullable: true
+ device_sw_version:
+ description: The current software version of the reader.
+ maxLength: 5000
+ nullable: true
+ type: string
+ device_type:
+ description: Type of reader, one of `bbpos_wisepad3`, `stripe_m2`, `bbpos_chipper2x`, `bbpos_wisepos_e`, `verifone_P400`, or `simulated_wisepos_e`.
+ enum:
+ - bbpos_chipper2x
+ - bbpos_wisepad3
+ - bbpos_wisepos_e
+ - simulated_wisepos_e
+ - stripe_m2
+ - verifone_P400
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ ip_address:
+ description: The local IP address of the reader.
+ maxLength: 5000
+ nullable: true
+ type: string
+ label:
+ description: Custom label given to the reader for easier identification.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ location:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/terminal.location"
+ description: The location identifier of the reader.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/terminal.location"
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - terminal.reader
+ type: string
+ serial_number:
+ description: Serial number of the reader.
+ maxLength: 5000
+ type: string
+ status:
+ description: The networking status of the reader.
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - device_type
+ - id
+ - label
+ - livemode
+ - metadata
+ - object
+ - serial_number
+ title: TerminalReaderReader
+ type: object
+ x-expandableFields:
+ - action
+ - location
+ x-resourceId: terminal.reader
+ terminal_configuration_configuration_resource_currency_specific_config:
+ description: ""
+ properties:
+ fixed_amounts:
+ description: Fixed amounts displayed when collecting a tip
+ items:
+ type: integer
+ nullable: true
+ type: array
+ percentages:
+ description: Percentages displayed when collecting a tip
+ items:
+ type: integer
+ nullable: true
+ type: array
+ smart_tip_threshold:
+ description: Below this amount, fixed amounts will be displayed; above it, percentages will be displayed
+ type: integer
+ title: TerminalConfigurationConfigurationResourceCurrencySpecificConfig
+ type: object
+ x-expandableFields: []
+ terminal_configuration_configuration_resource_device_type_specific_config:
+ description: ""
+ properties:
+ splashscreen:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/file"
+ description: A File ID representing an image you would like displayed on the reader.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/file"
+ title: TerminalConfigurationConfigurationResourceDeviceTypeSpecificConfig
+ type: object
+ x-expandableFields:
+ - splashscreen
+ terminal_configuration_configuration_resource_tipping:
+ description: ""
+ properties:
+ aud:
+ $ref: "#/components/schemas/terminal_configuration_configuration_resource_currency_specific_config"
+ cad:
+ $ref: "#/components/schemas/terminal_configuration_configuration_resource_currency_specific_config"
+ chf:
+ $ref: "#/components/schemas/terminal_configuration_configuration_resource_currency_specific_config"
+ czk:
+ $ref: "#/components/schemas/terminal_configuration_configuration_resource_currency_specific_config"
+ dkk:
+ $ref: "#/components/schemas/terminal_configuration_configuration_resource_currency_specific_config"
+ eur:
+ $ref: "#/components/schemas/terminal_configuration_configuration_resource_currency_specific_config"
+ gbp:
+ $ref: "#/components/schemas/terminal_configuration_configuration_resource_currency_specific_config"
+ hkd:
+ $ref: "#/components/schemas/terminal_configuration_configuration_resource_currency_specific_config"
+ myr:
+ $ref: "#/components/schemas/terminal_configuration_configuration_resource_currency_specific_config"
+ nok:
+ $ref: "#/components/schemas/terminal_configuration_configuration_resource_currency_specific_config"
+ nzd:
+ $ref: "#/components/schemas/terminal_configuration_configuration_resource_currency_specific_config"
+ sek:
+ $ref: "#/components/schemas/terminal_configuration_configuration_resource_currency_specific_config"
+ sgd:
+ $ref: "#/components/schemas/terminal_configuration_configuration_resource_currency_specific_config"
+ usd:
+ $ref: "#/components/schemas/terminal_configuration_configuration_resource_currency_specific_config"
+ title: TerminalConfigurationConfigurationResourceTipping
+ type: object
+ x-expandableFields:
+ - aud
+ - cad
+ - chf
+ - czk
+ - dkk
+ - eur
+ - gbp
+ - hkd
+ - myr
+ - nok
+ - nzd
+ - sek
+ - sgd
+ - usd
+ terminal_reader_reader_resource_cart:
+ description: Represents a cart to be displayed on the reader
+ properties:
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ line_items:
+ description: List of line items in the cart.
+ items:
+ $ref: "#/components/schemas/terminal_reader_reader_resource_line_item"
+ type: array
+ tax:
+ description: Tax amount for the entire cart. A positive integer in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).
+ nullable: true
+ type: integer
+ total:
+ description: Total amount for the entire cart, including tax. A positive integer in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).
+ type: integer
+ required:
+ - currency
+ - line_items
+ - total
+ title: TerminalReaderReaderResourceCart
+ type: object
+ x-expandableFields:
+ - line_items
+ terminal_reader_reader_resource_line_item:
+ description: Represents a line item to be displayed on the reader
+ properties:
+ amount:
+ description: The amount of the line item. A positive integer in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).
+ type: integer
+ description:
+ description: Description of the line item.
+ maxLength: 5000
+ type: string
+ quantity:
+ description: The quantity of the line item.
+ type: integer
+ required:
+ - amount
+ - description
+ - quantity
+ title: TerminalReaderReaderResourceLineItem
+ type: object
+ x-expandableFields: []
+ terminal_reader_reader_resource_process_config:
+ description: Represents a per-transaction override of a reader configuration
+ properties:
+ skip_tipping:
+ description: Override showing a tipping selection screen on this transaction.
+ type: boolean
+ tipping:
+ $ref: "#/components/schemas/terminal_reader_reader_resource_tipping_config"
+ title: TerminalReaderReaderResourceProcessConfig
+ type: object
+ x-expandableFields:
+ - tipping
+ terminal_reader_reader_resource_process_payment_intent_action:
+ description: Represents a reader action to process a payment intent
+ properties:
+ payment_intent:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/payment_intent"
+ description: Most recent PaymentIntent processed by the reader.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/payment_intent"
+ process_config:
+ $ref: "#/components/schemas/terminal_reader_reader_resource_process_config"
+ required:
+ - payment_intent
+ title: TerminalReaderReaderResourceProcessPaymentIntentAction
+ type: object
+ x-expandableFields:
+ - payment_intent
+ - process_config
+ terminal_reader_reader_resource_process_setup_intent_action:
+ description: Represents a reader action to process a setup intent
+ properties:
+ generated_card:
+ description: ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod.
+ maxLength: 5000
+ type: string
+ setup_intent:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/setup_intent"
+ description: Most recent SetupIntent processed by the reader.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/setup_intent"
+ required:
+ - setup_intent
+ title: TerminalReaderReaderResourceProcessSetupIntentAction
+ type: object
+ x-expandableFields:
+ - setup_intent
+ terminal_reader_reader_resource_reader_action:
+ description: Represents an action performed by the reader
+ properties:
+ failure_code:
+ description: Failure code, only set if status is `failed`.
+ maxLength: 5000
+ nullable: true
+ type: string
+ failure_message:
+ description: Detailed failure message, only set if status is `failed`.
+ maxLength: 5000
+ nullable: true
+ type: string
+ process_payment_intent:
+ $ref: "#/components/schemas/terminal_reader_reader_resource_process_payment_intent_action"
+ process_setup_intent:
+ $ref: "#/components/schemas/terminal_reader_reader_resource_process_setup_intent_action"
+ refund_payment:
+ $ref: "#/components/schemas/terminal_reader_reader_resource_refund_payment_action"
+ set_reader_display:
+ $ref: "#/components/schemas/terminal_reader_reader_resource_set_reader_display_action"
+ status:
+ description: Status of the action performed by the reader.
+ enum:
+ - failed
+ - in_progress
+ - succeeded
+ type: string
+ type:
+ description: Type of action performed by the reader.
+ enum:
+ - process_payment_intent
+ - process_setup_intent
+ - refund_payment
+ - set_reader_display
+ type: string
+ x-stripeBypassValidation: true
+ required:
+ - status
+ - type
+ title: TerminalReaderReaderResourceReaderAction
+ type: object
+ x-expandableFields:
+ - process_payment_intent
+ - process_setup_intent
+ - refund_payment
+ - set_reader_display
+ terminal_reader_reader_resource_refund_payment_action:
+ description: Represents a reader action to refund a payment
+ properties:
+ amount:
+ description: The amount being refunded.
+ type: integer
+ charge:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/charge"
+ description: Charge that is being refunded.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/charge"
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ payment_intent:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/payment_intent"
+ description: Payment intent that is being refunded.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/payment_intent"
+ reason:
+ description: The reason for the refund.
+ enum:
+ - duplicate
+ - fraudulent
+ - requested_by_customer
+ type: string
+ refund:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/refund"
+ description: Unique identifier for the refund object.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/refund"
+ refund_application_fee:
+ description: Boolean indicating whether the application fee should be refunded when refunding this charge. If a full charge refund is given, the full application fee will be refunded. Otherwise, the application fee will be refunded in an amount proportional to the amount of the charge refunded. An application fee can be refunded only by the application that created the charge.
+ type: boolean
+ reverse_transfer:
+ description: Boolean indicating whether the transfer should be reversed when refunding this charge. The transfer will be reversed proportionally to the amount being refunded (either the entire or partial amount). A transfer can be reversed only by the application that created the charge.
+ type: boolean
+ title: TerminalReaderReaderResourceRefundPaymentAction
+ type: object
+ x-expandableFields:
+ - charge
+ - payment_intent
+ - refund
+ terminal_reader_reader_resource_set_reader_display_action:
+ description: Represents a reader action to set the reader display
+ properties:
+ cart:
+ anyOf:
+ - $ref: "#/components/schemas/terminal_reader_reader_resource_cart"
+ description: Cart object to be displayed by the reader.
+ nullable: true
+ type:
+ description: Type of information to be displayed by the reader.
+ enum:
+ - cart
+ type: string
+ required:
+ - type
+ title: TerminalReaderReaderResourceSetReaderDisplayAction
+ type: object
+ x-expandableFields:
+ - cart
+ terminal_reader_reader_resource_tipping_config:
+ description: Represents a per-transaction tipping configuration
+ properties:
+ amount_eligible:
+ description: Amount used to calculate tip suggestions on tipping selection screen for this transaction. Must be a positive integer in the smallest currency unit (e.g., 100 cents to represent $1.00 or 100 to represent ¥100, a zero-decimal currency).
+ type: integer
+ title: TerminalReaderReaderResourceTippingConfig
+ type: object
+ x-expandableFields: []
+ test_helpers.test_clock:
+ description: |-
+ A test clock enables deterministic control over objects in testmode. With a test clock, you can create
+ objects at a frozen time in the past or future, and advance to a specific future time to observe webhooks and state changes. After the clock advances,
+ you can either validate the current state of your scenario (and test your assumptions), change the current state of your scenario (and test more complex scenarios), or keep advancing forward in time.
+ properties:
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ deletes_after:
+ description: Time at which this clock is scheduled to auto delete.
+ format: unix-time
+ type: integer
+ frozen_time:
+ description: Time at which all objects belonging to this clock are frozen.
+ format: unix-time
+ type: integer
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ name:
+ description: The custom name supplied at creation.
+ maxLength: 5000
+ nullable: true
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - test_helpers.test_clock
+ type: string
+ status:
+ description: The status of the Test Clock.
+ enum:
+ - advancing
+ - internal_failure
+ - ready
+ type: string
+ required:
+ - created
+ - deletes_after
+ - frozen_time
+ - id
+ - livemode
+ - object
+ - status
+ title: TestClock
+ type: object
+ x-expandableFields: []
+ x-resourceId: test_helpers.test_clock
+ three_d_secure_details:
+ description: ""
+ properties:
+ authentication_flow:
+ description: |-
+ For authenticated transactions: how the customer was authenticated by
+ the issuing bank.
+ enum:
+ - challenge
+ - frictionless
+ nullable: true
+ type: string
+ result:
+ description: Indicates the outcome of 3D Secure authentication.
+ enum:
+ - attempt_acknowledged
+ - authenticated
+ - exempted
+ - failed
+ - not_supported
+ - processing_error
+ nullable: true
+ type: string
+ result_reason:
+ description: |-
+ Additional information about why 3D Secure succeeded or failed based
+ on the `result`.
+ enum:
+ - abandoned
+ - bypassed
+ - canceled
+ - card_not_enrolled
+ - network_not_supported
+ - protocol_error
+ - rejected
+ nullable: true
+ type: string
+ version:
+ description: The version of 3D Secure that was used.
+ enum:
+ - 1.0.2
+ - 2.1.0
+ - 2.2.0
+ nullable: true
+ type: string
+ x-stripeBypassValidation: true
+ title: three_d_secure_details
+ type: object
+ x-expandableFields: []
+ three_d_secure_usage:
+ description: ""
+ properties:
+ supported:
+ description: Whether 3D Secure is supported on this card.
+ type: boolean
+ required:
+ - supported
+ title: three_d_secure_usage
+ type: object
+ x-expandableFields: []
+ token:
+ description: |-
+ Tokenization is the process Stripe uses to collect sensitive card or bank
+ account details, or personally identifiable information (PII), directly from
+ your customers in a secure manner. A token representing this information is
+ returned to your server to use. You should use our
+ [recommended payments integrations](https://stripe.com/docs/payments) to perform this process
+ client-side. This ensures that no sensitive card data touches your server,
+ and allows your integration to operate in a PCI-compliant way.
+
+ If you cannot use client-side tokenization, you can also create tokens using
+ the API with either your publishable or secret API key. Keep in mind that if
+ your integration uses this method, you are responsible for any PCI compliance
+ that may be required, and you must keep your secret API key safe. Unlike with
+ client-side tokenization, your customer's information is not sent directly to
+ Stripe, so we cannot determine how it is handled or stored.
+
+ Tokens cannot be stored or used more than once. To store card or bank account
+ information for later use, you can create [Customer](https://stripe.com/docs/api#customers)
+ objects or [Custom accounts](https://stripe.com/docs/api#external_accounts). Note that
+ [Radar](https://stripe.com/docs/radar), our integrated solution for automatic fraud protection,
+ performs best with integrations that use client-side tokenization.
+
+ Related guide: [Accept a payment](https://stripe.com/docs/payments/accept-a-payment-charges#web-create-token)
+ properties:
+ bank_account:
+ $ref: "#/components/schemas/bank_account"
+ card:
+ $ref: "#/components/schemas/card"
+ client_ip:
+ description: IP address of the client that generated the token.
+ maxLength: 5000
+ nullable: true
+ type: string
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - token
+ type: string
+ type:
+ description: "Type of the token: `account`, `bank_account`, `card`, or `pii`."
+ maxLength: 5000
+ type: string
+ used:
+ description: Whether this token has already been used (tokens can be used only once).
+ type: boolean
+ required:
+ - created
+ - id
+ - livemode
+ - object
+ - type
+ - used
+ title: Token
+ type: object
+ x-expandableFields:
+ - bank_account
+ - card
+ x-resourceId: token
+ topup:
+ description: |-
+ To top up your Stripe balance, you create a top-up object. You can retrieve
+ individual top-ups, as well as list all top-ups. Top-ups are identified by a
+ unique, random ID.
+
+ Related guide: [Topping Up your Platform Account](https://stripe.com/docs/connect/top-ups).
+ properties:
+ amount:
+ description: Amount transferred.
+ type: integer
+ balance_transaction:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/balance_transaction"
+ description: ID of the balance transaction that describes the impact of this top-up on your account balance. May not be specified depending on status of top-up.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/balance_transaction"
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ maxLength: 5000
+ type: string
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 5000
+ nullable: true
+ type: string
+ expected_availability_date:
+ description: Date the funds are expected to arrive in your Stripe account for payouts. This factors in delays like weekends or bank holidays. May not be specified depending on status of top-up.
+ nullable: true
+ type: integer
+ failure_code:
+ description: Error code explaining reason for top-up failure if available (see [the errors section](https://stripe.com/docs/api#errors) for a list of codes).
+ maxLength: 5000
+ nullable: true
+ type: string
+ failure_message:
+ description: Message to user further explaining reason for top-up failure if available.
+ maxLength: 5000
+ nullable: true
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - topup
+ type: string
+ source:
+ anyOf:
+ - $ref: "#/components/schemas/source"
+ description: For most Stripe users, the source of every top-up is a bank account. This hash is then the [source object](https://stripe.com/docs/api#source_object) describing that bank account.
+ nullable: true
+ statement_descriptor:
+ description: Extra information about a top-up. This will appear on your source's bank statement. It must contain at least one letter.
+ maxLength: 5000
+ nullable: true
+ type: string
+ status:
+ description: The status of the top-up is either `canceled`, `failed`, `pending`, `reversed`, or `succeeded`.
+ enum:
+ - canceled
+ - failed
+ - pending
+ - reversed
+ - succeeded
+ type: string
+ transfer_group:
+ description: A string that identifies this top-up as part of a group.
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - amount
+ - created
+ - currency
+ - id
+ - livemode
+ - metadata
+ - object
+ - status
+ title: Topup
+ type: object
+ x-expandableFields:
+ - balance_transaction
+ - source
+ x-resourceId: topup
+ transfer:
+ description: |-
+ A `Transfer` object is created when you move funds between Stripe accounts as
+ part of Connect.
+
+ Before April 6, 2017, transfers also represented movement of funds from a
+ Stripe account to a card or bank account. This behavior has since been split
+ out into a [Payout](https://stripe.com/docs/api#payout_object) object, with corresponding payout endpoints. For more
+ information, read about the
+ [transfer/payout split](https://stripe.com/docs/transfer-payout-split).
+
+ Related guide: [Creating Separate Charges and Transfers](https://stripe.com/docs/connect/charges-transfers).
+ properties:
+ amount:
+ description: Amount in %s to be transferred.
+ type: integer
+ amount_reversed:
+ description: Amount in %s reversed (can be less than the amount attribute on the transfer if a partial reversal was issued).
+ type: integer
+ balance_transaction:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/balance_transaction"
+ description: Balance transaction that describes the impact of this transfer on your account balance.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/balance_transaction"
+ created:
+ description: Time that this record of the transfer was first created.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 5000
+ nullable: true
+ type: string
+ destination:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/account"
+ description: ID of the Stripe account the transfer was sent to.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/account"
+ destination_payment:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/charge"
+ description: If the destination is a Stripe account, this will be the ID of the payment that the destination account received for the transfer.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/charge"
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - transfer
+ type: string
+ reversals:
+ description: A list of reversals that have been applied to the transfer.
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/transfer_reversal"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: TransferReversalList
+ type: object
+ x-expandableFields:
+ - data
+ reversed:
+ description: Whether the transfer has been fully reversed. If the transfer is only partially reversed, this attribute will still be false.
+ type: boolean
+ source_transaction:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/charge"
+ description: ID of the charge or payment that was used to fund the transfer. If null, the transfer was funded from the available balance.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/charge"
+ source_type:
+ description: The source balance this transfer came from. One of `card`, `fpx`, or `bank_account`.
+ maxLength: 5000
+ type: string
+ transfer_group:
+ description: A string that identifies this transaction as part of a group. See the [Connect documentation](https://stripe.com/docs/connect/charges-transfers#transfer-options) for details.
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - amount
+ - amount_reversed
+ - created
+ - currency
+ - id
+ - livemode
+ - metadata
+ - object
+ - reversals
+ - reversed
+ title: Transfer
+ type: object
+ x-expandableFields:
+ - balance_transaction
+ - destination
+ - destination_payment
+ - reversals
+ - source_transaction
+ x-resourceId: transfer
+ transfer_data:
+ description: ""
+ properties:
+ amount:
+ description: Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).
+ type: integer
+ destination:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/account"
+ description: |-
+ The account (if any) the payment will be attributed to for tax
+ reporting, and where funds from the payment will be transferred to upon
+ payment success.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/account"
+ required:
+ - destination
+ title: transfer_data
+ type: object
+ x-expandableFields:
+ - destination
+ transfer_reversal:
+ description: |-
+ [Stripe Connect](https://stripe.com/docs/connect) platforms can reverse transfers made to a
+ connected account, either entirely or partially, and can also specify whether
+ to refund any related application fees. Transfer reversals add to the
+ platform's balance and subtract from the destination account's balance.
+
+ Reversing a transfer that was made for a [destination
+ charge](/docs/connect/destination-charges) is allowed only up to the amount of
+ the charge. It is possible to reverse a
+ [transfer_group](https://stripe.com/docs/connect/charges-transfers#transfer-options)
+ transfer only if the destination account has enough balance to cover the
+ reversal.
+
+ Related guide: [Reversing Transfers](https://stripe.com/docs/connect/charges-transfers#reversing-transfers).
+ properties:
+ amount:
+ description: Amount, in %s.
+ type: integer
+ balance_transaction:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/balance_transaction"
+ description: Balance transaction that describes the impact on your account balance.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/balance_transaction"
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ destination_payment_refund:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/refund"
+ description: Linked payment refund for the transfer reversal.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/refund"
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ nullable: true
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - transfer_reversal
+ type: string
+ source_refund:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/refund"
+ description: ID of the refund responsible for the transfer reversal.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/refund"
+ transfer:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/transfer"
+ description: ID of the transfer that was reversed.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/transfer"
+ required:
+ - amount
+ - created
+ - currency
+ - id
+ - object
+ - transfer
+ title: TransferReversal
+ type: object
+ x-expandableFields:
+ - balance_transaction
+ - destination_payment_refund
+ - source_refund
+ - transfer
+ x-resourceId: transfer_reversal
+ transfer_schedule:
+ description: ""
+ properties:
+ delay_days:
+ description: The number of days charges for the account will be held before being paid out.
+ type: integer
+ interval:
+ description: How frequently funds will be paid out. One of `manual` (payouts only created via API call), `daily`, `weekly`, or `monthly`.
+ maxLength: 5000
+ type: string
+ monthly_anchor:
+ description: The day of the month funds will be paid out. Only shown if `interval` is monthly. Payouts scheduled between the 29th and 31st of the month are sent on the last day of shorter months.
+ type: integer
+ weekly_anchor:
+ description: The day of the week funds will be paid out, of the style 'monday', 'tuesday', etc. Only shown if `interval` is weekly.
+ maxLength: 5000
+ type: string
+ required:
+ - delay_days
+ - interval
+ title: TransferSchedule
+ type: object
+ x-expandableFields: []
+ transform_quantity:
+ description: ""
+ properties:
+ divide_by:
+ description: Divide usage by this number.
+ type: integer
+ round:
+ description: After division, either round the result `up` or `down`.
+ enum:
+ - down
+ - up
+ type: string
+ required:
+ - divide_by
+ - round
+ title: TransformQuantity
+ type: object
+ x-expandableFields: []
+ transform_usage:
+ description: ""
+ properties:
+ divide_by:
+ description: Divide usage by this number.
+ type: integer
+ round:
+ description: After division, either round the result `up` or `down`.
+ enum:
+ - down
+ - up
+ type: string
+ required:
+ - divide_by
+ - round
+ title: TransformUsage
+ type: object
+ x-expandableFields: []
+ treasury.credit_reversal:
+ description: You can reverse some [ReceivedCredits](https://stripe.com/docs/api#received_credits) depending on their network and source flow. Reversing a ReceivedCredit leads to the creation of a new object known as a CreditReversal.
+ properties:
+ amount:
+ description: Amount (in cents) transferred.
+ type: integer
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ financial_account:
+ description: The FinancialAccount to reverse funds from.
+ maxLength: 5000
+ type: string
+ hosted_regulatory_receipt_url:
+ description: A [hosted transaction receipt](https://stripe.com/docs/treasury/moving-money/regulatory-receipts) URL that is provided when money movement is considered regulated under Stripe's money transmission licenses.
+ maxLength: 5000
+ nullable: true
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ network:
+ description: The rails used to reverse the funds.
+ enum:
+ - ach
+ - stripe
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - treasury.credit_reversal
+ type: string
+ received_credit:
+ description: The ReceivedCredit being reversed.
+ maxLength: 5000
+ type: string
+ status:
+ description: Status of the CreditReversal
+ enum:
+ - canceled
+ - posted
+ - processing
+ type: string
+ status_transitions:
+ $ref: "#/components/schemas/treasury_received_credits_resource_status_transitions"
+ transaction:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/treasury.transaction"
+ description: The Transaction associated with this object.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/treasury.transaction"
+ required:
+ - amount
+ - created
+ - currency
+ - financial_account
+ - id
+ - livemode
+ - metadata
+ - network
+ - object
+ - received_credit
+ - status
+ - status_transitions
+ title: TreasuryReceivedCreditsResourceCreditReversal
+ type: object
+ x-expandableFields:
+ - status_transitions
+ - transaction
+ x-resourceId: treasury.credit_reversal
+ treasury.debit_reversal:
+ description: You can reverse some [ReceivedDebits](https://stripe.com/docs/api#received_debits) depending on their network and source flow. Reversing a ReceivedDebit leads to the creation of a new object known as a DebitReversal.
+ properties:
+ amount:
+ description: Amount (in cents) transferred.
+ type: integer
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ financial_account:
+ description: The FinancialAccount to reverse funds from.
+ maxLength: 5000
+ nullable: true
+ type: string
+ hosted_regulatory_receipt_url:
+ description: A [hosted transaction receipt](https://stripe.com/docs/treasury/moving-money/regulatory-receipts) URL that is provided when money movement is considered regulated under Stripe's money transmission licenses.
+ maxLength: 5000
+ nullable: true
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ linked_flows:
+ anyOf:
+ - $ref: "#/components/schemas/treasury_received_debits_resource_debit_reversal_linked_flows"
+ description: Other flows linked to a DebitReversal.
+ nullable: true
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ network:
+ description: The rails used to reverse the funds.
+ enum:
+ - ach
+ - card
+ type: string
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - treasury.debit_reversal
+ type: string
+ received_debit:
+ description: The ReceivedDebit being reversed.
+ maxLength: 5000
+ type: string
+ status:
+ description: Status of the DebitReversal
+ enum:
+ - failed
+ - processing
+ - succeeded
+ type: string
+ status_transitions:
+ $ref: "#/components/schemas/treasury_received_debits_resource_status_transitions"
+ transaction:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/treasury.transaction"
+ description: The Transaction associated with this object.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/treasury.transaction"
+ required:
+ - amount
+ - created
+ - currency
+ - id
+ - livemode
+ - metadata
+ - network
+ - object
+ - received_debit
+ - status
+ - status_transitions
+ title: TreasuryReceivedDebitsResourceDebitReversal
+ type: object
+ x-expandableFields:
+ - linked_flows
+ - status_transitions
+ - transaction
+ x-resourceId: treasury.debit_reversal
+ treasury.financial_account:
+ description: |-
+ Stripe Treasury provides users with a container for money called a FinancialAccount that is separate from their Payments balance.
+ FinancialAccounts serve as the source and destination of Treasury’s money movement APIs.
+ properties:
+ active_features:
+ description: The array of paths to active Features in the Features hash.
+ items:
+ enum:
+ - card_issuing
+ - deposit_insurance
+ - financial_addresses.aba
+ - inbound_transfers.ach
+ - intra_stripe_flows
+ - outbound_payments.ach
+ - outbound_payments.us_domestic_wire
+ - outbound_transfers.ach
+ - outbound_transfers.us_domestic_wire
+ - remote_deposit_capture
+ type: string
+ x-stripeBypassValidation: true
+ type: array
+ balance:
+ $ref: "#/components/schemas/treasury_financial_accounts_resource_balance"
+ country:
+ description: Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
+ maxLength: 5000
+ type: string
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ features:
+ $ref: "#/components/schemas/treasury.financial_account_features"
+ financial_addresses:
+ description: The set of credentials that resolve to a FinancialAccount.
+ items:
+ $ref: "#/components/schemas/treasury_financial_accounts_resource_financial_address"
+ type: array
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ nullable: true
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - treasury.financial_account
+ type: string
+ pending_features:
+ description: The array of paths to pending Features in the Features hash.
+ items:
+ enum:
+ - card_issuing
+ - deposit_insurance
+ - financial_addresses.aba
+ - inbound_transfers.ach
+ - intra_stripe_flows
+ - outbound_payments.ach
+ - outbound_payments.us_domestic_wire
+ - outbound_transfers.ach
+ - outbound_transfers.us_domestic_wire
+ - remote_deposit_capture
+ type: string
+ x-stripeBypassValidation: true
+ type: array
+ platform_restrictions:
+ anyOf:
+ - $ref: "#/components/schemas/treasury_financial_accounts_resource_platform_restrictions"
+ description: The set of functionalities that the platform can restrict on the FinancialAccount.
+ nullable: true
+ restricted_features:
+ description: The array of paths to restricted Features in the Features hash.
+ items:
+ enum:
+ - card_issuing
+ - deposit_insurance
+ - financial_addresses.aba
+ - inbound_transfers.ach
+ - intra_stripe_flows
+ - outbound_payments.ach
+ - outbound_payments.us_domestic_wire
+ - outbound_transfers.ach
+ - outbound_transfers.us_domestic_wire
+ - remote_deposit_capture
+ type: string
+ x-stripeBypassValidation: true
+ type: array
+ status:
+ description: The enum specifying what state the account is in.
+ enum:
+ - closed
+ - open
+ type: string
+ x-stripeBypassValidation: true
+ status_details:
+ $ref: "#/components/schemas/treasury_financial_accounts_resource_status_details"
+ supported_currencies:
+ description: The currencies the FinancialAccount can hold a balance in. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase.
+ items:
+ type: string
+ type: array
+ required:
+ - balance
+ - country
+ - created
+ - financial_addresses
+ - id
+ - livemode
+ - object
+ - status
+ - status_details
+ - supported_currencies
+ title: TreasuryFinancialAccountsResourceFinancialAccount
+ type: object
+ x-expandableFields:
+ - balance
+ - features
+ - financial_addresses
+ - platform_restrictions
+ - status_details
+ x-resourceId: treasury.financial_account
+ treasury.financial_account_features:
+ description: |-
+ Encodes whether a FinancialAccount has access to a particular Feature, with a `status` enum and associated `status_details`.
+ Stripe or the platform can control Features via the requested field.
+ properties:
+ card_issuing:
+ $ref: "#/components/schemas/treasury_financial_accounts_resource_toggle_settings"
+ deposit_insurance:
+ $ref: "#/components/schemas/treasury_financial_accounts_resource_toggle_settings"
+ financial_addresses:
+ $ref: "#/components/schemas/treasury_financial_accounts_resource_financial_addresses_features"
+ inbound_transfers:
+ $ref: "#/components/schemas/treasury_financial_accounts_resource_inbound_transfers"
+ intra_stripe_flows:
+ $ref: "#/components/schemas/treasury_financial_accounts_resource_toggle_settings"
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - treasury.financial_account_features
+ type: string
+ outbound_payments:
+ $ref: "#/components/schemas/treasury_financial_accounts_resource_outbound_payments"
+ outbound_transfers:
+ $ref: "#/components/schemas/treasury_financial_accounts_resource_outbound_transfers"
+ required:
+ - object
+ title: TreasuryFinancialAccountsResourceFinancialAccountFeatures
+ type: object
+ x-expandableFields:
+ - card_issuing
+ - deposit_insurance
+ - financial_addresses
+ - inbound_transfers
+ - intra_stripe_flows
+ - outbound_payments
+ - outbound_transfers
+ x-resourceId: treasury.financial_account_features
+ treasury.inbound_transfer:
+ description: Use [InboundTransfers](https://stripe.com/docs/treasury/moving-money/financial-accounts/into/inbound-transfers) to add funds to your [FinancialAccount](https://stripe.com/docs/api#financial_accounts) via a PaymentMethod that is owned by you. The funds will be transferred via an ACH debit.
+ properties:
+ amount:
+ description: Amount (in cents) transferred.
+ type: integer
+ cancelable:
+ description: Returns `true` if the InboundTransfer is able to be canceled.
+ type: boolean
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 5000
+ nullable: true
+ type: string
+ failure_details:
+ anyOf:
+ - $ref: "#/components/schemas/treasury_inbound_transfers_resource_failure_details"
+ description: Details about this InboundTransfer's failure. Only set when status is `failed`.
+ nullable: true
+ financial_account:
+ description: The FinancialAccount that received the funds.
+ maxLength: 5000
+ type: string
+ hosted_regulatory_receipt_url:
+ description: A [hosted transaction receipt](https://stripe.com/docs/treasury/moving-money/regulatory-receipts) URL that is provided when money movement is considered regulated under Stripe's money transmission licenses.
+ maxLength: 5000
+ nullable: true
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ linked_flows:
+ $ref: "#/components/schemas/treasury_inbound_transfers_resource_inbound_transfer_resource_linked_flows"
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - treasury.inbound_transfer
+ type: string
+ origin_payment_method:
+ description: The origin payment method to be debited for an InboundTransfer.
+ maxLength: 5000
+ type: string
+ origin_payment_method_details:
+ anyOf:
+ - $ref: "#/components/schemas/inbound_transfers"
+ description: Details about the PaymentMethod for an InboundTransfer.
+ nullable: true
+ returned:
+ description: Returns `true` if the funds for an InboundTransfer were returned after the InboundTransfer went to the `succeeded` state.
+ nullable: true
+ type: boolean
+ statement_descriptor:
+ description: Statement descriptor shown when funds are debited from the source. Not all payment networks support `statement_descriptor`.
+ maxLength: 5000
+ type: string
+ status:
+ description: 'Status of the InboundTransfer: `processing`, `succeeded`, `failed`, and `canceled`. An InboundTransfer is `processing` if it is created and pending. The status changes to `succeeded` once the funds have been "confirmed" and a `transaction` is created and posted. The status changes to `failed` if the transfer fails.'
+ enum:
+ - canceled
+ - failed
+ - processing
+ - succeeded
+ type: string
+ status_transitions:
+ $ref: "#/components/schemas/treasury_inbound_transfers_resource_inbound_transfer_resource_status_transitions"
+ transaction:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/treasury.transaction"
+ description: The Transaction associated with this object.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/treasury.transaction"
+ required:
+ - amount
+ - cancelable
+ - created
+ - currency
+ - financial_account
+ - id
+ - linked_flows
+ - livemode
+ - metadata
+ - object
+ - origin_payment_method
+ - statement_descriptor
+ - status
+ - status_transitions
+ title: TreasuryInboundTransfersResourceInboundTransfer
+ type: object
+ x-expandableFields:
+ - failure_details
+ - linked_flows
+ - origin_payment_method_details
+ - status_transitions
+ - transaction
+ x-resourceId: treasury.inbound_transfer
+ treasury.outbound_payment:
+ description: |-
+ Use OutboundPayments to send funds to another party's external bank account or [FinancialAccount](https://stripe.com/docs/api#financial_accounts). To send money to an account belonging to the same user, use an [OutboundTransfer](https://stripe.com/docs/api#outbound_transfers).
+
+ Simulate OutboundPayment state changes with the `/v1/test_helpers/treasury/outbound_payments` endpoints. These methods can only be called on test mode objects.
+ properties:
+ amount:
+ description: Amount (in cents) transferred.
+ type: integer
+ cancelable:
+ description: Returns `true` if the object can be canceled, and `false` otherwise.
+ type: boolean
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ customer:
+ description: ID of the [customer](https://stripe.com/docs/api/customers) to whom an OutboundPayment is sent.
+ maxLength: 5000
+ nullable: true
+ type: string
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 5000
+ nullable: true
+ type: string
+ destination_payment_method:
+ description: The PaymentMethod via which an OutboundPayment is sent. This field can be empty if the OutboundPayment was created using `destination_payment_method_data`.
+ maxLength: 5000
+ nullable: true
+ type: string
+ destination_payment_method_details:
+ anyOf:
+ - $ref: "#/components/schemas/outbound_payments_payment_method_details"
+ description: Details about the PaymentMethod for an OutboundPayment.
+ nullable: true
+ end_user_details:
+ anyOf:
+ - $ref: "#/components/schemas/treasury_outbound_payments_resource_outbound_payment_resource_end_user_details"
+ description: Details about the end user.
+ nullable: true
+ expected_arrival_date:
+ description: The date when funds are expected to arrive in the destination account.
+ format: unix-time
+ type: integer
+ financial_account:
+ description: The FinancialAccount that funds were pulled from.
+ maxLength: 5000
+ type: string
+ hosted_regulatory_receipt_url:
+ description: A [hosted transaction receipt](https://stripe.com/docs/treasury/moving-money/regulatory-receipts) URL that is provided when money movement is considered regulated under Stripe's money transmission licenses.
+ maxLength: 5000
+ nullable: true
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - treasury.outbound_payment
+ type: string
+ returned_details:
+ anyOf:
+ - $ref: "#/components/schemas/treasury_outbound_payments_resource_returned_status"
+ description: Details about a returned OutboundPayment. Only set when the status is `returned`.
+ nullable: true
+ statement_descriptor:
+ description: The description that appears on the receiving end for an OutboundPayment (for example, bank statement for external bank transfer).
+ maxLength: 5000
+ type: string
+ status:
+ description: 'Current status of the OutboundPayment: `processing`, `failed`, `posted`, `returned`, `canceled`. An OutboundPayment is `processing` if it has been created and is pending. The status changes to `posted` once the OutboundPayment has been "confirmed" and funds have left the account, or to `failed` or `canceled`. If an OutboundPayment fails to arrive at its destination, its status will change to `returned`.'
+ enum:
+ - canceled
+ - failed
+ - posted
+ - processing
+ - returned
+ type: string
+ status_transitions:
+ $ref: "#/components/schemas/treasury_outbound_payments_resource_outbound_payment_resource_status_transitions"
+ transaction:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/treasury.transaction"
+ description: The Transaction associated with this object.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/treasury.transaction"
+ required:
+ - amount
+ - cancelable
+ - created
+ - currency
+ - expected_arrival_date
+ - financial_account
+ - id
+ - livemode
+ - metadata
+ - object
+ - statement_descriptor
+ - status
+ - status_transitions
+ - transaction
+ title: TreasuryOutboundPaymentsResourceOutboundPayment
+ type: object
+ x-expandableFields:
+ - destination_payment_method_details
+ - end_user_details
+ - returned_details
+ - status_transitions
+ - transaction
+ x-resourceId: treasury.outbound_payment
+ treasury.outbound_transfer:
+ description: |-
+ Use OutboundTransfers to transfer funds from a [FinancialAccount](https://stripe.com/docs/api#financial_accounts) to a PaymentMethod belonging to the same entity. To send funds to a different party, use [OutboundPayments](https://stripe.com/docs/api#outbound_payments) instead. You can send funds over ACH rails or through a domestic wire transfer to a user's own external bank account.
+
+ Simulate OutboundTransfer state changes with the `/v1/test_helpers/treasury/outbound_transfers` endpoints. These methods can only be called on test mode objects.
+ properties:
+ amount:
+ description: Amount (in cents) transferred.
+ type: integer
+ cancelable:
+ description: Returns `true` if the object can be canceled, and `false` otherwise.
+ type: boolean
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 5000
+ nullable: true
+ type: string
+ destination_payment_method:
+ description: The PaymentMethod used as the payment instrument for an OutboundTransfer.
+ maxLength: 5000
+ nullable: true
+ type: string
+ destination_payment_method_details:
+ $ref: "#/components/schemas/outbound_transfers_payment_method_details"
+ expected_arrival_date:
+ description: The date when funds are expected to arrive in the destination account.
+ format: unix-time
+ type: integer
+ financial_account:
+ description: The FinancialAccount that funds were pulled from.
+ maxLength: 5000
+ type: string
+ hosted_regulatory_receipt_url:
+ description: A [hosted transaction receipt](https://stripe.com/docs/treasury/moving-money/regulatory-receipts) URL that is provided when money movement is considered regulated under Stripe's money transmission licenses.
+ maxLength: 5000
+ nullable: true
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - treasury.outbound_transfer
+ type: string
+ returned_details:
+ anyOf:
+ - $ref: "#/components/schemas/treasury_outbound_transfers_resource_returned_details"
+ description: Details about a returned OutboundTransfer. Only set when the status is `returned`.
+ nullable: true
+ statement_descriptor:
+ description: Information about the OutboundTransfer to be sent to the recipient account.
+ maxLength: 5000
+ type: string
+ status:
+ description: 'Current status of the OutboundTransfer: `processing`, `failed`, `canceled`, `posted`, `returned`. An OutboundTransfer is `processing` if it has been created and is pending. The status changes to `posted` once the OutboundTransfer has been "confirmed" and funds have left the account, or to `failed` or `canceled`. If an OutboundTransfer fails to arrive at its destination, its status will change to `returned`.'
+ enum:
+ - canceled
+ - failed
+ - posted
+ - processing
+ - returned
+ type: string
+ status_transitions:
+ $ref: "#/components/schemas/treasury_outbound_transfers_resource_status_transitions"
+ transaction:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/treasury.transaction"
+ description: The Transaction associated with this object.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/treasury.transaction"
+ required:
+ - amount
+ - cancelable
+ - created
+ - currency
+ - destination_payment_method_details
+ - expected_arrival_date
+ - financial_account
+ - id
+ - livemode
+ - metadata
+ - object
+ - statement_descriptor
+ - status
+ - status_transitions
+ - transaction
+ title: TreasuryOutboundTransfersResourceOutboundTransfer
+ type: object
+ x-expandableFields:
+ - destination_payment_method_details
+ - returned_details
+ - status_transitions
+ - transaction
+ x-resourceId: treasury.outbound_transfer
+ treasury.received_credit:
+ description: ReceivedCredits represent funds sent to a [FinancialAccount](https://stripe.com/docs/api#financial_accounts) (for example, via ACH or wire). These money movements are not initiated from the FinancialAccount.
+ properties:
+ amount:
+ description: Amount (in cents) transferred.
+ type: integer
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 5000
+ type: string
+ failure_code:
+ description: Reason for the failure. A ReceivedCredit might fail because the receiving FinancialAccount is closed or frozen.
+ enum:
+ - account_closed
+ - account_frozen
+ - other
+ nullable: true
+ type: string
+ x-stripeBypassValidation: true
+ financial_account:
+ description: The FinancialAccount that received the funds.
+ maxLength: 5000
+ nullable: true
+ type: string
+ hosted_regulatory_receipt_url:
+ description: A [hosted transaction receipt](https://stripe.com/docs/treasury/moving-money/regulatory-receipts) URL that is provided when money movement is considered regulated under Stripe's money transmission licenses.
+ maxLength: 5000
+ nullable: true
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ initiating_payment_method_details:
+ $ref: "#/components/schemas/treasury_shared_resource_initiating_payment_method_details_initiating_payment_method_details"
+ linked_flows:
+ $ref: "#/components/schemas/treasury_received_credits_resource_linked_flows"
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ network:
+ description: The rails used to send the funds.
+ enum:
+ - ach
+ - card
+ - stripe
+ - us_domestic_wire
+ type: string
+ x-stripeBypassValidation: true
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - treasury.received_credit
+ type: string
+ reversal_details:
+ anyOf:
+ - $ref: "#/components/schemas/treasury_received_credits_resource_reversal_details"
+ description: Details describing when a ReceivedCredit may be reversed.
+ nullable: true
+ status:
+ description: Status of the ReceivedCredit. ReceivedCredits are created either `succeeded` (approved) or `failed` (declined). If a ReceivedCredit is declined, the failure reason can be found in the `failure_code` field.
+ enum:
+ - failed
+ - succeeded
+ type: string
+ x-stripeBypassValidation: true
+ transaction:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/treasury.transaction"
+ description: The Transaction associated with this object.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/treasury.transaction"
+ required:
+ - amount
+ - created
+ - currency
+ - description
+ - id
+ - initiating_payment_method_details
+ - linked_flows
+ - livemode
+ - network
+ - object
+ - status
+ title: TreasuryReceivedCreditsResourceReceivedCredit
+ type: object
+ x-expandableFields:
+ - initiating_payment_method_details
+ - linked_flows
+ - reversal_details
+ - transaction
+ x-resourceId: treasury.received_credit
+ treasury.received_debit:
+ description: ReceivedDebits represent funds pulled from a [FinancialAccount](https://stripe.com/docs/api#financial_accounts). These are not initiated from the FinancialAccount.
+ properties:
+ amount:
+ description: Amount (in cents) transferred.
+ type: integer
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 5000
+ type: string
+ failure_code:
+ description: Reason for the failure. A ReceivedDebit might fail because the FinancialAccount doesn't have sufficient funds, is closed, or is frozen.
+ enum:
+ - account_closed
+ - account_frozen
+ - insufficient_funds
+ - other
+ nullable: true
+ type: string
+ financial_account:
+ description: The FinancialAccount that funds were pulled from.
+ maxLength: 5000
+ nullable: true
+ type: string
+ hosted_regulatory_receipt_url:
+ description: A [hosted transaction receipt](https://stripe.com/docs/treasury/moving-money/regulatory-receipts) URL that is provided when money movement is considered regulated under Stripe's money transmission licenses.
+ maxLength: 5000
+ nullable: true
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ initiating_payment_method_details:
+ $ref: "#/components/schemas/treasury_shared_resource_initiating_payment_method_details_initiating_payment_method_details"
+ linked_flows:
+ $ref: "#/components/schemas/treasury_received_debits_resource_linked_flows"
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ network:
+ description: The network used for the ReceivedDebit.
+ enum:
+ - ach
+ - card
+ - stripe
+ type: string
+ x-stripeBypassValidation: true
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - treasury.received_debit
+ type: string
+ reversal_details:
+ anyOf:
+ - $ref: "#/components/schemas/treasury_received_debits_resource_reversal_details"
+ description: Details describing when a ReceivedDebit might be reversed.
+ nullable: true
+ status:
+ description: Status of the ReceivedDebit. ReceivedDebits are created with a status of either `succeeded` (approved) or `failed` (declined). The failure reason can be found under the `failure_code`.
+ enum:
+ - failed
+ - succeeded
+ type: string
+ x-stripeBypassValidation: true
+ transaction:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/treasury.transaction"
+ description: The Transaction associated with this object.
+ nullable: true
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/treasury.transaction"
+ required:
+ - amount
+ - created
+ - currency
+ - description
+ - id
+ - linked_flows
+ - livemode
+ - network
+ - object
+ - status
+ title: TreasuryReceivedDebitsResourceReceivedDebit
+ type: object
+ x-expandableFields:
+ - initiating_payment_method_details
+ - linked_flows
+ - reversal_details
+ - transaction
+ x-resourceId: treasury.received_debit
+ treasury.transaction:
+ description: Transactions represent changes to a [FinancialAccount's](https://stripe.com/docs/api#financial_accounts) balance.
+ properties:
+ amount:
+ description: Amount (in cents) transferred.
+ type: integer
+ balance_impact:
+ $ref: "#/components/schemas/treasury_transactions_resource_balance_impact"
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ description:
+ description: An arbitrary string attached to the object. Often useful for displaying to users.
+ maxLength: 5000
+ type: string
+ entries:
+ description: A list of TransactionEntries that are part of this Transaction. This cannot be expanded in any list endpoints.
+ nullable: true
+ properties:
+ data:
+ description: Details about each object.
+ items:
+ $ref: "#/components/schemas/treasury.transaction_entry"
+ type: array
+ has_more:
+ description: True if this list has another page of items after this one that can be fetched.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
+ enum:
+ - list
+ type: string
+ url:
+ description: The URL where this list can be accessed.
+ maxLength: 5000
+ pattern: ^/v1/treasury/transaction_entries
+ type: string
+ required:
+ - data
+ - has_more
+ - object
+ - url
+ title: TreasuryTransactionsResourceTransactionEntryList
+ type: object
+ x-expandableFields:
+ - data
+ financial_account:
+ description: The FinancialAccount associated with this object.
+ maxLength: 5000
+ type: string
+ flow:
+ description: ID of the flow that created the Transaction.
+ maxLength: 5000
+ nullable: true
+ type: string
+ flow_details:
+ anyOf:
+ - $ref: "#/components/schemas/treasury_transactions_resource_flow_details"
+ description: Details of the flow that created the Transaction.
+ nullable: true
+ flow_type:
+ description: Type of the flow that created the Transaction.
+ enum:
+ - credit_reversal
+ - debit_reversal
+ - inbound_transfer
+ - issuing_authorization
+ - other
+ - outbound_payment
+ - outbound_transfer
+ - received_credit
+ - received_debit
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - treasury.transaction
+ type: string
+ status:
+ description: Status of the Transaction.
+ enum:
+ - open
+ - posted
+ - void
+ type: string
+ status_transitions:
+ $ref: "#/components/schemas/treasury_transactions_resource_abstract_transaction_resource_status_transitions"
+ required:
+ - amount
+ - balance_impact
+ - created
+ - currency
+ - description
+ - financial_account
+ - flow_type
+ - id
+ - livemode
+ - object
+ - status
+ - status_transitions
+ title: TreasuryTransactionsResourceTransaction
+ type: object
+ x-expandableFields:
+ - balance_impact
+ - entries
+ - flow_details
+ - status_transitions
+ x-resourceId: treasury.transaction
+ treasury.transaction_entry:
+ description: TransactionEntries represent individual units of money movements within a single [Transaction](https://stripe.com/docs/api#transactions).
+ properties:
+ balance_impact:
+ $ref: "#/components/schemas/treasury_transactions_resource_balance_impact"
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ currency:
+ description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
+ type: string
+ effective_at:
+ description: When the TransactionEntry will impact the FinancialAccount's balance.
+ format: unix-time
+ type: integer
+ financial_account:
+ description: The FinancialAccount associated with this object.
+ maxLength: 5000
+ type: string
+ flow:
+ description: Token of the flow associated with the TransactionEntry.
+ maxLength: 5000
+ nullable: true
+ type: string
+ flow_details:
+ anyOf:
+ - $ref: "#/components/schemas/treasury_transactions_resource_flow_details"
+ description: Details of the flow associated with the TransactionEntry.
+ nullable: true
+ flow_type:
+ description: Type of the flow associated with the TransactionEntry.
+ enum:
+ - credit_reversal
+ - debit_reversal
+ - inbound_transfer
+ - issuing_authorization
+ - other
+ - outbound_payment
+ - outbound_transfer
+ - received_credit
+ - received_debit
+ type: string
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - treasury.transaction_entry
+ type: string
+ transaction:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/treasury.transaction"
+ description: The Transaction associated with this object.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/treasury.transaction"
+ type:
+ description: The specific money movement that generated the TransactionEntry.
+ enum:
+ - credit_reversal
+ - credit_reversal_posting
+ - debit_reversal
+ - inbound_transfer
+ - inbound_transfer_return
+ - issuing_authorization_hold
+ - issuing_authorization_release
+ - other
+ - outbound_payment
+ - outbound_payment_cancellation
+ - outbound_payment_failure
+ - outbound_payment_posting
+ - outbound_payment_return
+ - outbound_transfer
+ - outbound_transfer_cancellation
+ - outbound_transfer_failure
+ - outbound_transfer_posting
+ - outbound_transfer_return
+ - received_credit
+ - received_debit
+ type: string
+ required:
+ - balance_impact
+ - created
+ - currency
+ - effective_at
+ - financial_account
+ - flow_type
+ - id
+ - livemode
+ - object
+ - transaction
+ - type
+ title: TreasuryTransactionsResourceTransactionEntry
+ type: object
+ x-expandableFields:
+ - balance_impact
+ - flow_details
+ - transaction
+ x-resourceId: treasury.transaction_entry
+ treasury_financial_accounts_resource_aba_record:
+ description: ABA Records contain U.S. bank account details per the ABA format.
+ properties:
+ account_holder_name:
+ description: The name of the person or business that owns the bank account.
+ maxLength: 5000
+ type: string
+ account_number:
+ description: The account number.
+ maxLength: 5000
+ nullable: true
+ type: string
+ account_number_last4:
+ description: The last four characters of the account number.
+ maxLength: 5000
+ type: string
+ bank_name:
+ description: Name of the bank.
+ maxLength: 5000
+ type: string
+ routing_number:
+ description: Routing number for the account.
+ maxLength: 5000
+ type: string
+ required:
+ - account_holder_name
+ - account_number_last4
+ - bank_name
+ - routing_number
+ title: TreasuryFinancialAccountsResourceABARecord
+ type: object
+ x-expandableFields: []
+ treasury_financial_accounts_resource_ach_toggle_settings:
+ description: Toggle settings for enabling/disabling an ACH specific feature
+ properties:
+ requested:
+ description: Whether the FinancialAccount should have the Feature.
+ type: boolean
+ status:
+ description: Whether the Feature is operational.
+ enum:
+ - active
+ - pending
+ - restricted
+ type: string
+ status_details:
+ description: Additional details; includes at least one entry when the status is not `active`.
+ items:
+ $ref: "#/components/schemas/treasury_financial_accounts_resource_toggles_setting_status_details"
+ type: array
+ required:
+ - requested
+ - status
+ - status_details
+ title: TreasuryFinancialAccountsResourceAchToggleSettings
+ type: object
+ x-expandableFields:
+ - status_details
+ treasury_financial_accounts_resource_balance:
+ description: Balance information for the FinancialAccount
+ properties:
+ cash:
+ additionalProperties:
+ type: integer
+ description: Funds the user can spend right now.
+ type: object
+ inbound_pending:
+ additionalProperties:
+ type: integer
+ description: Funds not spendable yet, but will become available at a later time.
+ type: object
+ outbound_pending:
+ additionalProperties:
+ type: integer
+ description: Funds in the account, but not spendable because they are being held for pending outbound flows.
+ type: object
+ required:
+ - cash
+ - inbound_pending
+ - outbound_pending
+ title: TreasuryFinancialAccountsResourceBalance
+ type: object
+ x-expandableFields: []
+ treasury_financial_accounts_resource_closed_status_details:
+ description: ""
+ properties:
+ reasons:
+ description: The array that contains reasons for a FinancialAccount closure.
+ items:
+ enum:
+ - account_rejected
+ - closed_by_platform
+ - other
+ type: string
+ type: array
+ required:
+ - reasons
+ title: TreasuryFinancialAccountsResourceClosedStatusDetails
+ type: object
+ x-expandableFields: []
+ treasury_financial_accounts_resource_financial_address:
+ description: FinancialAddresses contain identifying information that resolves to a FinancialAccount.
+ properties:
+ aba:
+ $ref: "#/components/schemas/treasury_financial_accounts_resource_aba_record"
+ supported_networks:
+ description: The list of networks that the address supports
+ items:
+ enum:
+ - ach
+ - us_domestic_wire
+ type: string
+ x-stripeBypassValidation: true
+ type: array
+ type:
+ description: The type of financial address
+ enum:
+ - aba
+ type: string
+ x-stripeBypassValidation: true
+ required:
+ - type
+ title: TreasuryFinancialAccountsResourceFinancialAddress
+ type: object
+ x-expandableFields:
+ - aba
+ treasury_financial_accounts_resource_financial_addresses_features:
+ description: Settings related to Financial Addresses features on a Financial Account
+ properties:
+ aba:
+ $ref: "#/components/schemas/treasury_financial_accounts_resource_toggle_settings"
+ title: TreasuryFinancialAccountsResourceFinancialAddressesFeatures
+ type: object
+ x-expandableFields:
+ - aba
+ treasury_financial_accounts_resource_inbound_transfers:
+ description: InboundTransfers contains inbound transfers features for a FinancialAccount.
+ properties:
+ ach:
+ $ref: "#/components/schemas/treasury_financial_accounts_resource_ach_toggle_settings"
+ title: TreasuryFinancialAccountsResourceInboundTransfers
+ type: object
+ x-expandableFields:
+ - ach
+ treasury_financial_accounts_resource_outbound_payments:
+ description: Settings related to Outbound Payments features on a Financial Account
+ properties:
+ ach:
+ $ref: "#/components/schemas/treasury_financial_accounts_resource_ach_toggle_settings"
+ us_domestic_wire:
+ $ref: "#/components/schemas/treasury_financial_accounts_resource_toggle_settings"
+ title: TreasuryFinancialAccountsResourceOutboundPayments
+ type: object
+ x-expandableFields:
+ - ach
+ - us_domestic_wire
+ treasury_financial_accounts_resource_outbound_transfers:
+ description: OutboundTransfers contains outbound transfers features for a FinancialAccount.
+ properties:
+ ach:
+ $ref: "#/components/schemas/treasury_financial_accounts_resource_ach_toggle_settings"
+ us_domestic_wire:
+ $ref: "#/components/schemas/treasury_financial_accounts_resource_toggle_settings"
+ title: TreasuryFinancialAccountsResourceOutboundTransfers
+ type: object
+ x-expandableFields:
+ - ach
+ - us_domestic_wire
+ treasury_financial_accounts_resource_platform_restrictions:
+ description: Restrictions that a Connect Platform has placed on this FinancialAccount.
+ properties:
+ inbound_flows:
+ description: Restricts all inbound money movement.
+ enum:
+ - restricted
+ - unrestricted
+ nullable: true
+ type: string
+ outbound_flows:
+ description: Restricts all outbound money movement.
+ enum:
+ - restricted
+ - unrestricted
+ nullable: true
+ type: string
+ title: TreasuryFinancialAccountsResourcePlatformRestrictions
+ type: object
+ x-expandableFields: []
+ treasury_financial_accounts_resource_status_details:
+ description: ""
+ properties:
+ closed:
+ anyOf:
+ - $ref: "#/components/schemas/treasury_financial_accounts_resource_closed_status_details"
+ description: Details related to the closure of this FinancialAccount
+ nullable: true
+ title: TreasuryFinancialAccountsResourceStatusDetails
+ type: object
+ x-expandableFields:
+ - closed
+ treasury_financial_accounts_resource_toggle_settings:
+ description: Toggle settings for enabling/disabling a feature
+ properties:
+ requested:
+ description: Whether the FinancialAccount should have the Feature.
+ type: boolean
+ status:
+ description: Whether the Feature is operational.
+ enum:
+ - active
+ - pending
+ - restricted
+ type: string
+ status_details:
+ description: Additional details; includes at least one entry when the status is not `active`.
+ items:
+ $ref: "#/components/schemas/treasury_financial_accounts_resource_toggles_setting_status_details"
+ type: array
+ required:
+ - requested
+ - status
+ - status_details
+ title: TreasuryFinancialAccountsResourceToggleSettings
+ type: object
+ x-expandableFields:
+ - status_details
+ treasury_financial_accounts_resource_toggles_setting_status_details:
+ description: Additional details on the FinancialAccount Features information.
+ properties:
+ code:
+ description: Represents the reason why the status is `pending` or `restricted`.
+ enum:
+ - activating
+ - capability_not_requested
+ - financial_account_closed
+ - rejected_other
+ - rejected_unsupported_business
+ - requirements_past_due
+ - requirements_pending_verification
+ - restricted_by_platform
+ - restricted_other
+ type: string
+ x-stripeBypassValidation: true
+ resolution:
+ description: Represents what the user should do, if anything, to activate the Feature.
+ enum:
+ - contact_stripe
+ - provide_information
+ - remove_restriction
+ nullable: true
+ type: string
+ x-stripeBypassValidation: true
+ restriction:
+ description: The `platform_restrictions` that are restricting this Feature.
+ enum:
+ - inbound_flows
+ - outbound_flows
+ type: string
+ required:
+ - code
+ title: TreasuryFinancialAccountsResourceTogglesSettingStatusDetails
+ type: object
+ x-expandableFields: []
+ treasury_inbound_transfers_resource_failure_details:
+ description: ""
+ properties:
+ code:
+ description: Reason for the failure.
+ enum:
+ - account_closed
+ - account_frozen
+ - bank_account_restricted
+ - bank_ownership_changed
+ - debit_not_authorized
+ - incorrect_account_holder_address
+ - incorrect_account_holder_name
+ - incorrect_account_holder_tax_id
+ - insufficient_funds
+ - invalid_account_number
+ - invalid_currency
+ - no_account
+ - other
+ type: string
+ required:
+ - code
+ title: TreasuryInboundTransfersResourceFailureDetails
+ type: object
+ x-expandableFields: []
+ treasury_inbound_transfers_resource_inbound_transfer_resource_linked_flows:
+ description: ""
+ properties:
+ received_debit:
+ description: If funds for this flow were returned after the flow went to the `succeeded` state, this field contains a reference to the ReceivedDebit return.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: TreasuryInboundTransfersResourceInboundTransferResourceLinkedFlows
+ type: object
+ x-expandableFields: []
+ treasury_inbound_transfers_resource_inbound_transfer_resource_status_transitions:
+ description: ""
+ properties:
+ canceled_at:
+ description: Timestamp describing when an InboundTransfer changed status to `canceled`.
+ format: unix-time
+ nullable: true
+ type: integer
+ failed_at:
+ description: Timestamp describing when an InboundTransfer changed status to `failed`.
+ format: unix-time
+ nullable: true
+ type: integer
+ succeeded_at:
+ description: Timestamp describing when an InboundTransfer changed status to `succeeded`.
+ format: unix-time
+ nullable: true
+ type: integer
+ title: TreasuryInboundTransfersResourceInboundTransferResourceStatusTransitions
+ type: object
+ x-expandableFields: []
+ treasury_outbound_payments_resource_outbound_payment_resource_end_user_details:
+ description: ""
+ properties:
+ ip_address:
+ description: IP address of the user initiating the OutboundPayment. Set if `present` is set to `true`. IP address collection is required for risk and compliance reasons. This will be used to help determine if the OutboundPayment is authorized or should be blocked.
+ maxLength: 5000
+ nullable: true
+ type: string
+ present:
+ description: "`true`` if the OutboundPayment creation request is being made on behalf of an end user by a platform. Otherwise, `false`."
+ type: boolean
+ required:
+ - present
+ title: TreasuryOutboundPaymentsResourceOutboundPaymentResourceEndUserDetails
+ type: object
+ x-expandableFields: []
+ treasury_outbound_payments_resource_outbound_payment_resource_status_transitions:
+ description: ""
+ properties:
+ canceled_at:
+ description: Timestamp describing when an OutboundPayment changed status to `canceled`.
+ format: unix-time
+ nullable: true
+ type: integer
+ failed_at:
+ description: Timestamp describing when an OutboundPayment changed status to `failed`.
+ format: unix-time
+ nullable: true
+ type: integer
+ posted_at:
+ description: Timestamp describing when an OutboundPayment changed status to `posted`.
+ format: unix-time
+ nullable: true
+ type: integer
+ returned_at:
+ description: Timestamp describing when an OutboundPayment changed status to `returned`.
+ format: unix-time
+ nullable: true
+ type: integer
+ title: TreasuryOutboundPaymentsResourceOutboundPaymentResourceStatusTransitions
+ type: object
+ x-expandableFields: []
+ treasury_outbound_payments_resource_returned_status:
+ description: ""
+ properties:
+ code:
+ description: Reason for the return.
+ enum:
+ - account_closed
+ - account_frozen
+ - bank_account_restricted
+ - bank_ownership_changed
+ - declined
+ - incorrect_account_holder_name
+ - invalid_account_number
+ - invalid_currency
+ - no_account
+ - other
+ type: string
+ transaction:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/treasury.transaction"
+ description: The Transaction associated with this object.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/treasury.transaction"
+ required:
+ - code
+ - transaction
+ title: TreasuryOutboundPaymentsResourceReturnedStatus
+ type: object
+ x-expandableFields:
+ - transaction
+ treasury_outbound_transfers_resource_returned_details:
+ description: ""
+ properties:
+ code:
+ description: Reason for the return.
+ enum:
+ - account_closed
+ - account_frozen
+ - bank_account_restricted
+ - bank_ownership_changed
+ - declined
+ - incorrect_account_holder_name
+ - invalid_account_number
+ - invalid_currency
+ - no_account
+ - other
+ type: string
+ transaction:
+ anyOf:
+ - maxLength: 5000
+ type: string
+ - $ref: "#/components/schemas/treasury.transaction"
+ description: The Transaction associated with this object.
+ x-expansionResources:
+ oneOf:
+ - $ref: "#/components/schemas/treasury.transaction"
+ required:
+ - code
+ - transaction
+ title: TreasuryOutboundTransfersResourceReturnedDetails
+ type: object
+ x-expandableFields:
+ - transaction
+ treasury_outbound_transfers_resource_status_transitions:
+ description: ""
+ properties:
+ canceled_at:
+ description: Timestamp describing when an OutboundTransfer changed status to `canceled`
+ format: unix-time
+ nullable: true
+ type: integer
+ failed_at:
+ description: Timestamp describing when an OutboundTransfer changed status to `failed`
+ format: unix-time
+ nullable: true
+ type: integer
+ posted_at:
+ description: Timestamp describing when an OutboundTransfer changed status to `posted`
+ format: unix-time
+ nullable: true
+ type: integer
+ returned_at:
+ description: Timestamp describing when an OutboundTransfer changed status to `returned`
+ format: unix-time
+ nullable: true
+ type: integer
+ title: TreasuryOutboundTransfersResourceStatusTransitions
+ type: object
+ x-expandableFields: []
+ treasury_received_credits_resource_linked_flows:
+ description: ""
+ properties:
+ credit_reversal:
+ description: The CreditReversal created as a result of this ReceivedCredit being reversed.
+ maxLength: 5000
+ nullable: true
+ type: string
+ issuing_authorization:
+ description: Set if the ReceivedCredit was created due to an [Issuing Authorization](https://stripe.com/docs/api#issuing_authorizations) object.
+ maxLength: 5000
+ nullable: true
+ type: string
+ issuing_transaction:
+ description: Set if the ReceivedCredit is also viewable as an [Issuing transaction](https://stripe.com/docs/api#issuing_transactions) object.
+ maxLength: 5000
+ nullable: true
+ type: string
+ source_flow:
+ description: ID of the source flow. Set if `network` is `stripe` and the source flow is visible to the user. Examples of source flows include OutboundPayments, payouts, or CreditReversals.
+ maxLength: 5000
+ nullable: true
+ type: string
+ source_flow_details:
+ anyOf:
+ - $ref: "#/components/schemas/treasury_received_credits_resource_source_flows_details"
+ description: The expandable object of the source flow.
+ nullable: true
+ source_flow_type:
+ description: The type of flow that originated the ReceivedCredit (for example, `outbound_payment`).
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: TreasuryReceivedCreditsResourceLinkedFlows
+ type: object
+ x-expandableFields:
+ - source_flow_details
+ treasury_received_credits_resource_reversal_details:
+ description: ""
+ properties:
+ deadline:
+ description: Time before which a ReceivedCredit can be reversed.
+ format: unix-time
+ nullable: true
+ type: integer
+ restricted_reason:
+ description: Set if a ReceivedCredit cannot be reversed.
+ enum:
+ - already_reversed
+ - deadline_passed
+ - network_restricted
+ - other
+ - source_flow_restricted
+ nullable: true
+ type: string
+ title: TreasuryReceivedCreditsResourceReversalDetails
+ type: object
+ x-expandableFields: []
+ treasury_received_credits_resource_source_flows_details:
+ description: ""
+ properties:
+ credit_reversal:
+ $ref: "#/components/schemas/treasury.credit_reversal"
+ outbound_payment:
+ $ref: "#/components/schemas/treasury.outbound_payment"
+ payout:
+ $ref: "#/components/schemas/payout"
+ type:
+ description: The type of the source flow that originated the ReceivedCredit.
+ enum:
+ - credit_reversal
+ - other
+ - outbound_payment
+ - payout
+ type: string
+ x-stripeBypassValidation: true
+ required:
+ - type
+ title: TreasuryReceivedCreditsResourceSourceFlowsDetails
+ type: object
+ x-expandableFields:
+ - credit_reversal
+ - outbound_payment
+ - payout
+ treasury_received_credits_resource_status_transitions:
+ description: ""
+ properties:
+ posted_at:
+ description: Timestamp describing when the CreditReversal changed status to `posted`
+ format: unix-time
+ nullable: true
+ type: integer
+ title: TreasuryReceivedCreditsResourceStatusTransitions
+ type: object
+ x-expandableFields: []
+ treasury_received_debits_resource_debit_reversal_linked_flows:
+ description: ""
+ properties:
+ issuing_dispute:
+ description: Set if there is an Issuing dispute associated with the DebitReversal.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: TreasuryReceivedDebitsResourceDebitReversalLinkedFlows
+ type: object
+ x-expandableFields: []
+ treasury_received_debits_resource_linked_flows:
+ description: ""
+ properties:
+ debit_reversal:
+ description: The DebitReversal created as a result of this ReceivedDebit being reversed.
+ maxLength: 5000
+ nullable: true
+ type: string
+ inbound_transfer:
+ description: Set if the ReceivedDebit is associated with an InboundTransfer's return of funds.
+ maxLength: 5000
+ nullable: true
+ type: string
+ issuing_authorization:
+ description: Set if the ReceivedDebit was created due to an [Issuing Authorization](https://stripe.com/docs/api#issuing_authorizations) object.
+ maxLength: 5000
+ nullable: true
+ type: string
+ issuing_transaction:
+ description: Set if the ReceivedDebit is also viewable as an [Issuing Dispute](https://stripe.com/docs/api#issuing_disputes) object.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: TreasuryReceivedDebitsResourceLinkedFlows
+ type: object
+ x-expandableFields: []
+ treasury_received_debits_resource_reversal_details:
+ description: ""
+ properties:
+ deadline:
+ description: Time before which a ReceivedDebit can be reversed.
+ format: unix-time
+ nullable: true
+ type: integer
+ restricted_reason:
+ description: Set if a ReceivedDebit can't be reversed.
+ enum:
+ - already_reversed
+ - deadline_passed
+ - network_restricted
+ - other
+ - source_flow_restricted
+ nullable: true
+ type: string
+ title: TreasuryReceivedDebitsResourceReversalDetails
+ type: object
+ x-expandableFields: []
+ treasury_received_debits_resource_status_transitions:
+ description: ""
+ properties:
+ completed_at:
+ description: Timestamp describing when the DebitReversal changed status to `completed`.
+ format: unix-time
+ nullable: true
+ type: integer
+ title: TreasuryReceivedDebitsResourceStatusTransitions
+ type: object
+ x-expandableFields: []
+ treasury_shared_resource_billing_details:
+ description: ""
+ properties:
+ address:
+ $ref: "#/components/schemas/address"
+ email:
+ description: Email address.
+ maxLength: 5000
+ nullable: true
+ type: string
+ name:
+ description: Full name.
+ maxLength: 5000
+ nullable: true
+ type: string
+ required:
+ - address
+ title: TreasurySharedResourceBillingDetails
+ type: object
+ x-expandableFields:
+ - address
+ treasury_shared_resource_initiating_payment_method_details_initiating_payment_method_details:
+ description: ""
+ properties:
+ balance:
+ description: Set when `type` is `balance`.
+ enum:
+ - payments
+ type: string
+ billing_details:
+ $ref: "#/components/schemas/treasury_shared_resource_billing_details"
+ financial_account:
+ $ref: "#/components/schemas/received_payment_method_details_financial_account"
+ issuing_card:
+ description: Set when `type` is `issuing_card`. This is an [Issuing Card](https://stripe.com/docs/api#issuing_cards) ID.
+ maxLength: 5000
+ type: string
+ type:
+ description: Polymorphic type matching the originating money movement's source. This can be an external account, a Stripe balance, or a FinancialAccount.
+ enum:
+ - balance
+ - financial_account
+ - issuing_card
+ - stripe
+ - us_bank_account
+ type: string
+ x-stripeBypassValidation: true
+ us_bank_account:
+ $ref: "#/components/schemas/treasury_shared_resource_initiating_payment_method_details_us_bank_account"
+ required:
+ - billing_details
+ - type
+ title: TreasurySharedResourceInitiatingPaymentMethodDetailsInitiatingPaymentMethodDetails
+ type: object
+ x-expandableFields:
+ - billing_details
+ - financial_account
+ - us_bank_account
+ treasury_shared_resource_initiating_payment_method_details_us_bank_account:
+ description: ""
+ properties:
+ bank_name:
+ description: Bank name.
+ maxLength: 5000
+ nullable: true
+ type: string
+ last4:
+ description: The last four digits of the bank account number.
+ maxLength: 5000
+ nullable: true
+ type: string
+ routing_number:
+ description: The routing number for the bank account.
+ maxLength: 5000
+ nullable: true
+ type: string
+ title: TreasurySharedResourceInitiatingPaymentMethodDetailsUSBankAccount
+ type: object
+ x-expandableFields: []
+ treasury_transactions_resource_abstract_transaction_resource_status_transitions:
+ description: ""
+ properties:
+ posted_at:
+ description: Timestamp describing when the Transaction changed status to `posted`.
+ format: unix-time
+ nullable: true
+ type: integer
+ void_at:
+ description: Timestamp describing when the Transaction changed status to `void`.
+ format: unix-time
+ nullable: true
+ type: integer
+ title: TreasuryTransactionsResourceAbstractTransactionResourceStatusTransitions
+ type: object
+ x-expandableFields: []
+ treasury_transactions_resource_balance_impact:
+ description: Change to a FinancialAccount's balance
+ properties:
+ cash:
+ description: The change made to funds the user can spend right now.
+ type: integer
+ inbound_pending:
+ description: The change made to funds that are not spendable yet, but will become available at a later time.
+ type: integer
+ outbound_pending:
+ description: The change made to funds in the account, but not spendable because they are being held for pending outbound flows.
+ type: integer
+ required:
+ - cash
+ - inbound_pending
+ - outbound_pending
+ title: TreasuryTransactionsResourceBalanceImpact
+ type: object
+ x-expandableFields: []
+ treasury_transactions_resource_flow_details:
+ description: ""
+ properties:
+ credit_reversal:
+ $ref: "#/components/schemas/treasury.credit_reversal"
+ debit_reversal:
+ $ref: "#/components/schemas/treasury.debit_reversal"
+ inbound_transfer:
+ $ref: "#/components/schemas/treasury.inbound_transfer"
+ issuing_authorization:
+ $ref: "#/components/schemas/issuing.authorization"
+ outbound_payment:
+ $ref: "#/components/schemas/treasury.outbound_payment"
+ outbound_transfer:
+ $ref: "#/components/schemas/treasury.outbound_transfer"
+ received_credit:
+ $ref: "#/components/schemas/treasury.received_credit"
+ received_debit:
+ $ref: "#/components/schemas/treasury.received_debit"
+ type:
+ description: Type of the flow that created the Transaction. Set to the same value as `flow_type`.
+ enum:
+ - credit_reversal
+ - debit_reversal
+ - inbound_transfer
+ - issuing_authorization
+ - other
+ - outbound_payment
+ - outbound_transfer
+ - received_credit
+ - received_debit
+ type: string
+ required:
+ - type
+ title: TreasuryTransactionsResourceFlowDetails
+ type: object
+ x-expandableFields:
+ - credit_reversal
+ - debit_reversal
+ - inbound_transfer
+ - issuing_authorization
+ - outbound_payment
+ - outbound_transfer
+ - received_credit
+ - received_debit
+ us_bank_account_networks:
+ description: ""
+ properties:
+ preferred:
+ description: The preferred network.
+ maxLength: 5000
+ nullable: true
+ type: string
+ supported:
+ description: All supported networks.
+ items:
+ enum:
+ - ach
+ - us_domestic_wire
+ type: string
+ type: array
+ required:
+ - supported
+ title: us_bank_account_networks
+ type: object
+ x-expandableFields: []
+ usage_record:
+ description: |-
+ Usage records allow you to report customer usage and metrics to Stripe for
+ metered billing of subscription prices.
+
+ Related guide: [Metered Billing](https://stripe.com/docs/billing/subscriptions/metered-billing).
+ properties:
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - usage_record
+ type: string
+ quantity:
+ description: The usage quantity for the specified date.
+ type: integer
+ subscription_item:
+ description: The ID of the subscription item this usage record contains data for.
+ maxLength: 5000
+ type: string
+ timestamp:
+ description: The timestamp when this usage occurred.
+ format: unix-time
+ type: integer
+ required:
+ - id
+ - livemode
+ - object
+ - quantity
+ - subscription_item
+ - timestamp
+ title: UsageRecord
+ type: object
+ x-expandableFields: []
+ x-resourceId: usage_record
+ usage_record_summary:
+ description: ""
+ properties:
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ invoice:
+ description: The invoice in which this usage period has been billed for.
+ maxLength: 5000
+ nullable: true
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - usage_record_summary
+ type: string
+ period:
+ $ref: "#/components/schemas/period"
+ subscription_item:
+ description: The ID of the subscription item this summary is describing.
+ maxLength: 5000
+ type: string
+ total_usage:
+ description: The total usage within this usage period.
+ type: integer
+ required:
+ - id
+ - livemode
+ - object
+ - period
+ - subscription_item
+ - total_usage
+ title: UsageRecordSummary
+ type: object
+ x-expandableFields:
+ - period
+ x-resourceId: usage_record_summary
+ verification_session_redaction:
+ description: ""
+ properties:
+ status:
+ description: Indicates whether this object and its related objects have been redacted or not.
+ enum:
+ - processing
+ - redacted
+ type: string
+ required:
+ - status
+ title: verification_session_redaction
+ type: object
+ x-expandableFields: []
+ webhook_endpoint:
+ description: |-
+ You can configure [webhook endpoints](https://stripe.com/docs/webhooks/) via the API to be
+ notified about events that happen in your Stripe account or connected
+ accounts.
+
+ Most users configure webhooks from [the dashboard](https://dashboard.stripe.com/webhooks), which provides a user interface for registering and testing your webhook endpoints.
+
+ Related guide: [Setting up Webhooks](https://stripe.com/docs/webhooks/configure).
+ properties:
+ api_version:
+ description: The API version events are rendered as for this webhook endpoint.
+ maxLength: 5000
+ nullable: true
+ type: string
+ application:
+ description: The ID of the associated Connect application.
+ maxLength: 5000
+ nullable: true
+ type: string
+ created:
+ description: Time at which the object was created. Measured in seconds since the Unix epoch.
+ format: unix-time
+ type: integer
+ description:
+ description: An optional description of what the webhook is used for.
+ maxLength: 5000
+ nullable: true
+ type: string
+ enabled_events:
+ description: The list of events to enable for this endpoint. `['*']` indicates that all events are enabled, except those that require explicit selection.
+ items:
+ maxLength: 5000
+ type: string
+ type: array
+ id:
+ description: Unique identifier for the object.
+ maxLength: 5000
+ type: string
+ livemode:
+ description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
+ type: boolean
+ metadata:
+ additionalProperties:
+ maxLength: 500
+ type: string
+ description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ type: object
+ object:
+ description: String representing the object's type. Objects of the same type share the same value.
+ enum:
+ - webhook_endpoint
+ type: string
+ secret:
+ description: The endpoint's secret, used to generate [webhook signatures](https://stripe.com/docs/webhooks/signatures). Only returned at creation.
+ maxLength: 5000
+ type: string
+ status:
+ description: The status of the webhook. It can be `enabled` or `disabled`.
+ maxLength: 5000
+ type: string
+ url:
+ description: The URL of the webhook endpoint.
+ maxLength: 5000
+ type: string
+ required:
+ - created
+ - enabled_events
+ - id
+ - livemode
+ - metadata
+ - object
+ - status
+ - url
+ title: NotificationWebhookEndpoint
+ type: object
+ x-expandableFields: []
+ x-resourceId: webhook_endpoint
+ securitySchemes:
+ basicAuth:
+ description: "Basic HTTP authentication. Allowed headers-- Authorization: Basic | Authorization: Basic "
+ scheme: basic
+ type: http
+ bearerAuth:
+ bearerFormat: auth-scheme
+ description: "Bearer HTTP authentication. Allowed headers-- Authorization: Bearer "
+ scheme: bearer
+ type: http
diff --git a/Tests/Fixtures/real-yaml/api-guru-zoom-openapi.yaml b/Tests/Fixtures/real-yaml/api-guru-zoom-openapi.yaml
new file mode 100644
index 0000000..ac58dc6
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/api-guru-zoom-openapi.yaml
@@ -0,0 +1,95627 @@
+openapi: 3.0.0
+servers:
+ - url: https://api.zoom.us/v2
+info:
+ contact:
+ email: developersupport@zoom.us
+ name: Zoom Developers
+ url: https://developer.zoom.us/
+ x-twitter: zoom_us
+ description: |-
+ The Zoom API allows developers to access information from Zoom. You can use this API to build private services or public applications on the [Zoom App Marketplace](http://marketplace.zoom.us). To learn how to get your credentials and create private/public applications, read our [Authorization Guide](https://marketplace.zoom.us/docs/guides/authorization/credentials).
+ All endpoints are available via `https` and are located at `api.zoom.us/v2/`.
+
+ For instance you can list all users on an account via `https://api.zoom.us/v2/users/`.
+ license:
+ name: MIT for OAS 2.0
+ url: https://opensource.org/licenses/MIT
+ termsOfService: https://zoom.us/docs/en-us/zoom_api_license_and_tou.html
+ title: Zoom API
+ version: 2.0.0
+ x-apisguru-categories:
+ - telecom
+ x-logo:
+ url: https://twitter.com/zoom_us/profile_image?size=original
+ x-origin:
+ - format: openapi
+ url: https://marketplace.zoom.us/docs/api-reference/zoom-api/Zoom%20API.oas2.json
+ version: "3.0"
+ x-providerName: zoom.us
+security:
+ - OAuth: []
+tags:
+ - description: Account operations
+ name: Accounts
+ - description: Billing operations
+ name: Billing
+ - name: Chat Channels
+ - name: Chat Channels (Account-level)
+ - description: Chat Messages operations
+ name: Chat Messages
+ - name: Chatbot Messages
+ - description: Contacts operations
+ name: Contacts
+ - description: Cloud Recording operations
+ name: Cloud Recording
+ - description: Dashboard operations
+ name: Dashboards
+ - name: Data Compliance
+ - description: H323 Device operations
+ name: Devices
+ - description: Group operations
+ name: Groups
+ - description: IM Chat operations
+ name: IM Chat
+ - description: IM Group operations
+ name: IM Groups
+ - description: Meeting operations
+ name: Meetings
+ - description: PAC operations
+ name: PAC
+ - name: Phone
+ - name: Phone Auto Receptionists
+ - name: Phone Blocked List
+ - name: Phone Call Queues
+ - name: Phone Devices
+ - name: Phone Reports
+ - name: Phone Shared Line Groups
+ - name: Phone Site
+ - name: Common Area Phones
+ - description: Report operations
+ name: Reports
+ - description: User Roles
+ name: Roles
+ - description: ZoomRooms operations
+ name: Rooms
+ - name: Rooms Account
+ - name: Rooms Location
+ - name: SIP Phone
+ - description: Tracking Field operations
+ name: TrackingField
+ - description: TSP operations
+ name: TSP
+ - description: User operations
+ name: Users
+ - description: Webhook operations
+ name: Webhooks
+ - description: Webinar operations
+ name: Webinars
+ - description: APIs available to the master account for a Zoom account.
+ name: master account APIs
+ - name: Rooms Devices
+ - name: SIP Connected Audio
+ - name: Deprecated API Endpoints
+paths:
+ /accounts:
+ get:
+ description: |+
+ List all the sub accounts that have been created by a master account.
Zoom allows only [approved partners](https://marketplace.zoom.us/docs/api-reference/master-account-apis) to use master APIs and manage sub accounts. Email the partner programs team at **partner-success@zoom.us** for more details.
+
+ **Prerequisites:**
+ * Pro or a higher paid account with master account option enabled.
+
+ **Scope**: `account:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+
+ operationId: accounts
+ parameters:
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: |-
+
+ **Deprecated** - This field has been deprecated and we will stop supporting it completely in a future release. Please use "next_page_token" for pagination instead of this field.
+
+ The page number of the current page in the returned records.
+ in: query
+ name: page_number
+ schema:
+ default: 1
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ accounts:
+ - account_name: string
+ account_type: string
+ created_at: string [date-time]
+ id: string [uuid]
+ owner_email: string
+ seats: integer
+ subscription_end_time: string [date-time]
+ subscription_start_time: string [date-time]
+ page_count: integer
+ page_number: integer
+ page_size: integer
+ total_records: integer
+ schema:
+ allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: |-
+ **Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
+
+ The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ - description: Account object in the account list.
+ properties:
+ accounts:
+ description: List of Account objects.
+ items:
+ properties:
+ account_name:
+ description: Account name.
+ type: string
+ account_number:
+ description: Account Number of the account.
+ type: string
+ account_type:
+ description: Account type.
+ type: string
+ created_at:
+ description: Account creation date and time.
+ format: date-time
+ type: string
+ id:
+ description: Account ID.
+ type: string
+ owner_email:
+ description: Account owner email.
+ example: john.doe@zoom.us
+ type: string
+ seats:
+ description: Account seats.
+ type: integer
+ subscription_end_time:
+ description: Account subscription end date and time.
+ format: date-time
+ type: string
+ subscription_start_time:
+ description: Account subscription start date and time.
+ format: date-time
+ type: string
+ type: object
+ type: array
+ type: object
+ description: List of Accounts.
+ title: Account List
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: |-
+ **Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
+
+ The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ - description: Account object in the account list.
+ properties:
+ accounts:
+ description: List of Account objects.
+ items:
+ properties:
+ account_name:
+ description: Account name.
+ type: string
+ account_number:
+ description: Account Number of the account.
+ type: string
+ account_type:
+ description: Account type.
+ type: string
+ created_at:
+ description: Account creation date and time.
+ format: date-time
+ type: string
+ id:
+ description: Account ID.
+ type: string
+ owner_email:
+ description: Account owner email.
+ example: john.doe@zoom.us
+ type: string
+ seats:
+ description: Account seats.
+ type: integer
+ subscription_end_time:
+ description: Account subscription end date and time.
+ format: date-time
+ type: string
+ subscription_start_time:
+ description: Account subscription start date and time.
+ format: date-time
+ type: string
+ type: object
+ type: array
+ type: object
+ description: List of Accounts.
+ title: Account List
+ type: object
+ description: Account list returned.
+ summary: List sub accounts
+ tags:
+ - Accounts
+ post:
+ description: "Create a sub account under a master account. Your account must be a master account in order to create sub accounts.\
+
+
Zoom allows only [approved partners](https://marketplace.zoom.us/docs/api-reference/master-account-apis) to use master APIs and manage sub accounts. Email the partner programs team at partner-success@zoom.us. for more details. Please note that the created account user will receive a confirmation email.
+
+
+
+ **Prerequisites:**
+
+ * Pro or a higher paid account with master account option enabled.
+
+
+ **Scope**: `account:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+
+
+ \ "
+ operationId: accountCreate
+ requestBody:
+ content:
+ application/json:
+ schema:
+ description: The account object represents an account on Zoom. The account owner is the user who created the account or had an account created for them. You can read more about the Zoom account structure here.
+ properties:
+ account_name:
+ description: 'Name of the account. If you do not provide a value for this field, by default, the value will be set as a concatenation of "first_name" and "last_name". '
+ maxLength: 64
+ type: string
+ email:
+ description: User's email address.
+ maxLength: 128
+ type: string
+ first_name:
+ description: User's first name.
+ maxLength: 64
+ type: string
+ last_name:
+ description: User's last name.
+ maxLength: 64
+ type: string
+ options:
+ description: Account options object.
+ properties:
+ billing_auto_renew:
+ description: Toggle whether automatic billing renewal is on or off.
+ type: boolean
+ meeting_connector_list:
+ description: |-
+ Specify the IP addresses of the Meeting Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Meeting Connectors of a master account will be shared with the sub account.
+
+
+ **Note:** This option can only be used if the value of `share_mc` is set to `true`.
+ items:
+ type: string
+ type: array
+ pay_mode:
+ default: master
+ description: Payee: `master` - master account holder pays. `sub` - Sub account holder pays.
+ enum:
+ - master
+ - sub
+ type: string
+ x-enum-descriptions:
+ - master account holder pays
+ - Sub account holder pays
+ room_connector_list:
+ description: |-
+ Specify the IP addresses of the Room Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Room Connectors of a master account will be shared with the sub account.
+
+
+ **Note:** This option can only be used if the value of `share_rc` is set to `true`.
+ items:
+ type: string
+ type: array
+ share_mc:
+ default: false
+ description: Enable/disable the option for a sub account to use shared [Meeting Connector(s)](https://support.zoom.us/hc/en-us/articles/201363093-Getting-Started-with-the-Meeting-Connector) that are set up by the master account. Meeting Connectors can only be used by On-prem users.
+ type: boolean
+ share_rc:
+ default: false
+ description: Enable/disable the option for a sub account to use shared [Virtual Room Connector(s)](https://support.zoom.us/hc/en-us/articles/202134758-Getting-Started-With-Virtual-Room-Connector) that are set up by the master account. Virtual Room Connectors can only be used by On-prem users.
+ type: boolean
+ type: object
+ password:
+ description: |-
+ User's password.
+
+ **Note:** If the account owner or admin has enabled [enhanced password requirements](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_fa9186e4-6818-4f7a-915c-2e25c19f0acd), the value provided in this field must meet those requirements. These requirements can be retrieved by calling the [Get Account Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) and referring to the `password_requirement` field present in the `security` object.
+ minimum: 8
+ type: string
+ required:
+ - first_name
+ - last_name
+ - email
+ - password
+ type: object
+ multipart/form-data:
+ schema:
+ description: The account object represents an account on Zoom. The account owner is the user who created the account or had an account created for them. You can read more about the Zoom account structure here.
+ properties:
+ account_name:
+ description: 'Name of the account. If you do not provide a value for this field, by default, the value will be set as a concatenation of "first_name" and "last_name". '
+ maxLength: 64
+ type: string
+ email:
+ description: User's email address.
+ maxLength: 128
+ type: string
+ first_name:
+ description: User's first name.
+ maxLength: 64
+ type: string
+ last_name:
+ description: User's last name.
+ maxLength: 64
+ type: string
+ options:
+ description: Account options object.
+ properties:
+ billing_auto_renew:
+ description: Toggle whether automatic billing renewal is on or off.
+ type: boolean
+ meeting_connector_list:
+ description: |-
+ Specify the IP addresses of the Meeting Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Meeting Connectors of a master account will be shared with the sub account.
+
+
+ **Note:** This option can only be used if the value of `share_mc` is set to `true`.
+ items:
+ type: string
+ type: array
+ pay_mode:
+ default: master
+ description: Payee: `master` - master account holder pays. `sub` - Sub account holder pays.
+ enum:
+ - master
+ - sub
+ type: string
+ x-enum-descriptions:
+ - master account holder pays
+ - Sub account holder pays
+ room_connector_list:
+ description: |-
+ Specify the IP addresses of the Room Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Room Connectors of a master account will be shared with the sub account.
+
+
+ **Note:** This option can only be used if the value of `share_rc` is set to `true`.
+ items:
+ type: string
+ type: array
+ share_mc:
+ default: false
+ description: Enable/disable the option for a sub account to use shared [Meeting Connector(s)](https://support.zoom.us/hc/en-us/articles/201363093-Getting-Started-with-the-Meeting-Connector) that are set up by the master account. Meeting Connectors can only be used by On-prem users.
+ type: boolean
+ share_rc:
+ default: false
+ description: Enable/disable the option for a sub account to use shared [Virtual Room Connector(s)](https://support.zoom.us/hc/en-us/articles/202134758-Getting-Started-With-Virtual-Room-Connector) that are set up by the master account. Virtual Room Connectors can only be used by On-prem users.
+ type: boolean
+ type: object
+ password:
+ description: |-
+ User's password.
+
+ **Note:** If the account owner or admin has enabled [enhanced password requirements](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_fa9186e4-6818-4f7a-915c-2e25c19f0acd), the value provided in this field must meet those requirements. These requirements can be retrieved by calling the [Get Account Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) and referring to the `password_requirement` field present in the `security` object.
+ minimum: 8
+ type: string
+ required:
+ - first_name
+ - last_name
+ - email
+ - password
+ type: object
+ description: Account.
+ required: true
+ x-examples:
+ application/json:
+ email: fhjdhf@djhfjdf.ff
+ first_name: Harry
+ last_name: Ghim
+ options:
+ meeting_connectors:
+ - 100.0.0.1
+ - 100.1.1.0
+ pay_mode: master
+ room_connectors:
+ - 127.0.0.1
+ - 127.1.1.0
+ share_mc: true
+ share_rc: true
+ password: bdkfhds1e3r
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ created_at: string
+ id: string
+ owner_email: string
+ owner_id: string
+ schema:
+ properties:
+ created_at:
+ description: Account created date time.
+ type: string
+ id:
+ description: Account ID.
+ type: string
+ owner_email:
+ description: Account owner email.
+ type: string
+ owner_id:
+ description: Account owner ID.
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ created_at:
+ description: Account created date time.
+ type: string
+ id:
+ description: Account ID.
+ type: string
+ owner_email:
+ description: Account owner email.
+ type: string
+ owner_id:
+ description: Account owner ID.
+ type: string
+ type: object
+ description: Account created.
+ headers:
+ Content-Location:
+ description: Location of the created account.
+ schema:
+ type: string
+ "400":
+ description: |+
+ **HTTP Status Code:** `400`
+ **Error Code:**`300` Your request could not be completed because the name contains an invalid word: {name}
+ **Error Code:** `1107`
+ Email domain is blocked.
+ **Error Code:** `1111`
+ Password should not contain repeated characters such as 'aaaaaa'.
+ Password should not contain consecutive characters such as 'abc','123'.
+
+ "409":
+ description: |-
+ **HTTP Status Code:** `409`
+ **Error Code:** `1005`
+ Email $email has already been used.
+ summary: Create a sub account
+ tags:
+ - Accounts
+ "/accounts/{accountId}":
+ delete:
+ description: "Disassociate a sub account from its master account. This will leave the sub account intact but it will no longer be associated with the master account. \
+
+
+ **Prerequisites:**
+
+ * Pro or a higher paid account with master account option enabled.
+
+ * The account making this API request must be a [master account](https://marketplace.zoom.us/docs/api-reference/master-account-apis).
+
+
+
+ **Scope**: `account:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+
+
+ \ "
+ operationId: accountDisassociate
+ parameters:
+ - description: The account ID.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ description: "**HTTP Status Code**: `204` Account deleted."
+ "404":
+ description: |-
+ **HTTP Status Code**: `404`
+ **Error Code:** `2000` You cannot disassociate a paid account.
+ **Error Code:** `2001` Account does not exist: $subAccountId.
+ summary: Disassociate a sub account
+ tags:
+ - Accounts
+ get:
+ description: |+
+ Get details of a sub account that is listed under a master account. Your account must be a master account in order to retrieve sub accounts' details. Zoom allows only [approved partners](https://marketplace.zoom.us/docs/api-reference/master-account-apis) to use master APIs and create sub accounts. Email the partner programs team at **partner-success@zoom.us** for more details.
+
+ **Prerequisites:**
+ * Pro or a higher paid account with master account option enabled.
+
+ **Scope**: `account:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+
+
+ operationId: account
+ parameters:
+ - description: The account ID.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ created_at: string [date-time]
+ id: string
+ options:
+ meeting_connectors: string
+ pay_mode: string
+ room_connectors: string
+ share_mc: boolean
+ share_rc: boolean
+ owner_email: string
+ owner_id: string
+ schema:
+ properties:
+ created_at:
+ description: Account creation date and time.
+ format: date-time
+ type: string
+ id:
+ description: Account ID.
+ type: string
+ options:
+ description: Account options object.
+ properties:
+ billing_auto_renew:
+ description: Toggle whether automatic billing renewal is on or off.
+ type: boolean
+ meeting_connector_list:
+ description: |-
+ Specify the IP addresses of the Meeting Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Meeting Connectors of a master account will be shared with the sub account.
+
+
+ **Note:** This option can only be used if the value of `share_mc` is set to `true`.
+ items:
+ type: string
+ type: array
+ pay_mode:
+ default: master
+ description: Payee: `master` - master account holder pays. `sub` - Sub account holder pays.
+ enum:
+ - master
+ - sub
+ type: string
+ x-enum-descriptions:
+ - master account holder pays
+ - Sub account holder pays
+ room_connector_list:
+ description: |-
+ Specify the IP addresses of the Room Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Room Connectors of a master account will be shared with the sub account.
+
+
+ **Note:** This option can only be used if the value of `share_rc` is set to `true`.
+ items:
+ type: string
+ type: array
+ share_mc:
+ default: false
+ description: Enable/disable the option for a sub account to use shared [Meeting Connector(s)](https://support.zoom.us/hc/en-us/articles/201363093-Getting-Started-with-the-Meeting-Connector) that are set up by the master account. Meeting Connectors can only be used by On-prem users.
+ type: boolean
+ share_rc:
+ default: false
+ description: Enable/disable the option for a sub account to use shared [Virtual Room Connector(s)](https://support.zoom.us/hc/en-us/articles/202134758-Getting-Started-With-Virtual-Room-Connector) that are set up by the master account. Virtual Room Connectors can only be used by On-prem users.
+ type: boolean
+ type: object
+ owner_email:
+ description: Account owner email.
+ type: string
+ owner_id:
+ description: Account owner ID.
+ type: string
+ vanity_url:
+ description: Account Vanity URL
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ created_at:
+ description: Account creation date and time.
+ format: date-time
+ type: string
+ id:
+ description: Account ID.
+ type: string
+ options:
+ description: Account options object.
+ properties:
+ billing_auto_renew:
+ description: Toggle whether automatic billing renewal is on or off.
+ type: boolean
+ meeting_connector_list:
+ description: |-
+ Specify the IP addresses of the Meeting Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Meeting Connectors of a master account will be shared with the sub account.
+
+
+ **Note:** This option can only be used if the value of `share_mc` is set to `true`.
+ items:
+ type: string
+ type: array
+ pay_mode:
+ default: master
+ description: Payee: `master` - master account holder pays. `sub` - Sub account holder pays.
+ enum:
+ - master
+ - sub
+ type: string
+ x-enum-descriptions:
+ - master account holder pays
+ - Sub account holder pays
+ room_connector_list:
+ description: |-
+ Specify the IP addresses of the Room Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Room Connectors of a master account will be shared with the sub account.
+
+
+ **Note:** This option can only be used if the value of `share_rc` is set to `true`.
+ items:
+ type: string
+ type: array
+ share_mc:
+ default: false
+ description: Enable/disable the option for a sub account to use shared [Meeting Connector(s)](https://support.zoom.us/hc/en-us/articles/201363093-Getting-Started-with-the-Meeting-Connector) that are set up by the master account. Meeting Connectors can only be used by On-prem users.
+ type: boolean
+ share_rc:
+ default: false
+ description: Enable/disable the option for a sub account to use shared [Virtual Room Connector(s)](https://support.zoom.us/hc/en-us/articles/202134758-Getting-Started-With-Virtual-Room-Connector) that are set up by the master account. Virtual Room Connectors can only be used by On-prem users.
+ type: boolean
+ type: object
+ owner_email:
+ description: Account owner email.
+ type: string
+ owner_id:
+ description: Account owner ID.
+ type: string
+ vanity_url:
+ description: Account Vanity URL
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code**: `200`
+ Account object returned.
+ "404":
+ description: |-
+ **HTTP Status Code**: `404`
+ **Error Code:** `2001` Account does not exist: $subAccountId.
+ summary: Get sub account details
+ tags:
+ - Accounts
+ "/accounts/{accountId}/billing":
+ get:
+ description: |+
+ Get [billing information](https://support.zoom.us/hc/en-us/articles/201363263-About-Billing) of a sub account.
+ This API can only be used by master accounts that pay all billiing charges of their associated sub accounts. Zoom allows only [approved partners](https://marketplace.zoom.us/docs/api-reference/master-account-apis) to use master APIs and manage sub accounts' billing information. Email the partner programs team at **partner-success@zoom.us** for more details.
+
+ **Prerequisites:**
+ * Pro or a higher paid account with master account option enabled.
+
+ **Scope**:`billing:master`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+
+ operationId: accountBillingUpdate
+ parameters:
+ - description: The account ID.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ description: Billing Contact object.
+ properties:
+ address:
+ description: Billing Contact's address.
+ type: string
+ apt:
+ description: Billing Contact's apartment/suite.
+ type: string
+ city:
+ description: Billing Contact's city.
+ type: string
+ country:
+ description: Billing Contact's country.
+ type: string
+ email:
+ description: Billing Contact's email address.
+ type: string
+ first_name:
+ description: Billing Contact's first name.
+ type: string
+ last_name:
+ description: Billing Contact's last name.
+ type: string
+ phone_number:
+ description: Billing Contact's phone number.
+ type: string
+ state:
+ description: Billing Contact's state.
+ type: string
+ zip:
+ description: Billing Contact's zip/postal code.
+ type: string
+ type: object
+ multipart/form-data:
+ schema:
+ description: Billing Contact object.
+ properties:
+ address:
+ description: Billing Contact's address.
+ type: string
+ apt:
+ description: Billing Contact's apartment/suite.
+ type: string
+ city:
+ description: Billing Contact's city.
+ type: string
+ country:
+ description: Billing Contact's country.
+ type: string
+ email:
+ description: Billing Contact's email address.
+ type: string
+ first_name:
+ description: Billing Contact's first name.
+ type: string
+ last_name:
+ description: Billing Contact's last name.
+ type: string
+ phone_number:
+ description: Billing Contact's phone number.
+ type: string
+ state:
+ description: Billing Contact's state.
+ type: string
+ zip:
+ description: Billing Contact's zip/postal code.
+ type: string
+ type: object
+ required: true
+ x-examples:
+ application/json:
+ address: string
+ apt: string
+ city: string
+ country: string
+ email: string
+ first_name: string
+ last_name: string
+ phone_number: string
+ state: string
+ zip: string
+ responses:
+ "200":
+ description: |-
+ **Error Code:** `200`
+ Please subscribe a plan for this sub account first.
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ Account billing contact information updated.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ **Error Code:** `2100`
+ This sub account is on self pay mode.
+ Invalid country parameter: {country}.
+ Invalid state parameter: {state}.
+ "404":
+ description: |+
+ **HTTP Status Code:** `404`
+ **Error Code:** `2001`
+ Account does not exist: {subAccountId}.
+
+
+
+ summary: Update billing information
+ tags:
+ - Billing
+ "/accounts/{accountId}/billing/invoices":
+ get:
+ description: |-
+ List [invoices](https://support.zoom.us/hc/en-us/articles/207276556-Viewing-your-invoice-history#h_6710542f-23cc-4059-9cc7-ff02bec7314e) of a Zoom account.
+
+ To list a regular Zoom account's invoices or a master account's invoices, provide `me` as the value of the `accountId` path parameter. To list a sub account's invoices, provide the account ID of the sub account in the `accountId` path parameter.
+
+ **Prerequisites:**
+ * Account must be enrolled in Pro or a higher plan.
+
+ **Scope**:`billing:master` **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ **Additional Rate Limit:** You can make **one** API request per account(`accountId`) every **five** minutes until the daily limit is reached. This API has a daily limit of **6** requests per account(`accountId`).
+ operationId: accountBillingInvoices
+ parameters:
+ - description: |
+ Start date for the invoice query in `yyyy-mm-dd` format. The date range defined by the “from” and “to” parameters should not exceed one year. The range defined should fall within the past three years.
+ in: query
+ name: from
+ schema:
+ format: date
+ type: string
+ - description: End date for the invoice query in `yyyy-mm-dd` format
+ in: query
+ name: to
+ schema:
+ format: date
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ currency: USD
+ invoices:
+ - balance: 2039
+ due_date: 2020-08-07
+ id: 2c92c12348d07e0580
+ invoice_date: 2020-08-07
+ invoice_number: S8INsdf4534000001
+ status: Draft
+ target_date: 2020-08-07
+ tax_amount: 0
+ total_amount: 2039
+ schema:
+ properties:
+ currency:
+ description: Currency used in the invoice.
+ type: string
+ invoices:
+ items:
+ properties:
+ balance:
+ description: |+
+ The remaining balance of the invoice after all payments, adjustments, and refunds are applied.
+
+ format: double
+ type: number
+ due_date:
+ description: |+
+ The date by which the payment for this invoice is due.
+
+ type: string
+ id:
+ description: Unique identifier of the invoice.
+ type: string
+ invoice_date:
+ description: |
+ The date when the invoice was generated.
+ type: string
+ invoice_number:
+ description: Invoice number.
+ type: string
+ status:
+ default: '"Draft"'
+ description: Status of the invoice.
+ type: string
+ target_date:
+ description: |
+ This date is used to determine which charges are to be billed. All charges that are to be billed on this date or prior will be included in the invoice.
+ type: string
+ tax_amount:
+ description: Tax amount.
+ format: double
+ type: number
+ total_amount:
+ description: Total invoice amount.
+ format: double
+ type: number
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ properties:
+ currency:
+ description: Currency used in the invoice.
+ type: string
+ invoices:
+ items:
+ properties:
+ balance:
+ description: |+
+ The remaining balance of the invoice after all payments, adjustments, and refunds are applied.
+
+ format: double
+ type: number
+ due_date:
+ description: |+
+ The date by which the payment for this invoice is due.
+
+ type: string
+ id:
+ description: Unique identifier of the invoice.
+ type: string
+ invoice_date:
+ description: |
+ The date when the invoice was generated.
+ type: string
+ invoice_number:
+ description: Invoice number.
+ type: string
+ status:
+ default: '"Draft"'
+ description: Status of the invoice.
+ type: string
+ target_date:
+ description: |
+ This date is used to determine which charges are to be billed. All charges that are to be billed on this date or prior will be included in the invoice.
+ type: string
+ tax_amount:
+ description: Tax amount.
+ format: double
+ type: number
+ total_amount:
+ description: Total invoice amount.
+ format: double
+ type: number
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Account billing invoice information returned.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ **Error Code:** `200`
+ Only available for Paid account: {subAccountId}.
+ **Error Code:** `2001`
+ Account does not exist: {subAccountId}.
+ summary: List billing invoices
+ tags:
+ - Billing
+ parameters:
+ - description: The account ID.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ "/accounts/{accountId}/billing/invoices/{invoiceId}":
+ get:
+ description: |-
+ Get detailed information about a specific [invoice](https://support.zoom.us/hc/en-us/articles/207276556-Viewing-your-invoice-history#h_6710542f-23cc-4059-9cc7-ff02bec7314e). To retrieve a regular Zoom account's invoice details or a master account's invoice details, provide `me` as the value of `accountId` path parameter. To list a sub account's invoice details, provide the account ID of the sub account in the `accountId` path parameter.
+
+ **Prerequisites:**
+ * Account must be enrolled in Pro or a higher plan.
+
+ **Scope**:`billing:master`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ **Additional Rate Limit:** You can make **one** API request every **thirty** minutes until the daily limit is reached. This API has a daily limit of **100** requests per **account**.
+ operationId: getAccountBillingInvoice
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ balance: 2039
+ currency: USD
+ due_date: 2020-08-07
+ id: 2c92fghvb0580
+ invoice_date: 2020-08-07
+ invoice_items:
+ - charge_name: Standard Biz Annual
+ charge_number: C-00000004
+ charge_type: Recurring
+ end_date: 2021-08-06
+ quantity: 10
+ start_date: 2020-08-07
+ tax_amount: 0
+ total_amount: 1999
+ - charge_name: Cloud Recording 100 GB
+ charge_number: C-00000005
+ charge_type: Recurring
+ end_date: 2020-09-06
+ quantity: 1
+ start_date: 2020-08-07
+ tax_amount: 0
+ total_amount: 40
+ invoice_number: Shjmr5INV00000001
+ status: Draft
+ target_date: 2020-08-07
+ tax_amount: 0
+ total_amount: 2039
+ schema:
+ properties:
+ balance:
+ description: |+
+ The remaining balance of the invoice after all payments, adjustments, and refunds are applied.
+
+ format: double
+ type: number
+ currency:
+ description: Billing currency.
+ type: string
+ due_date:
+ description: |+
+ The date by which the payment for this invoice is due.
+
+ type: string
+ id:
+ description: Unique identifier of the invoice.
+ type: string
+ invoice_date:
+ description: |
+ The date when the invoice was generated.
+ type: string
+ invoice_items:
+ items:
+ properties:
+ charge_name:
+ description: Description for the charge.
+ type: string
+ charge_number:
+ description: Identifier for the charge.
+ type: string
+ charge_type:
+ description: Charge type.
+ type: string
+ end_date:
+ description: Billing end date.
+ format: date
+ type: string
+ quantity:
+ description: Quantity.
+ type: integer
+ start_date:
+ description: Billing start date.
+ format: date
+ type: string
+ tax_amount:
+ description: Tax amount.
+ format: double
+ type: number
+ total_amount:
+ description: Total amount.
+ format: double
+ type: number
+ type: object
+ type: array
+ invoice_number:
+ description: Invoice number.
+ type: string
+ status:
+ default: '"Draft"'
+ description: Status of the invoice.
+ type: string
+ target_date:
+ description: |
+ This date is used to determine which charges are to be billed. All charges that are to be billed on this date or prior will be included in the invoice.
+ type: string
+ tax_amount:
+ description: Tax amount.
+ format: double
+ type: number
+ total_amount:
+ description: Total invoice amount.
+ format: double
+ type: number
+ type: object
+ application/xml:
+ schema:
+ properties:
+ balance:
+ description: |+
+ The remaining balance of the invoice after all payments, adjustments, and refunds are applied.
+
+ format: double
+ type: number
+ currency:
+ description: Billing currency.
+ type: string
+ due_date:
+ description: |+
+ The date by which the payment for this invoice is due.
+
+ type: string
+ id:
+ description: Unique identifier of the invoice.
+ type: string
+ invoice_date:
+ description: |
+ The date when the invoice was generated.
+ type: string
+ invoice_items:
+ items:
+ properties:
+ charge_name:
+ description: Description for the charge.
+ type: string
+ charge_number:
+ description: Identifier for the charge.
+ type: string
+ charge_type:
+ description: Charge type.
+ type: string
+ end_date:
+ description: Billing end date.
+ format: date
+ type: string
+ quantity:
+ description: Quantity.
+ type: integer
+ start_date:
+ description: Billing start date.
+ format: date
+ type: string
+ tax_amount:
+ description: Tax amount.
+ format: double
+ type: number
+ total_amount:
+ description: Total amount.
+ format: double
+ type: number
+ type: object
+ type: array
+ invoice_number:
+ description: Invoice number.
+ type: string
+ status:
+ default: '"Draft"'
+ description: Status of the invoice.
+ type: string
+ target_date:
+ description: |
+ This date is used to determine which charges are to be billed. All charges that are to be billed on this date or prior will be included in the invoice.
+ type: string
+ tax_amount:
+ description: Tax amount.
+ format: double
+ type: number
+ total_amount:
+ description: Total invoice amount.
+ format: double
+ type: number
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Account billing invoice information returned.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ **Error Code:** `2001`
+ Account does not exist: {subAccountId}.
+ InvoiceId does not exist: {invoiceId}.
+ summary: Get invoice details
+ tags:
+ - Billing
+ parameters:
+ - description: The account ID.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ - description: The invoice ID.
+ in: path
+ name: invoiceId
+ required: true
+ schema:
+ type: string
+ "/accounts/{accountId}/lock_settings":
+ get:
+ description: |-
+ [Account Locked Settings](https://support.zoom.us/hc/en-us/articles/115005269866) allow you turn settings on or off for all users in your account. No user except the account admin or account owner can change these settings. With lock settings, you force the settings on for all users.
+ Use this API to retrieve an account's locked settings.
+
+ **Note:** This API can be used by Zoom Accounts that are on a Pro or a higher plan as well accounts that have master and sub accounts options enabled.
+ **Prerequisites:**
+ * Pro or a higher paid account.
+
+ **Scope**: `account:read:admin`.
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+
+
+
+
+
+ **Scope:** account:read:admin
+ operationId: getAccountLockSettings
+ parameters:
+ - description: Unique Identifier of the account. To retrieve locked settings of the master account or a regular account, provide "me" as the value of this field. To retrieve locked settings of a sub account, provide the Account ID of the sub account in this field.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ - description: "`meeting_security`: Use this query parameter to view meeting security settings applied on the account. "
+ in: query
+ name: option
+ schema:
+ type: string
+ - description: |-
+ Provide the name of the field by which you would like to filter the response. For example, if you provide "host_video" as the value of this field, you will get a response similar to the following:
+ {
+ "schedule_meeting": {
+ "host_video": false
+ }
+ }
+ You can provide multiple values by separating them with commas(example: "host_video,participant_video”).
+ in: query
+ name: custom_query_fields
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - properties:
+ email_notification:
+ properties:
+ alternative_host_reminder:
+ description: Notify the alternative host who is set or removed.
+ type: boolean
+ cancel_meeting_reminder:
+ description: Notify host and participants when the meeting is cancelled.
+ type: boolean
+ cloud_recording_available_reminder:
+ description: Notify host when cloud recording is available.
+ type: boolean
+ jbh_reminder:
+ description: Notify host when participants join the meeting before them.
+ type: boolean
+ schedule_for_host_reminder:
+ description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
+ type: boolean
+ type: object
+ in_meeting:
+ properties:
+ alert_guest_join:
+ description: Allow participants who belong to your account to see that a guest (someone who does not belong to your account) is participating in the meeting/webinar.
+ type: boolean
+ allow_show_zoom_windows:
+ description: Show Zoom windows during screen share.
+ type: boolean
+ annotation:
+ description: Allow participants to use annotation tools to add information to shared screens.
+ type: boolean
+ anonymous_question_answer:
+ description: ""
+ type: boolean
+ attendee_on_hold:
+ default: false
+ description: |-
+ Allow host to put attendee on hold.
+
+ **This field has been deprecated and is no longer supported.**
+ type: boolean
+ auto_answer:
+ description: Enable users to see and add contacts to 'auto-answer group' in the contact list on chat. Any call from members of this group will be automatically answered.
+ type: boolean
+ auto_saving_chat:
+ description: Automatically save all in-meeting chats.
+ type: boolean
+ breakout_room:
+ description: Allow host to split meeting participants into separate, smaller rooms.
+ type: boolean
+ chat:
+ description: Allow meeting participants to send chat message visible to all participants.
+ type: boolean
+ closed_caption:
+ description: Allow host to type closed captions or assign a participant/third party device to add closed captions.
+ type: boolean
+ co_host:
+ description: Allow the host to add co-hosts. Co-hosts have the same in-meeting controls as the host.
+ type: boolean
+ custom_data_center_regions:
+ description: Displays whether or not custom [data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) have been selected for meetings/webinars hosted by the account.
+ type: boolean
+ dscp_marking:
+ description: "Enable DSCP marking for signaling and media packets. (Default is 56 for audio, 40 for video, and 40 for signaling.) "
+ type: boolean
+ e2e_encryption:
+ description: Require that all meetings are encrypted using AES.
+ type: boolean
+ entry_exit_chime:
+ description: Play sound when participants join or leave.
+ type: string
+ far_end_camera_control:
+ description: Allow another user to take control of the camera during a meeting.
+ type: boolean
+ feedback:
+ description: Enable users to provide feedback to Zoom at the end of the meeting.
+ type: boolean
+ file_transfer:
+ description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for all users on the account or not.
+ type: boolean
+ group_hd:
+ description: Enable higher quality video for host and participants. This will require more bandwidth.
+ type: boolean
+ original_audio:
+ description: Allow users to select original sound during a meeting.
+ type: boolean
+ polling:
+ description: Add 'Polls' to the meeting controls. This allows the host to survey the attendees.
+ type: boolean
+ post_meeting_feedback:
+ description: Display end-of-meeting experience feedback survey.
+ type: boolean
+ private_chat:
+ description: Allow meeting participants to send a private 1:1 message to another participant.
+ type: boolean
+ remote_control:
+ description: During screen sharing, allow the person who is sharing to let others control the shared content.
+ type: boolean
+ request_permission_to_unmute:
+ description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option is enabled and locked for the account or not.
+ type: boolean
+ screen_sharing:
+ description: Allow host and participants to share their screen or content during meetings.
+ type: boolean
+ sending_default_email_invites:
+ description: Allow users to invite participants by email only by default.
+ type: boolean
+ show_meeting_control_toolbar:
+ description: Always show meeting controls during a meeting.
+ type: boolean
+ stereo_audio:
+ description: Allow users to select stereo audio during a meeting.
+ type: boolean
+ use_html_format_email:
+ description: Allow HTML formatting instead of plain text for meeting invitations scheduled with the Outlook plugin.
+ type: boolean
+ virtual_background:
+ description: Enable virtual background.
+ type: boolean
+ webinar_question_answer:
+ description: Allow attendees to ask questions for the host and panelists to answer in the webinar.
+ type: boolean
+ whiteboard:
+ description: Allow participants to share a whiteboard that includes annotation tools.
+ type: boolean
+ type: object
+ recording:
+ properties:
+ account_user_access_recording:
+ description: Make cloud recordings accessible to account members only.
+ type: boolean
+ auto_delete_cmr:
+ description: Allow Zoom to automatically delete recordings permanently after a specified number of days.
+ type: boolean
+ auto_recording:
+ description: Record meetings automatically as they start.
+ type: string
+ cloud_recording:
+ description: Allow hosts to record and save the meeting / webinar in the cloud.
+ type: boolean
+ cloud_recording_download:
+ description: Allow anyone with a link to the cloud recording to download.
+ type: boolean
+ host_delete_cloud_recording:
+ description: Allow the host to delete the recordings. If this option is disabled, the recordings cannot be deleted by the host and only admin can delete them.
+ type: boolean
+ ip_address_access_control:
+ description: |
+ Setting to allow cloud recording access only from specific IP address ranges.
+ properties:
+ enable:
+ description: |+
+ If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
+
+ type: boolean
+ ip_addresses_or_ranges:
+ description: |+
+ IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
+
+ Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
+
+ type: string
+ type: object
+ local_recording:
+ description: Allow hosts and participants to record the meeting to a local file.
+ type: boolean
+ prevent_host_access_recording:
+ description: |+
+ If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
+
+ type: boolean
+ recording_authentication:
+ description: Only authenticated users can view cloud recordings
+ type: string
+ type: object
+ schedule_meeting:
+ properties:
+ audio_type:
+ description: Determine how participants can join the audio portion of the meeting.
+ type: boolean
+ embed_password_in_join_link:
+ description: "If the value is set to `true`, the meeting password will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the password.
+
+ \ "
+ type: boolean
+ enforce_login:
+ description: |
+ Allow only signed-in users to join meetings.
+ type: boolean
+ enforce_login_domains:
+ description: |
+ Specify the domains from which users can join a meeting.
+ type: string
+ enforce_login_with_domains:
+ description: |
+ Allow only signed-in users with specified domains to join meetings.
+ type: boolean
+ host_video:
+ description: Start meetings with host video on.
+ type: boolean
+ join_before_host:
+ description: Allow participants to join the meeting before the host arrives
+ type: boolean
+ meeting_authentication:
+ description: Only authenticated users can join meetings
+ type: boolean
+ not_store_meeting_topic:
+ description: Hide actual meeting topic and display "Zoom Meeting" for your scheduled meetings
+ type: boolean
+ participant_video:
+ description: Start meetings with participant video on.
+ type: boolean
+ require_password_for_instant_meetings:
+ description: Require password for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ require_password_for_pmi_meetings:
+ description: Require participants to enter password for PMI meetings. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ require_password_for_scheduling_new_meetings:
+ description: This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ type: object
+ telephony:
+ properties:
+ telephony_regions:
+ type: boolean
+ third_party_audio:
+ description: Allow users to join the meeting using the existing 3rd party audio configuration.
+ type: boolean
+ type: object
+ tsp:
+ properties:
+ call_out:
+ description: ""
+ type: boolean
+ show_international_numbers_link:
+ description: ""
+ type: boolean
+ type: object
+ - properties:
+ meeting_security:
+ properties:
+ auto_security:
+ description: |-
+ `true`: Require that all meetings are secured with at least one security option.
+
+ This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
+ type: boolean
+ embed_password_in_join_link:
+ description: |
+ If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
+ type: boolean
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ end_to_end_encrypted_meetings:
+ description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
+ type: boolean
+ meeting_password:
+ description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
+ type: boolean
+ meeting_password_requirement:
+ description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the passcode must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar passcode needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the passcode must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided passcode is weak.
+ type: boolean
+ type: object
+ phone_password:
+ description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
+ type: boolean
+ pmi_password:
+ description: |
+ If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
+ type: boolean
+ require_password_for_scheduled_meeting:
+ description: |
+ Require a passcode for meetings which have already been scheduled.
+ type: boolean
+ require_password_for_scheduled_webinar:
+ description: |
+ Require a passcode for webinars which have already been scheduled.
+ type: boolean
+ waiting_room:
+ description: |
+ When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
+ type: boolean
+ waiting_room_settings:
+ description: Specify the settings to be applied if waiting room is enabled.
+ properties:
+ participants_to_place_in_waiting_room:
+ description: |-
+
+
+ Specify who should be admitted to the waiting room. The value of this field can be one of the following:
+ `0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ users_who_can_admit_participants_from_waiting_room:
+ description: |+
+ Specify who can admit participants from the waiting room. The value of this field can be one of the following:
+ `0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
+
+
+ type: integer
+ whitelisted_domains_for_waiting_room:
+ description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
+ type: string
+ type: object
+ webinar_password:
+ description: |
+ If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
+ type: boolean
+ type: object
+ title: Meeting/Webinar Security Settings
+ type: object
+ type: object
+ application/xml:
+ schema:
+ oneOf:
+ - properties:
+ email_notification:
+ properties:
+ alternative_host_reminder:
+ description: Notify the alternative host who is set or removed.
+ type: boolean
+ cancel_meeting_reminder:
+ description: Notify host and participants when the meeting is cancelled.
+ type: boolean
+ cloud_recording_available_reminder:
+ description: Notify host when cloud recording is available.
+ type: boolean
+ jbh_reminder:
+ description: Notify host when participants join the meeting before them.
+ type: boolean
+ schedule_for_host_reminder:
+ description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
+ type: boolean
+ type: object
+ in_meeting:
+ properties:
+ alert_guest_join:
+ description: Allow participants who belong to your account to see that a guest (someone who does not belong to your account) is participating in the meeting/webinar.
+ type: boolean
+ allow_show_zoom_windows:
+ description: Show Zoom windows during screen share.
+ type: boolean
+ annotation:
+ description: Allow participants to use annotation tools to add information to shared screens.
+ type: boolean
+ anonymous_question_answer:
+ description: ""
+ type: boolean
+ attendee_on_hold:
+ default: false
+ description: |-
+ Allow host to put attendee on hold.
+
+ **This field has been deprecated and is no longer supported.**
+ type: boolean
+ auto_answer:
+ description: Enable users to see and add contacts to 'auto-answer group' in the contact list on chat. Any call from members of this group will be automatically answered.
+ type: boolean
+ auto_saving_chat:
+ description: Automatically save all in-meeting chats.
+ type: boolean
+ breakout_room:
+ description: Allow host to split meeting participants into separate, smaller rooms.
+ type: boolean
+ chat:
+ description: Allow meeting participants to send chat message visible to all participants.
+ type: boolean
+ closed_caption:
+ description: Allow host to type closed captions or assign a participant/third party device to add closed captions.
+ type: boolean
+ co_host:
+ description: Allow the host to add co-hosts. Co-hosts have the same in-meeting controls as the host.
+ type: boolean
+ custom_data_center_regions:
+ description: Displays whether or not custom [data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) have been selected for meetings/webinars hosted by the account.
+ type: boolean
+ dscp_marking:
+ description: "Enable DSCP marking for signaling and media packets. (Default is 56 for audio, 40 for video, and 40 for signaling.) "
+ type: boolean
+ e2e_encryption:
+ description: Require that all meetings are encrypted using AES.
+ type: boolean
+ entry_exit_chime:
+ description: Play sound when participants join or leave.
+ type: string
+ far_end_camera_control:
+ description: Allow another user to take control of the camera during a meeting.
+ type: boolean
+ feedback:
+ description: Enable users to provide feedback to Zoom at the end of the meeting.
+ type: boolean
+ file_transfer:
+ description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for all users on the account or not.
+ type: boolean
+ group_hd:
+ description: Enable higher quality video for host and participants. This will require more bandwidth.
+ type: boolean
+ original_audio:
+ description: Allow users to select original sound during a meeting.
+ type: boolean
+ polling:
+ description: Add 'Polls' to the meeting controls. This allows the host to survey the attendees.
+ type: boolean
+ post_meeting_feedback:
+ description: Display end-of-meeting experience feedback survey.
+ type: boolean
+ private_chat:
+ description: Allow meeting participants to send a private 1:1 message to another participant.
+ type: boolean
+ remote_control:
+ description: During screen sharing, allow the person who is sharing to let others control the shared content.
+ type: boolean
+ request_permission_to_unmute:
+ description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option is enabled and locked for the account or not.
+ type: boolean
+ screen_sharing:
+ description: Allow host and participants to share their screen or content during meetings.
+ type: boolean
+ sending_default_email_invites:
+ description: Allow users to invite participants by email only by default.
+ type: boolean
+ show_meeting_control_toolbar:
+ description: Always show meeting controls during a meeting.
+ type: boolean
+ stereo_audio:
+ description: Allow users to select stereo audio during a meeting.
+ type: boolean
+ use_html_format_email:
+ description: Allow HTML formatting instead of plain text for meeting invitations scheduled with the Outlook plugin.
+ type: boolean
+ virtual_background:
+ description: Enable virtual background.
+ type: boolean
+ webinar_question_answer:
+ description: Allow attendees to ask questions for the host and panelists to answer in the webinar.
+ type: boolean
+ whiteboard:
+ description: Allow participants to share a whiteboard that includes annotation tools.
+ type: boolean
+ type: object
+ recording:
+ properties:
+ account_user_access_recording:
+ description: Make cloud recordings accessible to account members only.
+ type: boolean
+ auto_delete_cmr:
+ description: Allow Zoom to automatically delete recordings permanently after a specified number of days.
+ type: boolean
+ auto_recording:
+ description: Record meetings automatically as they start.
+ type: string
+ cloud_recording:
+ description: Allow hosts to record and save the meeting / webinar in the cloud.
+ type: boolean
+ cloud_recording_download:
+ description: Allow anyone with a link to the cloud recording to download.
+ type: boolean
+ host_delete_cloud_recording:
+ description: Allow the host to delete the recordings. If this option is disabled, the recordings cannot be deleted by the host and only admin can delete them.
+ type: boolean
+ ip_address_access_control:
+ description: |
+ Setting to allow cloud recording access only from specific IP address ranges.
+ properties:
+ enable:
+ description: |+
+ If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
+
+ type: boolean
+ ip_addresses_or_ranges:
+ description: |+
+ IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
+
+ Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
+
+ type: string
+ type: object
+ local_recording:
+ description: Allow hosts and participants to record the meeting to a local file.
+ type: boolean
+ prevent_host_access_recording:
+ description: |+
+ If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
+
+ type: boolean
+ recording_authentication:
+ description: Only authenticated users can view cloud recordings
+ type: string
+ type: object
+ schedule_meeting:
+ properties:
+ audio_type:
+ description: Determine how participants can join the audio portion of the meeting.
+ type: boolean
+ embed_password_in_join_link:
+ description: "If the value is set to `true`, the meeting password will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the password.
+
+ \ "
+ type: boolean
+ enforce_login:
+ description: |
+ Allow only signed-in users to join meetings.
+ type: boolean
+ enforce_login_domains:
+ description: |
+ Specify the domains from which users can join a meeting.
+ type: string
+ enforce_login_with_domains:
+ description: |
+ Allow only signed-in users with specified domains to join meetings.
+ type: boolean
+ host_video:
+ description: Start meetings with host video on.
+ type: boolean
+ join_before_host:
+ description: Allow participants to join the meeting before the host arrives
+ type: boolean
+ meeting_authentication:
+ description: Only authenticated users can join meetings
+ type: boolean
+ not_store_meeting_topic:
+ description: Hide actual meeting topic and display "Zoom Meeting" for your scheduled meetings
+ type: boolean
+ participant_video:
+ description: Start meetings with participant video on.
+ type: boolean
+ require_password_for_instant_meetings:
+ description: Require password for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ require_password_for_pmi_meetings:
+ description: Require participants to enter password for PMI meetings. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ require_password_for_scheduling_new_meetings:
+ description: This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ type: object
+ telephony:
+ properties:
+ telephony_regions:
+ type: boolean
+ third_party_audio:
+ description: Allow users to join the meeting using the existing 3rd party audio configuration.
+ type: boolean
+ type: object
+ tsp:
+ properties:
+ call_out:
+ description: ""
+ type: boolean
+ show_international_numbers_link:
+ description: ""
+ type: boolean
+ type: object
+ - properties:
+ meeting_security:
+ properties:
+ auto_security:
+ description: |-
+ `true`: Require that all meetings are secured with at least one security option.
+
+ This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
+ type: boolean
+ embed_password_in_join_link:
+ description: |
+ If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
+ type: boolean
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ end_to_end_encrypted_meetings:
+ description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
+ type: boolean
+ meeting_password:
+ description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
+ type: boolean
+ meeting_password_requirement:
+ description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the passcode must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar passcode needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the passcode must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided passcode is weak.
+ type: boolean
+ type: object
+ phone_password:
+ description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
+ type: boolean
+ pmi_password:
+ description: |
+ If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
+ type: boolean
+ require_password_for_scheduled_meeting:
+ description: |
+ Require a passcode for meetings which have already been scheduled.
+ type: boolean
+ require_password_for_scheduled_webinar:
+ description: |
+ Require a passcode for webinars which have already been scheduled.
+ type: boolean
+ waiting_room:
+ description: |
+ When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
+ type: boolean
+ waiting_room_settings:
+ description: Specify the settings to be applied if waiting room is enabled.
+ properties:
+ participants_to_place_in_waiting_room:
+ description: |-
+
+
+ Specify who should be admitted to the waiting room. The value of this field can be one of the following:
+ `0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ users_who_can_admit_participants_from_waiting_room:
+ description: |+
+ Specify who can admit participants from the waiting room. The value of this field can be one of the following:
+ `0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
+
+
+ type: integer
+ whitelisted_domains_for_waiting_room:
+ description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
+ type: string
+ type: object
+ webinar_password:
+ description: |
+ If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
+ type: boolean
+ type: object
+ title: Meeting/Webinar Security Settings
+ type: object
+ type: object
+ description: |+
+ **Error Code:** `200`
+ Only available for paid account:$accountId.
+
+ **HTTP Status Code:** `200`
+ Locked settings for the Account returned.
+
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ **Error Code:** `2001`
+ Account does not exist: $subAccountId.
+ summary: Get locked settings
+ tags:
+ - Accounts
+ parameters:
+ - in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ patch:
+ description: "[Account Locked Settings](https://support.zoom.us/hc/en-us/articles/115005269866) allow you turn settings on or off for all users in your account. No user except the account admin or account owner can change these settings. With lock settings, you force the settings on for all users. Use this API to update an account's locked settings.
+
+
+ **Note:** This API can be used by Zoom Accounts that are on a Pro or a higher plan as well accounts that have master and sub accounts options enabled.
+
+ **Prerequisites:**
+
+ * Pro or a higher paid account.
+
+
+ **Scope:** `account:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+
+
+
+ \ "
+ operationId: updateAccountLockSettings
+ parameters:
+ - description: Unique Identifier of the account. To retrieve locked settings of the master account or a regular account, provide "me" as the value of this field. To retrieve locked settings of a sub account, provide the Account ID of the sub account in this field.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - properties:
+ email_notification:
+ properties:
+ alternative_host_reminder:
+ description: Notify the alternative host who is set or removed.
+ type: boolean
+ cancel_meeting_reminder:
+ description: Notify host and participants when the meeting is cancelled.
+ type: boolean
+ cloud_recording_available_reminder:
+ description: Notify host when cloud recording is available.
+ type: boolean
+ jbh_reminder:
+ description: Notify host when participants join the meeting before them.
+ type: boolean
+ schedule_for_host_reminder:
+ description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
+ type: boolean
+ type: object
+ in_meeting:
+ properties:
+ alert_guest_join:
+ description: Allow participants who belong to your account to see that a guest (someone who does not belong to your account) is participating in the meeting/webinar.
+ type: boolean
+ allow_show_zoom_windows:
+ description: Show Zoom windows during screen share.
+ type: boolean
+ annotation:
+ description: Allow participants to use annotation tools to add information to shared screens.
+ type: boolean
+ anonymous_question_answer:
+ description: ""
+ type: boolean
+ attendee_on_hold:
+ default: false
+ description: |-
+ Allow host to put attendee on hold.
+
+ **This field has been deprecated and is no longer supported.**
+ type: boolean
+ auto_answer:
+ description: Enable users to see and add contacts to 'auto-answer group' in the contact list on chat. Any call from members of this group will be automatically answered.
+ type: boolean
+ auto_saving_chat:
+ description: Automatically save all in-meeting chats.
+ type: boolean
+ breakout_room:
+ description: Allow host to split meeting participants into separate, smaller rooms.
+ type: boolean
+ chat:
+ description: Allow meeting participants to send chat message visible to all participants.
+ type: boolean
+ closed_caption:
+ description: Allow host to type closed captions or assign a participant/third party device to add closed captions.
+ type: boolean
+ co_host:
+ description: Allow the host to add co-hosts. Co-hosts have the same in-meeting controls as the host.
+ type: boolean
+ custom_data_center_regions:
+ description: If set to `true`, account owners and admins on paid accounts can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting their real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field in the account settings. If set to `false`, the regions cannot be customized and the default regions will be used.
+ type: boolean
+ dscp_marking:
+ description: Allow users to select stereo audio during a meeting.
+ type: boolean
+ e2e_encryption:
+ description: Require that all meetings are encrypted using AES.
+ type: boolean
+ entry_exit_chime:
+ description: Play sound when participants join or leave.
+ type: string
+ far_end_camera_control:
+ description: Allow another user to take control of the camera during a meeting.
+ type: boolean
+ feedback:
+ description: Enable users to provide feedback to Zoom at the end of the meeting.
+ type: boolean
+ file_transfer:
+ description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for all users on the account or not.
+ type: boolean
+ group_hd:
+ description: Enable higher quality video for host and participants. This will require more bandwidth.
+ type: boolean
+ original_audio:
+ description: Allow users to select original sound during a meeting.
+ type: boolean
+ polling:
+ description: Add 'Polls' to the meeting controls. This allows the host to survey the attendees.
+ type: boolean
+ post_meeting_feedback:
+ description: Display end-of-meeting experience feedback survey.
+ type: boolean
+ private_chat:
+ description: Allow meeting participants to send a private 1:1 message to another participant.
+ type: boolean
+ remote_control:
+ description: During screen sharing, allow the person who is sharing to let others control the shared content.
+ type: boolean
+ request_permission_to_unmute:
+ description: Indicate whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option should be enabled and locked for the account or not.
+ type: boolean
+ screen_sharing:
+ description: Allow host and participants to share their screen or content during meetings.
+ type: boolean
+ sending_default_email_invites:
+ description: Allow users to invite participants by email only by default.
+ type: boolean
+ show_meeting_control_toolbar:
+ description: Always show meeting controls during a meeting.
+ type: boolean
+ stereo_audio:
+ description: Allow users to select stereo audio during a meeting.
+ type: boolean
+ use_html_format_email:
+ description: Allow HTML formatting instead of plain text for meeting invitations scheduled with the Outlook plugin.
+ type: boolean
+ virtual_background:
+ description: Enable virtual background.
+ type: boolean
+ webinar_question_answer:
+ description: ""
+ type: boolean
+ whiteboard:
+ description: Allow participants to share a whiteboard that includes annotation tools.
+ type: boolean
+ type: object
+ recording:
+ properties:
+ account_user_access_recording:
+ description: Make cloud recordings accessible to account members only.
+ type: boolean
+ auto_delete_cmr:
+ description: Allow Zoom to automatically delete recordings permanently after a specified number of days.
+ type: boolean
+ auto_recording:
+ description: Record meetings automatically as they start.
+ type: string
+ cloud_recording:
+ description: Allow hosts to record and save the meeting / webinar in the cloud.
+ type: boolean
+ cloud_recording_download:
+ description: Allow anyone with a link to the cloud recording to download.
+ type: boolean
+ host_delete_cloud_recording:
+ description: Allow the host to delete the recordings. If this option is disabled, the recordings cannot be deleted by the host and only admin can delete them.
+ type: boolean
+ ip_address_access_control:
+ description: |
+ Setting to allow cloud recording access only from specific IP address ranges.
+ properties:
+ enable:
+ description: |+
+ If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
+
+ type: boolean
+ ip_addresses_or_ranges:
+ description: |+
+ IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
+
+ Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
+
+ type: string
+ type: object
+ local_recording:
+ description: Allow hosts and participants to record the meeting to a local file.
+ type: boolean
+ prevent_host_access_recording:
+ description: |+
+ If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
+
+ type: boolean
+ recording_authentication:
+ type: string
+ type: object
+ schedule_meeting:
+ properties:
+ audio_type:
+ description: Determine how participants can join the audio portion of the meeting.
+ type: boolean
+ embed_password_in_join_link:
+ description: "If the value is set to `true`, the meeting password will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the password.
+
+ \ "
+ type: boolean
+ enforce_login:
+ description: Participants must always sign in before joining the scheduled meeting.
+ type: boolean
+ enforce_login_domains:
+ type: string
+ enforce_login_with_domains:
+ type: boolean
+ host_video:
+ description: Start meetings with host video on.
+ type: boolean
+ join_before_host:
+ description: Allow participants to join the meeting before the host arrives
+ type: boolean
+ meeting_authentication:
+ type: boolean
+ not_store_meeting_topic:
+ type: boolean
+ participant_video:
+ description: Start meetings with participant video on.
+ type: boolean
+ personal_meeting:
+ description: |+
+ Turn the lock setting on or off for the **Enable Personal Meeting ID** setting for an entire account.
+ `true`: Turn the **"Enable Personal Meeting ID"** setting **on** for all users in the account. Users can choose to use personal meeting ID for their meetings.
+ `false`: Turn **off** the **"Enable Personal Meeting ID"** setting. **If this setting is [disabled](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link?flash_digest=eb7ac62d8c7fb4daf285916e3e15d87537806133#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a), meetings that were scheduled with PMI by the users in the account will be invalid. Users will have to update previously scheduled PMI meetings.**
+ For Zoom Phone only: If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
+
+
+ type: boolean
+ require_password_for_instant_meetings:
+ description: Require password for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ require_password_for_pmi_meetings:
+ description: Require participants to enter password for PMI meetings. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ require_password_for_scheduling_new_meetings:
+ description: This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ type: object
+ telephony:
+ properties:
+ telephony_regions:
+ type: boolean
+ third_party_audio:
+ description: Allow users to join the meeting using the existing 3rd party audio configuration.
+ type: boolean
+ type: object
+ tsp:
+ properties:
+ call_out:
+ description: ""
+ type: boolean
+ show_international_numbers_link:
+ description: ""
+ type: boolean
+ type: object
+ - properties:
+ meeting_security:
+ properties:
+ auto_security:
+ description: |-
+ `true`: Require that all meetings are secured with at least one security option.
+
+ This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
+ type: boolean
+ embed_password_in_join_link:
+ description: |
+ If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
+ type: boolean
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ end_to_end_encrypted_meetings:
+ description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
+ type: boolean
+ meeting_password:
+ description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
+ type: boolean
+ meeting_password_requirement:
+ description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the passcode must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar passcode needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the passcode must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided passcode is weak.
+ type: boolean
+ type: object
+ phone_password:
+ description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
+ type: boolean
+ pmi_password:
+ description: |
+ If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
+ type: boolean
+ require_password_for_scheduled_meeting:
+ description: |
+ Require a passcode for meetings which have already been scheduled.
+ type: boolean
+ require_password_for_scheduled_webinar:
+ description: |
+ Require a passcode for webinars which have already been scheduled.
+ type: boolean
+ waiting_room:
+ description: |
+ When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
+ type: boolean
+ waiting_room_settings:
+ description: Specify the settings to be applied if waiting room is enabled.
+ properties:
+ participants_to_place_in_waiting_room:
+ description: |-
+
+
+ Specify who should be admitted to the waiting room. The value of this field can be one of the following:
+ `0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ users_who_can_admit_participants_from_waiting_room:
+ description: |+
+ Specify who can admit participants from the waiting room. The value of this field can be one of the following:
+ `0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
+
+
+ type: integer
+ whitelisted_domains_for_waiting_room:
+ description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
+ type: string
+ type: object
+ webinar_password:
+ description: |
+ If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
+ type: boolean
+ type: object
+ title: Meeting/Webinar Security Settings
+ type: object
+ type: object
+ multipart/form-data:
+ schema:
+ oneOf:
+ - properties:
+ email_notification:
+ properties:
+ alternative_host_reminder:
+ description: Notify the alternative host who is set or removed.
+ type: boolean
+ cancel_meeting_reminder:
+ description: Notify host and participants when the meeting is cancelled.
+ type: boolean
+ cloud_recording_available_reminder:
+ description: Notify host when cloud recording is available.
+ type: boolean
+ jbh_reminder:
+ description: Notify host when participants join the meeting before them.
+ type: boolean
+ schedule_for_host_reminder:
+ description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
+ type: boolean
+ type: object
+ in_meeting:
+ properties:
+ alert_guest_join:
+ description: Allow participants who belong to your account to see that a guest (someone who does not belong to your account) is participating in the meeting/webinar.
+ type: boolean
+ allow_show_zoom_windows:
+ description: Show Zoom windows during screen share.
+ type: boolean
+ annotation:
+ description: Allow participants to use annotation tools to add information to shared screens.
+ type: boolean
+ anonymous_question_answer:
+ description: ""
+ type: boolean
+ attendee_on_hold:
+ default: false
+ description: |-
+ Allow host to put attendee on hold.
+
+ **This field has been deprecated and is no longer supported.**
+ type: boolean
+ auto_answer:
+ description: Enable users to see and add contacts to 'auto-answer group' in the contact list on chat. Any call from members of this group will be automatically answered.
+ type: boolean
+ auto_saving_chat:
+ description: Automatically save all in-meeting chats.
+ type: boolean
+ breakout_room:
+ description: Allow host to split meeting participants into separate, smaller rooms.
+ type: boolean
+ chat:
+ description: Allow meeting participants to send chat message visible to all participants.
+ type: boolean
+ closed_caption:
+ description: Allow host to type closed captions or assign a participant/third party device to add closed captions.
+ type: boolean
+ co_host:
+ description: Allow the host to add co-hosts. Co-hosts have the same in-meeting controls as the host.
+ type: boolean
+ custom_data_center_regions:
+ description: If set to `true`, account owners and admins on paid accounts can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting their real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field in the account settings. If set to `false`, the regions cannot be customized and the default regions will be used.
+ type: boolean
+ dscp_marking:
+ description: Allow users to select stereo audio during a meeting.
+ type: boolean
+ e2e_encryption:
+ description: Require that all meetings are encrypted using AES.
+ type: boolean
+ entry_exit_chime:
+ description: Play sound when participants join or leave.
+ type: string
+ far_end_camera_control:
+ description: Allow another user to take control of the camera during a meeting.
+ type: boolean
+ feedback:
+ description: Enable users to provide feedback to Zoom at the end of the meeting.
+ type: boolean
+ file_transfer:
+ description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for all users on the account or not.
+ type: boolean
+ group_hd:
+ description: Enable higher quality video for host and participants. This will require more bandwidth.
+ type: boolean
+ original_audio:
+ description: Allow users to select original sound during a meeting.
+ type: boolean
+ polling:
+ description: Add 'Polls' to the meeting controls. This allows the host to survey the attendees.
+ type: boolean
+ post_meeting_feedback:
+ description: Display end-of-meeting experience feedback survey.
+ type: boolean
+ private_chat:
+ description: Allow meeting participants to send a private 1:1 message to another participant.
+ type: boolean
+ remote_control:
+ description: During screen sharing, allow the person who is sharing to let others control the shared content.
+ type: boolean
+ request_permission_to_unmute:
+ description: Indicate whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option should be enabled and locked for the account or not.
+ type: boolean
+ screen_sharing:
+ description: Allow host and participants to share their screen or content during meetings.
+ type: boolean
+ sending_default_email_invites:
+ description: Allow users to invite participants by email only by default.
+ type: boolean
+ show_meeting_control_toolbar:
+ description: Always show meeting controls during a meeting.
+ type: boolean
+ stereo_audio:
+ description: Allow users to select stereo audio during a meeting.
+ type: boolean
+ use_html_format_email:
+ description: Allow HTML formatting instead of plain text for meeting invitations scheduled with the Outlook plugin.
+ type: boolean
+ virtual_background:
+ description: Enable virtual background.
+ type: boolean
+ webinar_question_answer:
+ description: ""
+ type: boolean
+ whiteboard:
+ description: Allow participants to share a whiteboard that includes annotation tools.
+ type: boolean
+ type: object
+ recording:
+ properties:
+ account_user_access_recording:
+ description: Make cloud recordings accessible to account members only.
+ type: boolean
+ auto_delete_cmr:
+ description: Allow Zoom to automatically delete recordings permanently after a specified number of days.
+ type: boolean
+ auto_recording:
+ description: Record meetings automatically as they start.
+ type: string
+ cloud_recording:
+ description: Allow hosts to record and save the meeting / webinar in the cloud.
+ type: boolean
+ cloud_recording_download:
+ description: Allow anyone with a link to the cloud recording to download.
+ type: boolean
+ host_delete_cloud_recording:
+ description: Allow the host to delete the recordings. If this option is disabled, the recordings cannot be deleted by the host and only admin can delete them.
+ type: boolean
+ ip_address_access_control:
+ description: |
+ Setting to allow cloud recording access only from specific IP address ranges.
+ properties:
+ enable:
+ description: |+
+ If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
+
+ type: boolean
+ ip_addresses_or_ranges:
+ description: |+
+ IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
+
+ Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
+
+ type: string
+ type: object
+ local_recording:
+ description: Allow hosts and participants to record the meeting to a local file.
+ type: boolean
+ prevent_host_access_recording:
+ description: |+
+ If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
+
+ type: boolean
+ recording_authentication:
+ type: string
+ type: object
+ schedule_meeting:
+ properties:
+ audio_type:
+ description: Determine how participants can join the audio portion of the meeting.
+ type: boolean
+ embed_password_in_join_link:
+ description: "If the value is set to `true`, the meeting password will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the password.
+
+ \ "
+ type: boolean
+ enforce_login:
+ description: Participants must always sign in before joining the scheduled meeting.
+ type: boolean
+ enforce_login_domains:
+ type: string
+ enforce_login_with_domains:
+ type: boolean
+ host_video:
+ description: Start meetings with host video on.
+ type: boolean
+ join_before_host:
+ description: Allow participants to join the meeting before the host arrives
+ type: boolean
+ meeting_authentication:
+ type: boolean
+ not_store_meeting_topic:
+ type: boolean
+ participant_video:
+ description: Start meetings with participant video on.
+ type: boolean
+ personal_meeting:
+ description: |+
+ Turn the lock setting on or off for the **Enable Personal Meeting ID** setting for an entire account.
+ `true`: Turn the **"Enable Personal Meeting ID"** setting **on** for all users in the account. Users can choose to use personal meeting ID for their meetings.
+ `false`: Turn **off** the **"Enable Personal Meeting ID"** setting. **If this setting is [disabled](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link?flash_digest=eb7ac62d8c7fb4daf285916e3e15d87537806133#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a), meetings that were scheduled with PMI by the users in the account will be invalid. Users will have to update previously scheduled PMI meetings.**
+ For Zoom Phone only: If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
+
+
+ type: boolean
+ require_password_for_instant_meetings:
+ description: Require password for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ require_password_for_pmi_meetings:
+ description: Require participants to enter password for PMI meetings. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ require_password_for_scheduling_new_meetings:
+ description: This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ type: object
+ telephony:
+ properties:
+ telephony_regions:
+ type: boolean
+ third_party_audio:
+ description: Allow users to join the meeting using the existing 3rd party audio configuration.
+ type: boolean
+ type: object
+ tsp:
+ properties:
+ call_out:
+ description: ""
+ type: boolean
+ show_international_numbers_link:
+ description: ""
+ type: boolean
+ type: object
+ - properties:
+ meeting_security:
+ properties:
+ auto_security:
+ description: |-
+ `true`: Require that all meetings are secured with at least one security option.
+
+ This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
+ type: boolean
+ embed_password_in_join_link:
+ description: |
+ If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
+ type: boolean
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ end_to_end_encrypted_meetings:
+ description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
+ type: boolean
+ meeting_password:
+ description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
+ type: boolean
+ meeting_password_requirement:
+ description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the passcode must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar passcode needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the passcode must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided passcode is weak.
+ type: boolean
+ type: object
+ phone_password:
+ description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
+ type: boolean
+ pmi_password:
+ description: |
+ If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
+ type: boolean
+ require_password_for_scheduled_meeting:
+ description: |
+ Require a passcode for meetings which have already been scheduled.
+ type: boolean
+ require_password_for_scheduled_webinar:
+ description: |
+ Require a passcode for webinars which have already been scheduled.
+ type: boolean
+ waiting_room:
+ description: |
+ When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
+ type: boolean
+ waiting_room_settings:
+ description: Specify the settings to be applied if waiting room is enabled.
+ properties:
+ participants_to_place_in_waiting_room:
+ description: |-
+
+
+ Specify who should be admitted to the waiting room. The value of this field can be one of the following:
+ `0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ users_who_can_admit_participants_from_waiting_room:
+ description: |+
+ Specify who can admit participants from the waiting room. The value of this field can be one of the following:
+ `0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
+
+
+ type: integer
+ whitelisted_domains_for_waiting_room:
+ description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
+ type: string
+ type: object
+ webinar_password:
+ description: |
+ If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
+ type: boolean
+ type: object
+ title: Meeting/Webinar Security Settings
+ type: object
+ type: object
+ x-examples: {}
+ responses:
+ "200":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |
+ **Error Code:** `200`
+ Only available for Paid account: $accountId.
+ "204":
+ content:
+ application/json:
+ schema:
+ properties: {}
+ type: object
+ application/xml:
+ schema:
+ properties: {}
+ type: object
+ description: |-
+ **HTTP Status Code:** `204`
+ Account lock settings updated.
+ "404":
+ description: |
+ **HTTP Status Code:** `404`
+ **Error Code:** `2001`
+ TAccount does not exist: $subAccountId.
+ security:
+ - OAuth: []
+ summary: Update locked settings
+ tags:
+ - Accounts
+ "/accounts/{accountId}/managed_domains":
+ get:
+ description: |+
+ Get a sub account's [managed domains](https://support.zoom.us/hc/en-us/articles/203395207-What-is-Managed-Domain-).
+
+ **Note:** This API can be used by Zoom Accounts that are on a Pro or a higher plan as well accounts that have master and sub accounts options enabled.
+ To get managed domains of the master account, provide `me` as the value for accountId in the path parameter. Provide the sub account's Account ID as the value of accountId path parameter to get managed domains of the sub account.
+ **Prerequisites:**
+ * Pro or a higher paid account with master account option enabled.
+
+ **Scope:** `account:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+
+
+ operationId: accountManagedDomain
+ parameters:
+ - description: Unique Identifier of the account. To retrieve locked settings of the master account or a regular account, provide "me" as the value of this field. To retrieve locked settings of a sub account, provide the Account ID of the sub account in this field.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ description: List of managed domains.
+ properties:
+ domains:
+ description: List of managed domain objects.
+ items:
+ allOf:
+ - properties:
+ domain:
+ description: Domain name.
+ type: string
+ status:
+ description: Domain status.
+ type: string
+ type: object
+ type: array
+ total_records:
+ description: Total records.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ description: List of managed domains.
+ properties:
+ domains:
+ description: List of managed domain objects.
+ items:
+ allOf:
+ - properties:
+ domain:
+ description: Domain name.
+ type: string
+ status:
+ description: Domain status.
+ type: string
+ type: object
+ type: array
+ total_records:
+ description: Total records.
+ type: integer
+ type: object
+ description: |+
+ **HTTP Status Code:** `200`
+ Account managed domains returned.
+ **Error Code:** `200`
+ Only available for paid account.
+
+ "404":
+ description: |
+ **HTTP Status Code:** `404`
+ **Error Code**: `2001`
+ Account does not exist: $subAccountId.
+ security:
+ - OAuth: []
+ summary: Get managed domains
+ tags:
+ - Accounts
+ "/accounts/{accountId}/options":
+ patch:
+ description: "Update a sub account's options under the master account.
+
+
+ **Prerequisites:**
+
+ * Pro or a higher paid account with master account option enabled.
+
+ * The account making this API request must be a [master account](https://marketplace.zoom.us/docs/api-reference/master-account-apis).
+
+
+ **Scope**: `account:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+
+
+ \ "
+ operationId: accountOptionsUpdate
+ parameters:
+ - description: The account ID.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ description: Account options object.
+ properties:
+ billing_auto_renew:
+ description: Toggle whether automatic billing renewal is on or off.
+ type: boolean
+ meeting_connector_list:
+ description: |-
+ Specify the IP addresses of the Meeting Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Meeting Connectors of a master account will be shared with the sub account.
+
+
+ **Note:** This option can only be used if the value of `share_mc` is set to `true`.
+ items:
+ type: string
+ type: array
+ pay_mode:
+ default: master
+ description: Payee: `master` - master account holder pays. `sub` - Sub account holder pays.
+ enum:
+ - master
+ - sub
+ type: string
+ x-enum-descriptions:
+ - master account holder pays
+ - Sub account holder pays
+ room_connector_list:
+ description: |-
+ Specify the IP addresses of the Room Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Room Connectors of a master account will be shared with the sub account.
+
+
+ **Note:** This option can only be used if the value of `share_rc` is set to `true`.
+ items:
+ type: string
+ type: array
+ share_mc:
+ default: false
+ description: Enable/disable the option for a sub account to use shared [Meeting Connector(s)](https://support.zoom.us/hc/en-us/articles/201363093-Getting-Started-with-the-Meeting-Connector) that are set up by the master account. Meeting Connectors can only be used by On-prem users.
+ type: boolean
+ share_rc:
+ default: false
+ description: Enable/disable the option for a sub account to use shared [Virtual Room Connector(s)](https://support.zoom.us/hc/en-us/articles/202134758-Getting-Started-With-Virtual-Room-Connector) that are set up by the master account. Virtual Room Connectors can only be used by On-prem users.
+ type: boolean
+ type: object
+ multipart/form-data:
+ schema:
+ description: Account options object.
+ properties:
+ billing_auto_renew:
+ description: Toggle whether automatic billing renewal is on or off.
+ type: boolean
+ meeting_connector_list:
+ description: |-
+ Specify the IP addresses of the Meeting Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Meeting Connectors of a master account will be shared with the sub account.
+
+
+ **Note:** This option can only be used if the value of `share_mc` is set to `true`.
+ items:
+ type: string
+ type: array
+ pay_mode:
+ default: master
+ description: Payee: `master` - master account holder pays. `sub` - Sub account holder pays.
+ enum:
+ - master
+ - sub
+ type: string
+ x-enum-descriptions:
+ - master account holder pays
+ - Sub account holder pays
+ room_connector_list:
+ description: |-
+ Specify the IP addresses of the Room Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Room Connectors of a master account will be shared with the sub account.
+
+
+ **Note:** This option can only be used if the value of `share_rc` is set to `true`.
+ items:
+ type: string
+ type: array
+ share_mc:
+ default: false
+ description: Enable/disable the option for a sub account to use shared [Meeting Connector(s)](https://support.zoom.us/hc/en-us/articles/201363093-Getting-Started-with-the-Meeting-Connector) that are set up by the master account. Meeting Connectors can only be used by On-prem users.
+ type: boolean
+ share_rc:
+ default: false
+ description: Enable/disable the option for a sub account to use shared [Virtual Room Connector(s)](https://support.zoom.us/hc/en-us/articles/202134758-Getting-Started-With-Virtual-Room-Connector) that are set up by the master account. Virtual Room Connectors can only be used by On-prem users.
+ type: boolean
+ type: object
+ required: true
+ x-examples: {}
+ responses:
+ "200":
+ description: |-
+ **Error Code:** `200`
+ The pay mode cannot be updated for a sub account which already has an existing plan.
+ "204":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ meeting_connectors: string
+ pay_mode: string
+ room_connectors: string
+ share_mc: boolean
+ share_rc: boolean
+ description: |-
+ **HTTP Status Code:** `204`
+ Account options updated.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ **Error Code:** `2100` The collection method cannot be changed after the purchase is complete.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code:** `2001`
+ Account does not exist: $subAccountId.
+ security:
+ - OAuth: []
+ summary: Update options
+ tags:
+ - Accounts
+ "/accounts/{accountId}/owner":
+ parameters:
+ - in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ put:
+ description: |-
+ The current account owner can [change the owner of an account](https://support.zoom.us/hc/en-us/articles/115005686983-Change-Account-Owner) to another user on the same account. Use this API to change the owner of a sub account.
+
+ **Prerequisites**:
+ * Account owner or admin permissions of an account.
+ * The account making this API request must be on a pro or a hiigher plan with [master account](https://marketplace.zoom.us/docs/api-reference/master-account-apis) privilege.
+
+ **Scopes:** `account:write:admin` or `account:master` **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+
+
+
+ operationId: updateAccountOwner
+ parameters:
+ - description: Account Id of the account.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ email:
+ description: Email address of the new owner.
+ format: email
+ type: string
+ required:
+ - email
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ email:
+ description: Email address of the new owner.
+ format: email
+ type: string
+ required:
+ - email
+ type: object
+ x-examples:
+ application/json:
+ email: AfRxe@ugAQaOgcbRq.vczy@somemailservice.com
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204`
+ Account owner updated.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+
+ **Error Code:** `200`
+ User is not an admin or is an API user or doesn’t belong to this account: {accountId}.
+ Cannot make a user outside of your account an owner.
+ Cannot update the role of an account owner.
+ "404":
+ description: |
+ **HTTP Status Code:** `404`
+ **Error Code:** `2001`
+ Account does not exist: $subAccountId.
+ **Error Code:** `3201`
+ Cannot find a billing account for this: $accountId.
+ **Error Code:** `3211`
+ Cannot find a billing contact for this: $accountId.
+ security:
+ - OAuth: []
+ summary: Update the account owner
+ tags:
+ - Accounts
+ "/accounts/{accountId}/phone/settings":
+ parameters:
+ - in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ patch:
+ description: |-
+ Only [master account owners](https://marketplace.zoom.us/docs/api-reference/master-account-apis) can use this API to enable BYOC(Bring your own carrier) option for a sub account.
+
+ **Scope**:
+ * `phone:master`
+
+ **Prerequisites**:
+ * Business or enterprise Account.
+ operationId: updatePhoneSettings
+ parameters:
+ - description: Unique identifier of the sub account.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ byoc:
+ properties:
+ enable:
+ description: Set the value of this field to `true` to allow a sub account to add BYOC numbers from the Zoom web admin portal.
+ type: boolean
+ type: object
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ byoc:
+ properties:
+ enable:
+ description: Set the value of this field to `true` to allow a sub account to add BYOC numbers from the Zoom web admin portal.
+ type: boolean
+ type: object
+ type: object
+ x-examples:
+ application/json:
+ byoc:
+ enable: true
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |+
+ **Response HTTP code**: `204` **No Content.**
+ Updated successfully.
+
+ "401":
+ description: |-
+ **HTTP Status Code:** `401`
+
+ **Error Code:** `124`
+ Account does not exist: {accountId}.
+ security:
+ - OAuth: []
+ summary: Update BYOC settings
+ tags:
+ - Phone
+ "/accounts/{accountId}/phone/setup":
+ post:
+ description: |+
+ After assigning a Zoom phone license to an account, an admin or account owner can proceed with the [initial Zoom phone set up](https://support.zoom.us/hc/en-us/articles/360001297663-Getting-started-with-Zoom-Phone-admin-#h_5ae26a3a-290c-4a8d-b3b0-6384ed267b13) using this API.
+
+ **Scope**:
+ * `phone:write:admin` `phone:write`
+
+ **Prerequisites**:
+ * Pro or a higher paid account with master account option enabled.
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: setUpAccount
+ parameters:
+ - description: Unique identifier of the account.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ emergency_address:
+ description: Specify emergency address for the account.
+ properties:
+ address_line1:
+ description: Specify the street address.
+ type: string
+ address_line2:
+ description: Specify any building number, floor number, or unit number.
+ type: string
+ city:
+ description: City of the emergency address. Required or optional dependent on different countries.
+ type: string
+ country:
+ description: Specify the two letter [country code](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) (Alpha-2 code in ISO-3166).
+ type: string
+ state_code:
+ description: State code of the emergency address. Required or optional dependent on the country and state.
+ type: string
+ zip:
+ description: Zip code of the emergency address. Required or optional dependent on different countries.
+ type: string
+ required:
+ - country
+ - address_line1
+ type: object
+ extension_number:
+ default: "800"
+ description: Specify extension number that will be associated with the owner of the account.
+ type: string
+ required:
+ - extension_number
+ - emergency_address
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ emergency_address:
+ description: Specify emergency address for the account.
+ properties:
+ address_line1:
+ description: Specify the street address.
+ type: string
+ address_line2:
+ description: Specify any building number, floor number, or unit number.
+ type: string
+ city:
+ description: City of the emergency address. Required or optional dependent on different countries.
+ type: string
+ country:
+ description: Specify the two letter [country code](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) (Alpha-2 code in ISO-3166).
+ type: string
+ state_code:
+ description: State code of the emergency address. Required or optional dependent on the country and state.
+ type: string
+ zip:
+ description: Zip code of the emergency address. Required or optional dependent on different countries.
+ type: string
+ required:
+ - country
+ - address_line1
+ type: object
+ extension_number:
+ default: "800"
+ description: Specify extension number that will be associated with the owner of the account.
+ type: string
+ required:
+ - extension_number
+ - emergency_address
+ type: object
+ responses:
+ "201":
+ description: |-
+ **HTTP Status Codes** `201`
+ Created.
+ "400":
+ description: |-
+ **HTTP Response Code:** `400`
+
+ **Error Codes:** `300`
+ The extension number {0} that you entered is a reserved number and can not be used. Provide a different number and try again.
+ This account is not enrolled in a Zoom Phone plan. Subscribe to a Zoom Phone plan and try again.
+ The billing information could not be retrieved at this time. Retry the request again after a few seconds.
+ The country code you entered is invalid. Provide a valid country code and try again.
+ The state code you entered is invalid. Provide a valid state code and try again.
+ The city information you entered is invalid. Provide a valid city name and try again.
+ State code is required for this country.
+ City is required for this country.
+ Zip is required for this country.
+ "401":
+ description: |-
+ **HTTP Status Code:** `401`
+ Unauthorized.
+
+ **Error Code:**
+ `124` Account does not exist: {accountId}.
+ security:
+ - OAuth: []
+ summary: Set up a Zoom Phone account
+ tags:
+ - Phone
+ "/accounts/{accountId}/phone/sip_trunk/trunks":
+ post:
+ description: |+
+ Using this API, a [master account](https://marketplace.zoom.us/docs/api-reference/master-account-apis) owner can assign SIP trunk(s) to a sub account.
+
+ **Scope**:
+ * `phone:master`
+
+ **Prerequisites**:
+ * Business or enterprise Account.
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: postPhoneSIPTrunk
+ parameters:
+ - description: Unique identifier of the account.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ sip_trunks:
+ description: SIP trunk configurations.
+ items:
+ properties:
+ carrier_account:
+ description: The account associated to the carrier.
+ type: string
+ id:
+ description: Unique identifier of the master account's SIP trunk.
+ type: string
+ name:
+ default: master SIP Trunk name
+ description: |
+ The name of the SIP Trunk. If this is not used, the master SIP Trunk name will be the default.
+ type: string
+ type: object
+ maxItems: 3
+ type: array
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ sip_trunks:
+ description: SIP trunk configurations.
+ items:
+ properties:
+ carrier_account:
+ description: The account associated to the carrier.
+ type: string
+ id:
+ description: Unique identifier of the master account's SIP trunk.
+ type: string
+ name:
+ default: master SIP Trunk name
+ description: |
+ The name of the SIP Trunk. If this is not used, the master SIP Trunk name will be the default.
+ type: string
+ type: object
+ maxItems: 3
+ type: array
+ type: object
+ x-examples:
+ application/json:
+ sip_trunks:
+ - carrier_account: "9866"
+ id: "1231"
+ name: test1
+ - carrier_account: "986677"
+ id: "1234"
+ name: test2
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ sip_trunks:
+ - carrier_account: "9866"
+ id: "123111"
+ name: test1
+ - carrier_account: "986677"
+ id: "123444"
+ name: test2
+ schema:
+ properties:
+ sip_trunks:
+ items:
+ properties:
+ carrier_account:
+ description: Carrier account.
+ type: string
+ id:
+ description: Unique identifier of the SIP trunk of the sub account.
+ type: string
+ name:
+ description: Name of the SIP trunk.
+ type: string
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ properties:
+ sip_trunks:
+ items:
+ properties:
+ carrier_account:
+ description: Carrier account.
+ type: string
+ id:
+ description: Unique identifier of the SIP trunk of the sub account.
+ type: string
+ name:
+ description: Name of the SIP trunk.
+ type: string
+ type: object
+ type: array
+ type: object
+ description: |+
+ **HTTP Status Code:** `201` **Created**
+
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ SIP Trunk does not exist: {sipTruniId}
+ security:
+ - OAuth: []
+ summary: Assign SIP trunks
+ tags:
+ - Phone
+ "/accounts/{accountId}/phone/sip_trunk/trunks/{sipTrunkId}":
+ patch:
+ description: |+
+ Update details of a SIP trunk that is assigned to a sub account.
+
+ **Scope**:
+ * `phone:master`
+
+ **Prerequisites**:
+ Business or Enterprise Account.
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: updatePhoneSIPTrunk
+ parameters:
+ - description: Unique identifier of the SIP trunk.
+ in: path
+ name: sipTrunkId
+ required: true
+ schema:
+ type: string
+ - description: Unique identifier of the sub account.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ carrier_account:
+ description: Account associated with the carrier.
+ type: string
+ name:
+ description: Name of the SIP Trunk.
+ type: string
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ carrier_account:
+ description: Account associated with the carrier.
+ type: string
+ name:
+ description: Name of the SIP Trunk.
+ type: string
+ type: object
+ x-examples:
+ application/json:
+ carrier_account: re36fshedderit
+ name: Test123
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |
+ **HTTP Response Code**: `204` **No Content**
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Sip trunk does not exist: {0}.
+ security:
+ - OAuth: []
+ summary: Update SIP trunk details
+ tags:
+ - Phone
+ "/accounts/{accountId}/plans":
+ get:
+ description: "Get plan information of a sub account that is managed by a master account.
This API can only be used by master accounts that pay all billiing charges of their associated Pro or higher sub accounts. Zoom allows only [approved partners](https://marketplace.zoom.us/docs/api-reference/master-account-apis) to use master APIs and manage sub accounts' billing information. Email the partner programs team at **partner-success@zoom.us** for more details.
+
+ **Scopes:** `billing:master`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+
+
+
+ \ "
+ operationId: accountPlans
+ parameters:
+ - description: The account ID.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ plan_audio:
+ callout_countries: string
+ ddi_numbers: integer
+ premium_countries: string
+ tollfree_countries: string
+ type: string
+ plan_base:
+ hosts: integer
+ type: string
+ plan_large_meeting:
+ - hosts: integer
+ type: string
+ plan_phone:
+ plan_base:
+ callout_countries: string
+ type: string
+ plan_calling:
+ - hosts: integer
+ type: string
+ plan_number:
+ - hosts: integer
+ type: string
+ plan_recording: string
+ plan_room_connector:
+ hosts: integer
+ type: string
+ plan_webinar:
+ - hosts: integer
+ type: string
+ plan_zoom_rooms:
+ hosts: integer
+ type: string
+ schema:
+ properties:
+ plan_audio:
+ description: Additional audio conferencing plan type.
+ properties:
+ callout_countries:
+ description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
+ type: string
+ ddi_numbers:
+ description: Dedicated dial-In numbers.
+ type: integer
+ next_invoice_date:
+ description: Next invoice date for the plan.
+ type: string
+ premium_countries:
+ description: 'Premium countries: multiple values should be separated by commas. For a list of allowed values, refer to the "ID" field in the [Premium Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#premium-countries) table.'
+ type: string
+ service_effective_date:
+ description: Date at which the plan became effective on the account.
+ type: string
+ status:
+ description: Status of the plan.
+ enum:
+ - active
+ - cancel
+ - expired
+ type: string
+ tollfree_countries:
+ description: 'Toll-free countries: multiple values should separated by a comma. For a list of allowed values, refer to the "ID" field in the [Toll Free Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#toll-free-countries) table.'
+ type: string
+ type:
+ description: Additional audio conferencing plan type.
+ type: string
+ type: object
+ plan_base:
+ properties:
+ hosts:
+ description: Account base plan number of hosts. For a Pro Plan please select a value between 1 and 9. For a Business Plan please select a value between 10 and 49. For a Education Plan please select a value between 20 and 149. For a Free Trial Plan please select a value between 1 and 9999.
+ type: integer
+ next_invoice_date:
+ description: Next invoice date for the plan.
+ type: string
+ service_effective_date:
+ description: Date at which the plan became effective on the account.
+ type: string
+ status:
+ description: Status of the plan.
+ enum:
+ - active
+ - cancel
+ - expired
+ type: string
+ type:
+ description: Account base plan type.
+ type: string
+ type: object
+ plan_large_meeting:
+ items:
+ description: Account plan object.
+ properties:
+ hosts:
+ description: Account plan number of hosts.
+ type: integer
+ next_invoice_date:
+ description: Next invoice date for the plan.
+ type: string
+ service_effective_date:
+ description: Date at which the plan became effective on the account.
+ type: string
+ status:
+ description: Status of the plan.
+ enum:
+ - active
+ - cancel
+ - expired
+ type: string
+ type:
+ description: Account plan type.
+ type: string
+ type: object
+ type: array
+ plan_phone:
+ description: Phone Plan Object
+ properties:
+ plan_base:
+ description: Additional phone base plans.
+ properties:
+ callout_countries:
+ description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
+ type: string
+ next_invoice_date:
+ description: Next invoice date for the plan.
+ type: string
+ service_effective_date:
+ description: Date at which the plan became effective on the account.
+ type: string
+ status:
+ description: Status of the plan.
+ enum:
+ - active
+ - cancel
+ - expired
+ type: string
+ type:
+ description: Additional phone base plan type.
+ type: string
+ type: object
+ plan_calling:
+ description: Additional phone calling plans.
+ items:
+ properties:
+ hosts:
+ type: integer
+ next_invoice_date:
+ description: Next invoice date for the plan.
+ type: string
+ service_effective_date:
+ description: Date at which the plan became effective on the account.
+ type: string
+ status:
+ description: Status of the plan.
+ enum:
+ - active
+ - cancel
+ - expired
+ type: string
+ type:
+ description: Additional phone calling plan type.
+ type: string
+ type: object
+ type: array
+ plan_number:
+ description: Additional phone number plans.
+ items:
+ properties:
+ hosts:
+ type: integer
+ next_invoice_date:
+ description: Next invoice date for the plan.
+ type: string
+ service_effective_date:
+ description: Date at which the plan became effective on the account.
+ type: string
+ status:
+ description: Status of the plan.
+ enum:
+ - active
+ - cancel
+ - expired
+ type: string
+ type:
+ description: Additional phone number plan type.
+ type: string
+ type: object
+ type: array
+ title: PhonePlan
+ type: object
+ plan_recording:
+ description: Additional Cloud Recording plan.
+ type: string
+ plan_recording_next_invoice_date:
+ description: Next invoice date of Additional Cloud Recording plan.
+ type: string
+ plan_recording_service_effective_date:
+ description: Plan start date of Additional Cloud Recording plan.
+ type: string
+ plan_recording_status:
+ description: Status of additional Cloud Recording plan.
+ enum:
+ - Active
+ - Cancelled
+ type: string
+ plan_room_connector:
+ properties:
+ hosts:
+ description: Account plan number of hosts.
+ type: integer
+ next_invoice_date:
+ description: Next invoice date for the plan.
+ type: string
+ service_effective_date:
+ description: Date at which the plan became effective on the account.
+ type: string
+ status:
+ description: Status of the plan.
+ enum:
+ - active
+ - cancel
+ - expired
+ type: string
+ type:
+ description: Account plan type.
+ type: string
+ type: object
+ plan_webinar:
+ items:
+ description: Account plan object.
+ properties:
+ hosts:
+ description: Account plan number of hosts.
+ type: integer
+ next_invoice_date:
+ description: Next invoice date for the plan.
+ type: string
+ service_effective_date:
+ description: Date at which the plan became effective on the account.
+ type: string
+ status:
+ description: Status of the plan.
+ enum:
+ - active
+ - cancel
+ - expired
+ type: string
+ type:
+ description: Account plan type.
+ type: string
+ type: object
+ type: array
+ plan_zoom_rooms:
+ properties:
+ hosts:
+ description: Account plan number of hosts.
+ type: integer
+ next_invoice_date:
+ description: Next invoice date for the plan.
+ type: string
+ service_effective_date:
+ description: Date at which the plan became effective on the account.
+ type: string
+ status:
+ description: Status of the plan.
+ enum:
+ - active
+ - cancel
+ - expired
+ type: string
+ type:
+ description: Account plan type.
+ type: string
+ type: object
+ type: object
+ application/xml:
+ schema:
+ properties:
+ plan_audio:
+ description: Additional audio conferencing plan type.
+ properties:
+ callout_countries:
+ description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
+ type: string
+ ddi_numbers:
+ description: Dedicated dial-In numbers.
+ type: integer
+ next_invoice_date:
+ description: Next invoice date for the plan.
+ type: string
+ premium_countries:
+ description: 'Premium countries: multiple values should be separated by commas. For a list of allowed values, refer to the "ID" field in the [Premium Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#premium-countries) table.'
+ type: string
+ service_effective_date:
+ description: Date at which the plan became effective on the account.
+ type: string
+ status:
+ description: Status of the plan.
+ enum:
+ - active
+ - cancel
+ - expired
+ type: string
+ tollfree_countries:
+ description: 'Toll-free countries: multiple values should separated by a comma. For a list of allowed values, refer to the "ID" field in the [Toll Free Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#toll-free-countries) table.'
+ type: string
+ type:
+ description: Additional audio conferencing plan type.
+ type: string
+ type: object
+ plan_base:
+ properties:
+ hosts:
+ description: Account base plan number of hosts. For a Pro Plan please select a value between 1 and 9. For a Business Plan please select a value between 10 and 49. For a Education Plan please select a value between 20 and 149. For a Free Trial Plan please select a value between 1 and 9999.
+ type: integer
+ next_invoice_date:
+ description: Next invoice date for the plan.
+ type: string
+ service_effective_date:
+ description: Date at which the plan became effective on the account.
+ type: string
+ status:
+ description: Status of the plan.
+ enum:
+ - active
+ - cancel
+ - expired
+ type: string
+ type:
+ description: Account base plan type.
+ type: string
+ type: object
+ plan_large_meeting:
+ items:
+ description: Account plan object.
+ properties:
+ hosts:
+ description: Account plan number of hosts.
+ type: integer
+ next_invoice_date:
+ description: Next invoice date for the plan.
+ type: string
+ service_effective_date:
+ description: Date at which the plan became effective on the account.
+ type: string
+ status:
+ description: Status of the plan.
+ enum:
+ - active
+ - cancel
+ - expired
+ type: string
+ type:
+ description: Account plan type.
+ type: string
+ type: object
+ type: array
+ plan_phone:
+ description: Phone Plan Object
+ properties:
+ plan_base:
+ description: Additional phone base plans.
+ properties:
+ callout_countries:
+ description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
+ type: string
+ next_invoice_date:
+ description: Next invoice date for the plan.
+ type: string
+ service_effective_date:
+ description: Date at which the plan became effective on the account.
+ type: string
+ status:
+ description: Status of the plan.
+ enum:
+ - active
+ - cancel
+ - expired
+ type: string
+ type:
+ description: Additional phone base plan type.
+ type: string
+ type: object
+ plan_calling:
+ description: Additional phone calling plans.
+ items:
+ properties:
+ hosts:
+ type: integer
+ next_invoice_date:
+ description: Next invoice date for the plan.
+ type: string
+ service_effective_date:
+ description: Date at which the plan became effective on the account.
+ type: string
+ status:
+ description: Status of the plan.
+ enum:
+ - active
+ - cancel
+ - expired
+ type: string
+ type:
+ description: Additional phone calling plan type.
+ type: string
+ type: object
+ type: array
+ plan_number:
+ description: Additional phone number plans.
+ items:
+ properties:
+ hosts:
+ type: integer
+ next_invoice_date:
+ description: Next invoice date for the plan.
+ type: string
+ service_effective_date:
+ description: Date at which the plan became effective on the account.
+ type: string
+ status:
+ description: Status of the plan.
+ enum:
+ - active
+ - cancel
+ - expired
+ type: string
+ type:
+ description: Additional phone number plan type.
+ type: string
+ type: object
+ type: array
+ title: PhonePlan
+ type: object
+ plan_recording:
+ description: Additional Cloud Recording plan.
+ type: string
+ plan_recording_next_invoice_date:
+ description: Next invoice date of Additional Cloud Recording plan.
+ type: string
+ plan_recording_service_effective_date:
+ description: Plan start date of Additional Cloud Recording plan.
+ type: string
+ plan_recording_status:
+ description: Status of additional Cloud Recording plan.
+ enum:
+ - Active
+ - Cancelled
+ type: string
+ plan_room_connector:
+ properties:
+ hosts:
+ description: Account plan number of hosts.
+ type: integer
+ next_invoice_date:
+ description: Next invoice date for the plan.
+ type: string
+ service_effective_date:
+ description: Date at which the plan became effective on the account.
+ type: string
+ status:
+ description: Status of the plan.
+ enum:
+ - active
+ - cancel
+ - expired
+ type: string
+ type:
+ description: Account plan type.
+ type: string
+ type: object
+ plan_webinar:
+ items:
+ description: Account plan object.
+ properties:
+ hosts:
+ description: Account plan number of hosts.
+ type: integer
+ next_invoice_date:
+ description: Next invoice date for the plan.
+ type: string
+ service_effective_date:
+ description: Date at which the plan became effective on the account.
+ type: string
+ status:
+ description: Status of the plan.
+ enum:
+ - active
+ - cancel
+ - expired
+ type: string
+ type:
+ description: Account plan type.
+ type: string
+ type: object
+ type: array
+ plan_zoom_rooms:
+ properties:
+ hosts:
+ description: Account plan number of hosts.
+ type: integer
+ next_invoice_date:
+ description: Next invoice date for the plan.
+ type: string
+ service_effective_date:
+ description: Date at which the plan became effective on the account.
+ type: string
+ status:
+ description: Status of the plan.
+ enum:
+ - active
+ - cancel
+ - expired
+ type: string
+ type:
+ description: Account plan type.
+ type: string
+ type: object
+ type: object
+ description: |
+ **HTTP Status Code:**`200`
+ Account's plans returned.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ **Error Code:** `2100`
+ This sub account is on self pay mode.
+ "404":
+ description: |-
+ **HTTP Status Code:**`404`
+ Account does not exist: {subAccountId}.
+ summary: Get plan Information
+ tags:
+ - Billing
+ post:
+ description: "Subscribe a sub account to a Zoom plan using your master account. This API can only be used by master accounts that pay all billiing charges of their associated Pro or higher sub accounts. Zoom allows only [approved partners](https://marketplace.zoom.us/docs/api-reference/master-account-apis) to use master APIs and manage sub accounts' subscriptions. Email the partner programs team at **partner-success@zoom.us** for more details.
+
+ **Scopes**: `billing:master`
+
+ \ "
+ operationId: accountPlanCreate
+ parameters:
+ - description: The account ID.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ allOf:
+ - properties:
+ contact:
+ description: Billing Contact object.
+ properties:
+ address:
+ description: Billing Contact's address.
+ type: string
+ apt:
+ description: Billing Contact's apartment/suite.
+ type: string
+ city:
+ description: Billing Contact's city.
+ type: string
+ country:
+ description: Billing Contact's Country [ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) in abbreviated format.
+ type: string
+ email:
+ description: Billing Contact's email address.
+ type: string
+ first_name:
+ description: Billing Contact's first name.
+ type: string
+ last_name:
+ description: Billing Contact's last name.
+ type: string
+ phone_number:
+ description: Billing Contact's phone number.
+ type: string
+ state:
+ description: Billing Contact's state.
+ type: string
+ zip:
+ description: Billing Contact's zip/postal code.
+ type: string
+ required:
+ - first_name
+ - last_name
+ - email
+ - phone_number
+ - address
+ - city
+ - state
+ - zip
+ - country
+ type: object
+ type: object
+ - description: Account Plans object.
+ properties:
+ plan_audio:
+ description: Additional audio conferencing plan type.
+ properties:
+ callout_countries:
+ description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
+ type: string
+ ddi_numbers:
+ description: Dedicated dial-In numbers.
+ type: integer
+ premium_countries:
+ description: 'Premium countries: multiple values should be separated by commas. For a list of allowed values, refer to the "ID" field in the [Premium Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#premium-countries) table.'
+ type: string
+ tollfree_countries:
+ description: 'Toll-free countries: multiple values should separated by a comma. For a list of allowed values, refer to the "ID" field in the [Toll Free Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#toll-free-countries) table.'
+ type: string
+ type:
+ description: Additional audio conferencing plan type.
+ type: string
+ type: object
+ plan_base:
+ description: Account base plan object.
+ properties:
+ hosts:
+ description: Account base plan number of hosts. For a Pro Plan please select a value between 1 and 9. For a Business Plan please select a value between 10 and 49. For a Education Plan please select a value between 20 and 149. For a Free Trial Plan please select a value between 1 and 9999.
+ type: integer
+ type:
+ description: Account base plan type.
+ type: string
+ required:
+ - type
+ - hosts
+ type: object
+ plan_large_meeting:
+ description: Additional large meeting Plans.
+ items:
+ description: Account plan object.
+ properties:
+ hosts:
+ description: Account plan number of hosts.
+ type: integer
+ type:
+ description: Account plan type.
+ type: string
+ type: object
+ type: array
+ plan_phone:
+ description: Phone Plan Object
+ properties:
+ plan_base:
+ description: Additional phone base plans.
+ properties:
+ callout_countries:
+ description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
+ type: string
+ type:
+ description: Additional phone base plan type.
+ type: string
+ type: object
+ plan_calling:
+ description: Additional phone calling plans.
+ items:
+ properties:
+ hosts:
+ type: integer
+ type:
+ description: Additional phone calling plan type.
+ type: string
+ type: object
+ type: array
+ plan_number:
+ description: Additional phone number plans.
+ items:
+ properties:
+ hosts:
+ type: integer
+ type:
+ description: Additional phone number plan type.
+ type: string
+ type: object
+ type: array
+ title: PhonePlan
+ type: object
+ plan_recording:
+ description: Additional cloud recording plan.
+ type: string
+ plan_room_connector:
+ description: Account plan object.
+ properties:
+ hosts:
+ description: Account plan number of hosts.
+ type: integer
+ type:
+ description: Account plan type.
+ type: string
+ type: object
+ plan_webinar:
+ description: Additional webinar plans.
+ items:
+ description: Account plan object.
+ properties:
+ hosts:
+ description: Account plan number of hosts.
+ type: integer
+ type:
+ description: Account plan type.
+ type: string
+ type: object
+ type: array
+ plan_zoom_rooms:
+ description: Account plan object.
+ properties:
+ hosts:
+ description: Account plan number of hosts.
+ type: integer
+ type:
+ description: Account plan type.
+ type: string
+ type: object
+ required:
+ - plan_base
+ type: object
+ multipart/form-data:
+ schema:
+ allOf:
+ - properties:
+ contact:
+ description: Billing Contact object.
+ properties:
+ address:
+ description: Billing Contact's address.
+ type: string
+ apt:
+ description: Billing Contact's apartment/suite.
+ type: string
+ city:
+ description: Billing Contact's city.
+ type: string
+ country:
+ description: Billing Contact's Country [ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) in abbreviated format.
+ type: string
+ email:
+ description: Billing Contact's email address.
+ type: string
+ first_name:
+ description: Billing Contact's first name.
+ type: string
+ last_name:
+ description: Billing Contact's last name.
+ type: string
+ phone_number:
+ description: Billing Contact's phone number.
+ type: string
+ state:
+ description: Billing Contact's state.
+ type: string
+ zip:
+ description: Billing Contact's zip/postal code.
+ type: string
+ required:
+ - first_name
+ - last_name
+ - email
+ - phone_number
+ - address
+ - city
+ - state
+ - zip
+ - country
+ type: object
+ type: object
+ - description: Account Plans object.
+ properties:
+ plan_audio:
+ description: Additional audio conferencing plan type.
+ properties:
+ callout_countries:
+ description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
+ type: string
+ ddi_numbers:
+ description: Dedicated dial-In numbers.
+ type: integer
+ premium_countries:
+ description: 'Premium countries: multiple values should be separated by commas. For a list of allowed values, refer to the "ID" field in the [Premium Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#premium-countries) table.'
+ type: string
+ tollfree_countries:
+ description: 'Toll-free countries: multiple values should separated by a comma. For a list of allowed values, refer to the "ID" field in the [Toll Free Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#toll-free-countries) table.'
+ type: string
+ type:
+ description: Additional audio conferencing plan type.
+ type: string
+ type: object
+ plan_base:
+ description: Account base plan object.
+ properties:
+ hosts:
+ description: Account base plan number of hosts. For a Pro Plan please select a value between 1 and 9. For a Business Plan please select a value between 10 and 49. For a Education Plan please select a value between 20 and 149. For a Free Trial Plan please select a value between 1 and 9999.
+ type: integer
+ type:
+ description: Account base plan type.
+ type: string
+ required:
+ - type
+ - hosts
+ type: object
+ plan_large_meeting:
+ description: Additional large meeting Plans.
+ items:
+ description: Account plan object.
+ properties:
+ hosts:
+ description: Account plan number of hosts.
+ type: integer
+ type:
+ description: Account plan type.
+ type: string
+ type: object
+ type: array
+ plan_phone:
+ description: Phone Plan Object
+ properties:
+ plan_base:
+ description: Additional phone base plans.
+ properties:
+ callout_countries:
+ description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
+ type: string
+ type:
+ description: Additional phone base plan type.
+ type: string
+ type: object
+ plan_calling:
+ description: Additional phone calling plans.
+ items:
+ properties:
+ hosts:
+ type: integer
+ type:
+ description: Additional phone calling plan type.
+ type: string
+ type: object
+ type: array
+ plan_number:
+ description: Additional phone number plans.
+ items:
+ properties:
+ hosts:
+ type: integer
+ type:
+ description: Additional phone number plan type.
+ type: string
+ type: object
+ type: array
+ title: PhonePlan
+ type: object
+ plan_recording:
+ description: Additional cloud recording plan.
+ type: string
+ plan_room_connector:
+ description: Account plan object.
+ properties:
+ hosts:
+ description: Account plan number of hosts.
+ type: integer
+ type:
+ description: Account plan type.
+ type: string
+ type: object
+ plan_webinar:
+ description: Additional webinar plans.
+ items:
+ description: Account plan object.
+ properties:
+ hosts:
+ description: Account plan number of hosts.
+ type: integer
+ type:
+ description: Account plan type.
+ type: string
+ type: object
+ type: array
+ plan_zoom_rooms:
+ description: Account plan object.
+ properties:
+ hosts:
+ description: Account plan number of hosts.
+ type: integer
+ type:
+ description: Account plan type.
+ type: string
+ type: object
+ required:
+ - plan_base
+ type: object
+ required: true
+ x-examples:
+ application/json:
+ contact:
+ address: string
+ apt: string
+ city: string
+ country: string
+ email: string
+ first_name: string
+ last_name: string
+ phone_number: string
+ state: string
+ zip: string
+ plan_audio:
+ callout_countries: string
+ ddi_numbers: integer
+ premium_countries: string
+ tollfree_countries: string
+ type: string
+ plan_base:
+ hosts: integer
+ type: string
+ plan_large_meeting:
+ - hosts: integer
+ type: string
+ plan_phone:
+ plan_base:
+ callout_countries: string
+ type: string
+ plan_calling:
+ - hosts: integer
+ type: string
+ plan_number:
+ - hosts: integer
+ type: string
+ plan_recording: string
+ plan_room_connector:
+ hosts: integer
+ type: string
+ plan_webinar:
+ - hosts: integer
+ type: string
+ plan_zoom_rooms:
+ hosts: integer
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **Error Code:** `200`
+ One zuora account only can have one active billing subscription.
+ Can’t subscribe 25-participants pro plan for this sub-account.
+ Can’t subscribe 50-participants pro plan for this sub-account.
+ In order to take advantage of your account’s special pricing, please add Pro host licenses instead and they will be assigned to your Zoom Rooms automatically.
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ plan_audio:
+ callout_countries: string
+ ddi_numbers: integer
+ premium_countries: string
+ tollfree_countries: string
+ type: string
+ plan_base:
+ hosts: integer
+ type: string
+ plan_large_meeting:
+ - hosts: integer
+ type: string
+ plan_recording: string
+ plan_room_connector:
+ hosts: integer
+ type: string
+ plan_webinar:
+ - hosts: integer
+ type: string
+ plan_zoom_rooms:
+ hosts: integer
+ type: string
+ schema:
+ description: Account Plans object.
+ properties:
+ plan_audio:
+ description: Additional audio conferencing plan type.
+ properties:
+ callout_countries:
+ description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
+ type: string
+ ddi_numbers:
+ description: Dedicated dial-In numbers.
+ type: integer
+ premium_countries:
+ description: 'Premium countries: multiple values should be separated by commas. For a list of allowed values, refer to the "ID" field in the [Premium Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#premium-countries) table.'
+ type: string
+ tollfree_countries:
+ description: 'Toll-free countries: multiple values should separated by a comma. For a list of allowed values, refer to the "ID" field in the [Toll Free Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#toll-free-countries) table.'
+ type: string
+ type:
+ description: Additional audio conferencing plan type.
+ type: string
+ type: object
+ plan_base:
+ description: Account base plan object.
+ properties:
+ hosts:
+ description: Account base plan number of hosts. For a Pro Plan please select a value between 1 and 9. For a Business Plan please select a value between 10 and 49. For a Education Plan please select a value between 20 and 149. For a Free Trial Plan please select a value between 1 and 9999.
+ type: integer
+ type:
+ description: Account base plan type.
+ type: string
+ required:
+ - type
+ - hosts
+ type: object
+ plan_large_meeting:
+ description: Additional large meeting Plans.
+ items:
+ description: Account plan object.
+ properties:
+ hosts:
+ description: Account plan number of hosts.
+ type: integer
+ type:
+ description: Account plan type.
+ type: string
+ type: object
+ type: array
+ plan_phone:
+ description: Phone Plan Object
+ properties:
+ plan_base:
+ description: Additional phone base plans.
+ properties:
+ callout_countries:
+ description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
+ type: string
+ type:
+ description: Additional phone base plan type.
+ type: string
+ type: object
+ plan_calling:
+ description: Additional phone calling plans.
+ items:
+ properties:
+ hosts:
+ type: integer
+ type:
+ description: Additional phone calling plan type.
+ type: string
+ type: object
+ type: array
+ plan_number:
+ description: Additional phone number plans.
+ items:
+ properties:
+ hosts:
+ type: integer
+ type:
+ description: Additional phone number plan type.
+ type: string
+ type: object
+ type: array
+ title: PhonePlan
+ type: object
+ plan_recording:
+ description: Additional cloud recording plan.
+ type: string
+ plan_room_connector:
+ description: Account plan object.
+ properties:
+ hosts:
+ description: Account plan number of hosts.
+ type: integer
+ type:
+ description: Account plan type.
+ type: string
+ type: object
+ plan_webinar:
+ description: Additional webinar plans.
+ items:
+ description: Account plan object.
+ properties:
+ hosts:
+ description: Account plan number of hosts.
+ type: integer
+ type:
+ description: Account plan type.
+ type: string
+ type: object
+ type: array
+ plan_zoom_rooms:
+ description: Account plan object.
+ properties:
+ hosts:
+ description: Account plan number of hosts.
+ type: integer
+ type:
+ description: Account plan type.
+ type: string
+ type: object
+ required:
+ - plan_base
+ type: object
+ application/xml:
+ schema:
+ description: Account Plans object.
+ properties:
+ plan_audio:
+ description: Additional audio conferencing plan type.
+ properties:
+ callout_countries:
+ description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
+ type: string
+ ddi_numbers:
+ description: Dedicated dial-In numbers.
+ type: integer
+ premium_countries:
+ description: 'Premium countries: multiple values should be separated by commas. For a list of allowed values, refer to the "ID" field in the [Premium Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#premium-countries) table.'
+ type: string
+ tollfree_countries:
+ description: 'Toll-free countries: multiple values should separated by a comma. For a list of allowed values, refer to the "ID" field in the [Toll Free Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#toll-free-countries) table.'
+ type: string
+ type:
+ description: Additional audio conferencing plan type.
+ type: string
+ type: object
+ plan_base:
+ description: Account base plan object.
+ properties:
+ hosts:
+ description: Account base plan number of hosts. For a Pro Plan please select a value between 1 and 9. For a Business Plan please select a value between 10 and 49. For a Education Plan please select a value between 20 and 149. For a Free Trial Plan please select a value between 1 and 9999.
+ type: integer
+ type:
+ description: Account base plan type.
+ type: string
+ required:
+ - type
+ - hosts
+ type: object
+ plan_large_meeting:
+ description: Additional large meeting Plans.
+ items:
+ description: Account plan object.
+ properties:
+ hosts:
+ description: Account plan number of hosts.
+ type: integer
+ type:
+ description: Account plan type.
+ type: string
+ type: object
+ type: array
+ plan_phone:
+ description: Phone Plan Object
+ properties:
+ plan_base:
+ description: Additional phone base plans.
+ properties:
+ callout_countries:
+ description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
+ type: string
+ type:
+ description: Additional phone base plan type.
+ type: string
+ type: object
+ plan_calling:
+ description: Additional phone calling plans.
+ items:
+ properties:
+ hosts:
+ type: integer
+ type:
+ description: Additional phone calling plan type.
+ type: string
+ type: object
+ type: array
+ plan_number:
+ description: Additional phone number plans.
+ items:
+ properties:
+ hosts:
+ type: integer
+ type:
+ description: Additional phone number plan type.
+ type: string
+ type: object
+ type: array
+ title: PhonePlan
+ type: object
+ plan_recording:
+ description: Additional cloud recording plan.
+ type: string
+ plan_room_connector:
+ description: Account plan object.
+ properties:
+ hosts:
+ description: Account plan number of hosts.
+ type: integer
+ type:
+ description: Account plan type.
+ type: string
+ type: object
+ plan_webinar:
+ description: Additional webinar plans.
+ items:
+ description: Account plan object.
+ properties:
+ hosts:
+ description: Account plan number of hosts.
+ type: integer
+ type:
+ description: Account plan type.
+ type: string
+ type: object
+ type: array
+ plan_zoom_rooms:
+ description: Account plan object.
+ properties:
+ hosts:
+ description: Account plan number of hosts.
+ type: integer
+ type:
+ description: Account plan type.
+ type: string
+ type: object
+ required:
+ - plan_base
+ type: object
+ description: |-
+ **HTTP Status Code:**`201`
+ Account plans updated.
+ "300":
+ description: "**Error Code**: `300` Account can’t buy this plan.
+
+ Buy hosts must equal or larger than {minBuyHost}.
+
+ Buy hosts must equal or smaller than {maxBuyHost}.
+
+ Buy hosts must equal or smaller than 9999.
+
+ Active hosts must be equal or larger than buy hosts.
+
+ Buy hosts/active hosts must be equal or larger than {MinActiveHost}.
+
+ This bundle plan doesn’t support active host.
+
+ Invalid free trial end date time.
+
+ Invalid free trial start/end time.
+
+ Too long trial duration.
+
+ \t"
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Error Code:** `2100` Invalid parameter: first_name
+ Invalid parameter: last_name Invalid parameter: email Invalid parameter: country Invalid parameter: address
+ Invalid parameter: city Invalid parameter: phone_number Invalid parameter: state Invalid parameter: zip Invalid country parameter: {country} Invalid state parameter: {state} Invalid field: plan_bundle Can’t subscribe to base plan and bundle plan at the same time. Cannot add plan for a sub account which is paid by self. Cannot enable free trial again for sub account. You cannot add a sub account because your master account owner prevented you from adding one.
+ Cannot add plan for Sub account which is not free plan. Error getting bundle. Cannot process account. Invalid host number. Account doesn’t have the permission to purchase this plan. There was a conflict in processing this request. Zoom Room plan {planCode} is already included in the bundle plan. There was a conflict in processing this request. Room Connector plan {planCode} is already included in the bundle plan. There was a conflict in processing this request. Large meeting plan {planCode} is already included in bundle plan. There was a conflict in processing this request. Webinar plan {planCode} is already included in the bundle plan. Recording plan {planCode} conflict with bundle plan. Invalid Cloud Recording Plan: {plan_recording}
+ Audio conferencing plan {planCode} conflict with bundle plan. Invalid Audio Conferencing Plan: {planCode} At least one option from among the Toll-free, Premium and Call-out must be provided. Failed to add zuora plans Invalid Base Plan: {subAccountId} Master accounts with bulk licenses cannot provision, update, or cancel plans for sub accounts using APIs, please use the billing portal or contact Support.
+
+
+ "404":
+ description: |+
+ **HTTP Status Code:** `404` **Error Code:** `1001` User does not exist.
+ **Error Code:** `2001` Account does not exist: {subAccountId}.
+
+ summary: Subscribe plans
+ tags:
+ - Billing
+ "/accounts/{accountId}/plans/addons":
+ post:
+ description: |+
+ Subscribe a sub account to a Zoom addon plan. This API can only be used by master accounts that pay all billiing charges of their associated Pro or higher sub accounts. Zoom allows only [approved partners](https://marketplace.zoom.us/docs/api-reference/master-account-apis) to use master APIs and manage sub accounts' subscriptions. Email the partner programs team at **partner-success@zoom.us** for more details.
+ **Prerequisites:**
+ * Pro or a higher plan with master account option enabled.
+ * The sub account must be a paid account. The billing charges for the sub account must be paid by its master account.
+
+ **Scopes**: `billing:master`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+
+ operationId: accountPlanAddonCreate
+ parameters:
+ - description: The account ID.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - description: Account plan object.
+ properties:
+ hosts:
+ description: Number of hosts for this plan.
+ type: integer
+ type:
+ description: Account plan type.
+ type: string
+ required:
+ - type
+ - hosts
+ type: object
+ - description: Zoom Phone Plan Object
+ properties:
+ plan_details:
+ description: Phone Plan Object
+ properties:
+ plan_base:
+ description: Additional phone base plans.
+ properties:
+ callout_countries:
+ description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
+ type: string
+ type:
+ description: Additional phone base plan type.
+ type: string
+ type: object
+ plan_calling:
+ description: Additional phone calling plans.
+ items:
+ properties:
+ hosts:
+ type: integer
+ type:
+ description: Additional phone calling plan type.
+ type: string
+ type: object
+ type: array
+ plan_number:
+ description: Additional phone number plans.
+ items:
+ properties:
+ hosts:
+ type: integer
+ type:
+ description: Additional phone number plan type.
+ type: string
+ type: object
+ type: array
+ title: PhonePlan
+ type: object
+ type:
+ description: Zoom Phone Plan `plan_phone`
+ type: string
+ required:
+ - type
+ - plan_details
+ type: object
+ multipart/form-data:
+ schema:
+ oneOf:
+ - description: Account plan object.
+ properties:
+ hosts:
+ description: Number of hosts for this plan.
+ type: integer
+ type:
+ description: Account plan type.
+ type: string
+ required:
+ - type
+ - hosts
+ type: object
+ - description: Zoom Phone Plan Object
+ properties:
+ plan_details:
+ description: Phone Plan Object
+ properties:
+ plan_base:
+ description: Additional phone base plans.
+ properties:
+ callout_countries:
+ description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
+ type: string
+ type:
+ description: Additional phone base plan type.
+ type: string
+ type: object
+ plan_calling:
+ description: Additional phone calling plans.
+ items:
+ properties:
+ hosts:
+ type: integer
+ type:
+ description: Additional phone calling plan type.
+ type: string
+ type: object
+ type: array
+ plan_number:
+ description: Additional phone number plans.
+ items:
+ properties:
+ hosts:
+ type: integer
+ type:
+ description: Additional phone number plan type.
+ type: string
+ type: object
+ type: array
+ title: PhonePlan
+ type: object
+ type:
+ description: Zoom Phone Plan `plan_phone`
+ type: string
+ required:
+ - type
+ - plan_details
+ type: object
+ required: true
+ x-examples:
+ application/json:
+ hosts: integer
+ type: string
+ responses:
+ "201":
+ description: Account plans updated.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ **Error Code:** `2100`
+ This sub account is on self pay mode.
+ Cannot update Additional plan for a sub account under free plan.
+ Additional Zoom Rooms plan cannot be added to a sub account that already has a Zoom Rooms base plan.
+ This sub account already has the additional plan: {planCode}.
+ Master accounts with bulk licenses cannot provision, update, or cancel plans for sub accounts using APIs, please use the billing portal or contact Support.
+ "404":
+ description: |
+ **HTTP Status Code:** `404`
+ **Error Code:** `1001`
+ User does not exist.
+ **Error Code:** `2001`
+ Account does not exist: {subAccountId}.
+ summary: Subscribe additional plan
+ tags:
+ - Billing
+ put:
+ description: "Update an additional plan for a sub account.
+
+
+ This API can only be used by master accounts that pay all billiing charges of their associated Pro or higher sub accounts. Zoom allows only [approved partners](https://marketplace.zoom.us/docs/api-reference/master-account-apis) to use master APIs and manage sub accounts' subscriptions. Email the partner programs team at **partner-success@zoom.us** for more details.
+
+ **Prerequisites:**
+
+ * Pro or a higher plan with master account enabled.
+
+ * The sub account must be a paid account. The billing charges for the sub account must be paid by the master account.
+
+
+ **Scopes**: `billing:master`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+
+
+
+ \ "
+ operationId: accountPlanAddonUpdate
+ parameters:
+ - description: The account ID.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ description: Account plan object.
+ properties:
+ hosts:
+ description: Number of hosts for this plan.
+ type: integer
+ type:
+ description: Account plan type.
+ type: string
+ required:
+ - type
+ - hosts
+ type: object
+ multipart/form-data:
+ schema:
+ description: Account plan object.
+ properties:
+ hosts:
+ description: Number of hosts for this plan.
+ type: integer
+ type:
+ description: Account plan type.
+ type: string
+ required:
+ - type
+ - hosts
+ type: object
+ required: true
+ x-examples:
+ application/json:
+ hosts: integer
+ type: string
+ responses:
+ "200":
+ description: |
+ **Error Code:** `200`
+ Free trial and VIP accounts can't update sub plans.
+ You don’t have subscription for ({oldPlanCode}) yet.
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ Additional plan updated for the account.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ Plan types do not match, oldPlanType: {oldPlanType} newPlanType: {newPlanType}.
+ "400":
+ description: |
+ **HTTP Status Code:** `400`
+ **Error Code:** `2100`
+ This sub account is on self pay mode.
+ Invalid Additional Plan Type: {newPlanCode}.
+ Cannot update Additional plan for a sub account under free plan.
+ Invalid plan type.
+ Account can’t buy this product.
+ Can not subscribe/update additional Audio Conferencing Pay As You Go Plan for a sub account whose base plan is not Business/Education plan.
+ Master accounts with bulk licenses cannot provision, update, or cancel plans for sub accounts using APIs, please use the billing portal or contact Support.
+ **Error Code:** `3261`
+ Failed to change sub plan of account:{accountId}.
+ Must subscribe to a major plan first.
+ "404":
+ description: |
+ **HTTP Status Code:** `404`
+ **Error Code:** `2001`
+ Account does not exist: {subAccountId}.
+ **Error Code:** `3200`
+ Cannot find Zuora subscription for account:{subAccountId}.
+ summary: Update an additional plan
+ tags:
+ - Billing
+ "/accounts/{accountId}/plans/addons/status":
+ parameters:
+ - in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ patch:
+ description: "[Cancel additional plan](https://support.zoom.us/hc/en-us/articles/203634215-How-Do-I-Cancel-My-Subscription-) of a sub account. The cancellation does not provide refund for the current subscription. The service remains active for the current session.
+
+
+ This API can only be used by master accounts that pay all billiing charges of their associated Pro or higher sub accounts. Zoom allows only [approved partners](https://marketplace.zoom.us/docs/api-reference/master-account-apis) to use master APIs and manage sub accounts' subscriptions. Email the partner programs team at **partner-success@zoom.us** for more details.
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+
+
+ **Prerequisites:**
+
+ * Pro or a higher plan with master account option enabled.
+
+ * The sub account must be a paid account.
+
+ **Scope:** `billing:master`
+
+ \ "
+ operationId: accountPlanAddonCancel
+ requestBody:
+ content:
+ application/json:
+ schema:
+ description: Account plan object
+ properties:
+ action:
+ description: The action that needs to be taken for this sub account. Value must be set to "cancel".
+ enum:
+ - cancel
+ type: string
+ comment:
+ description: Additional comments about the cancellation decision.
+ type: string
+ reason:
+ description: The reason for the cancellation of plan. Reason options: `1` - I am no longer working remote. `2` - I had challenges getting the support I needed. `3` - Features in the Basic Free Plan are sufficient. `4` - The expense is too high. `5` - I purchased the wrong product. `6` - Paid purchase not needed right now, will repurchase in the future.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ type: integer
+ type:
+ description: Plan [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans).
+ type: string
+ type: object
+ multipart/form-data:
+ schema:
+ description: Account plan object
+ properties:
+ action:
+ description: The action that needs to be taken for this sub account. Value must be set to "cancel".
+ enum:
+ - cancel
+ type: string
+ comment:
+ description: Additional comments about the cancellation decision.
+ type: string
+ reason:
+ description: The reason for the cancellation of plan. Reason options: `1` - I am no longer working remote. `2` - I had challenges getting the support I needed. `3` - Features in the Basic Free Plan are sufficient. `4` - The expense is too high. `5` - I purchased the wrong product. `6` - Paid purchase not needed right now, will repurchase in the future.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ type: integer
+ type:
+ description: Plan [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans).
+ type: string
+ type: object
+ responses:
+ "200":
+ description: |-
+ **Error Code:** `200`
+ You cannot cancel plan for a sub account that is under a free plan.
+ You cannot perform this action because you do not have a Zoom Phone subscription for this account.
+ Free trial and VIP accounts can not cancel plans of a sub account. Contact the Zoom Support team for details.
+ You don't have a plan subscription for ({planCode}) yet..
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204`
+ Plan cancelled successfully.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ Plan type is required.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ **Error Code:** `2100`
+ This sub account is on self pay mode.
+ You cannot make cancellation requests for a bundle plan. Contact the Zoom Support team for details.
+ Master accounts with bulk licenses cannot provision, update, or cancel plans for sub accounts using APIs, please use the billing portal or contact Support.
+ "404":
+ description: |+
+ **HTTP Status Code:** `404`
+ **Error Code:** `1001`
+ User does not exist.
+ **Error Code:** `2001`
+ Account does not exist: {subAccountId}.
+
+ security:
+ - OAuth: []
+ summary: Cancel additional plans
+ tags:
+ - Billing
+ "/accounts/{accountId}/plans/base":
+ put:
+ description: "Update a base plan of a sub account.\
+
+
+ This API can only be used by master accounts that pay all billiing charges of their associated Pro or higher sub accounts. Zoom allows only [approved partners](https://marketplace.zoom.us/docs/api-reference/master-account-apis) to use master APIs and manage sub accounts' subscriptions. Email the partner programs team at **partner-success@zoom.us** for more details.
+
+ **Scopes:** `billing:master`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+
+ **Prerequisites:**
+
+ * The sub account must have a Pro or a higher plan.
+
+ \ "
+ operationId: accountPlanBaseUpdate
+ parameters:
+ - description: The account ID.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ description: Account base plan object.
+ properties:
+ hosts:
+ description: Account base plan number of hosts. For a Pro Plan please select a value between 1 and 9. For a Business Plan please select a value between 10 and 49. For a Education Plan please select a value between 20 and 149. For a Free Trial Plan please select a value between 1 and 9999.
+ type: integer
+ type:
+ description: Account base plan type.
+ type: string
+ required:
+ - type
+ - hosts
+ type: object
+ multipart/form-data:
+ schema:
+ description: Account base plan object.
+ properties:
+ hosts:
+ description: Account base plan number of hosts. For a Pro Plan please select a value between 1 and 9. For a Business Plan please select a value between 10 and 49. For a Education Plan please select a value between 20 and 149. For a Free Trial Plan please select a value between 1 and 9999.
+ type: integer
+ type:
+ description: Account base plan type.
+ type: string
+ required:
+ - type
+ - hosts
+ type: object
+ required: true
+ x-examples:
+ application/json:
+ hosts: integer
+ type: string
+ responses:
+ "200":
+ description: |+
+ **Error Code:** `200`
+ Free trial and VIP account can't update sub plan.
+ You do not have a subscription yet.
+
+ "204":
+ description: |-
+ **HTTPS Status Code:** `204`
+ Base plan updated.
+ "300":
+ description: |
+ **Error Code:** `300`
+ Insufficient number of hosts for business plan type.
+ Insufficient number of hosts for education plan type.
+ Plan types do not match, oldPlanType: {oldPlanType} newPlanType: {newPlanType}.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ **Error Code:** `2100`
+ This sub account is on self pay mode.
+ Cannot makes updates when account is subscribed to a bundle plan.
+ This account is not under a free trial plan.
+ The account currently has {0} paid users, you should change the user type to basic and reduce the number of paid users before performing this action.
+ Master accounts with bulk licenses cannot provision, update, or cancel plans for sub accounts using APIs, please use the billing portal or contact Support.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code:** `1001`
+ User does not exist.
+ **Error Code:** `2001`
+ Account does not exist: {subAccountId}.
+ summary: Update a base plan
+ tags:
+ - Billing
+ "/accounts/{accountId}/plans/base/status":
+ patch:
+ description: "[Cancel a base plan](https://support.zoom.us/hc/en-us/articles/203634215-How-Do-I-Cancel-My-Subscription-) for a sub account.
+
+
+ This API can only be used by master accounts that pay all billiing charges of their associated Pro or higher sub accounts. Zoom allows only [approved partners](https://marketplace.zoom.us/docs/api-reference/master-account-apis) to use master APIs and manage sub accounts' subscriptions. Email the partner programs team at **partner-success@zoom.us** for more details.
+
+
+ **Scopes**: `billing:master` \
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+
+ **Prerequisites:**
+
+ * The sub account must have a Pro or a higher plan.
+
+ \ "
+ operationId: accountPlanBaseDelete
+ parameters:
+ - in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ action:
+ description: The action that needs to be taken for this sub account. Value must be set to "cancel".
+ type: string
+ comment:
+ description: Additional comments about the cancellation decision.
+ type: string
+ reason:
+ description: The reason for the cancellation of plan. Reason options: `1` - I am no longer working remote. `2` - I had challenges getting the support I needed. `3` - Features in the Basic Free Plan are sufficient. `4` - The expense is too high. `5` - I purchased the wrong product. `6` - Paid purchase not needed right now, will repurchase in the future.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ type: integer
+ required:
+ - action
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ action:
+ description: The action that needs to be taken for this sub account. Value must be set to "cancel".
+ type: string
+ comment:
+ description: Additional comments about the cancellation decision.
+ type: string
+ reason:
+ description: The reason for the cancellation of plan. Reason options: `1` - I am no longer working remote. `2` - I had challenges getting the support I needed. `3` - Features in the Basic Free Plan are sufficient. `4` - The expense is too high. `5` - I purchased the wrong product. `6` - Paid purchase not needed right now, will repurchase in the future.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ type: integer
+ required:
+ - action
+ type: object
+ x-examples:
+ application/json:
+ action: cancel
+ comment: Amazing plan but I do not need it right now.
+ reason: 2
+ responses:
+ "200":
+ description: |-
+ **Error Code:** `200`
+ Cannot cancel plan for a sub account which is under free plan.
+ You don’t have a major subscription yet.
+ You should first cancel all additional subscriptions.
+ Free trial and VIP accounts can not cancel plans of a sub account. Contact the Zoom Support team for details.
+ You don't have a plan subscription for ({planCode}) yet.
+ "204":
+ content:
+ application/json:
+ schema:
+ properties: {}
+ type: object
+ application/xml:
+ schema:
+ properties: {}
+ type: object
+ description: |-
+ **HTTP Status Code:** `204`
+ Plan cancelled successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ **Error Code:** `2100`
+ This sub account is paid by self.
+ You cannot make cancellation requests for a bundle plan. Contact the Zoom Support team for details.
+ Master accounts with bulk licenses cannot provision, update, or cancel plans for sub accounts using APIs, please use the billing portal or contact Support.
+ "404":
+ description: |+
+ **HTTP Status Code:** `404`
+ **Error Code:** `1001` User does not exist.
+ **Error Code:** `2001` This account does not exist or does not belong to this master account.
+
+
+ summary: Cancel a base plan
+ tags:
+ - Billing
+ "/accounts/{accountId}/plans/usage":
+ get:
+ description: |-
+ Get information on usage of [plans](https://marketplace.zoom.us/docs/api-reference/other-references/plans) of an account. This API supports regular accounts as well as master and sub accounts. To get plan usage of a regular account, use the `account:read:admin` scope and provide “me” as the value of the `accountId` path parameter.To get plan usage of a master account, provide the keyword "me" as the value of the `accountId` path parameter and use the `billing:master` scope. To get plan usage of a sub account, provide the actual account Id of the sub account as the value of the `accountId` path parameter and use the `billing:master` scope.
+
+ **Prerequisite**:
+ Account type: master account on a paid Pro, Business or Enterprise plan.
+ **Scope:** `billing:master` for master and sub accounts. `account:read:admin` for regular Zoom accounts.
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ operationId: getPlanUsage
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ plan_base:
+ hosts: 2
+ type: monthly
+ usage: 1
+ plan_large_meeting:
+ - hosts: 1
+ type: large500_monthly
+ usage: 1
+ plan_recording:
+ free_storage: 3 GB
+ free_storage_usage: "0"
+ plan_storage: "0"
+ plan_storage_exceed: "0"
+ plan_storage_usage: "0"
+ plan_webinar:
+ - hosts: 1
+ type: webinar100_monthly
+ usage: 1
+ plan_zoom_rooms:
+ hosts: 1
+ type: zroom_monthly
+ usage: 0
+ schema:
+ properties:
+ plan_base:
+ description: The base plan subscribed for the sub account.
+ items:
+ properties:
+ hosts:
+ description: Number of hosts under the base plan.
+ type: integer
+ type:
+ description: "Type of the base plan. "
+ type: string
+ usage:
+ description: Total number of usage of this plan.
+ type: integer
+ type: object
+ type: array
+ plan_large_meeting:
+ description: Large Meeting Plan
+ items:
+ properties:
+ hosts:
+ description: "Number of hosts in this plan. "
+ type: integer
+ type:
+ description: Large meeting Plan Type
+ type: string
+ usage:
+ description: Number of usages for this account plan.
+ type: integer
+ type: object
+ type: array
+ plan_recording:
+ description: Recording Plan
+ properties:
+ free_storage:
+ description: Recording free storage.
+ type: string
+ free_storage_usage:
+ description: Amount of free storage used.
+ type: string
+ plan_storage:
+ description: Recording plan storage.
+ type: string
+ plan_storage_exceed:
+ type: string
+ plan_storage_usage:
+ description: Recording storage usage.
+ type: string
+ type:
+ description: Recording plan type.
+ type: string
+ type: object
+ plan_united:
+ description: "[Zoom United](https://zoom.us/pricing/zoom-bundles) plan."
+ properties:
+ hosts:
+ description: Number of licenses purchased.
+ type: integer
+ name:
+ description: Name of the plan.
+ type: string
+ type:
+ description: Plan [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-united-plans).
+ type: string
+ usage:
+ description: Number of licenses that are already being used.
+ type: integer
+ type: object
+ plan_webinar:
+ description: Webinar Plan
+ items:
+ properties:
+ hosts:
+ description: The number of hosts in this plan.
+ type: integer
+ type:
+ description: The type of Webinar plan for the account.
+ type: string
+ usage:
+ description: The total number of plan usage.
+ type: integer
+ type: object
+ type: array
+ plan_zoom_rooms:
+ description: Zoom Rooms Plan
+ items:
+ properties:
+ hosts:
+ description: The number of hosts in this plan.
+ type: integer
+ type:
+ description: THe plan type for Zoom room plan.
+ type: string
+ usage:
+ description: The total number of usage for this plan.
+ type: integer
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ properties:
+ plan_base:
+ description: The base plan subscribed for the sub account.
+ items:
+ properties:
+ hosts:
+ description: Number of hosts under the base plan.
+ type: integer
+ type:
+ description: "Type of the base plan. "
+ type: string
+ usage:
+ description: Total number of usage of this plan.
+ type: integer
+ type: object
+ type: array
+ plan_large_meeting:
+ description: Large Meeting Plan
+ items:
+ properties:
+ hosts:
+ description: "Number of hosts in this plan. "
+ type: integer
+ type:
+ description: Large meeting Plan Type
+ type: string
+ usage:
+ description: Number of usages for this account plan.
+ type: integer
+ type: object
+ type: array
+ plan_recording:
+ description: Recording Plan
+ properties:
+ free_storage:
+ description: Recording free storage.
+ type: string
+ free_storage_usage:
+ description: Amount of free storage used.
+ type: string
+ plan_storage:
+ description: Recording plan storage.
+ type: string
+ plan_storage_exceed:
+ type: string
+ plan_storage_usage:
+ description: Recording storage usage.
+ type: string
+ type:
+ description: Recording plan type.
+ type: string
+ type: object
+ plan_united:
+ description: "[Zoom United](https://zoom.us/pricing/zoom-bundles) plan."
+ properties:
+ hosts:
+ description: Number of licenses purchased.
+ type: integer
+ name:
+ description: Name of the plan.
+ type: string
+ type:
+ description: Plan [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-united-plans).
+ type: string
+ usage:
+ description: Number of licenses that are already being used.
+ type: integer
+ type: object
+ plan_webinar:
+ description: Webinar Plan
+ items:
+ properties:
+ hosts:
+ description: The number of hosts in this plan.
+ type: integer
+ type:
+ description: The type of Webinar plan for the account.
+ type: string
+ usage:
+ description: The total number of plan usage.
+ type: integer
+ type: object
+ type: array
+ plan_zoom_rooms:
+ description: Zoom Rooms Plan
+ items:
+ properties:
+ hosts:
+ description: The number of hosts in this plan.
+ type: integer
+ type:
+ description: THe plan type for Zoom room plan.
+ type: string
+ usage:
+ description: The total number of usage for this plan.
+ type: integer
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Plan Usage returned.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ **Error Code:** `200`
+ Only available for paid account.
+ security:
+ - OAuth: []
+ summary: Get plan usage
+ tags:
+ - Billing
+ parameters:
+ - in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ "/accounts/{accountId}/recordings":
+ get:
+ description: |
+ List [Cloud Recordings](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-Recording) available on an Account.
+
+ > To access a password protected cloud recording, add an "access_token" parameter to the download URL and provide [JWT](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app) as the value of the "access_token".
+
+ **Prerequisites**:
+ * A Pro or a higher paid plan with Cloud Recording option enabled.
+ **Scopes**: `recording:read:admin` or `account:read:admin`
+
+ If the scope `recording:read:admin` is used, the Account ID of the Account must be provided in the `accountId` path parameter to list recordings that belong to the Account. This scope only works for sub accounts.
+
+ To list recordings of a master account, the scope must be `account:read:admin` and the value of `accountId` should be `me`. **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: getAccountCloudRecording
+ parameters:
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: The start date in UTC for the monthly range for which you would like to retrieve recordings. The maximum range can be a month. If no value is provided for this field, the default will be current date. For example, if you make the API request on June 30, 2020, without providing the “from” and “to” parameters, by default the value of 'from' field will be “2020-06-30” and the value of the 'to' field will be “2020-07-01”.
+ in: query
+ name: from
+ schema:
+ format: date-time
+ type: string
+ - description: The end date for the monthly range for which you would like to retrieve recordings. The maximum range can be a month.
+ in: query
+ name: to
+ schema:
+ format: date-time
+ type: string
+ - description: Unique identifier of the account.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ from: 2019-08-19
+ meetings:
+ - account_id: lq8QK_AAAAAAAAA
+ duration: 2
+ host_email: thehostemail@somemail.com
+ host_id: uLoABCDEF_qQGIsQ
+ id: 101010101
+ recording_count: 3
+ recording_files:
+ - download_url: https://zoom.us/recording/download/abcdEFgkkkkk
+ file_size: 26966
+ file_type: M4A
+ id: 2f6bbbb-0fd7-4691-af13-aaaaaa
+ meeting_id: i9zq0MR8S/abcdef==
+ play_url: https://zoomdev.us/recording/play/abcdEFgkkkkk
+ recording_end: 2019-08-20T00:53:16Z
+ recording_start: 2019-08-20T00:51:54Z
+ recording_type: audio_only
+ status: completed
+ - download_url: https://zoom.us/recording/download/JolGd4kUpBEo44Q31BVEXrGeCdbT4-MOAAAAA
+ file_size: 37
+ file_type: CHAT
+ id: 39362666-0fd7-4691-af13-aaaaaa
+ meeting_id: i9zq0MR8S/abcdef==
+ play_url: https://zoom.us/recording/play/UpBEo44Q31BVEXrGeCdbT4-MOAAAAAAA
+ recording_end: 2019-08-20T00:53:16Z
+ recording_start: 2019-08-20T00:51:54Z
+ recording_type: chat_file
+ status: completed
+ - download_url: https://zoom.us/recording/download/5Y2YnU-56ZY4lEA5AAAABBBBBCCCCCDDDDD
+ file_size: 101679
+ file_type: MP4
+ id: K809nk-014djkfsgf-00a98c13ec783
+ meeting_id: i9zq0MR8S/abcdef==
+ play_url: https://zoom.us/recording/play/5Y2YnU-56ZY4lEA5AAAABBBBBCCCCCDDDDD
+ recording_end: 2019-08-20T00:53:16Z
+ recording_start: 2019-08-20T00:51:54Z
+ recording_type: shared_screen_with_speaker_view
+ status: completed
+ share_url: https://zoom.us/recording/share/SBDDBJKsbjdAAAAA
+ start_time: 2019-08-20T00:52:13Z
+ timezone: America/Los_Angeles
+ topic: MyTestMeeting
+ total_size: 128682
+ type: 2
+ uuid: i9zq0MR8S/abcdef==
+ next_page_token: ""
+ page_size: 30
+ to: 2019-08-20
+ schema:
+ properties:
+ from:
+ description: The start date for the monthly range for which you would like to retrieve recordings. The maximum range can be a month. If no value is provided for this field, the default will be current date. For example, if you make the API request on June 30, 2020, without providing the “from” and “to” parameters, by default the value of 'from' field will be “2020-06-30” and the value of the 'to' field will be “2020-07-01”.
+ format: date-time
+ type: string
+ meetings:
+ description: Meetings Object
+ items:
+ properties:
+ duration:
+ description: The scheduled duration of the meeting.
+ type: integer
+ host_id:
+ description: User ID of the user who is set as the host of the meeting.
+ type: string
+ id:
+ description: Meeting ID - Unique Identifier of a meeting, also known as Meeting Number.
+ type: string
+ recording_count:
+ description: The total number of recordings retrieved from the account.
+ type: integer
+ recording_files:
+ description: Recording files object
+ items:
+ properties:
+ download_url:
+ description: The URL using which the recording can be downloaded
+ type: string
+ file_size:
+ description: The size of the recording file in bytes.
+ type: number
+ file_type:
+ description: |-
+ The recording file type. The value of this field could be one of the following:
+ * `MP4`: Video file of the recording.
+ * `M4A` Audio-only file of the recording.
+ * `TB`: Timestamp file of the recording in JSON format.
+ * `TRANSCRIPT`: Transcription file of the recording in VTT format.
+ * `CHAT`: A TXT file containing in-meeting chat messages that were sent during the meeting.
+ * `CC`: File containing closed captions of the recording in VTT file format.
+ * `CSV`: File containing polling data in csv format.
+
+ A recording file object with file type of either `CC` or `TB` **does not have** the following properties:
+ `id`, `status`, `file_size`, `recording_type`, and `play_url`.
+ enum:
+ - MP4
+ - M4A
+ - CHAT
+ - TRANSCRIPT
+ - CC
+ - CSV
+ - TB
+ type: string
+ id:
+ description: Recording ID. Identifier for the recording.
+ type: string
+ meeting_id:
+ description: Universally unique identifier of the meeting instance that was being recorded.
+ type: string
+ play_url:
+ description: The URL using which recording can be played.
+ type: string
+ recording_end:
+ description: The date and time at which the recording ended.
+ type: string
+ recording_start:
+ description: The date and time at which the recording started.
+ type: string
+ recording_type:
+ description: |
+ The recording type. The value of this field can be one of the following:
+ * `shared_screen_with_speaker_view(CC)`
+ * `shared_screen_with_speaker_view`
+ * `shared_screen_with_gallery_view`
+ * `shared_screen`
+ * `active_speaker`
+ * `gallery_view`
+ * `audio_only`
+ * `audio_transcript`
+ * `chat_file`
+ * `host_video`
+ * `closed_caption`
+ * `poll`
+ * `timeline`
+ * `thumbnail`
+ enum:
+ - shared_screen_with_speaker_view(CC)
+ - shared_screen_with_speaker_view
+ - shared_screen_with_gallery_view
+ - active_speaker
+ - gallery_view
+ - shared_screen
+ - audio_only
+ - audio_transcript
+ - chat_file
+ - poll
+ - host_video
+ - closed_caption
+ - timeline
+ - thumbnail
+ type: string
+ status:
+ description: "The status of the recording, either `completed` or `processing`. "
+ enum:
+ - completed
+ - processing
+ type: string
+ type: object
+ type: array
+ start_time:
+ description: The date and time at which the meeting started.
+ format: date-time
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ total_size:
+ description: The total size of the meeting in bytes.
+ type: integer
+ uuid:
+ description: Universally Unique Identifier of a meeting instance. Each meeting instance will have its own meeting UUID.
+ type: string
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: The number of records returned within a single API call.
+ type: integer
+ to:
+ description: The end date for the monthly range for which you would like to retrieve recordings. The maximum range can be a month.
+ format: date-time
+ type: string
+ total_records:
+ description: Total number of records found for this request across all pages.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ from:
+ description: The start date for the monthly range for which you would like to retrieve recordings. The maximum range can be a month. If no value is provided for this field, the default will be current date. For example, if you make the API request on June 30, 2020, without providing the “from” and “to” parameters, by default the value of 'from' field will be “2020-06-30” and the value of the 'to' field will be “2020-07-01”.
+ format: date-time
+ type: string
+ meetings:
+ description: Meetings Object
+ items:
+ properties:
+ duration:
+ description: The scheduled duration of the meeting.
+ type: integer
+ host_id:
+ description: User ID of the user who is set as the host of the meeting.
+ type: string
+ id:
+ description: Meeting ID - Unique Identifier of a meeting, also known as Meeting Number.
+ type: string
+ recording_count:
+ description: The total number of recordings retrieved from the account.
+ type: integer
+ recording_files:
+ description: Recording files object
+ items:
+ properties:
+ download_url:
+ description: The URL using which the recording can be downloaded
+ type: string
+ file_size:
+ description: The size of the recording file in bytes.
+ type: number
+ file_type:
+ description: |-
+ The recording file type. The value of this field could be one of the following:
+ * `MP4`: Video file of the recording.
+ * `M4A` Audio-only file of the recording.
+ * `TB`: Timestamp file of the recording in JSON format.
+ * `TRANSCRIPT`: Transcription file of the recording in VTT format.
+ * `CHAT`: A TXT file containing in-meeting chat messages that were sent during the meeting.
+ * `CC`: File containing closed captions of the recording in VTT file format.
+ * `CSV`: File containing polling data in csv format.
+
+ A recording file object with file type of either `CC` or `TB` **does not have** the following properties:
+ `id`, `status`, `file_size`, `recording_type`, and `play_url`.
+ enum:
+ - MP4
+ - M4A
+ - CHAT
+ - TRANSCRIPT
+ - CC
+ - CSV
+ - TB
+ type: string
+ id:
+ description: Recording ID. Identifier for the recording.
+ type: string
+ meeting_id:
+ description: Universally unique identifier of the meeting instance that was being recorded.
+ type: string
+ play_url:
+ description: The URL using which recording can be played.
+ type: string
+ recording_end:
+ description: The date and time at which the recording ended.
+ type: string
+ recording_start:
+ description: The date and time at which the recording started.
+ type: string
+ recording_type:
+ description: |
+ The recording type. The value of this field can be one of the following:
+ * `shared_screen_with_speaker_view(CC)`
+ * `shared_screen_with_speaker_view`
+ * `shared_screen_with_gallery_view`
+ * `shared_screen`
+ * `active_speaker`
+ * `gallery_view`
+ * `audio_only`
+ * `audio_transcript`
+ * `chat_file`
+ * `host_video`
+ * `closed_caption`
+ * `poll`
+ * `timeline`
+ * `thumbnail`
+ enum:
+ - shared_screen_with_speaker_view(CC)
+ - shared_screen_with_speaker_view
+ - shared_screen_with_gallery_view
+ - active_speaker
+ - gallery_view
+ - shared_screen
+ - audio_only
+ - audio_transcript
+ - chat_file
+ - poll
+ - host_video
+ - closed_caption
+ - timeline
+ - thumbnail
+ type: string
+ status:
+ description: "The status of the recording, either `completed` or `processing`. "
+ enum:
+ - completed
+ - processing
+ type: string
+ type: object
+ type: array
+ start_time:
+ description: The date and time at which the meeting started.
+ format: date-time
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ total_size:
+ description: The total size of the meeting in bytes.
+ type: integer
+ uuid:
+ description: Universally Unique Identifier of a meeting instance. Each meeting instance will have its own meeting UUID.
+ type: string
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: The number of records returned within a single API call.
+ type: integer
+ to:
+ description: The end date for the monthly range for which you would like to retrieve recordings. The maximum range can be a month.
+ format: date-time
+ type: string
+ total_records:
+ description: Total number of records found for this request across all pages.
+ type: integer
+ type: object
+ description: |+
+ **Response Error Code:** `200`
+ Only available for Paid account.
+
+ **HTTP Status Code:** `200`
+ Recording(s) listed successfully.
+
+ "404":
+ description: |
+ **HTTP Status Code:** `400`
+ Account not found.
+
+ **Response Error Code:** `2001`
+ This account does not exist or does not belong to you: {accountId}.
+ security:
+ - OAuth: []
+ summary: List recordings of an account
+ tags:
+ - Cloud Recording
+ parameters:
+ - in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ "/accounts/{accountId}/settings":
+ get:
+ description: |-
+ Get the settings of an account.
+ To get the settings of a master account, use `me` as the value for the `accountId` path parameter.
+ **Prerequisites**:
+ * The account must be a paid account.
+ **Scopes**: `account:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: accountSettings
+ parameters:
+ - description: The account ID.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ - allowEmptyValue: true
+ description: |-
+ `meeting_authentication`: Use this query parameter to view [meeting authentication configuration](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) applied on the account. `recording_authentication`: Use this query parameter to view [recording authentication configuration](https://support.zoom.us/hc/en-us/articles/360037756671-Authentication-Profiles-for-Cloud-Recordings) applied on the account. `security`: Use this query parameter to view security settings such as password requirements for user login, two factor authentication etc., applied on the account.
+ `meeting_security`: Use this query parameter to view meeting security settings applied on the account.
+ in: query
+ name: option
+ schema:
+ enum:
+ - meeting_authentication
+ - recording_authentication
+ type: string
+ - description: |-
+ Provide the name of the field by which you would like to filter the response. For example, if you provide "host_video" as the value of this field, you will get a response similar to the following:
+ {
+ "schedule_meeting": {
+ "host_video": false
+ }
+ }
+ You can provide multiple values by separating them with commas(example: "host_video,participant_video”).
+ in: query
+ name: custom_query_fields
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ email_notification:
+ alternative_host_reminder: boolean
+ cancel_meeting_reminder: boolean
+ cloud_recording_avaliable_reminder: boolean
+ jbh_reminder: boolean
+ low_host_count_reminder: boolean
+ schedule_for_reminder: boolean
+ feature:
+ meeting_capacity: integer
+ in_meeting:
+ alert_guest_join: boolean
+ allow_show_zoom_windows: boolean
+ annotation: boolean
+ anonymous_question_answer: boolean
+ attendee_on_hold: boolean
+ auto_answer: boolean
+ auto_saving_chat: boolean
+ breakout_room: boolean
+ chat: boolean
+ closed_caption: boolean
+ co_host: boolean
+ dscp_audio: integer
+ dscp_marking: boolean
+ dscp_video: integer
+ e2e_encryption: boolean
+ entry_exit_chime: string
+ far_end_camera_control: boolean
+ feedback: boolean
+ group_hd: boolean
+ original_audio: boolean
+ p2p_connetion: boolean
+ p2p_ports: boolean
+ polling: boolean
+ ports_range: string
+ post_meeting_feedback: boolean
+ private_chat: boolean
+ record_play_own_voice: boolean
+ remote_control: boolean
+ screen_sharing: boolean
+ sending_default_email_invites: boolean
+ show_meeting_control_toolbar: boolean
+ stereo_audio: boolean
+ use_html_format_email: boolean
+ virtual_background: boolean
+ watermark: boolean
+ webinar_question_answer: boolean
+ whiteboard: boolean
+ integration:
+ box: boolean
+ dropbox: boolean
+ google_calendar: boolean
+ google_drive: boolean
+ kubi: boolean
+ microsoft_one_drive: boolean
+ recording:
+ account_user_access_recording: boolean
+ auto_delete_cmr: boolean
+ auto_delete_cmr_days: integer
+ auto_recording: string
+ cloud_recording: boolean
+ cloud_recording_download: boolean
+ cloud_recording_download_host: boolean
+ local_recording: boolean
+ record_audio_file: boolean
+ record_gallery_view: boolean
+ record_speaker_view: boolean
+ recording_audio_transcript: boolean
+ save_chat_text: boolean
+ show_timestamp: boolean
+ schedule_meeting:
+ audio_type: string
+ enforce_login: boolean
+ enforce_login_domains: string
+ enforce_login_with_domains: boolean
+ force_pmi_jbh_password: boolean
+ host_video: boolean
+ join_before_host: boolean
+ not_store_meeting_topic: boolean
+ participant_video: boolean
+ require_password_for_instant_meetings: boolean
+ require_password_for_pmi_meetings: string
+ require_password_for_scheduled_meetings: boolean
+ require_password_for_scheduling_new_meetings: boolean
+ use_pmi_for_instant_meetings: boolean
+ use_pmi_for_scheduled_meetings: boolean
+ security:
+ admin_change_name_pic: boolean
+ hide_billing_info: boolean
+ import_photos_from_devices: boolean
+ telephony:
+ audio_conference_info: string
+ third_party_audio: boolean
+ tsp:
+ call_out: boolean
+ call_out_countries:
+ - string
+ display_toll_free_numbers: boolean
+ show_international_numbers_link: boolean
+ zoom_rooms:
+ auto_start_stop_scheduled_meetings: boolean
+ cmr_for_instant_meeting: boolean
+ force_private_meeting: boolean
+ hide_host_information: boolean
+ list_meetings_with_calendar: boolean
+ start_airplay_manually: boolean
+ ultrasonic: boolean
+ upcoming_meeting_alert: boolean
+ weekly_system_restart: boolean
+ zr_post_meeting_feedback: boolean
+ schema:
+ oneOf:
+ - properties:
+ email_notification:
+ description: "Account Settings: Notification."
+ properties:
+ alternative_host_reminder:
+ description: Notify when an alternative host is set or removed from a meeting.
+ type: boolean
+ cancel_meeting_reminder:
+ description: Notify the host and participants when a meeting is cancelled.
+ type: boolean
+ cloud_recording_avaliable_reminder:
+ description: Notify host when cloud recording is available.
+ type: boolean
+ jbh_reminder:
+ description: Notify the host when participants join the meeting before them.
+ type: boolean
+ low_host_count_reminder:
+ description: Notify user when host licenses are running low.
+ type: boolean
+ schedule_for_reminder:
+ description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
+ type: boolean
+ type: object
+ feature:
+ description: "Account Settings: Feature."
+ properties:
+ meeting_capacity:
+ description: Set the maximum number of participants a host can have in a single meeting.
+ type: integer
+ type: object
+ in_meeting:
+ description: "Account Settings: In Meeting."
+ properties:
+ alert_guest_join:
+ description: Identify guest participants in a meeting or webinar.
+ type: boolean
+ allow_live_streaming:
+ description: Allow live streaming.
+ type: boolean
+ allow_participants_to_rename:
+ description: |
+ If the value of this field is set to `true`, meeting participants and webinar panelists can be allowed to rename themselves during a meeting or a webinar.
+ type: boolean
+ allow_show_zoom_windows:
+ description: "Show the Zoom desktop application when sharing screens. "
+ type: boolean
+ annotation:
+ description: Allow participants to use annotation tools to add information to shared screens.
+ type: boolean
+ anonymous_question_answer:
+ description: Allow an anonymous Q&A in a webinar.
+ type: boolean
+ attendee_on_hold:
+ default: false
+ description: |-
+ Allow host to put attendee on hold.
+
+ **This field has been deprecated and is no longer supported.**
+ type: boolean
+ auto_answer:
+ description: Enable users to see and add contacts to the "auto-answer group" in the chat contact list. Any call from members of this group will automatically be answered.
+ type: boolean
+ auto_saving_chat:
+ description: Automatically save all in-meeting chats so that the host does not need to manually save the chat transcript after the meeting starts.
+ type: boolean
+ breakout_room:
+ description: Allow host to split meeting participants into separate, smaller rooms.
+ type: boolean
+ chat:
+ description: Allow meeting participants to send a message that is visible to all participants.
+ type: boolean
+ closed_caption:
+ description: "Allow a host to type closed captions. Enable a host to assign a participant or third party device to add closed captions. "
+ type: boolean
+ co_host:
+ description: Allow the host to add co-hosts.
+ type: boolean
+ custom_data_center_regions:
+ description: If set to `true`, account owners and admins on paid accounts can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting their real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
+ type: boolean
+ custom_live_streaming_service:
+ description: Custom live streaming.
+ type: boolean
+ custom_service_instructions:
+ description: Custom service instructions.
+ type: string
+ data_center_regions:
+ description: |
+ If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["EU", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
+ enum:
+ - EU
+ - HK
+ - AU
+ - IN
+ - TY
+ - CN
+ - US
+ - CA
+ items:
+ type: string
+ type: array
+ dscp_audio:
+ description: DSCP audio.
+ maximum: 63
+ minimum: 1
+ type: integer
+ dscp_marking:
+ description: DSCP marking.
+ type: boolean
+ dscp_video:
+ description: DSCP video.
+ maximum: 63
+ minimum: 1
+ type: integer
+ e2e_encryption:
+ description: Zoom requires encryption for all data between the Zoom cloud, Zoom client, and Zoom Room. Require encryption for 3rd party endpoints (H323/SIP).
+ type: boolean
+ entry_exit_chime:
+ description: Play sound when participants join or leave. `host` - Heard by host only. `all` - Heard by host and all attendees. `none` - Disable.
+ enum:
+ - host
+ - all
+ - none
+ type: string
+ x-enum-descriptions:
+ - Heard by host only
+ - Heard by host and all attendees
+ - Disable
+ far_end_camera_control:
+ description: Allow another user to take control of your camera during a meeting.
+ type: boolean
+ feedback:
+ description: Add a "Feedback" tab to the Windows Settings or Mac Preferences dialog. Enable users to provide feedback to Zoom at the end of the meeting.
+ type: boolean
+ file_transfer:
+ description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled on the account or not.
+ type: boolean
+ group_hd:
+ description: |-
+ Activate higher quality video for host and participants.
+ Please note: This will use more bandwidth.
+ type: boolean
+ meeting_reactions:
+ description: |-
+ Enable or disable meeting reactions.
+ `true`: Allow meeting participants to communicate without interrupting by reacting with an emoji that shows on their video.
+ `false`: Do not enable meeting reactions.
+ type: boolean
+ original_audio:
+ description: Allow users to select original sound in their client settings.
+ type: boolean
+ p2p_connetion:
+ description: Peer to peer connection while only two people are in a meeting.
+ type: boolean
+ p2p_ports:
+ description: Peer to peer listening ports range.
+ type: boolean
+ polling:
+ description: Add "Polls" to the meeting controls.
+ type: boolean
+ ports_range:
+ default: ""
+ description: The listening ports range, separated by a comma (ex 55,56). The ports range must be between 1 to 65535.
+ type: string
+ post_meeting_feedback:
+ description: Display a thumbs up or down survey at the end of each meeting.
+ type: boolean
+ private_chat:
+ description: Allow a meeting participant to send a private message to another participant.
+ type: boolean
+ record_play_own_voice:
+ description: Record and play their own voice.
+ type: boolean
+ remote_control:
+ description: Allow users to request remote control.
+ type: boolean
+ request_permission_to_unmute:
+ description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the account or not.
+ type: boolean
+ screen_sharing:
+ description: Allow screen sharing.
+ type: boolean
+ sending_default_email_invites:
+ description: Only show the default email when sending email invites.
+ type: boolean
+ show_a_join_from_your_browser_link:
+ description: If the value of this field is set to `true`, you will allow participants to join a meeting directly from their browser and bypass the Zoom application download process. This is a workaround for participants who are unable to download, install, or run applications. Note that the meeting experience from the browser is limited.
+ type: boolean
+ show_meeting_control_toolbar:
+ description: Always show the meeting control toolbar.
+ type: boolean
+ stereo_audio:
+ description: Allow users to select stereo audio in their client settings.
+ type: boolean
+ use_html_format_email:
+ description: Use HTML formatted email for the Outlook plugin.
+ type: boolean
+ virtual_background:
+ description: Allow users to replace their background with any selected image. Choose or upload an image in the Zoom desktop application settings.
+ type: boolean
+ virtual_background_settings:
+ description: Settings to manage virtual background.
+ properties:
+ allow_upload_custom:
+ description: Allow users to upload custom backgrounds.
+ type: boolean
+ allow_videos:
+ description: Allow use of videos for virtual backgrounds.
+ type: boolean
+ enable:
+ description: Enable virtual background.
+ type: boolean
+ files:
+ items:
+ properties:
+ id:
+ description: Unique identifier of the file.
+ type: string
+ is_default:
+ description: Indicates whether or not this file is the default virtual background file.
+ type: boolean
+ name:
+ description: File name.
+ type: string
+ size:
+ description: File size.
+ type: string
+ type:
+ description: File type.
+ type: string
+ type: object
+ type: array
+ type: object
+ watermark:
+ description: Add a watermark when viewing a shared screen.
+ type: boolean
+ webinar_question_answer:
+ description: Allow a Q&A in a webinar.
+ type: boolean
+ whiteboard:
+ description: Allow participants to share a whiteboard that includes annotation tools.
+ type: boolean
+ who_can_share_screen:
+ description: |
+ Indicates who can share their screen or content during meetings. The value can be one of the following:
+ `host`: Only host can share the screen.
+ `all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ who_can_share_screen_when_someone_is_sharing:
+ description: |
+ Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
+ `host`: Only a host can share the screen when someone else is sharing.
+ `all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ workplace_by_facebook:
+ description: Workplace by facebook.
+ type: boolean
+ type: object
+ integration:
+ description: "Account Settings: Integration."
+ properties:
+ box:
+ description: Enable users who join a meeting from their mobile device to share content from their Box account.
+ type: boolean
+ dropbox:
+ description: Enable users who join a meeting from their mobile device to share content from their Dropbox account.
+ type: boolean
+ google_calendar:
+ description: Enable meetings to be scheduled using Google Calendar.
+ type: boolean
+ google_drive:
+ description: Enable users who join a meeting from their mobile device to share content from their Google Drive.
+ type: boolean
+ kubi:
+ description: Enable users to control a connected Kubi device from within a Zoom meeting.
+ type: boolean
+ microsoft_one_drive:
+ description: Enable users who join a meeting from their mobile device to share content from their Microsoft OneDrive account.
+ type: boolean
+ type: object
+ profile:
+ properties:
+ recording_storage_location:
+ properties:
+ allowed_values:
+ description: |-
+ Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
+
+ Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
+ items:
+ type: string
+ type: array
+ value:
+ description: Abbreviated country code.
+ type: string
+ type: object
+ title: Profile
+ type: object
+ recording:
+ description: "Account Settings: Recording."
+ properties:
+ account_user_access_recording:
+ description: Cloud recordings are only accessible to account members. People outside of your organization cannot open links that provide access to cloud recordings.
+ type: boolean
+ allow_recovery_deleted_cloud_recordings:
+ description: |-
+ Allow recovery of deleted cloud recordings from trash.
+ If the value of this field is set to `true`, deleted cloud recordings will be kept in trash for 30 days after deletion and can be recovered within that period.
+ type: boolean
+ archive:
+ description: "[Archiving solution](https://support.zoom.us/hc/en-us/articles/360050431572-Archiving-Meeting-and-Webinar-data) settings. This setting can only be used if you have been granted with archiving solution access by the Zoom support team."
+ properties:
+ enable:
+ description: Enable the archiving feature.
+ type: boolean
+ settings:
+ properties:
+ audio_file:
+ description: Include in-meeting and/or in-webinar audio in the archive.
+ type: boolean
+ cc_transcript_file:
+ description: Include closed caption or transcript in the archive.
+ type: boolean
+ chat_file:
+ description: Include in-meeting chat in the archive.
+ type: boolean
+ chat_with_sender_email:
+ description: Include user email in in-meeting chat file.
+ type: boolean
+ video_file:
+ description: Include in-meeting and/or in-webinar video in the archive.
+ type: boolean
+ type: object
+ type:
+ description: |-
+ Archive types:
+
+ * `1`: Only meetings are archived.
+ * `2`: Only webinars are archived.
+ * `3`: Both meetings and webinars are archived.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ type: object
+ auto_delete_cmr:
+ description: Allow Zoom to permanantly delete recordings automatically after a specified number of days.
+ type: boolean
+ auto_delete_cmr_days:
+ description: When `auto_delete_cmr` function is 'true' this value will set the number of days before the auto deletion of cloud recordings.
+ type: integer
+ auto_recording:
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record on local
+ - Record on cloud
+ - Disabled
+ cloud_recording:
+ description: Allow hosts to record and save the meeting in the cloud.
+ type: boolean
+ cloud_recording_download:
+ description: Cloud recording downloads.
+ type: boolean
+ cloud_recording_download_host:
+ description: Only the host can download cloud recordings.
+ type: boolean
+ host_delete_cloud_recording:
+ description: |
+ If the value of this field is set to `true`, hosts will be able to delete the recordings. If this option is set to `false`, the recordings cannot be deleted by the host and only admin can delete them.
+ type: boolean
+ ip_address_access_control:
+ description: |
+ Setting to allow cloud recording access only from specific IP address ranges.
+ properties:
+ enable:
+ description: |+
+ If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
+
+ type: boolean
+ ip_addresses_or_ranges:
+ description: |+
+ IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
+
+ Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
+
+ type: string
+ type: object
+ local_recording:
+ description: Allow hosts and participants to record the meeting using a local file.
+ type: boolean
+ prevent_host_access_recording:
+ description: |
+ If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
+ type: boolean
+ record_audio_file:
+ description: Record an audio only file.
+ type: boolean
+ record_gallery_view:
+ description: Record the gallery view with a shared screen.
+ type: boolean
+ record_speaker_view:
+ description: Record the active speaker with a shared screen.
+ type: boolean
+ recording_audio_transcript:
+ description: Automatically transcribe the audio of the meeting or webinar to the cloud.
+ type: boolean
+ recording_disclaimer:
+ description: |
+ Show a disclaimer to participants before a recording starts
+ type: boolean
+ recording_password_requirement:
+ description: This object represents the minimum password requirements set for recordings via Account Recording Settings.
+ properties:
+ have_letter:
+ description: Indicates whether or not password must contain at least one alphabetical letter (a, b, c..).
+ type: boolean
+ have_number:
+ description: Indicates whether or not password must contain at least one number(1, 2, 3..).
+ type: boolean
+ have_special_character:
+ description: "Indicates whether or not password must contain at least one special character(!, @, #..)."
+ type: boolean
+ length:
+ description: Minimum required length for the password.
+ maximum: 10
+ type: integer
+ only_allow_numeric:
+ description: Indicates whether or not password must contain only numeric characters.
+ type: boolean
+ type: object
+ required_password_for_existing_cloud_recordings:
+ description: Require a passcode to access existing cloud recordings.
+ type: boolean
+ save_chat_text:
+ description: Save the chat text from the meeting.
+ type: boolean
+ show_timestamp:
+ description: Add a timestamp to the recording.
+ type: boolean
+ type: object
+ schedule_meeting:
+ description: "Account Settings: Schedule Meeting."
+ properties:
+ audio_type:
+ default: both
+ description: Determine how participants can join the audio portion of the meeting. `both` - Telephony and VoIP. `telephony` - Audio PSTN telephony only. `voip` - VoIP only. `thirdParty` - 3rd party audio conference.
+ enum:
+ - both
+ - telephony
+ - voip
+ - thirdParty
+ type: string
+ x-enum-descriptions:
+ - Telephony and VoIP
+ - Audio PSTN telephony only
+ - VoIP only
+ - 3rd party audio conference
+ enforce_login:
+ description: Only Zoom users who are signed in can join meetings.
+ type: boolean
+ enforce_login_domains:
+ description: "Only signed in users with a specified domain can join the meeting. "
+ type: string
+ enforce_login_with_domains:
+ description: Only signed in users with a specific domain can join meetings.
+ type: boolean
+ force_pmi_jbh_password:
+ description: Require a password for Personal Meetings if attendees can join before host.
+ type: boolean
+ host_video:
+ description: Start meetings with the host video on.
+ type: boolean
+ join_before_host:
+ description: Allow participants to join the meeting before the host arrives.
+ type: boolean
+ meeting_password_requirement:
+ description: Account wide meeting/webinar [password requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the password must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the password must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the password must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the password must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar password needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the password must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided password is weak.
+ type: boolean
+ type: object
+ not_store_meeting_topic:
+ description: Always display "Zoom Meeting" as the meeting topic.
+ type: boolean
+ participant_video:
+ description: Start meetings with the participant video on. Participants can change this setting during the meeting.
+ type: boolean
+ personal_meeting:
+ description: |+
+ Personal Meeting Setting.
+ `true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
+ `false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
+ For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
+
+
+ type: boolean
+ require_password_for_instant_meetings:
+ description: |
+ Require a password for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ require_password_for_pmi_meetings:
+ description: |
+ Require a password for a meeting held using Personal Meeting ID (PMI) This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ enum:
+ - jbh_only
+ - all
+ - none
+ type: string
+ x-enum-descriptions:
+ - Only meetings with Join Before Host enabled
+ - All meetings using PMI
+ - Disabled
+ require_password_for_scheduled_meetings:
+ description: |
+ Require a password for meetings which have already been scheduled
+ type: boolean
+ require_password_for_scheduling_new_meetings:
+ description: Require a password when scheduling new meetings. This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ use_pmi_for_instant_meetings:
+ description: |
+ Use Personal Meeting ID (PMI) when starting an instant meeting
+ type: boolean
+ use_pmi_for_scheduled_meetings:
+ description: |
+ Use Personal Meeting ID (PMI) when scheduling a meeting
+ type: boolean
+ type: object
+ security:
+ description: "[Security settings](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) of an Account."
+ properties:
+ admin_change_name_pic:
+ description: Only account administrators can change a user's username and picture.
+ type: boolean
+ hide_billing_info:
+ description: Hide billing information.
+ type: boolean
+ import_photos_from_devices:
+ description: Allow users to import photos from a photo library on a device.
+ type: boolean
+ password_requirement:
+ description: "This object refers to the [enhanced password rules](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) that allows Zoom account admins and owners to apply extra requiremets to the users' Zoom login password. "
+ properties:
+ consecutive_characters_length:
+ description: |-
+
+ Specify the max length of consecutive characters(abcde...) that can be used in a password.
+ If you set the value of this field to `0`, no restriction will be applied on consecutive characters.
+
+ If you would like to set this restriction, you can specify a number between 4 and 8 that define the maximum allowed length for consecutive characters in a password.
+
+ The max allowed length will be `n-1` where `n` refers to the value you provide for this field. For instance, if you provide `4` as the value, there can only be a maximum of `3` consecutive characters in a password(example: abc1x@8fdh).
+ type: integer
+ have_special_character:
+ description: "If the value of this field is set to `true`, the password must have at least one special character(!, @, #...)."
+ type: boolean
+ minimum_password_length:
+ description: Specify a minimum length for the password. The password length can be from a minimum of 9 characters, up to 14 characters. If you provide `0` as the value of this field, this field will be disabled and not be used and the basic password length requirement (minimum of 8 characters) will be applied for the requirement.
+ maximum: 14
+ minimum: 8
+ type: integer
+ weak_enhance_detection:
+ description: If the value of this field is set to `true`, user passwords will have to pass detection through a weak password dictionary in case hackers use simple passwords to sign in to your users’ accounts.
+ type: boolean
+ type: object
+ sign_again_period_for_inactivity_on_client:
+ description: |
+ Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Client app after a set amount of time.
+
+ If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Client. The value for the period of inactivity can be one of the following:
+
+ `5`: 5 minutes
+ `10`: 10 minutes
+ `15`: 15 minutes
+ `30`: 30 minutes
+ `45`: 45 minutes
+ `60`: 60 minutes
+ `90`: 90 minutes
+ `120`: 120 minutes
+ type: integer
+ sign_again_period_for_inactivity_on_web:
+ description: |+
+ Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Web Portal after a set amount of time.
+
+ If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Web Portal. The value for the period of inactivity can be one of the following:
+
+ `5`: 5 minutes
+ `10`: 10 minutes
+ `15`: 15 minutes
+ `30`: 30 minutes
+ `60`: 60 minutes
+ `120`: 120 minutes
+
+
+
+ type: integer
+ sign_in_with_two_factor_auth:
+ description: |
+ Settings for 2FA( [two factor authentication](https://support.zoom.us/hc/en-us/articles/360038247071) ). The value can be one of the following:
+ `all`: Two factor authentication will be enabled for all users in the account.
+ `none`: Two factor authentication is disabled.
+ `group`: Two factor authentication will be enabled for users belonging to specific groups. If 2FA is enabled for certain groups, the group IDs of the group(s) will be provided in the `sign_in_with_two_factor_auth_groups` field.
+ `role`: Two factor authentication will be enabled only for users assigned with specific roles in the account. If 2FA is enabled for specific roles, the role IDs will be provided in the
+ `sign_in_with_two_factor_auth_roles` field.
+ enum:
+ - all
+ - group
+ - role
+ - none
+ type: string
+ sign_in_with_two_factor_auth_groups:
+ description: This field contains group IDs of groups that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `group`
+ items:
+ type: string
+ type: array
+ sign_in_with_two_factor_auth_roles:
+ description: This field contains role IDs of roles that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `role`.
+ items:
+ type: string
+ type: array
+ type: object
+ telephony:
+ description: "Account Settings: Telephony."
+ properties:
+ audio_conference_info:
+ description: Third party audio conference info.
+ type: string
+ telephony_regions:
+ description: Indicates where most of the participants call into or call from duriing a meeting.
+ properties:
+ allowed_values:
+ description: Telephony region options provided by Zoom to select from.
+ items:
+ type: string
+ type: array
+ selection_values:
+ description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
+ items:
+ type: string
+ type: array
+ type: object
+ third_party_audio:
+ description: Users can join the meeting using the existing third party audio configuration.
+ type: boolean
+ type: object
+ tsp:
+ description: "Account Settings: TSP."
+ properties:
+ call_out:
+ description: Call Out
+ type: boolean
+ call_out_countries:
+ description: Call Out Countries/Regions
+ items: {}
+ type: array
+ display_toll_free_numbers:
+ description: Display toll-free numbers
+ type: boolean
+ show_international_numbers_link:
+ description: Show international numbers link on the invitation email
+ type: boolean
+ type: object
+ zoom_rooms:
+ description: "Account Settings: Zoom Rooms."
+ properties:
+ auto_start_stop_scheduled_meetings:
+ description: Automatic start and stop for scheduled meetings.
+ type: boolean
+ cmr_for_instant_meeting:
+ description: Cloud recording for instant meetings.
+ type: boolean
+ force_private_meeting:
+ description: Shift all meetings to private.
+ type: boolean
+ hide_host_information:
+ description: Hide host and meeting ID from private meetings.
+ type: boolean
+ list_meetings_with_calendar:
+ description: Display meeting list with calendar integration.
+ type: boolean
+ start_airplay_manually:
+ description: Start AirPlay service manually.
+ type: boolean
+ ultrasonic:
+ description: Automatic direct sharing using an ultrasonic proximity signal.
+ type: boolean
+ upcoming_meeting_alert:
+ description: Upcoming meeting alert.
+ type: boolean
+ weekly_system_restart:
+ description: Weekly system restart.
+ type: boolean
+ zr_post_meeting_feedback:
+ description: Zoom Room post meeting feedback.
+ type: boolean
+ type: object
+ title: Account settings
+ type: object
+ - oneOf:
+ - properties:
+ authentication_options:
+ description: Meeting Authentication Options
+ items:
+ properties:
+ default_option:
+ description: Authentication default option
+ type: boolean
+ domains:
+ description: Authentication domians
+ type: string
+ id:
+ description: Authentication id
+ type: string
+ name:
+ description: Authentication name
+ type: string
+ type:
+ description: |2-
+ Authentication type. Specify one of the following authentication types for the authentication profile:
+ * `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
+ * `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
+ * `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
+ enum:
+ - enforce_login
+ - enforce_login_with_same_account
+ - enforce_login_with_domains
+ type: string
+ visible:
+ description: Authentication visible
+ type: boolean
+ type: object
+ type: array
+ meeting_authentication:
+ description: Only authenticated users can join meetings
+ type: boolean
+ - properties:
+ authentication_options:
+ items:
+ properties:
+ default_option:
+ description: Authentication default option
+ type: boolean
+ domains:
+ description: Authentication domians
+ type: string
+ id:
+ description: Authentication id
+ type: string
+ name:
+ description: Authentication name
+ type: string
+ type:
+ description: Authentication type
+ enum:
+ - internally
+ - enforce_login
+ - enforce_login_with_domains
+ type: string
+ visible:
+ description: Authentication visible
+ type: boolean
+ type: object
+ type: array
+ recording_authentication:
+ description: Only authenticated users can view cloud recordings
+ type: boolean
+ title: AccountSettingsAuthentication
+ type: object
+ - description: "[Security settings](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) of an Account."
+ properties:
+ admin_change_name_pic:
+ description: Only account administrators can change a user's username and picture.
+ type: boolean
+ hide_billing_info:
+ description: Hide billing information.
+ type: boolean
+ import_photos_from_devices:
+ description: Allow users to import photos from a photo library on a device.
+ type: boolean
+ password_requirement:
+ description: "This object refers to the [enhanced password rules](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) that allows Zoom account admins and owners to apply extra requiremets to the users' Zoom login password. "
+ properties:
+ consecutive_characters_length:
+ description: |-
+
+ Specify the max length of consecutive characters(abcde...) that can be used in a password.
+ If you set the value of this field to `0`, no restriction will be applied on consecutive characters.
+
+ If you would like to set this restriction, you can specify a number between 4 and 8 that define the maximum allowed length for consecutive characters in a password.
+
+ The max allowed length will be `n-1` where `n` refers to the value you provide for this field. For instance, if you provide `4` as the value, there can only be a maximum of `3` consecutive characters in a password(example: abc1x@8fdh).
+ type: integer
+ have_special_character:
+ description: "If the value of this field is set to `true`, the password must have at least one special character(!, @, #...)."
+ type: boolean
+ minimum_password_length:
+ description: Specify a minimum length for the password. The password length can be from a minimum of 9 characters, up to 14 characters. If you provide `0` as the value of this field, this field will be disabled and not be used and the basic password length requirement (minimum of 8 characters) will be applied for the requirement.
+ maximum: 14
+ minimum: 8
+ type: integer
+ weak_enhance_detection:
+ description: If the value of this field is set to `true`, user passwords will have to pass detection through a weak password dictionary in case hackers use simple passwords to sign in to your users’ accounts.
+ type: boolean
+ type: object
+ sign_again_period_for_inactivity_on_client:
+ description: |
+ Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Client app after a set amount of time.
+
+ If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Client. The value for the period of inactivity can be one of the following:
+
+ `5`: 5 minutes
+ `10`: 10 minutes
+ `15`: 15 minutes
+ `30`: 30 minutes
+ `45`: 45 minutes
+ `60`: 60 minutes
+ `90`: 90 minutes
+ `120`: 120 minutes
+ type: integer
+ sign_again_period_for_inactivity_on_web:
+ description: |+
+ Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Web Portal after a set amount of time.
+
+ If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Web Portal. The value for the period of inactivity can be one of the following:
+
+ `5`: 5 minutes
+ `10`: 10 minutes
+ `15`: 15 minutes
+ `30`: 30 minutes
+ `60`: 60 minutes
+ `120`: 120 minutes
+
+
+
+ type: integer
+ sign_in_with_two_factor_auth:
+ description: |
+ Settings for 2FA( [two factor authentication](https://support.zoom.us/hc/en-us/articles/360038247071) ). The value can be one of the following:
+ `all`: Two factor authentication will be enabled for all users in the account.
+ `none`: Two factor authentication is disabled.
+ `group`: Two factor authentication will be enabled for users belonging to specific groups. If 2FA is enabled for certain groups, the group IDs of the group(s) will be provided in the `sign_in_with_two_factor_auth_groups` field.
+ `role`: Two factor authentication will be enabled only for users assigned with specific roles in the account. If 2FA is enabled for specific roles, the role IDs will be provided in the
+ `sign_in_with_two_factor_auth_roles` field.
+ enum:
+ - all
+ - group
+ - role
+ - none
+ type: string
+ sign_in_with_two_factor_auth_groups:
+ description: This field contains group IDs of groups that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `group`
+ items:
+ type: string
+ type: array
+ sign_in_with_two_factor_auth_roles:
+ description: This field contains role IDs of roles that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `role`.
+ items:
+ type: string
+ type: array
+ type: object
+ - properties:
+ meeting_security:
+ properties:
+ auto_security:
+ description: |-
+ `true`: Require that all meetings are secured with at least one security option.
+
+ This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
+ type: boolean
+ embed_password_in_join_link:
+ description: |
+ If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
+ type: boolean
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ end_to_end_encrypted_meetings:
+ description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
+ type: boolean
+ meeting_password:
+ description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
+ type: boolean
+ meeting_password_requirement:
+ description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the passcode must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar passcode needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the passcode must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided passcode is weak.
+ type: boolean
+ type: object
+ phone_password:
+ description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
+ type: boolean
+ pmi_password:
+ description: |
+ If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
+ type: boolean
+ require_password_for_scheduled_meeting:
+ description: |
+ Require a passcode for meetings which have already been scheduled.
+ type: boolean
+ require_password_for_scheduled_webinar:
+ description: |
+ Require a passcode for webinars which have already been scheduled.
+ type: boolean
+ waiting_room:
+ description: |
+ When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
+ type: boolean
+ waiting_room_settings:
+ description: Specify the settings to be applied if waiting room is enabled.
+ properties:
+ participants_to_place_in_waiting_room:
+ description: |-
+
+
+ Specify who should be admitted to the waiting room. The value of this field can be one of the following:
+ `0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ users_who_can_admit_participants_from_waiting_room:
+ description: |+
+ Specify who can admit participants from the waiting room. The value of this field can be one of the following:
+ `0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
+
+
+ type: integer
+ whitelisted_domains_for_waiting_room:
+ description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
+ type: string
+ type: object
+ webinar_password:
+ description: |
+ If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
+ type: boolean
+ type: object
+ title: Meeting/Webinar Security Settings
+ type: object
+ application/xml:
+ schema:
+ oneOf:
+ - properties:
+ email_notification:
+ description: "Account Settings: Notification."
+ properties:
+ alternative_host_reminder:
+ description: Notify when an alternative host is set or removed from a meeting.
+ type: boolean
+ cancel_meeting_reminder:
+ description: Notify the host and participants when a meeting is cancelled.
+ type: boolean
+ cloud_recording_avaliable_reminder:
+ description: Notify host when cloud recording is available.
+ type: boolean
+ jbh_reminder:
+ description: Notify the host when participants join the meeting before them.
+ type: boolean
+ low_host_count_reminder:
+ description: Notify user when host licenses are running low.
+ type: boolean
+ schedule_for_reminder:
+ description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
+ type: boolean
+ type: object
+ feature:
+ description: "Account Settings: Feature."
+ properties:
+ meeting_capacity:
+ description: Set the maximum number of participants a host can have in a single meeting.
+ type: integer
+ type: object
+ in_meeting:
+ description: "Account Settings: In Meeting."
+ properties:
+ alert_guest_join:
+ description: Identify guest participants in a meeting or webinar.
+ type: boolean
+ allow_live_streaming:
+ description: Allow live streaming.
+ type: boolean
+ allow_participants_to_rename:
+ description: |
+ If the value of this field is set to `true`, meeting participants and webinar panelists can be allowed to rename themselves during a meeting or a webinar.
+ type: boolean
+ allow_show_zoom_windows:
+ description: "Show the Zoom desktop application when sharing screens. "
+ type: boolean
+ annotation:
+ description: Allow participants to use annotation tools to add information to shared screens.
+ type: boolean
+ anonymous_question_answer:
+ description: Allow an anonymous Q&A in a webinar.
+ type: boolean
+ attendee_on_hold:
+ default: false
+ description: |-
+ Allow host to put attendee on hold.
+
+ **This field has been deprecated and is no longer supported.**
+ type: boolean
+ auto_answer:
+ description: Enable users to see and add contacts to the "auto-answer group" in the chat contact list. Any call from members of this group will automatically be answered.
+ type: boolean
+ auto_saving_chat:
+ description: Automatically save all in-meeting chats so that the host does not need to manually save the chat transcript after the meeting starts.
+ type: boolean
+ breakout_room:
+ description: Allow host to split meeting participants into separate, smaller rooms.
+ type: boolean
+ chat:
+ description: Allow meeting participants to send a message that is visible to all participants.
+ type: boolean
+ closed_caption:
+ description: "Allow a host to type closed captions. Enable a host to assign a participant or third party device to add closed captions. "
+ type: boolean
+ co_host:
+ description: Allow the host to add co-hosts.
+ type: boolean
+ custom_data_center_regions:
+ description: If set to `true`, account owners and admins on paid accounts can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting their real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
+ type: boolean
+ custom_live_streaming_service:
+ description: Custom live streaming.
+ type: boolean
+ custom_service_instructions:
+ description: Custom service instructions.
+ type: string
+ data_center_regions:
+ description: |
+ If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["EU", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
+ enum:
+ - EU
+ - HK
+ - AU
+ - IN
+ - TY
+ - CN
+ - US
+ - CA
+ items:
+ type: string
+ type: array
+ dscp_audio:
+ description: DSCP audio.
+ maximum: 63
+ minimum: 1
+ type: integer
+ dscp_marking:
+ description: DSCP marking.
+ type: boolean
+ dscp_video:
+ description: DSCP video.
+ maximum: 63
+ minimum: 1
+ type: integer
+ e2e_encryption:
+ description: Zoom requires encryption for all data between the Zoom cloud, Zoom client, and Zoom Room. Require encryption for 3rd party endpoints (H323/SIP).
+ type: boolean
+ entry_exit_chime:
+ description: Play sound when participants join or leave. `host` - Heard by host only. `all` - Heard by host and all attendees. `none` - Disable.
+ enum:
+ - host
+ - all
+ - none
+ type: string
+ x-enum-descriptions:
+ - Heard by host only
+ - Heard by host and all attendees
+ - Disable
+ far_end_camera_control:
+ description: Allow another user to take control of your camera during a meeting.
+ type: boolean
+ feedback:
+ description: Add a "Feedback" tab to the Windows Settings or Mac Preferences dialog. Enable users to provide feedback to Zoom at the end of the meeting.
+ type: boolean
+ file_transfer:
+ description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled on the account or not.
+ type: boolean
+ group_hd:
+ description: |-
+ Activate higher quality video for host and participants.
+ Please note: This will use more bandwidth.
+ type: boolean
+ meeting_reactions:
+ description: |-
+ Enable or disable meeting reactions.
+ `true`: Allow meeting participants to communicate without interrupting by reacting with an emoji that shows on their video.
+ `false`: Do not enable meeting reactions.
+ type: boolean
+ original_audio:
+ description: Allow users to select original sound in their client settings.
+ type: boolean
+ p2p_connetion:
+ description: Peer to peer connection while only two people are in a meeting.
+ type: boolean
+ p2p_ports:
+ description: Peer to peer listening ports range.
+ type: boolean
+ polling:
+ description: Add "Polls" to the meeting controls.
+ type: boolean
+ ports_range:
+ default: ""
+ description: The listening ports range, separated by a comma (ex 55,56). The ports range must be between 1 to 65535.
+ type: string
+ post_meeting_feedback:
+ description: Display a thumbs up or down survey at the end of each meeting.
+ type: boolean
+ private_chat:
+ description: Allow a meeting participant to send a private message to another participant.
+ type: boolean
+ record_play_own_voice:
+ description: Record and play their own voice.
+ type: boolean
+ remote_control:
+ description: Allow users to request remote control.
+ type: boolean
+ request_permission_to_unmute:
+ description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the account or not.
+ type: boolean
+ screen_sharing:
+ description: Allow screen sharing.
+ type: boolean
+ sending_default_email_invites:
+ description: Only show the default email when sending email invites.
+ type: boolean
+ show_a_join_from_your_browser_link:
+ description: If the value of this field is set to `true`, you will allow participants to join a meeting directly from their browser and bypass the Zoom application download process. This is a workaround for participants who are unable to download, install, or run applications. Note that the meeting experience from the browser is limited.
+ type: boolean
+ show_meeting_control_toolbar:
+ description: Always show the meeting control toolbar.
+ type: boolean
+ stereo_audio:
+ description: Allow users to select stereo audio in their client settings.
+ type: boolean
+ use_html_format_email:
+ description: Use HTML formatted email for the Outlook plugin.
+ type: boolean
+ virtual_background:
+ description: Allow users to replace their background with any selected image. Choose or upload an image in the Zoom desktop application settings.
+ type: boolean
+ virtual_background_settings:
+ description: Settings to manage virtual background.
+ properties:
+ allow_upload_custom:
+ description: Allow users to upload custom backgrounds.
+ type: boolean
+ allow_videos:
+ description: Allow use of videos for virtual backgrounds.
+ type: boolean
+ enable:
+ description: Enable virtual background.
+ type: boolean
+ files:
+ items:
+ properties:
+ id:
+ description: Unique identifier of the file.
+ type: string
+ is_default:
+ description: Indicates whether or not this file is the default virtual background file.
+ type: boolean
+ name:
+ description: File name.
+ type: string
+ size:
+ description: File size.
+ type: string
+ type:
+ description: File type.
+ type: string
+ type: object
+ type: array
+ type: object
+ watermark:
+ description: Add a watermark when viewing a shared screen.
+ type: boolean
+ webinar_question_answer:
+ description: Allow a Q&A in a webinar.
+ type: boolean
+ whiteboard:
+ description: Allow participants to share a whiteboard that includes annotation tools.
+ type: boolean
+ who_can_share_screen:
+ description: |
+ Indicates who can share their screen or content during meetings. The value can be one of the following:
+ `host`: Only host can share the screen.
+ `all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ who_can_share_screen_when_someone_is_sharing:
+ description: |
+ Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
+ `host`: Only a host can share the screen when someone else is sharing.
+ `all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ workplace_by_facebook:
+ description: Workplace by facebook.
+ type: boolean
+ type: object
+ integration:
+ description: "Account Settings: Integration."
+ properties:
+ box:
+ description: Enable users who join a meeting from their mobile device to share content from their Box account.
+ type: boolean
+ dropbox:
+ description: Enable users who join a meeting from their mobile device to share content from their Dropbox account.
+ type: boolean
+ google_calendar:
+ description: Enable meetings to be scheduled using Google Calendar.
+ type: boolean
+ google_drive:
+ description: Enable users who join a meeting from their mobile device to share content from their Google Drive.
+ type: boolean
+ kubi:
+ description: Enable users to control a connected Kubi device from within a Zoom meeting.
+ type: boolean
+ microsoft_one_drive:
+ description: Enable users who join a meeting from their mobile device to share content from their Microsoft OneDrive account.
+ type: boolean
+ type: object
+ profile:
+ properties:
+ recording_storage_location:
+ properties:
+ allowed_values:
+ description: |-
+ Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
+
+ Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
+ items:
+ type: string
+ type: array
+ value:
+ description: Abbreviated country code.
+ type: string
+ type: object
+ title: Profile
+ type: object
+ recording:
+ description: "Account Settings: Recording."
+ properties:
+ account_user_access_recording:
+ description: Cloud recordings are only accessible to account members. People outside of your organization cannot open links that provide access to cloud recordings.
+ type: boolean
+ allow_recovery_deleted_cloud_recordings:
+ description: |-
+ Allow recovery of deleted cloud recordings from trash.
+ If the value of this field is set to `true`, deleted cloud recordings will be kept in trash for 30 days after deletion and can be recovered within that period.
+ type: boolean
+ archive:
+ description: "[Archiving solution](https://support.zoom.us/hc/en-us/articles/360050431572-Archiving-Meeting-and-Webinar-data) settings. This setting can only be used if you have been granted with archiving solution access by the Zoom support team."
+ properties:
+ enable:
+ description: Enable the archiving feature.
+ type: boolean
+ settings:
+ properties:
+ audio_file:
+ description: Include in-meeting and/or in-webinar audio in the archive.
+ type: boolean
+ cc_transcript_file:
+ description: Include closed caption or transcript in the archive.
+ type: boolean
+ chat_file:
+ description: Include in-meeting chat in the archive.
+ type: boolean
+ chat_with_sender_email:
+ description: Include user email in in-meeting chat file.
+ type: boolean
+ video_file:
+ description: Include in-meeting and/or in-webinar video in the archive.
+ type: boolean
+ type: object
+ type:
+ description: |-
+ Archive types:
+
+ * `1`: Only meetings are archived.
+ * `2`: Only webinars are archived.
+ * `3`: Both meetings and webinars are archived.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ type: object
+ auto_delete_cmr:
+ description: Allow Zoom to permanantly delete recordings automatically after a specified number of days.
+ type: boolean
+ auto_delete_cmr_days:
+ description: When `auto_delete_cmr` function is 'true' this value will set the number of days before the auto deletion of cloud recordings.
+ type: integer
+ auto_recording:
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record on local
+ - Record on cloud
+ - Disabled
+ cloud_recording:
+ description: Allow hosts to record and save the meeting in the cloud.
+ type: boolean
+ cloud_recording_download:
+ description: Cloud recording downloads.
+ type: boolean
+ cloud_recording_download_host:
+ description: Only the host can download cloud recordings.
+ type: boolean
+ host_delete_cloud_recording:
+ description: |
+ If the value of this field is set to `true`, hosts will be able to delete the recordings. If this option is set to `false`, the recordings cannot be deleted by the host and only admin can delete them.
+ type: boolean
+ ip_address_access_control:
+ description: |
+ Setting to allow cloud recording access only from specific IP address ranges.
+ properties:
+ enable:
+ description: |+
+ If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
+
+ type: boolean
+ ip_addresses_or_ranges:
+ description: |+
+ IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
+
+ Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
+
+ type: string
+ type: object
+ local_recording:
+ description: Allow hosts and participants to record the meeting using a local file.
+ type: boolean
+ prevent_host_access_recording:
+ description: |
+ If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
+ type: boolean
+ record_audio_file:
+ description: Record an audio only file.
+ type: boolean
+ record_gallery_view:
+ description: Record the gallery view with a shared screen.
+ type: boolean
+ record_speaker_view:
+ description: Record the active speaker with a shared screen.
+ type: boolean
+ recording_audio_transcript:
+ description: Automatically transcribe the audio of the meeting or webinar to the cloud.
+ type: boolean
+ recording_disclaimer:
+ description: |
+ Show a disclaimer to participants before a recording starts
+ type: boolean
+ recording_password_requirement:
+ description: This object represents the minimum password requirements set for recordings via Account Recording Settings.
+ properties:
+ have_letter:
+ description: Indicates whether or not password must contain at least one alphabetical letter (a, b, c..).
+ type: boolean
+ have_number:
+ description: Indicates whether or not password must contain at least one number(1, 2, 3..).
+ type: boolean
+ have_special_character:
+ description: "Indicates whether or not password must contain at least one special character(!, @, #..)."
+ type: boolean
+ length:
+ description: Minimum required length for the password.
+ maximum: 10
+ type: integer
+ only_allow_numeric:
+ description: Indicates whether or not password must contain only numeric characters.
+ type: boolean
+ type: object
+ required_password_for_existing_cloud_recordings:
+ description: Require a passcode to access existing cloud recordings.
+ type: boolean
+ save_chat_text:
+ description: Save the chat text from the meeting.
+ type: boolean
+ show_timestamp:
+ description: Add a timestamp to the recording.
+ type: boolean
+ type: object
+ schedule_meeting:
+ description: "Account Settings: Schedule Meeting."
+ properties:
+ audio_type:
+ default: both
+ description: Determine how participants can join the audio portion of the meeting. `both` - Telephony and VoIP. `telephony` - Audio PSTN telephony only. `voip` - VoIP only. `thirdParty` - 3rd party audio conference.
+ enum:
+ - both
+ - telephony
+ - voip
+ - thirdParty
+ type: string
+ x-enum-descriptions:
+ - Telephony and VoIP
+ - Audio PSTN telephony only
+ - VoIP only
+ - 3rd party audio conference
+ enforce_login:
+ description: Only Zoom users who are signed in can join meetings.
+ type: boolean
+ enforce_login_domains:
+ description: "Only signed in users with a specified domain can join the meeting. "
+ type: string
+ enforce_login_with_domains:
+ description: Only signed in users with a specific domain can join meetings.
+ type: boolean
+ force_pmi_jbh_password:
+ description: Require a password for Personal Meetings if attendees can join before host.
+ type: boolean
+ host_video:
+ description: Start meetings with the host video on.
+ type: boolean
+ join_before_host:
+ description: Allow participants to join the meeting before the host arrives.
+ type: boolean
+ meeting_password_requirement:
+ description: Account wide meeting/webinar [password requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the password must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the password must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the password must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the password must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar password needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the password must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided password is weak.
+ type: boolean
+ type: object
+ not_store_meeting_topic:
+ description: Always display "Zoom Meeting" as the meeting topic.
+ type: boolean
+ participant_video:
+ description: Start meetings with the participant video on. Participants can change this setting during the meeting.
+ type: boolean
+ personal_meeting:
+ description: |+
+ Personal Meeting Setting.
+ `true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
+ `false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
+ For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
+
+
+ type: boolean
+ require_password_for_instant_meetings:
+ description: |
+ Require a password for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ require_password_for_pmi_meetings:
+ description: |
+ Require a password for a meeting held using Personal Meeting ID (PMI) This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ enum:
+ - jbh_only
+ - all
+ - none
+ type: string
+ x-enum-descriptions:
+ - Only meetings with Join Before Host enabled
+ - All meetings using PMI
+ - Disabled
+ require_password_for_scheduled_meetings:
+ description: |
+ Require a password for meetings which have already been scheduled
+ type: boolean
+ require_password_for_scheduling_new_meetings:
+ description: Require a password when scheduling new meetings. This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ use_pmi_for_instant_meetings:
+ description: |
+ Use Personal Meeting ID (PMI) when starting an instant meeting
+ type: boolean
+ use_pmi_for_scheduled_meetings:
+ description: |
+ Use Personal Meeting ID (PMI) when scheduling a meeting
+ type: boolean
+ type: object
+ security:
+ description: "[Security settings](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) of an Account."
+ properties:
+ admin_change_name_pic:
+ description: Only account administrators can change a user's username and picture.
+ type: boolean
+ hide_billing_info:
+ description: Hide billing information.
+ type: boolean
+ import_photos_from_devices:
+ description: Allow users to import photos from a photo library on a device.
+ type: boolean
+ password_requirement:
+ description: "This object refers to the [enhanced password rules](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) that allows Zoom account admins and owners to apply extra requiremets to the users' Zoom login password. "
+ properties:
+ consecutive_characters_length:
+ description: |-
+
+ Specify the max length of consecutive characters(abcde...) that can be used in a password.
+ If you set the value of this field to `0`, no restriction will be applied on consecutive characters.
+
+ If you would like to set this restriction, you can specify a number between 4 and 8 that define the maximum allowed length for consecutive characters in a password.
+
+ The max allowed length will be `n-1` where `n` refers to the value you provide for this field. For instance, if you provide `4` as the value, there can only be a maximum of `3` consecutive characters in a password(example: abc1x@8fdh).
+ type: integer
+ have_special_character:
+ description: "If the value of this field is set to `true`, the password must have at least one special character(!, @, #...)."
+ type: boolean
+ minimum_password_length:
+ description: Specify a minimum length for the password. The password length can be from a minimum of 9 characters, up to 14 characters. If you provide `0` as the value of this field, this field will be disabled and not be used and the basic password length requirement (minimum of 8 characters) will be applied for the requirement.
+ maximum: 14
+ minimum: 8
+ type: integer
+ weak_enhance_detection:
+ description: If the value of this field is set to `true`, user passwords will have to pass detection through a weak password dictionary in case hackers use simple passwords to sign in to your users’ accounts.
+ type: boolean
+ type: object
+ sign_again_period_for_inactivity_on_client:
+ description: |
+ Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Client app after a set amount of time.
+
+ If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Client. The value for the period of inactivity can be one of the following:
+
+ `5`: 5 minutes
+ `10`: 10 minutes
+ `15`: 15 minutes
+ `30`: 30 minutes
+ `45`: 45 minutes
+ `60`: 60 minutes
+ `90`: 90 minutes
+ `120`: 120 minutes
+ type: integer
+ sign_again_period_for_inactivity_on_web:
+ description: |+
+ Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Web Portal after a set amount of time.
+
+ If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Web Portal. The value for the period of inactivity can be one of the following:
+
+ `5`: 5 minutes
+ `10`: 10 minutes
+ `15`: 15 minutes
+ `30`: 30 minutes
+ `60`: 60 minutes
+ `120`: 120 minutes
+
+
+
+ type: integer
+ sign_in_with_two_factor_auth:
+ description: |
+ Settings for 2FA( [two factor authentication](https://support.zoom.us/hc/en-us/articles/360038247071) ). The value can be one of the following:
+ `all`: Two factor authentication will be enabled for all users in the account.
+ `none`: Two factor authentication is disabled.
+ `group`: Two factor authentication will be enabled for users belonging to specific groups. If 2FA is enabled for certain groups, the group IDs of the group(s) will be provided in the `sign_in_with_two_factor_auth_groups` field.
+ `role`: Two factor authentication will be enabled only for users assigned with specific roles in the account. If 2FA is enabled for specific roles, the role IDs will be provided in the
+ `sign_in_with_two_factor_auth_roles` field.
+ enum:
+ - all
+ - group
+ - role
+ - none
+ type: string
+ sign_in_with_two_factor_auth_groups:
+ description: This field contains group IDs of groups that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `group`
+ items:
+ type: string
+ type: array
+ sign_in_with_two_factor_auth_roles:
+ description: This field contains role IDs of roles that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `role`.
+ items:
+ type: string
+ type: array
+ type: object
+ telephony:
+ description: "Account Settings: Telephony."
+ properties:
+ audio_conference_info:
+ description: Third party audio conference info.
+ type: string
+ telephony_regions:
+ description: Indicates where most of the participants call into or call from duriing a meeting.
+ properties:
+ allowed_values:
+ description: Telephony region options provided by Zoom to select from.
+ items:
+ type: string
+ type: array
+ selection_values:
+ description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
+ items:
+ type: string
+ type: array
+ type: object
+ third_party_audio:
+ description: Users can join the meeting using the existing third party audio configuration.
+ type: boolean
+ type: object
+ tsp:
+ description: "Account Settings: TSP."
+ properties:
+ call_out:
+ description: Call Out
+ type: boolean
+ call_out_countries:
+ description: Call Out Countries/Regions
+ items: {}
+ type: array
+ display_toll_free_numbers:
+ description: Display toll-free numbers
+ type: boolean
+ show_international_numbers_link:
+ description: Show international numbers link on the invitation email
+ type: boolean
+ type: object
+ zoom_rooms:
+ description: "Account Settings: Zoom Rooms."
+ properties:
+ auto_start_stop_scheduled_meetings:
+ description: Automatic start and stop for scheduled meetings.
+ type: boolean
+ cmr_for_instant_meeting:
+ description: Cloud recording for instant meetings.
+ type: boolean
+ force_private_meeting:
+ description: Shift all meetings to private.
+ type: boolean
+ hide_host_information:
+ description: Hide host and meeting ID from private meetings.
+ type: boolean
+ list_meetings_with_calendar:
+ description: Display meeting list with calendar integration.
+ type: boolean
+ start_airplay_manually:
+ description: Start AirPlay service manually.
+ type: boolean
+ ultrasonic:
+ description: Automatic direct sharing using an ultrasonic proximity signal.
+ type: boolean
+ upcoming_meeting_alert:
+ description: Upcoming meeting alert.
+ type: boolean
+ weekly_system_restart:
+ description: Weekly system restart.
+ type: boolean
+ zr_post_meeting_feedback:
+ description: Zoom Room post meeting feedback.
+ type: boolean
+ type: object
+ title: Account settings
+ type: object
+ - oneOf:
+ - properties:
+ authentication_options:
+ description: Meeting Authentication Options
+ items:
+ properties:
+ default_option:
+ description: Authentication default option
+ type: boolean
+ domains:
+ description: Authentication domians
+ type: string
+ id:
+ description: Authentication id
+ type: string
+ name:
+ description: Authentication name
+ type: string
+ type:
+ description: |2-
+ Authentication type. Specify one of the following authentication types for the authentication profile:
+ * `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
+ * `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
+ * `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
+ enum:
+ - enforce_login
+ - enforce_login_with_same_account
+ - enforce_login_with_domains
+ type: string
+ visible:
+ description: Authentication visible
+ type: boolean
+ type: object
+ type: array
+ meeting_authentication:
+ description: Only authenticated users can join meetings
+ type: boolean
+ - properties:
+ authentication_options:
+ items:
+ properties:
+ default_option:
+ description: Authentication default option
+ type: boolean
+ domains:
+ description: Authentication domians
+ type: string
+ id:
+ description: Authentication id
+ type: string
+ name:
+ description: Authentication name
+ type: string
+ type:
+ description: Authentication type
+ enum:
+ - internally
+ - enforce_login
+ - enforce_login_with_domains
+ type: string
+ visible:
+ description: Authentication visible
+ type: boolean
+ type: object
+ type: array
+ recording_authentication:
+ description: Only authenticated users can view cloud recordings
+ type: boolean
+ title: AccountSettingsAuthentication
+ type: object
+ - description: "[Security settings](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) of an Account."
+ properties:
+ admin_change_name_pic:
+ description: Only account administrators can change a user's username and picture.
+ type: boolean
+ hide_billing_info:
+ description: Hide billing information.
+ type: boolean
+ import_photos_from_devices:
+ description: Allow users to import photos from a photo library on a device.
+ type: boolean
+ password_requirement:
+ description: "This object refers to the [enhanced password rules](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) that allows Zoom account admins and owners to apply extra requiremets to the users' Zoom login password. "
+ properties:
+ consecutive_characters_length:
+ description: |-
+
+ Specify the max length of consecutive characters(abcde...) that can be used in a password.
+ If you set the value of this field to `0`, no restriction will be applied on consecutive characters.
+
+ If you would like to set this restriction, you can specify a number between 4 and 8 that define the maximum allowed length for consecutive characters in a password.
+
+ The max allowed length will be `n-1` where `n` refers to the value you provide for this field. For instance, if you provide `4` as the value, there can only be a maximum of `3` consecutive characters in a password(example: abc1x@8fdh).
+ type: integer
+ have_special_character:
+ description: "If the value of this field is set to `true`, the password must have at least one special character(!, @, #...)."
+ type: boolean
+ minimum_password_length:
+ description: Specify a minimum length for the password. The password length can be from a minimum of 9 characters, up to 14 characters. If you provide `0` as the value of this field, this field will be disabled and not be used and the basic password length requirement (minimum of 8 characters) will be applied for the requirement.
+ maximum: 14
+ minimum: 8
+ type: integer
+ weak_enhance_detection:
+ description: If the value of this field is set to `true`, user passwords will have to pass detection through a weak password dictionary in case hackers use simple passwords to sign in to your users’ accounts.
+ type: boolean
+ type: object
+ sign_again_period_for_inactivity_on_client:
+ description: |
+ Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Client app after a set amount of time.
+
+ If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Client. The value for the period of inactivity can be one of the following:
+
+ `5`: 5 minutes
+ `10`: 10 minutes
+ `15`: 15 minutes
+ `30`: 30 minutes
+ `45`: 45 minutes
+ `60`: 60 minutes
+ `90`: 90 minutes
+ `120`: 120 minutes
+ type: integer
+ sign_again_period_for_inactivity_on_web:
+ description: |+
+ Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Web Portal after a set amount of time.
+
+ If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Web Portal. The value for the period of inactivity can be one of the following:
+
+ `5`: 5 minutes
+ `10`: 10 minutes
+ `15`: 15 minutes
+ `30`: 30 minutes
+ `60`: 60 minutes
+ `120`: 120 minutes
+
+
+
+ type: integer
+ sign_in_with_two_factor_auth:
+ description: |
+ Settings for 2FA( [two factor authentication](https://support.zoom.us/hc/en-us/articles/360038247071) ). The value can be one of the following:
+ `all`: Two factor authentication will be enabled for all users in the account.
+ `none`: Two factor authentication is disabled.
+ `group`: Two factor authentication will be enabled for users belonging to specific groups. If 2FA is enabled for certain groups, the group IDs of the group(s) will be provided in the `sign_in_with_two_factor_auth_groups` field.
+ `role`: Two factor authentication will be enabled only for users assigned with specific roles in the account. If 2FA is enabled for specific roles, the role IDs will be provided in the
+ `sign_in_with_two_factor_auth_roles` field.
+ enum:
+ - all
+ - group
+ - role
+ - none
+ type: string
+ sign_in_with_two_factor_auth_groups:
+ description: This field contains group IDs of groups that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `group`
+ items:
+ type: string
+ type: array
+ sign_in_with_two_factor_auth_roles:
+ description: This field contains role IDs of roles that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `role`.
+ items:
+ type: string
+ type: array
+ type: object
+ - properties:
+ meeting_security:
+ properties:
+ auto_security:
+ description: |-
+ `true`: Require that all meetings are secured with at least one security option.
+
+ This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
+ type: boolean
+ embed_password_in_join_link:
+ description: |
+ If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
+ type: boolean
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ end_to_end_encrypted_meetings:
+ description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
+ type: boolean
+ meeting_password:
+ description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
+ type: boolean
+ meeting_password_requirement:
+ description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the passcode must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar passcode needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the passcode must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided passcode is weak.
+ type: boolean
+ type: object
+ phone_password:
+ description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
+ type: boolean
+ pmi_password:
+ description: |
+ If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
+ type: boolean
+ require_password_for_scheduled_meeting:
+ description: |
+ Require a passcode for meetings which have already been scheduled.
+ type: boolean
+ require_password_for_scheduled_webinar:
+ description: |
+ Require a passcode for webinars which have already been scheduled.
+ type: boolean
+ waiting_room:
+ description: |
+ When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
+ type: boolean
+ waiting_room_settings:
+ description: Specify the settings to be applied if waiting room is enabled.
+ properties:
+ participants_to_place_in_waiting_room:
+ description: |-
+
+
+ Specify who should be admitted to the waiting room. The value of this field can be one of the following:
+ `0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ users_who_can_admit_participants_from_waiting_room:
+ description: |+
+ Specify who can admit participants from the waiting room. The value of this field can be one of the following:
+ `0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
+
+
+ type: integer
+ whitelisted_domains_for_waiting_room:
+ description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
+ type: string
+ type: object
+ webinar_password:
+ description: |
+ If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
+ type: boolean
+ type: object
+ title: Meeting/Webinar Security Settings
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` Account settings returned.
+ **Error Code:** `200`
+ Only available for Paid account.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code:** `2001`
+ Account does not exist: $subAccountId.
+ summary: Get settings
+ tags:
+ - Accounts
+ patch:
+ description: |-
+ Update the settings of a sub account that is under a master account. To update the settings of the master account, use `me` as the value of the `accountId` path parameter.
+ **Prerequisites**:
+ * The sub account must be a paid account.
+ **Scopes**: `account:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: accountSettingsUpdate
+ parameters:
+ - description: The account ID.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ - allowEmptyValue: true
+ in: query
+ name: option
+ schema:
+ enum:
+ - meeting_authentication
+ - recording_authentication
+ - security
+ - meeting_security
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - properties:
+ email_notification:
+ description: "Account Settings: Notification."
+ properties:
+ alternative_host_reminder:
+ description: Notify when an alternative host is set or removed from a meeting.
+ type: boolean
+ cancel_meeting_reminder:
+ description: Notify the host and participants when a meeting is cancelled.
+ type: boolean
+ cloud_recording_avaliable_reminder:
+ description: Notify host when cloud recording is available.
+ type: boolean
+ jbh_reminder:
+ description: Notify the host when participants join the meeting before them.
+ type: boolean
+ low_host_count_reminder:
+ description: Notify user when host licenses are running low.
+ type: boolean
+ schedule_for_reminder:
+ description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
+ type: boolean
+ type: object
+ feature:
+ description: "Account Settings: Feature."
+ properties:
+ meeting_capacity:
+ description: Set the maximum number of participants a host can have in a single meeting.
+ type: integer
+ type: object
+ in_meeting:
+ description: "Account Settings: In Meeting."
+ properties:
+ alert_guest_join:
+ description: Identify guest participants in a meeting or webinar.
+ type: boolean
+ allow_live_streaming:
+ description: Allow live streaming.
+ type: boolean
+ allow_participants_to_rename:
+ description: |
+ If the value of this field is set to `true`, meeting participants and webinar panelists can be allowed to rename themselves during a meeting or a webinar.
+ type: boolean
+ allow_show_zoom_windows:
+ description: "Show the Zoom desktop application when sharing screens. "
+ type: boolean
+ annotation:
+ description: Allow participants to use annotation tools to add information to shared screens.
+ type: boolean
+ anonymous_question_answer:
+ description: Allow an anonymous Q&A in a webinar.
+ type: boolean
+ attendee_on_hold:
+ default: false
+ description: |-
+ Allow host to put attendee on hold.
+
+ **This field has been deprecated and is no longer supported.**
+ type: boolean
+ auto_answer:
+ description: Enable users to see and add contacts to the "auto-answer group" in the chat contact list. Any call from members of this group will automatically be answered.
+ type: boolean
+ auto_saving_chat:
+ description: Automatically save all in-meeting chats so that the host does not need to manually save the chat transcript after the meeting starts.
+ type: boolean
+ breakout_room:
+ description: Allow host to split meeting participants into separate, smaller rooms.
+ type: boolean
+ chat:
+ description: Allow meeting participants to send a message that is visible to all participants.
+ type: boolean
+ closed_caption:
+ description: "Allow a host to type closed captions. Enable a host to assign a participant or third party device to add closed captions. "
+ type: boolean
+ co_host:
+ description: Allow the host to add co-hosts.
+ type: boolean
+ custom_data_center_regions:
+ description: If set to `true`, account owners and admins on paid accounts can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting their real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
+ type: boolean
+ custom_live_streaming_service:
+ description: Custom live streaming.
+ type: boolean
+ custom_service_instructions:
+ description: Custom service instructions.
+ type: string
+ data_center_regions:
+ description: |
+ If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["EU", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
+ enum:
+ - EU
+ - HK
+ - AU
+ - IN
+ - TY
+ - CN
+ - US
+ - CA
+ items:
+ type: string
+ type: array
+ dscp_audio:
+ description: DSCP audio.
+ maximum: 63
+ minimum: 1
+ type: integer
+ dscp_marking:
+ description: DSCP marking.
+ type: boolean
+ dscp_video:
+ description: DSCP video.
+ maximum: 63
+ minimum: 1
+ type: integer
+ e2e_encryption:
+ description: Zoom requires encryption for all data between the Zoom cloud, Zoom client, and Zoom Room. Require encryption for 3rd party endpoints (H323/SIP).
+ type: boolean
+ entry_exit_chime:
+ description: Play sound when participants join or leave. `host` - Heard by host only. `all` - Heard by host and all attendees. `none` - Disable.
+ enum:
+ - host
+ - all
+ - none
+ type: string
+ x-enum-descriptions:
+ - Heard by host only
+ - Heard by host and all attendees
+ - Disable
+ far_end_camera_control:
+ description: Allow another user to take control of your camera during a meeting.
+ type: boolean
+ feedback:
+ description: Add a "Feedback" tab to the Windows Settings or Mac Preferences dialog. Enable users to provide feedback to Zoom at the end of the meeting.
+ type: boolean
+ file_transfer:
+ description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled on the account or not.
+ type: boolean
+ group_hd:
+ description: |-
+ Activate higher quality video for host and participants.
+ Please note: This will use more bandwidth.
+ type: boolean
+ meeting_reactions:
+ description: |-
+ Enable or disable meeting reactions.
+ `true`: Allow meeting participants to communicate without interrupting by reacting with an emoji that shows on their video.
+ `false`: Do not enable meeting reactions.
+ type: boolean
+ original_audio:
+ description: Allow users to select original sound in their client settings.
+ type: boolean
+ p2p_connetion:
+ description: Peer to peer connection while only two people are in a meeting.
+ type: boolean
+ p2p_ports:
+ description: Peer to peer listening ports range.
+ type: boolean
+ polling:
+ description: Add "Polls" to the meeting controls.
+ type: boolean
+ ports_range:
+ default: ""
+ description: The listening ports range, separated by a comma (ex 55,56). The ports range must be between 1 to 65535.
+ type: string
+ post_meeting_feedback:
+ description: Display a thumbs up or down survey at the end of each meeting.
+ type: boolean
+ private_chat:
+ description: Allow a meeting participant to send a private message to another participant.
+ type: boolean
+ record_play_own_voice:
+ description: Record and play their own voice.
+ type: boolean
+ remote_control:
+ description: Allow users to request remote control.
+ type: boolean
+ request_permission_to_unmute:
+ description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the account or not.
+ type: boolean
+ screen_sharing:
+ description: Allow screen sharing.
+ type: boolean
+ sending_default_email_invites:
+ description: Only show the default email when sending email invites.
+ type: boolean
+ show_a_join_from_your_browser_link:
+ description: If the value of this field is set to `true`, you will allow participants to join a meeting directly from their browser and bypass the Zoom application download process. This is a workaround for participants who are unable to download, install, or run applications. Note that the meeting experience from the browser is limited.
+ type: boolean
+ show_meeting_control_toolbar:
+ description: Always show the meeting control toolbar.
+ type: boolean
+ stereo_audio:
+ description: Allow users to select stereo audio in their client settings.
+ type: boolean
+ use_html_format_email:
+ description: Use HTML formatted email for the Outlook plugin.
+ type: boolean
+ virtual_background:
+ description: Allow users to replace their background with any selected image. Choose or upload an image in the Zoom desktop application settings.
+ type: boolean
+ virtual_background_settings:
+ description: Settings to manage virtual background.
+ properties:
+ allow_upload_custom:
+ description: Allow users to upload custom backgrounds.
+ type: boolean
+ allow_videos:
+ description: Allow use of videos for virtual backgrounds.
+ type: boolean
+ enable:
+ description: Enable virtual background.
+ type: boolean
+ files:
+ items:
+ properties:
+ id:
+ description: Unique identifier of the file.
+ type: string
+ is_default:
+ description: Indicates whether or not this file is the default virtual background file.
+ type: boolean
+ name:
+ description: File name.
+ type: string
+ size:
+ description: File size.
+ type: string
+ type:
+ description: File type.
+ type: string
+ type: object
+ type: array
+ type: object
+ watermark:
+ description: Add a watermark when viewing a shared screen.
+ type: boolean
+ webinar_question_answer:
+ description: Allow a Q&A in a webinar.
+ type: boolean
+ whiteboard:
+ description: Allow participants to share a whiteboard that includes annotation tools.
+ type: boolean
+ who_can_share_screen:
+ description: |
+ Indicates who can share their screen or content during meetings. The value can be one of the following:
+ `host`: Only host can share the screen.
+ `all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ who_can_share_screen_when_someone_is_sharing:
+ description: |
+ Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
+ `host`: Only a host can share the screen when someone else is sharing.
+ `all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ workplace_by_facebook:
+ description: Workplace by facebook.
+ type: boolean
+ type: object
+ integration:
+ description: "Account Settings: Integration."
+ properties:
+ box:
+ description: Enable users who join a meeting from their mobile device to share content from their Box account.
+ type: boolean
+ dropbox:
+ description: Enable users who join a meeting from their mobile device to share content from their Dropbox account.
+ type: boolean
+ google_calendar:
+ description: Enable meetings to be scheduled using Google Calendar.
+ type: boolean
+ google_drive:
+ description: Enable users who join a meeting from their mobile device to share content from their Google Drive.
+ type: boolean
+ kubi:
+ description: Enable users to control a connected Kubi device from within a Zoom meeting.
+ type: boolean
+ microsoft_one_drive:
+ description: Enable users who join a meeting from their mobile device to share content from their Microsoft OneDrive account.
+ type: boolean
+ type: object
+ profile:
+ properties:
+ recording_storage_location:
+ properties:
+ allowed_values:
+ description: |-
+ Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
+
+ Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
+ items:
+ type: string
+ type: array
+ value:
+ description: Abbreviated country code.
+ type: string
+ type: object
+ title: Profile
+ type: object
+ recording:
+ description: "Account Settings: Recording."
+ properties:
+ account_user_access_recording:
+ description: Cloud recordings are only accessible to account members. People outside of your organization cannot open links that provide access to cloud recordings.
+ type: boolean
+ allow_recovery_deleted_cloud_recordings:
+ description: |-
+ Allow recovery of deleted cloud recordings from trash.
+ If the value of this field is set to `true`, deleted cloud recordings will be kept in trash for 30 days after deletion and can be recovered within that period.
+ type: boolean
+ archive:
+ description: "[Archiving solution](https://support.zoom.us/hc/en-us/articles/360050431572-Archiving-Meeting-and-Webinar-data) settings. This setting can only be used if you have been granted with archiving solution access by the Zoom support team."
+ properties:
+ enable:
+ description: Enable the archiving feature.
+ type: boolean
+ settings:
+ properties:
+ audio_file:
+ description: Include in-meeting and/or in-webinar audio in the archive.
+ type: boolean
+ cc_transcript_file:
+ description: Include closed caption or transcript in the archive.
+ type: boolean
+ chat_file:
+ description: Include in-meeting chat in the archive.
+ type: boolean
+ chat_with_sender_email:
+ description: Include user email in in-meeting chat file.
+ type: boolean
+ video_file:
+ description: Include in-meeting and/or in-webinar video in the archive.
+ type: boolean
+ type: object
+ type:
+ description: |-
+ Archive types:
+
+ * `1`: Only meetings are archived.
+ * `2`: Only webinars are archived.
+ * `3`: Both meetings and webinars are archived.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ type: object
+ auto_delete_cmr:
+ description: Allow Zoom to permanantly delete recordings automatically after a specified number of days.
+ type: boolean
+ auto_delete_cmr_days:
+ description: When `auto_delete_cmr` function is 'true' this value will set the number of days before the auto deletion of cloud recordings.
+ type: integer
+ auto_recording:
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record on local
+ - Record on cloud
+ - Disabled
+ cloud_recording:
+ description: Allow hosts to record and save the meeting in the cloud.
+ type: boolean
+ cloud_recording_download:
+ description: Cloud recording downloads.
+ type: boolean
+ cloud_recording_download_host:
+ description: Only the host can download cloud recordings.
+ type: boolean
+ host_delete_cloud_recording:
+ description: |
+ If the value of this field is set to `true`, hosts will be able to delete the recordings. If this option is set to `false`, the recordings cannot be deleted by the host and only admin can delete them.
+ type: boolean
+ ip_address_access_control:
+ description: |
+ Setting to allow cloud recording access only from specific IP address ranges.
+ properties:
+ enable:
+ description: |+
+ If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
+
+ type: boolean
+ ip_addresses_or_ranges:
+ description: |+
+ IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
+
+ Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
+
+ type: string
+ type: object
+ local_recording:
+ description: Allow hosts and participants to record the meeting using a local file.
+ type: boolean
+ prevent_host_access_recording:
+ description: |
+ If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
+ type: boolean
+ record_audio_file:
+ description: Record an audio only file.
+ type: boolean
+ record_gallery_view:
+ description: Record the gallery view with a shared screen.
+ type: boolean
+ record_speaker_view:
+ description: Record the active speaker with a shared screen.
+ type: boolean
+ recording_audio_transcript:
+ description: Automatically transcribe the audio of the meeting or webinar to the cloud.
+ type: boolean
+ recording_disclaimer:
+ description: |
+ Show a disclaimer to participants before a recording starts
+ type: boolean
+ recording_password_requirement:
+ description: This object represents the minimum password requirements set for recordings via Account Recording Settings.
+ properties:
+ have_letter:
+ description: Indicates whether or not password must contain at least one alphabetical letter (a, b, c..).
+ type: boolean
+ have_number:
+ description: Indicates whether or not password must contain at least one number(1, 2, 3..).
+ type: boolean
+ have_special_character:
+ description: "Indicates whether or not password must contain at least one special character(!, @, #..)."
+ type: boolean
+ length:
+ description: Minimum required length for the password.
+ maximum: 10
+ type: integer
+ only_allow_numeric:
+ description: Indicates whether or not password must contain only numeric characters.
+ type: boolean
+ type: object
+ required_password_for_existing_cloud_recordings:
+ description: Require a passcode to access existing cloud recordings.
+ type: boolean
+ save_chat_text:
+ description: Save the chat text from the meeting.
+ type: boolean
+ show_timestamp:
+ description: Add a timestamp to the recording.
+ type: boolean
+ type: object
+ schedule_meeting:
+ description: "Account Settings: Schedule Meeting."
+ properties:
+ audio_type:
+ default: both
+ description: Determine how participants can join the audio portion of the meeting. `both` - Telephony and VoIP. `telephony` - Audio PSTN telephony only. `voip` - VoIP only. `thirdParty` - 3rd party audio conference.
+ enum:
+ - both
+ - telephony
+ - voip
+ - thirdParty
+ type: string
+ x-enum-descriptions:
+ - Telephony and VoIP
+ - Audio PSTN telephony only
+ - VoIP only
+ - 3rd party audio conference
+ enforce_login:
+ description: Only Zoom users who are signed in can join meetings.
+ type: boolean
+ enforce_login_domains:
+ description: "Only signed in users with a specified domain can join the meeting. "
+ type: string
+ enforce_login_with_domains:
+ description: Only signed in users with a specific domain can join meetings.
+ type: boolean
+ force_pmi_jbh_password:
+ description: Require a password for Personal Meetings if attendees can join before host.
+ type: boolean
+ host_video:
+ description: Start meetings with the host video on.
+ type: boolean
+ join_before_host:
+ description: Allow participants to join the meeting before the host arrives.
+ type: boolean
+ meeting_password_requirement:
+ description: Account wide meeting/webinar [password requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the password must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the password must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the password must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the password must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar password needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the password must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided password is weak.
+ type: boolean
+ type: object
+ not_store_meeting_topic:
+ description: Always display "Zoom Meeting" as the meeting topic.
+ type: boolean
+ participant_video:
+ description: Start meetings with the participant video on. Participants can change this setting during the meeting.
+ type: boolean
+ personal_meeting:
+ description: |+
+ Personal Meeting Setting.
+ `true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
+ `false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
+ For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
+
+
+ type: boolean
+ require_password_for_instant_meetings:
+ description: |
+ Require a password for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ require_password_for_pmi_meetings:
+ description: |
+ Require a password for a meeting held using Personal Meeting ID (PMI) This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ enum:
+ - jbh_only
+ - all
+ - none
+ type: string
+ x-enum-descriptions:
+ - Only meetings with Join Before Host enabled
+ - All meetings using PMI
+ - Disabled
+ require_password_for_scheduled_meetings:
+ description: |
+ Require a password for meetings which have already been scheduled
+ type: boolean
+ require_password_for_scheduling_new_meetings:
+ description: Require a password when scheduling new meetings. This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ use_pmi_for_instant_meetings:
+ description: |
+ Use Personal Meeting ID (PMI) when starting an instant meeting
+ type: boolean
+ use_pmi_for_scheduled_meetings:
+ description: |
+ Use Personal Meeting ID (PMI) when scheduling a meeting
+ type: boolean
+ type: object
+ security:
+ description: "[Security settings](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) of an Account."
+ properties:
+ admin_change_name_pic:
+ description: Only account administrators can change a user's username and picture.
+ type: boolean
+ hide_billing_info:
+ description: Hide billing information.
+ type: boolean
+ import_photos_from_devices:
+ description: Allow users to import photos from a photo library on a device.
+ type: boolean
+ password_requirement:
+ description: "This object refers to the [enhanced password rules](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) that allows Zoom account admins and owners to apply extra requiremets to the users' Zoom login password. "
+ properties:
+ consecutive_characters_length:
+ description: |-
+
+ Specify the max length of consecutive characters(abcde...) that can be used in a password.
+ If you set the value of this field to `0`, no restriction will be applied on consecutive characters.
+
+ If you would like to set this restriction, you can specify a number between 4 and 8 that define the maximum allowed length for consecutive characters in a password.
+
+ The max allowed length will be `n-1` where `n` refers to the value you provide for this field. For instance, if you provide `4` as the value, there can only be a maximum of `3` consecutive characters in a password(example: abc1x@8fdh).
+ type: integer
+ have_special_character:
+ description: "If the value of this field is set to `true`, the password must have at least one special character(!, @, #...)."
+ type: boolean
+ minimum_password_length:
+ description: Specify a minimum length for the password. The password length can be from a minimum of 9 characters, up to 14 characters. If you provide `0` as the value of this field, this field will be disabled and not be used and the basic password length requirement (minimum of 8 characters) will be applied for the requirement.
+ maximum: 14
+ minimum: 8
+ type: integer
+ weak_enhance_detection:
+ description: If the value of this field is set to `true`, user passwords will have to pass detection through a weak password dictionary in case hackers use simple passwords to sign in to your users’ accounts.
+ type: boolean
+ type: object
+ sign_again_period_for_inactivity_on_client:
+ description: |
+ Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Client app after a set amount of time.
+
+ If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Client. The value for the period of inactivity can be one of the following:
+
+ `5`: 5 minutes
+ `10`: 10 minutes
+ `15`: 15 minutes
+ `30`: 30 minutes
+ `45`: 45 minutes
+ `60`: 60 minutes
+ `90`: 90 minutes
+ `120`: 120 minutes
+ type: integer
+ sign_again_period_for_inactivity_on_web:
+ description: |+
+ Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Web Portal after a set amount of time.
+
+ If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Web Portal. The value for the period of inactivity can be one of the following:
+
+ `5`: 5 minutes
+ `10`: 10 minutes
+ `15`: 15 minutes
+ `30`: 30 minutes
+ `60`: 60 minutes
+ `120`: 120 minutes
+
+
+
+ type: integer
+ sign_in_with_two_factor_auth:
+ description: |
+ Settings for 2FA( [two factor authentication](https://support.zoom.us/hc/en-us/articles/360038247071) ). The value can be one of the following:
+ `all`: Two factor authentication will be enabled for all users in the account.
+ `none`: Two factor authentication is disabled.
+ `group`: Two factor authentication will be enabled for users belonging to specific groups. If 2FA is enabled for certain groups, the group IDs of the group(s) will be provided in the `sign_in_with_two_factor_auth_groups` field.
+ `role`: Two factor authentication will be enabled only for users assigned with specific roles in the account. If 2FA is enabled for specific roles, the role IDs will be provided in the
+ `sign_in_with_two_factor_auth_roles` field.
+ enum:
+ - all
+ - group
+ - role
+ - none
+ type: string
+ sign_in_with_two_factor_auth_groups:
+ description: This field contains group IDs of groups that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `group`
+ items:
+ type: string
+ type: array
+ sign_in_with_two_factor_auth_roles:
+ description: This field contains role IDs of roles that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `role`.
+ items:
+ type: string
+ type: array
+ type: object
+ telephony:
+ description: "Account Settings Update: Telephony."
+ properties:
+ audio_conference_info:
+ description: Third party audio conference info.
+ type: string
+ telephony_regions:
+ description: Indicates where most of the participants call into or call from duriing a meeting.
+ properties:
+ selection_values:
+ description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
+ items:
+ type: string
+ type: array
+ type: object
+ third_party_audio:
+ description: Users can join the meeting using the existing third party audio configuration.
+ type: boolean
+ type: object
+ tsp:
+ description: "Account Settings: TSP."
+ properties:
+ call_out:
+ description: Call Out
+ type: boolean
+ call_out_countries:
+ description: Call Out Countries/Regions
+ items: {}
+ type: array
+ display_toll_free_numbers:
+ description: Display toll-free numbers
+ type: boolean
+ show_international_numbers_link:
+ description: Show international numbers link on the invitation email
+ type: boolean
+ type: object
+ zoom_rooms:
+ description: "Account Settings: Zoom Rooms."
+ properties:
+ auto_start_stop_scheduled_meetings:
+ description: Automatic start and stop for scheduled meetings.
+ type: boolean
+ cmr_for_instant_meeting:
+ description: Cloud recording for instant meetings.
+ type: boolean
+ force_private_meeting:
+ description: Shift all meetings to private.
+ type: boolean
+ hide_host_information:
+ description: Hide host and meeting ID from private meetings.
+ type: boolean
+ list_meetings_with_calendar:
+ description: Display meeting list with calendar integration.
+ type: boolean
+ start_airplay_manually:
+ description: Start AirPlay service manually.
+ type: boolean
+ ultrasonic:
+ description: Automatic direct sharing using an ultrasonic proximity signal.
+ type: boolean
+ upcoming_meeting_alert:
+ description: Upcoming meeting alert.
+ type: boolean
+ weekly_system_restart:
+ description: Weekly system restart.
+ type: boolean
+ zr_post_meeting_feedback:
+ description: Zoom Room post meeting feedback.
+ type: boolean
+ type: object
+ title: Update account settings
+ type: object
+ - oneOf:
+ - description: Set/ update [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars).
The authentication profile **must first be set at the account level via the account settings**, and later can be disabled after enabling on the preferred level - i.e. user level using user settings or at group level via group settings (if you do not want the settings to be enabled on the entire account).
+ properties:
+ authentication_option:
+ description: Meeting Authentication Options
+ properties:
+ action:
+ description: |-
+ Specify the action that you would like to take via this API request:
+ * `add` : Choose this value if you are adding an authentication option.
+ * `update`: Choose this value if you are updating an existing authentication option.
+ * `delete`: Choose this value if you are deleting an existing authentication option.
+ enum:
+ - update
+ - delete
+ - add
+ type: string
+ default_option:
+ description: Specify whether you would like to set this authentication option as the default option or not.
+ type: boolean
+ domains:
+ description: "If you chose `enforce_login_with_domains` as the authentication type, specify the domain(s) that you want to allow to join your meetings or webinars. "
+ type: string
+ id:
+ description: |2-
+ Authentication ID. If you are creating an authentication profile, you do not need to provide this field. The id field will be generated in the response once this API request is completed successfully. You can also use the Get Account Settings API with query parameter set to `meeting_authentication` to list the authentication id.
+ Use this field or the `name` field to identify the associated authentication option that you would like to update or delete.
+ type: string
+ name:
+ description: Unique name for the authentication option.
+ type: string
+ type:
+ description: |2-
+ Authentication type. Specify one of the following authentication types for the authentication profile:
+ * `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
+ * `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
+ * `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
+ enum:
+ - enforce_login
+ - enforce_login_with_same_account
+ - enforce_login_with_domains
+ type: string
+ type: object
+ meeting_authentication:
+ description: 'If set to "true", only authenticated users can join meetings. The method for authentication can be defined in the "authentication_option". '
+ type: boolean
+ - description: Set/Update [authentication profile for Cloud Recordings](https://support.zoom.us/hc/en-us/articles/360037756671-Authentication-Profiles-for-Cloud-Recordings).
+ properties:
+ authentication_option:
+ description: Specify the authentication options for this account.
+ properties:
+ action:
+ description: |-
+ Specify the action that you would like to take via this API request:
+ * `add` : Choose this value if you are adding an authentication option.
+ * `update`: Choose this value if you are updating an existing authentication option.
+ * `delete`: Choose this value if you are deleting an existing authentication option.
+ enum:
+ - update
+ - delete
+ - add
+ type: string
+ default_option:
+ description: Specify whether you would like to set this authentication option as the default option or not.
+ type: boolean
+ domains:
+ description: "If you chose `enforce_login_with_domains` as the authentication type, specify the domain(s) that you want to allow to view the recordings. "
+ type: string
+ id:
+ description: |2-
+ Authentication ID. If you are creating an authentication profile, you do not need to provide this field. The id field will be generated in the response once this API request is completed successfully. You can also use the Get Account Settings API with query parameter set to `meeting_authentication` to list the authentication id.
+ Use this field or the `name` field to identify the associated authentication option that you would like to update or delete.
+ type: string
+ name:
+ description: Unique name for the authentication option.
+ type: string
+ type:
+ description: |+
+ Specify one authentication type that is to be associated with this authentication configuration:
+ * `internally`: This option allows you specify a rule that only signed in users within your account can view the recording.
+ * `enforce_login`: This option allows any users to view the recording, as long as they are signed into their Zoom account.
+ * `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can view the recording. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
+
+ enum:
+ - internally
+ - enforce_login
+ - enforce_login_with_domains
+ type: string
+ type: object
+ recording_authentication:
+ description: |-
+ If set to `true`, only authenticated users can view the cloud recordings.
+ The authentication profile **must first be set at the account level via the account settings**, and later can be disabled after enabling on the preferred level - i.e. user level using user settings or at group level via group settings (if you do not want the settings to be enabled on the entire account).
+ type: boolean
+ title: AccountSettingsAuthenticationUpdate
+ type: object
+ - properties:
+ meeting_security:
+ properties:
+ auto_security:
+ description: |-
+ `true`: Require that all meetings are secured with at least one security option.
+
+ This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
+ type: boolean
+ embed_password_in_join_link:
+ description: |
+ If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
+ type: boolean
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ end_to_end_encrypted_meetings:
+ description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
+ type: boolean
+ meeting_password:
+ description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
+ type: boolean
+ meeting_password_requirement:
+ description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the passcode must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar passcode needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the passcode must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided passcode is weak.
+ type: boolean
+ type: object
+ phone_password:
+ description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
+ type: boolean
+ pmi_password:
+ description: |
+ If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
+ type: boolean
+ require_password_for_scheduled_meeting:
+ description: |
+ Require a passcode for meetings which have already been scheduled.
+ type: boolean
+ require_password_for_scheduled_webinar:
+ description: |
+ Require a passcode for webinars which have already been scheduled.
+ type: boolean
+ waiting_room:
+ description: |
+ When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
+ type: boolean
+ waiting_room_settings:
+ description: Specify the settings to be applied if waiting room is enabled.
+ properties:
+ participants_to_place_in_waiting_room:
+ description: |-
+
+
+ Specify who should be admitted to the waiting room. The value of this field can be one of the following:
+ `0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ users_who_can_admit_participants_from_waiting_room:
+ description: |+
+ Specify who can admit participants from the waiting room. The value of this field can be one of the following:
+ `0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
+
+
+ type: integer
+ whitelisted_domains_for_waiting_room:
+ description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
+ type: string
+ type: object
+ webinar_password:
+ description: |
+ If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
+ type: boolean
+ type: object
+ title: Meeting/Webinar Security Settings
+ type: object
+ multipart/form-data:
+ schema:
+ oneOf:
+ - properties:
+ email_notification:
+ description: "Account Settings: Notification."
+ properties:
+ alternative_host_reminder:
+ description: Notify when an alternative host is set or removed from a meeting.
+ type: boolean
+ cancel_meeting_reminder:
+ description: Notify the host and participants when a meeting is cancelled.
+ type: boolean
+ cloud_recording_avaliable_reminder:
+ description: Notify host when cloud recording is available.
+ type: boolean
+ jbh_reminder:
+ description: Notify the host when participants join the meeting before them.
+ type: boolean
+ low_host_count_reminder:
+ description: Notify user when host licenses are running low.
+ type: boolean
+ schedule_for_reminder:
+ description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
+ type: boolean
+ type: object
+ feature:
+ description: "Account Settings: Feature."
+ properties:
+ meeting_capacity:
+ description: Set the maximum number of participants a host can have in a single meeting.
+ type: integer
+ type: object
+ in_meeting:
+ description: "Account Settings: In Meeting."
+ properties:
+ alert_guest_join:
+ description: Identify guest participants in a meeting or webinar.
+ type: boolean
+ allow_live_streaming:
+ description: Allow live streaming.
+ type: boolean
+ allow_participants_to_rename:
+ description: |
+ If the value of this field is set to `true`, meeting participants and webinar panelists can be allowed to rename themselves during a meeting or a webinar.
+ type: boolean
+ allow_show_zoom_windows:
+ description: "Show the Zoom desktop application when sharing screens. "
+ type: boolean
+ annotation:
+ description: Allow participants to use annotation tools to add information to shared screens.
+ type: boolean
+ anonymous_question_answer:
+ description: Allow an anonymous Q&A in a webinar.
+ type: boolean
+ attendee_on_hold:
+ default: false
+ description: |-
+ Allow host to put attendee on hold.
+
+ **This field has been deprecated and is no longer supported.**
+ type: boolean
+ auto_answer:
+ description: Enable users to see and add contacts to the "auto-answer group" in the chat contact list. Any call from members of this group will automatically be answered.
+ type: boolean
+ auto_saving_chat:
+ description: Automatically save all in-meeting chats so that the host does not need to manually save the chat transcript after the meeting starts.
+ type: boolean
+ breakout_room:
+ description: Allow host to split meeting participants into separate, smaller rooms.
+ type: boolean
+ chat:
+ description: Allow meeting participants to send a message that is visible to all participants.
+ type: boolean
+ closed_caption:
+ description: "Allow a host to type closed captions. Enable a host to assign a participant or third party device to add closed captions. "
+ type: boolean
+ co_host:
+ description: Allow the host to add co-hosts.
+ type: boolean
+ custom_data_center_regions:
+ description: If set to `true`, account owners and admins on paid accounts can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting their real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
+ type: boolean
+ custom_live_streaming_service:
+ description: Custom live streaming.
+ type: boolean
+ custom_service_instructions:
+ description: Custom service instructions.
+ type: string
+ data_center_regions:
+ description: |
+ If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["EU", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
+ enum:
+ - EU
+ - HK
+ - AU
+ - IN
+ - TY
+ - CN
+ - US
+ - CA
+ items:
+ type: string
+ type: array
+ dscp_audio:
+ description: DSCP audio.
+ maximum: 63
+ minimum: 1
+ type: integer
+ dscp_marking:
+ description: DSCP marking.
+ type: boolean
+ dscp_video:
+ description: DSCP video.
+ maximum: 63
+ minimum: 1
+ type: integer
+ e2e_encryption:
+ description: Zoom requires encryption for all data between the Zoom cloud, Zoom client, and Zoom Room. Require encryption for 3rd party endpoints (H323/SIP).
+ type: boolean
+ entry_exit_chime:
+ description: Play sound when participants join or leave. `host` - Heard by host only. `all` - Heard by host and all attendees. `none` - Disable.
+ enum:
+ - host
+ - all
+ - none
+ type: string
+ x-enum-descriptions:
+ - Heard by host only
+ - Heard by host and all attendees
+ - Disable
+ far_end_camera_control:
+ description: Allow another user to take control of your camera during a meeting.
+ type: boolean
+ feedback:
+ description: Add a "Feedback" tab to the Windows Settings or Mac Preferences dialog. Enable users to provide feedback to Zoom at the end of the meeting.
+ type: boolean
+ file_transfer:
+ description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled on the account or not.
+ type: boolean
+ group_hd:
+ description: |-
+ Activate higher quality video for host and participants.
+ Please note: This will use more bandwidth.
+ type: boolean
+ meeting_reactions:
+ description: |-
+ Enable or disable meeting reactions.
+ `true`: Allow meeting participants to communicate without interrupting by reacting with an emoji that shows on their video.
+ `false`: Do not enable meeting reactions.
+ type: boolean
+ original_audio:
+ description: Allow users to select original sound in their client settings.
+ type: boolean
+ p2p_connetion:
+ description: Peer to peer connection while only two people are in a meeting.
+ type: boolean
+ p2p_ports:
+ description: Peer to peer listening ports range.
+ type: boolean
+ polling:
+ description: Add "Polls" to the meeting controls.
+ type: boolean
+ ports_range:
+ default: ""
+ description: The listening ports range, separated by a comma (ex 55,56). The ports range must be between 1 to 65535.
+ type: string
+ post_meeting_feedback:
+ description: Display a thumbs up or down survey at the end of each meeting.
+ type: boolean
+ private_chat:
+ description: Allow a meeting participant to send a private message to another participant.
+ type: boolean
+ record_play_own_voice:
+ description: Record and play their own voice.
+ type: boolean
+ remote_control:
+ description: Allow users to request remote control.
+ type: boolean
+ request_permission_to_unmute:
+ description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the account or not.
+ type: boolean
+ screen_sharing:
+ description: Allow screen sharing.
+ type: boolean
+ sending_default_email_invites:
+ description: Only show the default email when sending email invites.
+ type: boolean
+ show_a_join_from_your_browser_link:
+ description: If the value of this field is set to `true`, you will allow participants to join a meeting directly from their browser and bypass the Zoom application download process. This is a workaround for participants who are unable to download, install, or run applications. Note that the meeting experience from the browser is limited.
+ type: boolean
+ show_meeting_control_toolbar:
+ description: Always show the meeting control toolbar.
+ type: boolean
+ stereo_audio:
+ description: Allow users to select stereo audio in their client settings.
+ type: boolean
+ use_html_format_email:
+ description: Use HTML formatted email for the Outlook plugin.
+ type: boolean
+ virtual_background:
+ description: Allow users to replace their background with any selected image. Choose or upload an image in the Zoom desktop application settings.
+ type: boolean
+ virtual_background_settings:
+ description: Settings to manage virtual background.
+ properties:
+ allow_upload_custom:
+ description: Allow users to upload custom backgrounds.
+ type: boolean
+ allow_videos:
+ description: Allow use of videos for virtual backgrounds.
+ type: boolean
+ enable:
+ description: Enable virtual background.
+ type: boolean
+ files:
+ items:
+ properties:
+ id:
+ description: Unique identifier of the file.
+ type: string
+ is_default:
+ description: Indicates whether or not this file is the default virtual background file.
+ type: boolean
+ name:
+ description: File name.
+ type: string
+ size:
+ description: File size.
+ type: string
+ type:
+ description: File type.
+ type: string
+ type: object
+ type: array
+ type: object
+ watermark:
+ description: Add a watermark when viewing a shared screen.
+ type: boolean
+ webinar_question_answer:
+ description: Allow a Q&A in a webinar.
+ type: boolean
+ whiteboard:
+ description: Allow participants to share a whiteboard that includes annotation tools.
+ type: boolean
+ who_can_share_screen:
+ description: |
+ Indicates who can share their screen or content during meetings. The value can be one of the following:
+ `host`: Only host can share the screen.
+ `all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ who_can_share_screen_when_someone_is_sharing:
+ description: |
+ Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
+ `host`: Only a host can share the screen when someone else is sharing.
+ `all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ workplace_by_facebook:
+ description: Workplace by facebook.
+ type: boolean
+ type: object
+ integration:
+ description: "Account Settings: Integration."
+ properties:
+ box:
+ description: Enable users who join a meeting from their mobile device to share content from their Box account.
+ type: boolean
+ dropbox:
+ description: Enable users who join a meeting from their mobile device to share content from their Dropbox account.
+ type: boolean
+ google_calendar:
+ description: Enable meetings to be scheduled using Google Calendar.
+ type: boolean
+ google_drive:
+ description: Enable users who join a meeting from their mobile device to share content from their Google Drive.
+ type: boolean
+ kubi:
+ description: Enable users to control a connected Kubi device from within a Zoom meeting.
+ type: boolean
+ microsoft_one_drive:
+ description: Enable users who join a meeting from their mobile device to share content from their Microsoft OneDrive account.
+ type: boolean
+ type: object
+ profile:
+ properties:
+ recording_storage_location:
+ properties:
+ allowed_values:
+ description: |-
+ Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
+
+ Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
+ items:
+ type: string
+ type: array
+ value:
+ description: Abbreviated country code.
+ type: string
+ type: object
+ title: Profile
+ type: object
+ recording:
+ description: "Account Settings: Recording."
+ properties:
+ account_user_access_recording:
+ description: Cloud recordings are only accessible to account members. People outside of your organization cannot open links that provide access to cloud recordings.
+ type: boolean
+ allow_recovery_deleted_cloud_recordings:
+ description: |-
+ Allow recovery of deleted cloud recordings from trash.
+ If the value of this field is set to `true`, deleted cloud recordings will be kept in trash for 30 days after deletion and can be recovered within that period.
+ type: boolean
+ archive:
+ description: "[Archiving solution](https://support.zoom.us/hc/en-us/articles/360050431572-Archiving-Meeting-and-Webinar-data) settings. This setting can only be used if you have been granted with archiving solution access by the Zoom support team."
+ properties:
+ enable:
+ description: Enable the archiving feature.
+ type: boolean
+ settings:
+ properties:
+ audio_file:
+ description: Include in-meeting and/or in-webinar audio in the archive.
+ type: boolean
+ cc_transcript_file:
+ description: Include closed caption or transcript in the archive.
+ type: boolean
+ chat_file:
+ description: Include in-meeting chat in the archive.
+ type: boolean
+ chat_with_sender_email:
+ description: Include user email in in-meeting chat file.
+ type: boolean
+ video_file:
+ description: Include in-meeting and/or in-webinar video in the archive.
+ type: boolean
+ type: object
+ type:
+ description: |-
+ Archive types:
+
+ * `1`: Only meetings are archived.
+ * `2`: Only webinars are archived.
+ * `3`: Both meetings and webinars are archived.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ type: object
+ auto_delete_cmr:
+ description: Allow Zoom to permanantly delete recordings automatically after a specified number of days.
+ type: boolean
+ auto_delete_cmr_days:
+ description: When `auto_delete_cmr` function is 'true' this value will set the number of days before the auto deletion of cloud recordings.
+ type: integer
+ auto_recording:
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record on local
+ - Record on cloud
+ - Disabled
+ cloud_recording:
+ description: Allow hosts to record and save the meeting in the cloud.
+ type: boolean
+ cloud_recording_download:
+ description: Cloud recording downloads.
+ type: boolean
+ cloud_recording_download_host:
+ description: Only the host can download cloud recordings.
+ type: boolean
+ host_delete_cloud_recording:
+ description: |
+ If the value of this field is set to `true`, hosts will be able to delete the recordings. If this option is set to `false`, the recordings cannot be deleted by the host and only admin can delete them.
+ type: boolean
+ ip_address_access_control:
+ description: |
+ Setting to allow cloud recording access only from specific IP address ranges.
+ properties:
+ enable:
+ description: |+
+ If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
+
+ type: boolean
+ ip_addresses_or_ranges:
+ description: |+
+ IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
+
+ Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
+
+ type: string
+ type: object
+ local_recording:
+ description: Allow hosts and participants to record the meeting using a local file.
+ type: boolean
+ prevent_host_access_recording:
+ description: |
+ If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
+ type: boolean
+ record_audio_file:
+ description: Record an audio only file.
+ type: boolean
+ record_gallery_view:
+ description: Record the gallery view with a shared screen.
+ type: boolean
+ record_speaker_view:
+ description: Record the active speaker with a shared screen.
+ type: boolean
+ recording_audio_transcript:
+ description: Automatically transcribe the audio of the meeting or webinar to the cloud.
+ type: boolean
+ recording_disclaimer:
+ description: |
+ Show a disclaimer to participants before a recording starts
+ type: boolean
+ recording_password_requirement:
+ description: This object represents the minimum password requirements set for recordings via Account Recording Settings.
+ properties:
+ have_letter:
+ description: Indicates whether or not password must contain at least one alphabetical letter (a, b, c..).
+ type: boolean
+ have_number:
+ description: Indicates whether or not password must contain at least one number(1, 2, 3..).
+ type: boolean
+ have_special_character:
+ description: "Indicates whether or not password must contain at least one special character(!, @, #..)."
+ type: boolean
+ length:
+ description: Minimum required length for the password.
+ maximum: 10
+ type: integer
+ only_allow_numeric:
+ description: Indicates whether or not password must contain only numeric characters.
+ type: boolean
+ type: object
+ required_password_for_existing_cloud_recordings:
+ description: Require a passcode to access existing cloud recordings.
+ type: boolean
+ save_chat_text:
+ description: Save the chat text from the meeting.
+ type: boolean
+ show_timestamp:
+ description: Add a timestamp to the recording.
+ type: boolean
+ type: object
+ schedule_meeting:
+ description: "Account Settings: Schedule Meeting."
+ properties:
+ audio_type:
+ default: both
+ description: Determine how participants can join the audio portion of the meeting. `both` - Telephony and VoIP. `telephony` - Audio PSTN telephony only. `voip` - VoIP only. `thirdParty` - 3rd party audio conference.
+ enum:
+ - both
+ - telephony
+ - voip
+ - thirdParty
+ type: string
+ x-enum-descriptions:
+ - Telephony and VoIP
+ - Audio PSTN telephony only
+ - VoIP only
+ - 3rd party audio conference
+ enforce_login:
+ description: Only Zoom users who are signed in can join meetings.
+ type: boolean
+ enforce_login_domains:
+ description: "Only signed in users with a specified domain can join the meeting. "
+ type: string
+ enforce_login_with_domains:
+ description: Only signed in users with a specific domain can join meetings.
+ type: boolean
+ force_pmi_jbh_password:
+ description: Require a password for Personal Meetings if attendees can join before host.
+ type: boolean
+ host_video:
+ description: Start meetings with the host video on.
+ type: boolean
+ join_before_host:
+ description: Allow participants to join the meeting before the host arrives.
+ type: boolean
+ meeting_password_requirement:
+ description: Account wide meeting/webinar [password requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the password must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the password must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the password must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the password must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar password needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the password must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided password is weak.
+ type: boolean
+ type: object
+ not_store_meeting_topic:
+ description: Always display "Zoom Meeting" as the meeting topic.
+ type: boolean
+ participant_video:
+ description: Start meetings with the participant video on. Participants can change this setting during the meeting.
+ type: boolean
+ personal_meeting:
+ description: |+
+ Personal Meeting Setting.
+ `true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
+ `false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
+ For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
+
+
+ type: boolean
+ require_password_for_instant_meetings:
+ description: |
+ Require a password for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ require_password_for_pmi_meetings:
+ description: |
+ Require a password for a meeting held using Personal Meeting ID (PMI) This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ enum:
+ - jbh_only
+ - all
+ - none
+ type: string
+ x-enum-descriptions:
+ - Only meetings with Join Before Host enabled
+ - All meetings using PMI
+ - Disabled
+ require_password_for_scheduled_meetings:
+ description: |
+ Require a password for meetings which have already been scheduled
+ type: boolean
+ require_password_for_scheduling_new_meetings:
+ description: Require a password when scheduling new meetings. This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ use_pmi_for_instant_meetings:
+ description: |
+ Use Personal Meeting ID (PMI) when starting an instant meeting
+ type: boolean
+ use_pmi_for_scheduled_meetings:
+ description: |
+ Use Personal Meeting ID (PMI) when scheduling a meeting
+ type: boolean
+ type: object
+ security:
+ description: "[Security settings](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) of an Account."
+ properties:
+ admin_change_name_pic:
+ description: Only account administrators can change a user's username and picture.
+ type: boolean
+ hide_billing_info:
+ description: Hide billing information.
+ type: boolean
+ import_photos_from_devices:
+ description: Allow users to import photos from a photo library on a device.
+ type: boolean
+ password_requirement:
+ description: "This object refers to the [enhanced password rules](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) that allows Zoom account admins and owners to apply extra requiremets to the users' Zoom login password. "
+ properties:
+ consecutive_characters_length:
+ description: |-
+
+ Specify the max length of consecutive characters(abcde...) that can be used in a password.
+ If you set the value of this field to `0`, no restriction will be applied on consecutive characters.
+
+ If you would like to set this restriction, you can specify a number between 4 and 8 that define the maximum allowed length for consecutive characters in a password.
+
+ The max allowed length will be `n-1` where `n` refers to the value you provide for this field. For instance, if you provide `4` as the value, there can only be a maximum of `3` consecutive characters in a password(example: abc1x@8fdh).
+ type: integer
+ have_special_character:
+ description: "If the value of this field is set to `true`, the password must have at least one special character(!, @, #...)."
+ type: boolean
+ minimum_password_length:
+ description: Specify a minimum length for the password. The password length can be from a minimum of 9 characters, up to 14 characters. If you provide `0` as the value of this field, this field will be disabled and not be used and the basic password length requirement (minimum of 8 characters) will be applied for the requirement.
+ maximum: 14
+ minimum: 8
+ type: integer
+ weak_enhance_detection:
+ description: If the value of this field is set to `true`, user passwords will have to pass detection through a weak password dictionary in case hackers use simple passwords to sign in to your users’ accounts.
+ type: boolean
+ type: object
+ sign_again_period_for_inactivity_on_client:
+ description: |
+ Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Client app after a set amount of time.
+
+ If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Client. The value for the period of inactivity can be one of the following:
+
+ `5`: 5 minutes
+ `10`: 10 minutes
+ `15`: 15 minutes
+ `30`: 30 minutes
+ `45`: 45 minutes
+ `60`: 60 minutes
+ `90`: 90 minutes
+ `120`: 120 minutes
+ type: integer
+ sign_again_period_for_inactivity_on_web:
+ description: |+
+ Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Web Portal after a set amount of time.
+
+ If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Web Portal. The value for the period of inactivity can be one of the following:
+
+ `5`: 5 minutes
+ `10`: 10 minutes
+ `15`: 15 minutes
+ `30`: 30 minutes
+ `60`: 60 minutes
+ `120`: 120 minutes
+
+
+
+ type: integer
+ sign_in_with_two_factor_auth:
+ description: |
+ Settings for 2FA( [two factor authentication](https://support.zoom.us/hc/en-us/articles/360038247071) ). The value can be one of the following:
+ `all`: Two factor authentication will be enabled for all users in the account.
+ `none`: Two factor authentication is disabled.
+ `group`: Two factor authentication will be enabled for users belonging to specific groups. If 2FA is enabled for certain groups, the group IDs of the group(s) will be provided in the `sign_in_with_two_factor_auth_groups` field.
+ `role`: Two factor authentication will be enabled only for users assigned with specific roles in the account. If 2FA is enabled for specific roles, the role IDs will be provided in the
+ `sign_in_with_two_factor_auth_roles` field.
+ enum:
+ - all
+ - group
+ - role
+ - none
+ type: string
+ sign_in_with_two_factor_auth_groups:
+ description: This field contains group IDs of groups that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `group`
+ items:
+ type: string
+ type: array
+ sign_in_with_two_factor_auth_roles:
+ description: This field contains role IDs of roles that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `role`.
+ items:
+ type: string
+ type: array
+ type: object
+ telephony:
+ description: "Account Settings Update: Telephony."
+ properties:
+ audio_conference_info:
+ description: Third party audio conference info.
+ type: string
+ telephony_regions:
+ description: Indicates where most of the participants call into or call from duriing a meeting.
+ properties:
+ selection_values:
+ description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
+ items:
+ type: string
+ type: array
+ type: object
+ third_party_audio:
+ description: Users can join the meeting using the existing third party audio configuration.
+ type: boolean
+ type: object
+ tsp:
+ description: "Account Settings: TSP."
+ properties:
+ call_out:
+ description: Call Out
+ type: boolean
+ call_out_countries:
+ description: Call Out Countries/Regions
+ items: {}
+ type: array
+ display_toll_free_numbers:
+ description: Display toll-free numbers
+ type: boolean
+ show_international_numbers_link:
+ description: Show international numbers link on the invitation email
+ type: boolean
+ type: object
+ zoom_rooms:
+ description: "Account Settings: Zoom Rooms."
+ properties:
+ auto_start_stop_scheduled_meetings:
+ description: Automatic start and stop for scheduled meetings.
+ type: boolean
+ cmr_for_instant_meeting:
+ description: Cloud recording for instant meetings.
+ type: boolean
+ force_private_meeting:
+ description: Shift all meetings to private.
+ type: boolean
+ hide_host_information:
+ description: Hide host and meeting ID from private meetings.
+ type: boolean
+ list_meetings_with_calendar:
+ description: Display meeting list with calendar integration.
+ type: boolean
+ start_airplay_manually:
+ description: Start AirPlay service manually.
+ type: boolean
+ ultrasonic:
+ description: Automatic direct sharing using an ultrasonic proximity signal.
+ type: boolean
+ upcoming_meeting_alert:
+ description: Upcoming meeting alert.
+ type: boolean
+ weekly_system_restart:
+ description: Weekly system restart.
+ type: boolean
+ zr_post_meeting_feedback:
+ description: Zoom Room post meeting feedback.
+ type: boolean
+ type: object
+ title: Update account settings
+ type: object
+ - oneOf:
+ - description: Set/ update [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars).
The authentication profile **must first be set at the account level via the account settings**, and later can be disabled after enabling on the preferred level - i.e. user level using user settings or at group level via group settings (if you do not want the settings to be enabled on the entire account).
+ properties:
+ authentication_option:
+ description: Meeting Authentication Options
+ properties:
+ action:
+ description: |-
+ Specify the action that you would like to take via this API request:
+ * `add` : Choose this value if you are adding an authentication option.
+ * `update`: Choose this value if you are updating an existing authentication option.
+ * `delete`: Choose this value if you are deleting an existing authentication option.
+ enum:
+ - update
+ - delete
+ - add
+ type: string
+ default_option:
+ description: Specify whether you would like to set this authentication option as the default option or not.
+ type: boolean
+ domains:
+ description: "If you chose `enforce_login_with_domains` as the authentication type, specify the domain(s) that you want to allow to join your meetings or webinars. "
+ type: string
+ id:
+ description: |2-
+ Authentication ID. If you are creating an authentication profile, you do not need to provide this field. The id field will be generated in the response once this API request is completed successfully. You can also use the Get Account Settings API with query parameter set to `meeting_authentication` to list the authentication id.
+ Use this field or the `name` field to identify the associated authentication option that you would like to update or delete.
+ type: string
+ name:
+ description: Unique name for the authentication option.
+ type: string
+ type:
+ description: |2-
+ Authentication type. Specify one of the following authentication types for the authentication profile:
+ * `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
+ * `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
+ * `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
+ enum:
+ - enforce_login
+ - enforce_login_with_same_account
+ - enforce_login_with_domains
+ type: string
+ type: object
+ meeting_authentication:
+ description: 'If set to "true", only authenticated users can join meetings. The method for authentication can be defined in the "authentication_option". '
+ type: boolean
+ - description: Set/Update [authentication profile for Cloud Recordings](https://support.zoom.us/hc/en-us/articles/360037756671-Authentication-Profiles-for-Cloud-Recordings).
+ properties:
+ authentication_option:
+ description: Specify the authentication options for this account.
+ properties:
+ action:
+ description: |-
+ Specify the action that you would like to take via this API request:
+ * `add` : Choose this value if you are adding an authentication option.
+ * `update`: Choose this value if you are updating an existing authentication option.
+ * `delete`: Choose this value if you are deleting an existing authentication option.
+ enum:
+ - update
+ - delete
+ - add
+ type: string
+ default_option:
+ description: Specify whether you would like to set this authentication option as the default option or not.
+ type: boolean
+ domains:
+ description: "If you chose `enforce_login_with_domains` as the authentication type, specify the domain(s) that you want to allow to view the recordings. "
+ type: string
+ id:
+ description: |2-
+ Authentication ID. If you are creating an authentication profile, you do not need to provide this field. The id field will be generated in the response once this API request is completed successfully. You can also use the Get Account Settings API with query parameter set to `meeting_authentication` to list the authentication id.
+ Use this field or the `name` field to identify the associated authentication option that you would like to update or delete.
+ type: string
+ name:
+ description: Unique name for the authentication option.
+ type: string
+ type:
+ description: |+
+ Specify one authentication type that is to be associated with this authentication configuration:
+ * `internally`: This option allows you specify a rule that only signed in users within your account can view the recording.
+ * `enforce_login`: This option allows any users to view the recording, as long as they are signed into their Zoom account.
+ * `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can view the recording. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
+
+ enum:
+ - internally
+ - enforce_login
+ - enforce_login_with_domains
+ type: string
+ type: object
+ recording_authentication:
+ description: |-
+ If set to `true`, only authenticated users can view the cloud recordings.
+ The authentication profile **must first be set at the account level via the account settings**, and later can be disabled after enabling on the preferred level - i.e. user level using user settings or at group level via group settings (if you do not want the settings to be enabled on the entire account).
+ type: boolean
+ title: AccountSettingsAuthenticationUpdate
+ type: object
+ - properties:
+ meeting_security:
+ properties:
+ auto_security:
+ description: |-
+ `true`: Require that all meetings are secured with at least one security option.
+
+ This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
+ type: boolean
+ embed_password_in_join_link:
+ description: |
+ If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
+ type: boolean
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ end_to_end_encrypted_meetings:
+ description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
+ type: boolean
+ meeting_password:
+ description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
+ type: boolean
+ meeting_password_requirement:
+ description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the passcode must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar passcode needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the passcode must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided passcode is weak.
+ type: boolean
+ type: object
+ phone_password:
+ description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
+ type: boolean
+ pmi_password:
+ description: |
+ If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
+ type: boolean
+ require_password_for_scheduled_meeting:
+ description: |
+ Require a passcode for meetings which have already been scheduled.
+ type: boolean
+ require_password_for_scheduled_webinar:
+ description: |
+ Require a passcode for webinars which have already been scheduled.
+ type: boolean
+ waiting_room:
+ description: |
+ When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
+ type: boolean
+ waiting_room_settings:
+ description: Specify the settings to be applied if waiting room is enabled.
+ properties:
+ participants_to_place_in_waiting_room:
+ description: |-
+
+
+ Specify who should be admitted to the waiting room. The value of this field can be one of the following:
+ `0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ users_who_can_admit_participants_from_waiting_room:
+ description: |+
+ Specify who can admit participants from the waiting room. The value of this field can be one of the following:
+ `0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
+
+
+ type: integer
+ whitelisted_domains_for_waiting_room:
+ description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
+ type: string
+ type: object
+ webinar_password:
+ description: |
+ If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
+ type: boolean
+ type: object
+ title: Meeting/Webinar Security Settings
+ type: object
+ required: true
+ x-examples:
+ application/json:
+ email_notification:
+ alternative_host_reminder: boolean
+ cancel_meeting_reminder: boolean
+ cloud_recording_avaliable_reminder: boolean
+ jbh_reminder: boolean
+ low_host_count_reminder: boolean
+ feature:
+ meeting_capacity: integer
+ in_meeting:
+ alert_guest_join: boolean
+ allow_show_zoom_windows: boolean
+ annotation: boolean
+ anonymous_question_answer: boolean
+ attendee_on_hold: boolean
+ auto_answer: boolean
+ auto_saving_chat: boolean
+ breakout_room: boolean
+ chat: boolean
+ closed_caption: boolean
+ co_host: boolean
+ dscp_audio: integer
+ dscp_marking: boolean
+ dscp_video: integer
+ e2e_encryption: boolean
+ far_end_camera_control: boolean
+ feedback: boolean
+ group_hd: boolean
+ original_audio: boolean
+ p2p_connetion: boolean
+ p2p_ports: boolean
+ polling: boolean
+ ports_range: string
+ post_meeting_feedback: boolean
+ private_chat: boolean
+ remote_control: boolean
+ screen_sharing: boolean
+ sending_default_email_invites: boolean
+ show_meeting_control_toolbar: boolean
+ stereo_audio: boolean
+ use_html_format_email: boolean
+ virtual_background: boolean
+ watermark: boolean
+ webinar_question_answer: boolean
+ whiteboard: boolean
+ integration:
+ box: boolean
+ dropbox: boolean
+ google_calendar: boolean
+ google_drive: boolean
+ kubi: boolean
+ microsoft_one_drive: boolean
+ recording:
+ account_user_access_recording: boolean
+ auto_delete_cmr: boolean
+ auto_delete_cmr_days: integer
+ auto_recording: string
+ cloud_recording: boolean
+ cloud_recording_download: boolean
+ cloud_recording_download_host: boolean
+ local_recording: boolean
+ record_audio_file: boolean
+ record_gallery_view: boolean
+ record_speaker_view: boolean
+ recording_audio_transcript: boolean
+ save_chat_text: boolean
+ show_timestamp: boolean
+ schedule_meeting:
+ audio_type: string
+ enforce_login: boolean
+ enforce_login_domains: string
+ enforce_login_with_domains: boolean
+ force_pmi_jbh_password: boolean
+ host_video: boolean
+ join_before_host: boolean
+ not_store_meeting_topic: boolean
+ participant_video: boolean
+ require_password_for_instant_meetings: boolean
+ require_password_for_pmi_meetings: string
+ require_password_for_scheduled_meetings: boolean
+ require_password_for_scheduling_new_meetings: boolean
+ use_pmi_for_instant_meetings: boolean
+ use_pmi_for_scheduled_meetings: boolean
+ security:
+ admin_change_name_pic: boolean
+ hide_billing_info: boolean
+ import_photos_from_devices: boolean
+ telephony:
+ audio_conference_info: string
+ third_party_audio: boolean
+ tsp:
+ call_out: boolean
+ call_out_countries:
+ - string
+ display_toll_free_numbers: boolean
+ show_international_numbers_link: boolean
+ zoom_rooms:
+ auto_start_stop_scheduled_meetings: boolean
+ cmr_for_instant_meeting: boolean
+ force_private_meeting: boolean
+ hide_host_information: boolean
+ list_meetings_with_calendar: boolean
+ start_airplay_manually: boolean
+ ultrasonic: boolean
+ upcoming_meeting_alert: boolean
+ weekly_system_restart: boolean
+ zr_post_meeting_feedback: boolean
+ responses:
+ "200":
+ description: "**Error Code:** `200` Only available for Paid account."
+ "204":
+ description: "**HTTP Status Code:** `204` Account settings updated."
+ "300":
+ description: "**Error Code:** `300` The domains provided are invalid. If you are providing multiple domains, separate each domain with a comma."
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code:** `2001` Account does not exist: $subAccountId.
+ summary: Update settings
+ tags:
+ - Accounts
+ "/accounts/{accountId}/settings/virtual_backgrounds":
+ delete:
+ description: |+
+ Delete existing virtual background file(s) from an account.
+
+ **Prerequisites:**
+ * Virtual background feature must be [enabled](https://support.zoom.us/hc/en-us/articles/210707503-Virtual-Background#h_2ef28080-fce9-4ac2-b567-dc958afab1b7) on the account.
+ **Scope:** `account:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: delVB
+ parameters:
+ - description: Provide the id of the file that is to be deleted. To delete multiple files, provide comma separated values for this field.
+ in: query
+ name: file_ids
+ schema:
+ type: string
+ responses:
+ "204":
+ description: |
+ **HTTP Status Code:** `204` **No Content**
+ Deleted.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad request**
+ **Error Code:** `300`
+ Invalid parameter: file_ids.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `2001`
+ This account does not exist or does not belong to you: {accountId}.
+ summary: Delete virtual background files
+ tags:
+ - Accounts
+ parameters:
+ - in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ post:
+ description: |+
+ Use this API to [upload virtual background files](https://support.zoom.us/hc/en-us/articles/210707503-Virtual-Background#h_01EJF3YFEWGT8YA0ZJ079JEDQE) for all users on the account to use.
+
+
+ **Prerequisites:**
+ * Virtual background feature must be [enabled](https://support.zoom.us/hc/en-us/articles/210707503-Virtual-Background#h_2ef28080-fce9-4ac2-b567-dc958afab1b7) on the account.
+ **Scope:** `account:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+
+ operationId: uploadVB
+ parameters:
+ - description: Unique identifier of the account.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ $ref: "#/components/requestBodies/uploadVB"
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ id: _Tcj7354w6eHw
+ is_default: false
+ name: u=mdbhhfg3y7&fm=2fdjs0.jpg
+ size: 53434
+ type: image
+ schema:
+ properties:
+ id:
+ description: Unique identifier of the file.
+ type: string
+ is_default:
+ description: Indicates whether or not this file is the default virtual background file.
+ type: boolean
+ name:
+ description: File name.
+ type: string
+ size:
+ description: File size.
+ type: string
+ type:
+ description: File type.
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ id:
+ description: Unique identifier of the file.
+ type: string
+ is_default:
+ description: Indicates whether or not this file is the default virtual background file.
+ type: boolean
+ name:
+ description: File name.
+ type: string
+ size:
+ description: File size.
+ type: string
+ type:
+ description: File type.
+ type: string
+ type: object
+ description: |
+ **HTTP Status Code:** `201` **Created**
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `120`
+ No file uploaded, verify that a file has been uploaded.
+ File size cannot exceed 15M.
+ A maximum of 10 files are allowed for a user.
+ Only jpg/jpeg, gif or png image file can be uploaded.
+
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `2001`
+ This account does not exist or does not belong to you: {accountId}.
+ summary: Upload virtual background files
+ tags:
+ - Accounts
+ "/accounts/{accountId}/sip_trunk/callout_countries":
+ get:
+ description: |-
+ Retrieve the list of internal [call-out](https://support.zoom.us/hc/en-us/articles/200942859-How-To-Use-Telephone-Call-Out-) countries of a master account or a sub account. To list call-out enabled countries of a sub account, provide the account ID of the sub account in the `accountId` path parameter. To list call-out enabled countries of a master account, provide `me` as the value of the `accountId` path parameter.
+ Prerequisites:
+ * The account making this API request must be a [master account](https://marketplace.zoom.us/docs/api-reference/master-account-apis) with SIP Connected Audio Plan.
+ **Scope:** `sip_trunk:master`
+ operationId: listInternalCalloutCountries
+ parameters:
+ - description: Unique identifier of the account. To list Call-out enabled countries to a sub account, provide the account ID of the sub account in the `accountId` path parameter. To list Call-out enabled countries of a sub account, provide the account ID of the sub account in the `accountId` path parameter. To list Call-out enabled countries of a master account, provide `me` as the value of the `accountId` path parameter.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ callout_countries:
+ - code: "1"
+ id: US
+ name: United States
+ - code: "1"
+ id: CA
+ name: Canada
+ total_records: 2
+ schema:
+ properties:
+ callout_countries:
+ items:
+ properties:
+ code:
+ description: Country code.
+ type: string
+ id:
+ description: Two letter country Id.
+ type: string
+ name:
+ description: Name of the country.
+ type: string
+ type: object
+ type: array
+ total_records:
+ description: The total number of records returned.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ callout_countries:
+ items:
+ properties:
+ code:
+ description: Country code.
+ type: string
+ id:
+ description: Two letter country Id.
+ type: string
+ name:
+ description: Name of the country.
+ type: string
+ type: object
+ type: array
+ total_records:
+ description: The total number of records returned.
+ type: integer
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ List of Internal Callout Countries returned.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300`
+ * Your account does not have the permission to make updates on this account. Only a master account can perform this action on a sub account.
+ * Request failed because this account is not enrolled in SIP Connected Audio plan.
+ * This account is not a master account. To get access to this API, your account must be enrolled in the API Partner Plan and must be a master account.
+
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `2001` Account does not exist: {0}.
+ summary: List internal call-out countries
+ tags:
+ - SIP Connected Audio
+ parameters:
+ - in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ post:
+ description: |-
+ Specify the list of [call-out](https://support.zoom.us/hc/en-us/articles/200942859-How-To-Use-Telephone-Call-Out-) countries for a master account or a sub account. To add call-out enabled countries to a sub account, provide the account ID of the sub account in the `accountId` path parameter. To add call-out enabled countries to a master account, provide `me` as the value of the `accountId` path parameter.
+ Prerequisites:
+ * The account making this API request must be a [master account](https://marketplace.zoom.us/docs/api-reference/master-account-apis) with SIP Connected Audio Plan.
+ **Scope:** `sip_trunk:master`
+ operationId: addCalloutCountries
+ parameters:
+ - description: Unique identifier of the account. To add Call-out enabled countries to a sub account, provide the account ID of the sub account in the `accountId` path parameter. To add Call-out enabled countries to a master account, provide `me` as the value of the `accountId` path parameter.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ callout_countries:
+ description: List of callout countries.
+ items:
+ properties:
+ id:
+ description: Two letter country code of the call-out country.
+ type: string
+ required:
+ - id
+ type: object
+ maxItems: 30
+ minItems: 1
+ type: array
+ required:
+ - callout_countries
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ callout_countries:
+ description: List of callout countries.
+ items:
+ properties:
+ id:
+ description: Two letter country code of the call-out country.
+ type: string
+ required:
+ - id
+ type: object
+ maxItems: 30
+ minItems: 1
+ type: array
+ required:
+ - callout_countries
+ type: object
+ x-examples:
+ application/json:
+ callout_countries:
+ - id: US
+ - id: CA
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ callout_countries:
+ - code: "1"
+ id: US
+ name: United States
+ - code: "1"
+ id: CA
+ name: Canada
+ schema:
+ properties:
+ callout_countries:
+ description: List of Call-out countries.
+ items:
+ properties:
+ code:
+ description: Country code for Phone number.
+ type: string
+ id:
+ description: Country ID.
+ type: string
+ name:
+ description: Name of the country.
+ type: string
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ properties:
+ callout_countries:
+ description: List of Call-out countries.
+ items:
+ properties:
+ code:
+ description: Country code for Phone number.
+ type: string
+ id:
+ description: Country ID.
+ type: string
+ name:
+ description: Name of the country.
+ type: string
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `201` **Created**
+ Call-out countries created.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300`
+ * Your account does not have the permission to make updates on this account. Only a master account can perform this action on a sub account.
+ * Request failed because this account is not enrolled in SIP Connected Audio plan.
+ * This account is not a master account. To get access to this API, your account must be enrolled in the API Partner Plan and must be a master account.
+ * Invalid parameter: callout_countries.
+
+ "404":
+ description: |+
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `2001` Account does not exist: {0}.
+
+
+ summary: Add internal call-out countries
+ tags:
+ - SIP Connected Audio
+ "/accounts/{accountId}/sip_trunk/callout_countries/{countryId}":
+ delete:
+ description: |-
+ Delete a previously assigned [call-out](https://support.zoom.us/hc/en-us/articles/200942859-How-To-Use-Telephone-Call-Out-) country from a master account or a sub account. To remove call-out country from a sub account, provide the account ID of the sub account in the `accountId` path parameter. To remove call-out country from a master account, provide `me` as the value of the `accountId` path parameter.
+ Prerequisites:
+ * The account making this API request must be a [master account](https://marketplace.zoom.us/docs/api-reference/master-account-apis) with SIP Connected Audio Plan.
+ **Scope:** `sip_trunk:master`
+ operationId: deleteInternalCallOutCountry
+ parameters:
+ - description: |-
+ Unique Identifier of the Account.
+ To remove Call-out country from a sub account, provide the account ID of the sub account in the `accountId` path parameter. To remove Call-out country from a master account, provide `me` as the value of the `accountId` path parameter.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ - description: Two lettered Id of the country.
+ in: path
+ name: countryId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Country deleted.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300`
+ * Your account does not have the permission to make updates on this account. Only a master account can perform this action on a sub account.
+ * Request failed because this account is not enrolled in SIP Connected Audio plan.
+ * This account is not a master account. To get access to this API, your account must be enrolled in the API Partner Plan and must be a master account.
+
+
+
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `2001` Account does not exist: {0}.
+ summary: Delete internal call-out country
+ tags:
+ - SIP Connected Audio
+ parameters:
+ - in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ - in: path
+ name: countryId
+ required: true
+ schema:
+ type: string
+ "/accounts/{accountId}/sip_trunk/internal_numbers":
+ get:
+ description: |+
+ This API allows a master account with SIP Connected Audio plan to list internal phone numbers (i.e., numbers that are not provided by Zoom but are owned by the organization consuming the API) assigned to a master account or a sub account.
To list internal numbers of a sub account, provide the account ID of the sub account in the `accountId` path parameter. To list internal numbers of a master account, provide `me` as the value of the `accountId` path parameter.
+ Prerequisites:
+ * The account making this API request must be a [master account](https://marketplace.zoom.us/docs/api-reference/master-account-apis) with SIP Connected Audio Plan.
+ **Scope:** `sip_trunk:master`
+
+
+ operationId: listInternalNumbers
+ parameters:
+ - description: Unique identifier of the account. To list internal numbers of a sub account, provide the account ID of the sub account in the `accountId` path parameter. To list internal numbers of a master account, provide `me` as the value of the `accountId` path parameter.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ properties:
+ internal_numbers:
+ items:
+ properties:
+ allow_for_external_meetings:
+ description: Control whether the number can be used to attend 3rd party meetings.
+ type: boolean
+ allow_join:
+ description: |-
+ Specify whether this number can be used by users to join a meeting or not.
+ * `true` : This number can be used to join a meeting.
+ * `false`: This number can not be used to join a meeting.
+
+ Note that if the value of `visible` field is set to `true`, the value of this field will always be `true`.
+ type: boolean
+ country:
+ description: Two letter country code of the country.
+ type: string
+ display_number:
+ description: "Phone number with display format. For instance, if the value in the number field is `+1888888000`, the value of this field could be `+1 888 888 000`. "
+ type: string
+ labels:
+ description: A short description for the phone number.
+ type: string
+ languages:
+ description: Specify the language in which this phone number should be displayed. Currently, the only supported languages are `en-GB`, `en-US`, `de-DE`.
+ enum:
+ - en-GB
+ - en-US
+ - de-DE
+ type: string
+ number:
+ description: Phone number in E164 format.
+ type: string
+ type:
+ description: |-
+ Type of phone number.
+ The value can be one of the following:
+ * `0` : toll
+ * `1` : tollfree
+ enum:
+ - 0
+ - 1
+ type: integer
+ visible:
+ description: |-
+ Specify whether you want this number to be visible (in Zoom Client and Zoom Portal) to the account users or not. The value could be one of the following:
+ * `true`: Make the number visible.
+ * `false`: Hide the number.
+ type: boolean
+ required:
+ - number
+ - display_number
+ - country
+ - type
+ - labels
+ - languages
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ default: 30
+ description: The number of records that you specified to get in the response per page.
+ type: integer
+ total_records:
+ description: The total number of records returned.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ internal_numbers:
+ items:
+ properties:
+ allow_for_external_meetings:
+ description: Control whether the number can be used to attend 3rd party meetings.
+ type: boolean
+ allow_join:
+ description: |-
+ Specify whether this number can be used by users to join a meeting or not.
+ * `true` : This number can be used to join a meeting.
+ * `false`: This number can not be used to join a meeting.
+
+ Note that if the value of `visible` field is set to `true`, the value of this field will always be `true`.
+ type: boolean
+ country:
+ description: Two letter country code of the country.
+ type: string
+ display_number:
+ description: "Phone number with display format. For instance, if the value in the number field is `+1888888000`, the value of this field could be `+1 888 888 000`. "
+ type: string
+ labels:
+ description: A short description for the phone number.
+ type: string
+ languages:
+ description: Specify the language in which this phone number should be displayed. Currently, the only supported languages are `en-GB`, `en-US`, `de-DE`.
+ enum:
+ - en-GB
+ - en-US
+ - de-DE
+ type: string
+ number:
+ description: Phone number in E164 format.
+ type: string
+ type:
+ description: |-
+ Type of phone number.
+ The value can be one of the following:
+ * `0` : toll
+ * `1` : tollfree
+ enum:
+ - 0
+ - 1
+ type: integer
+ visible:
+ description: |-
+ Specify whether you want this number to be visible (in Zoom Client and Zoom Portal) to the account users or not. The value could be one of the following:
+ * `true`: Make the number visible.
+ * `false`: Hide the number.
+ type: boolean
+ required:
+ - number
+ - display_number
+ - country
+ - type
+ - labels
+ - languages
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ default: 30
+ description: The number of records that you specified to get in the response per page.
+ type: integer
+ total_records:
+ description: The total number of records returned.
+ type: integer
+ type: object
+ description: |
+ **HTTP Status Code:** `200` **OK**
+ List of internal numbers returned.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300`
+ * Your account does not have the permission to make updates on this account. Only a master account can perform this action on a sub account.
+ * Request failed because this account is not enrolled in SIP Connected Audio plan.
+ * This account is not a master account. To get access to this API, your account must be enrolled in the API Partner Plan and must be a master account.
+
+
+
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `2001` Account does not exist: {0}.
+ summary: List internal numbers
+ tags:
+ - SIP Connected Audio
+ parameters:
+ - in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ post:
+ description: |+
+ This API allows a master account with SIP Connected Audio plan to assign internal phone numbers (i.e., numbers that are not provided by Zoom but are owned by the organization consuming the API) to a master account or a sub account.
To add internal numbers to a sub account, provide the account ID of the sub account in the `accountId` path parameter. To add internal numbers to a master account, provide `me` as the value of the `accountId` path parameter.
+ Prerequisites:
+ * The account making this API request must be a [master account](https://marketplace.zoom.us/docs/api-reference/master-account-apis) with SIP Connected Audio Plan.
+ **Scope:** `sip_trunk:master`
+
+ operationId: addInternalNumbers
+ parameters:
+ - description: Unique identifier of the account. To add internal numbers to a sub account, provide the account ID of the sub account in the `accountId` path parameter. To add internal numbers to a master account, provide `me` as the value of the `accountId` path parameter.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ internal_numbers:
+ items:
+ properties:
+ allow_for_external_meetings:
+ description: Control whether the number can be used to attend 3rd party meetings.
+ type: boolean
+ allow_join:
+ description: |-
+ Specify whether this number can be used by users to join a meeting or not.
+ * `true` : This number can be used to join a meeting.
+ * `false`: This number can not be used to join a meeting.
+
+ Note that if the value of `visible` field is set to `true`, the value of this field will always be `true`.
+ type: boolean
+ country:
+ description: Two letter country code of the country.
+ type: string
+ display_number:
+ description: "Phone number with display format. For instance, if the value in the number field is `+1888888000`, the value of this field could be `+1 888 888 000`. "
+ type: string
+ labels:
+ description: A short description for the phone number.
+ type: string
+ languages:
+ description: Specify the language in which this phone number should be displayed. Currently, the only supported languages are `en-GB`, `en-US`, `de-DE`.
+ enum:
+ - en-GB
+ - en-US
+ - de-DE
+ type: string
+ number:
+ description: Phone number in E164 format.
+ type: string
+ type:
+ description: |-
+ Type of phone number.
+ The value can be one of the following:
+ * `0` : toll
+ * `1` : tollfree
+ enum:
+ - 0
+ - 1
+ type: integer
+ visible:
+ description: |-
+ Specify whether you want this number to be visible (in Zoom Client and Zoom Portal) to the account users or not. The value could be one of the following:
+ * `true`: Make the number visible.
+ * `false`: Hide the number.
+ type: boolean
+ required:
+ - number
+ - display_number
+ - country
+ - type
+ - labels
+ - languages
+ type: object
+ maxItems: 30
+ minItems: 1
+ type: array
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ internal_numbers:
+ items:
+ properties:
+ allow_for_external_meetings:
+ description: Control whether the number can be used to attend 3rd party meetings.
+ type: boolean
+ allow_join:
+ description: |-
+ Specify whether this number can be used by users to join a meeting or not.
+ * `true` : This number can be used to join a meeting.
+ * `false`: This number can not be used to join a meeting.
+
+ Note that if the value of `visible` field is set to `true`, the value of this field will always be `true`.
+ type: boolean
+ country:
+ description: Two letter country code of the country.
+ type: string
+ display_number:
+ description: "Phone number with display format. For instance, if the value in the number field is `+1888888000`, the value of this field could be `+1 888 888 000`. "
+ type: string
+ labels:
+ description: A short description for the phone number.
+ type: string
+ languages:
+ description: Specify the language in which this phone number should be displayed. Currently, the only supported languages are `en-GB`, `en-US`, `de-DE`.
+ enum:
+ - en-GB
+ - en-US
+ - de-DE
+ type: string
+ number:
+ description: Phone number in E164 format.
+ type: string
+ type:
+ description: |-
+ Type of phone number.
+ The value can be one of the following:
+ * `0` : toll
+ * `1` : tollfree
+ enum:
+ - 0
+ - 1
+ type: integer
+ visible:
+ description: |-
+ Specify whether you want this number to be visible (in Zoom Client and Zoom Portal) to the account users or not. The value could be one of the following:
+ * `true`: Make the number visible.
+ * `false`: Hide the number.
+ type: boolean
+ required:
+ - number
+ - display_number
+ - country
+ - type
+ - labels
+ - languages
+ type: object
+ maxItems: 30
+ minItems: 1
+ type: array
+ type: object
+ x-examples:
+ application/json:
+ internal_numbers:
+ - allow_join: true
+ country: US
+ display_number: +1 646 666 1110
+ labels: SIP-Internal
+ languages: en-GB
+ number: "+16466661110"
+ type: 0
+ visible: true
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ internal_numbers:
+ - allow_join: true
+ country: US
+ display_number: +1 646 666 1110
+ id: A26fhgdfg63
+ labels: SIP-Internal
+ languages: en-GB
+ number: "+16466661110"
+ type: 0
+ visible: true
+ schema:
+ properties:
+ internal_numbers:
+ items:
+ properties:
+ allow_for_external_meetings:
+ description: Control whether the number can be used to attend 3rd party meetings.
+ type: boolean
+ allow_join:
+ description: |-
+ Specify whether this number can be used by users to join a meeting or not.
+ * `true` : This number can be used to join a meeting.
+ * `false`: This number can not be used to join a meeting.
+
+ Note that if the value of `visible` field is set to `true`, the value of this field will always be `true`.
+ type: boolean
+ country:
+ description: Two letter country code of the country.
+ type: string
+ display_number:
+ description: "Phone number with display format. For instance, if the value in the number field is `+1888888000`, the value of this field could be `+1 888 888 000`. "
+ type: string
+ id:
+ description: Unique identifier of the internal number.
+ type: string
+ labels:
+ description: A short description for the phone number.
+ type: string
+ languages:
+ description: Specify the language in which this phone number should be displayed. Currently, the only supported languages are `en-GB`, `en-US`, `de-DE`.
+ enum:
+ - en-GB
+ - en-US
+ - de-DE
+ type: string
+ number:
+ description: Phone number in E164 format.
+ type: string
+ type:
+ description: |-
+ Type of phone number.
+ The value can be one of the following:
+ * `0` : toll
+ * `1` : tollfree
+ enum:
+ - 0
+ - 1
+ type: integer
+ visible:
+ description: |-
+ Specify whether you want this number to be visible (in Zoom Client and Zoom Portal) to the account users or not. The value could be one of the following:
+ * `true`: Make the number visible.
+ * `false`: Hide the number.
+ type: boolean
+ required:
+ - number
+ - display_number
+ - country
+ - type
+ - labels
+ - languages
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ properties:
+ internal_numbers:
+ items:
+ properties:
+ allow_for_external_meetings:
+ description: Control whether the number can be used to attend 3rd party meetings.
+ type: boolean
+ allow_join:
+ description: |-
+ Specify whether this number can be used by users to join a meeting or not.
+ * `true` : This number can be used to join a meeting.
+ * `false`: This number can not be used to join a meeting.
+
+ Note that if the value of `visible` field is set to `true`, the value of this field will always be `true`.
+ type: boolean
+ country:
+ description: Two letter country code of the country.
+ type: string
+ display_number:
+ description: "Phone number with display format. For instance, if the value in the number field is `+1888888000`, the value of this field could be `+1 888 888 000`. "
+ type: string
+ id:
+ description: Unique identifier of the internal number.
+ type: string
+ labels:
+ description: A short description for the phone number.
+ type: string
+ languages:
+ description: Specify the language in which this phone number should be displayed. Currently, the only supported languages are `en-GB`, `en-US`, `de-DE`.
+ enum:
+ - en-GB
+ - en-US
+ - de-DE
+ type: string
+ number:
+ description: Phone number in E164 format.
+ type: string
+ type:
+ description: |-
+ Type of phone number.
+ The value can be one of the following:
+ * `0` : toll
+ * `1` : tollfree
+ enum:
+ - 0
+ - 1
+ type: integer
+ visible:
+ description: |-
+ Specify whether you want this number to be visible (in Zoom Client and Zoom Portal) to the account users or not. The value could be one of the following:
+ * `true`: Make the number visible.
+ * `false`: Hide the number.
+ type: boolean
+ required:
+ - number
+ - display_number
+ - country
+ - type
+ - labels
+ - languages
+ type: object
+ type: array
+ type: object
+ description: |
+ **HTTP Status Code:** `201` **Created**
+ Internal numbers added successfully.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300`
+ * Your account does not have the permission to make updates on this account. Only a master account can perform this action on a sub account.
+ * Request failed because this account is not enrolled in SIP Connected Audio plan.
+ * This account is not a master account. To get access to this API, your account must be enrolled in the API Partner Plan and must be a master account.
+ * You can only assign a maximum of {0} phone numbers to this account.
+ * The value you provided for the ‘number’ field has already been used. Please provide a unique value for this field.
+ * Invalid parameter: internal_numbers.
+
+
+
+ "404":
+ description: |+
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `2001` Account does not exist: {0}.
+
+
+
+
+ summary: Add internal numbers
+ tags:
+ - SIP Connected Audio
+ "/accounts/{accountId}/sip_trunk/internal_numbers/{numberId}":
+ delete:
+ description: |+
+ This API allows a master account with SIP Connected Audio plan to delete a previously assigned internal phone number from a master account or a sub account.
To delete an internal number from a sub account, provide the account ID of the sub account in the `accountId` path parameter. To delete an internal number from a master account, provide `me` as the value of the `accountId` path parameter.
+ Prerequisites:
+ * The account making this API request must be a [master account](https://marketplace.zoom.us/docs/api-reference/master-account-apis) with SIP Connected Audio Plan.
+ **Scope:** `sip_trunk:master`
+
+
+ operationId: deleteInternalNumber
+ parameters:
+ - description: Unique Identifier of the account. To delete an internal number from a sub account, provide the account ID of the sub account in the `accountId` path parameter. To delete an internal number from a master account, provide `me` as the value of the `accountId` path parameter.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ - description: Unique identifier of the phone number. This value can be retrieved by calling the List Internal Numbers API.
+ in: path
+ name: numberId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Number deleted.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300`
+ * Your account does not have the permission to make updates on this account. Only a master account can perform this action on a sub account.
+ * Request failed because this account is not enrolled in SIP Connected Audio plan.
+ * This account is not a master account. To get access to this API, your account must be enrolled in the API Partner Plan and must be a master account.
+
+
+
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `2001` Account does not exist: {0}.
+ summary: Delete an internal number
+ tags:
+ - SIP Connected Audio
+ parameters:
+ - in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ - in: path
+ name: numberId
+ required: true
+ schema:
+ type: string
+ "/accounts/{accountId}/sip_trunk/numbers":
+ delete:
+ description: |-
+ With SIP-connected audio, Zoom establishes a SIP trunk (a network connection specifically designed to make and deliver phone calls) over a direct and private connection between the customer’s network and the Zoom cloud. Meeting participants that dial into a meeting or have the meeting call them, and are On-Net from the perspective of the customers' IP telephony network, will be connected over this trunk rather than over the PSTN.
Use this API to delete all internal numbers assigned to a sub account.
+ **Prerequisites:**
+
+ * Pro or a higher account with SIP Connected Audio plan enabled.
+ * The account must be a master account
+ **Scopes:** `sip_trunk:master`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: deleteAllSipNumbers
+ parameters:
+ - description: Account ID of the sub account from which the numbers are to be deleted. This can be retrieved from [List sub accounts](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/account) API.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Numbers deleted successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `2100`
+ This sub account has no sip trunk plan.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `2001`
+ This account does not exist or does not belong to this master account.
+ This account does not exist or does not belong to you.
+ security:
+ - OAuth: []
+ summary: Delete all numbers
+ tags:
+ - SIP Connected Audio
+ parameters:
+ - in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ post:
+ description: |
+ With SIP-connected audio, Zoom establishes a SIP trunk (a network connection specifically designed to make and deliver phone calls) over a direct and private connection between the customer’s network and the Zoom cloud. Meeting participants that dial into a meeting or have the meeting call them, and are On-Net from the perspective of the customers' IP telephony network, will be connected over this trunk rather than over the PSTN.
Use this API to assign internal numbers to a sub account.
+
+ **Prerequisites:**
+ * Pro or a higher account with SIP Connected Audio plan enabled.
+ * The account must be a master account
+ **Scopes:** `sip_trunk:master`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: assignSipTrunkNumbers
+ parameters:
+ - description: Unique Identifier of the sub account.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ phone_numbers:
+ description: Phone number(s) to be assigned to the sub account.
+ items:
+ type: string
+ type: array
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ phone_numbers:
+ description: Phone number(s) to be assigned to the sub account.
+ items:
+ type: string
+ type: array
+ type: object
+ x-examples:
+ application/json:
+ phone_numbers:
+ - "34555665654"
+ - "10004350500"
+ - "000000000"
+ responses:
+ "201":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |
+ **HTTP Status Code:** `201` **Created**
+ Numbers assigned successfully.
+ "400":
+ description: |
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `2100`
+ This sub account has no sip trunk plan.
+ **Error Code:** `400`
+ This number does not belong to master account.
+ "404":
+ description: |
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `2001`
+ This account does not exist or does not belong to this master account.
+ This account does not exist or does not belong to you.
+ security:
+ - OAuth: []
+ summary: Assign numbers
+ tags:
+ - SIP Connected Audio
+ "/accounts/{accountId}/sip_trunk/settings":
+ parameters:
+ - in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ patch:
+ description: |-
+ With SIP-connected audio, Zoom establishes a SIP trunk (a network connection specifically designed to make and deliver phone calls) over a direct and private connection between the customer’s network and the Zoom cloud. Meeting participants that dial into a meeting or have the meeting call them, and are On-Net from the perspective of the customers' IP telephony network, will be connected over this trunk rather than over the PSTN.
Using this API, a master account owner can copy the SIP Connected Audio configurations applied on the master account and enable those configurations on a sub account. The owner can also disable the configuration in the sub account where it was previously enabled.
+ **Prerequisites:**
+ * Pro or a higher account with SIP Connected Audio plan enabled.
+ * master account Owner
+ **Scopes:** `sip_trunk:master`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: assignSIPConfig
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ enable:
+ description: "Enable or delete the configuration. The values can be one of the following: `true`: Enable configuration. `false`: Delete configuration"
+ type: boolean
+ show_callout_internal_number:
+ description: If the value of this option is set to `true`, the call-out numbers provided by the Zoom carrier partners will be displayed in the account's list of available call-out numbers in the Zoom Web Portal and Zoom Client.
+ type: boolean
+ show_zoom_provided_callout_countries:
+ description: |-
+ If the value of this option is set to `0`, the call-out countries list provided by Zoom will be [displayed](https://support.zoom.us/hc/en-us/articles/200942859-Using-telephone-call-out) in the account's list of available call-out countries.
+
+ If the value of this option is set to `1`, the Zoom provided call-out countries will be hidden from the user's account.
+
+ If the value of this option is set to `2`, all Zoom provided countries will be deleted and only internal countries (provided by carrier partners) will be used.
+ type: integer
+ show_zoom_provided_numbers:
+ description: |-
+ If the value of this option is set to `0`, the numbers provided by Zoom will be displayed in the account's list of available call-out and call-in numbers in the Zoom Web Portal and Zoom Client.
+
+ If the value of this option is set to `1`, the Zoom provided numbers will be shown in the Zoom Web Portal but will not be used unless specified by the user.
+
+ If the value of this option is set to `2`, all Zoom provided numbers will be deleted and only internal numbers (provided by carrier partners) will be used.
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ enable:
+ description: "Enable or delete the configuration. The values can be one of the following: `true`: Enable configuration. `false`: Delete configuration"
+ type: boolean
+ show_callout_internal_number:
+ description: If the value of this option is set to `true`, the call-out numbers provided by the Zoom carrier partners will be displayed in the account's list of available call-out numbers in the Zoom Web Portal and Zoom Client.
+ type: boolean
+ show_zoom_provided_callout_countries:
+ description: |-
+ If the value of this option is set to `0`, the call-out countries list provided by Zoom will be [displayed](https://support.zoom.us/hc/en-us/articles/200942859-Using-telephone-call-out) in the account's list of available call-out countries.
+
+ If the value of this option is set to `1`, the Zoom provided call-out countries will be hidden from the user's account.
+
+ If the value of this option is set to `2`, all Zoom provided countries will be deleted and only internal countries (provided by carrier partners) will be used.
+ type: integer
+ show_zoom_provided_numbers:
+ description: |-
+ If the value of this option is set to `0`, the numbers provided by Zoom will be displayed in the account's list of available call-out and call-in numbers in the Zoom Web Portal and Zoom Client.
+
+ If the value of this option is set to `1`, the Zoom provided numbers will be shown in the Zoom Web Portal but will not be used unless specified by the user.
+
+ If the value of this option is set to `2`, all Zoom provided numbers will be deleted and only internal numbers (provided by carrier partners) will be used.
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ type: object
+ x-examples:
+ application/json:
+ enable: true
+ show_callout_internal_number: true
+ show_zoom_provided_callout_countries: 0
+ show_zoom_provided_numbers: 2
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |
+ **HTTP Status Code:** `204` **No Content**
+ Configuration assigned successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `2100`
+ This sub account has no sip trunk plan.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `2001`
+ This account does not exist or does not belong to this master account.
+ This account does not exist or does not belong to you.
+ security:
+ - OAuth: []
+ summary: Assign SIP trunk configuration
+ tags:
+ - SIP Connected Audio
+ "/accounts/{accountId}/sip_trunk/trunks":
+ get:
+ description: |-
+ With SIP-connected audio, Zoom establishes a SIP trunk (a network connection specifically designed to make and deliver phone calls) over a direct and private connection between the customer’s network and the Zoom cloud. Meeting participants that dial into a meeting or have the meeting call them, and are On-Net from the perspective of the customers’ IP telephony network, will be connected over this trunk rather than over the PSTN.
+ Use this API to list all the SIP trunks assigned to a master account or a sub account of the master account. To retrieve SIP trunks assigned to a sub account, provide the account ID of the sub account in the `accountId` path parameter. To retrieve SIP trunks of a master account, provide `me` as the value of the `accountId` path parameter.
**Scope:** `sip_trunk:read:admin`
+ Prerequisites:
+ * The account must either be a master account or a sub account with [API Partner Plan](https://zoom.us/plan/api) and SIP Connected Audio Plan.
+ operationId: listSIPTrunks
+ parameters:
+ - description: Unique Identifier of the Account. To retrieve SIP trunks assigned to a sub account, provide the account ID of the sub account in the as the value of this field. To retrieve SIP trunks of a master account, provide `me` as the value of this field.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ sip_trunks:
+ - dnis: "90001258"
+ id: "268"
+ name: test1
+ number_prefix: "0"
+ sip_server_address: 111.111.1.1
+ - dnis: "80001748"
+ id: "281"
+ name: test2
+ number_prefix: "0"
+ sip_server_address: 111.111.1.34
+ total_records: 1
+ schema:
+ properties:
+ sip_trunks:
+ items:
+ properties:
+ dnis:
+ description: DNIS of the SIP trunk.
+ type: string
+ id:
+ description: Unique identifier of the sip trunk.
+ type: string
+ name:
+ description: Name assigned to the SIP trunk.
+ type: string
+ number_prefix:
+ description: Prefix of the SIP Connected Audio phone number.
+ type: string
+ outbound_caller_id:
+ description: Outbound caller Id assigned to the trunk.
+ type: string
+ sip_server_address:
+ description: IP address or domain of the SIP trunk.
+ type: string
+ type: object
+ type: array
+ total_records:
+ description: "Total number of records returned. "
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ sip_trunks:
+ items:
+ properties:
+ dnis:
+ description: DNIS of the SIP trunk.
+ type: string
+ id:
+ description: Unique identifier of the sip trunk.
+ type: string
+ name:
+ description: Name assigned to the SIP trunk.
+ type: string
+ number_prefix:
+ description: Prefix of the SIP Connected Audio phone number.
+ type: string
+ outbound_caller_id:
+ description: Outbound caller Id assigned to the trunk.
+ type: string
+ sip_server_address:
+ description: IP address or domain of the SIP trunk.
+ type: string
+ type: object
+ type: array
+ total_records:
+ description: "Total number of records returned. "
+ type: integer
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ List of SIP Trunks returned.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300` Request failed because this account is not enrolled in SIP Connected Audio plan.
+
+ "404":
+ description: |+
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `2001` Account does not exist: {0}.
+
+ summary: List SIP trunks
+ tags:
+ - SIP Connected Audio
+ parameters:
+ - in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ post:
+ description: |-
+ With SIP-connected audio, Zoom establishes a SIP trunk (a network connection specifically designed to make and deliver phone calls) over a direct and private connection between the customer’s network and the Zoom cloud. Meeting participants that dial into a meeting or have the meeting call them, and are On-Net from the perspective of the customers’ IP telephony network, will be connected over this trunk rather than over the PSTN.
Use this API to assign SIP trunk(s) that are available on a master account to a sub account. Prerequisites:
+ * The account making this API request must be a master account with [API Partner Plan](https://zoom.us/plan/api) and SIP Connected Audio Plan.
+ **Scope:** `sip_trunk:master`
+ operationId: assignSIPTrunks
+ parameters:
+ - description: Unique Identifier of the sub account.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ sip_trunks:
+ description: "Array of one or more SIP Trunk objects. "
+ items:
+ properties:
+ dnis:
+ description: |-
+ DNIS of the sub account. The prefix of the DNIS (i.e. the first five digits of the DNIS value) must match the DNIS prefix of the master account. To retrieve the DNIS prefix of a master account's SIP Trunk, use the List SIP Trunks API and refer to the first five digits in the `dnis` value.
+
+ For example, if the DNIS of the master account is 1888812345, the DNIS of the sub account must comprise of "18888" + "random_number". The maximum allowed length of the DNIS is 8.
+ maxLength: 8
+ minLength: 5
+ type: string
+ id:
+ description: Unique identifier of the SIP trunk that will be assigned to the sub account. The value of this field can be retrieved by listing the SIP Trunks of a master account using List SIP Trunks API.
+ type: string
+ outbound_caller_id:
+ description: Assign an outbound caller Id to the trunk.
+ maxLength: 32
+ type: string
+ type: object
+ maxItems: 30
+ minItems: 1
+ type: array
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ sip_trunks:
+ description: "Array of one or more SIP Trunk objects. "
+ items:
+ properties:
+ dnis:
+ description: |-
+ DNIS of the sub account. The prefix of the DNIS (i.e. the first five digits of the DNIS value) must match the DNIS prefix of the master account. To retrieve the DNIS prefix of a master account's SIP Trunk, use the List SIP Trunks API and refer to the first five digits in the `dnis` value.
+
+ For example, if the DNIS of the master account is 1888812345, the DNIS of the sub account must comprise of "18888" + "random_number". The maximum allowed length of the DNIS is 8.
+ maxLength: 8
+ minLength: 5
+ type: string
+ id:
+ description: Unique identifier of the SIP trunk that will be assigned to the sub account. The value of this field can be retrieved by listing the SIP Trunks of a master account using List SIP Trunks API.
+ type: string
+ outbound_caller_id:
+ description: Assign an outbound caller Id to the trunk.
+ maxLength: 32
+ type: string
+ type: object
+ maxItems: 30
+ minItems: 1
+ type: array
+ type: object
+ x-examples:
+ application/json:
+ sip_trunks:
+ - dnis: "12345678"
+ id: "133"
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ sip_trunks:
+ - dnis: dolore43tr4u
+ id: represdf324fe
+ name: HQ-trunk
+ number_prefix: "0"
+ sip_server_address: 1.11.123.123
+ schema:
+ properties:
+ sip_trunks:
+ items:
+ properties:
+ dnis:
+ description: DNIS - identifier for the SIP trunk enabled account.
+ type: string
+ id:
+ description: Unique identifier of the SIP trunk.
+ type: string
+ name:
+ description: Name of the SIP trunk.
+ type: string
+ number_prefix:
+ description: If the value of this field is `"0"`, it means that all the calls will be routed through this special line. All other values indicate the prefix of the phone number.
+ type: string
+ sip_server_address:
+ description: IP Address or domain of the SIP trunk.
+ type: string
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ properties:
+ sip_trunks:
+ items:
+ properties:
+ dnis:
+ description: DNIS - identifier for the SIP trunk enabled account.
+ type: string
+ id:
+ description: Unique identifier of the SIP trunk.
+ type: string
+ name:
+ description: Name of the SIP trunk.
+ type: string
+ number_prefix:
+ description: If the value of this field is `"0"`, it means that all the calls will be routed through this special line. All other values indicate the prefix of the phone number.
+ type: string
+ sip_server_address:
+ description: IP Address or domain of the SIP trunk.
+ type: string
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ SIP Trunk assigned successfully.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300`
+ * Request failed because this account is not enrolled in SIP Connected Audio plan.
+ * The master account has no sip trunk configs.
+ * Invalid parameter: sip_trunks.
+
+
+ "404":
+ description: |+
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `2001` Account does not exist: {0}.
+
+
+ summary: Assign SIP trunks
+ tags:
+ - SIP Connected Audio
+ "/accounts/{accountId}/sip_trunk/trunks/{trunkId}":
+ delete:
+ description: |-
+ Use this API to remove existing SIP trunk of a sub account.
+ Prerequisites:
+ * The account making this API request must be a master account with [API Partner Plan](https://zoom.us/plan/api) and SIP Connected Audio Plan.
+ **Scope:** `sip_trunk:master`
+ operationId: deleteSIPTrunk
+ parameters:
+ - description: Unique identifier of the sub account.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ - description: Unique identifier of the SIP Trunk that was previously assigned to a sub account. To retrieve the value of this field, use the List SIP Trunks API.
+ in: path
+ name: trunkId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ schema:
+ properties: {}
+ type: object
+ application/xml:
+ schema:
+ properties: {}
+ type: object
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ SIP Trunk deleted.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300`
+ * Request failed because this account is not enrolled in SIP Connected Audio plan.
+ * Your account does not have the permission to make updates on this account. Only a master account can perform this action on a sub account.
+ "404":
+ description: |+
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `2001` Account does not exist: {0}.
+
+
+
+ summary: Delete a SIP trunk
+ tags:
+ - SIP Connected Audio
+ parameters:
+ - in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ - in: path
+ name: trunkId
+ required: true
+ schema:
+ type: string
+ "/accounts/{accountId}/trusted_domains":
+ get:
+ description: |-
+ Get trusted domains of a sub account. To get the trusted domains of a master account, use `me` as the value for the `accountId` path parameter.
+
+ **Prerequisites:**
+ * The sub account must be a paid account.
+ **Scope:** `account:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: accountTrustedDomain
+ parameters:
+ - description: The account ID.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ properties:
+ trusted_domains:
+ description: List of trusted domains
+ items:
+ type: string
+ type: array
+ application/xml:
+ schema:
+ properties:
+ trusted_domains:
+ description: List of trusted domains
+ items:
+ type: string
+ type: array
+ description: |-
+ **HTTP Status Code:** `200`
+ Account trusted domains returned
+ **Error Code:** `2001` Account does not exist: $subAccountId.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code:** `2001` Account does not exist: $subAccountId.
+ summary: Get trusted domains
+ tags:
+ - Accounts
+ "/accounts/{accountId}/users/{userId}/account":
+ parameters:
+ - in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ - in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ put:
+ description: |-
+ Disassociate a user from one Account and move the user to another Account under the same master account.
+
+ With this API, a user under a master account or a sub account can be moved to another sub account within the same master account. To move a user from a master account to a sub account, use `me` as the value for `accountId`. In this scenario, "me" refers to the Account ID of the master account.
+
+ To move a user from one sub account to another sub account, provide the sub account's Account ID as the value for `accountId`.
+
+ **Prerequisites**:
+ * The account should have Pro or a higher plan with master account option enabled.
+ * The user whose account needs to be switched should not be an admin or an owner of that account.
+ * The user should not have the same [managed domain](https://support.zoom.us/hc/en-us/articles/203395207-What-is-Managed-Domain-) as the account owner.
+
+ **Scope:** `user:master`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: switchUserAccount
+ parameters:
+ - in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ account_id:
+ description: The Account ID of the account to which you would like move the user to.
+ type: string
+ required:
+ - account_id
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ account_id:
+ description: The Account ID of the account to which you would like move the user to.
+ type: string
+ required:
+ - account_id
+ type: object
+ x-examples:
+ application/json:
+ account_id: ABCDEF0G0YxBBB
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code**: `204`
+ User's account switched successfully.
+ "400":
+ description: |-
+ **HTTP Status Code**: `400` **Bad Request**
+ **Error Code:** `1117` Can not disassociate Admin user
+ "404":
+ description: |+
+ **HTTP Status Code**: `404` **Not Found**
+
+ **Error Code:** `1001`
+ User {userId} does not exist or does not belong to this account.
+
+ **Error Code:** `1010`
+ User not found on this account.
+
+ **Error Code:** `1120` Invite not exist
+
+
+ security:
+ - OAuth: []
+ summary: Switch a user's account
+ tags:
+ - Users
+ "/api/download/billing/invoices/{invoiceId}":
+ get:
+ description: |-
+ Download a [billed](https://support.zoom.us/hc/en-us/articles/201363263-About-Billing) invoice file of a Zoom account in PDF format. To download a regular account's invoice or a master account's invoice, provide `me` as the value of `accountId` path parameter. To download a sub account's invoice, provide the account ID of the sub account in the `accountId` path parameter.
+
+
+ **Prerequisites:**
+ * Account must be enrolled in Pro or a higher plan.
+
+ **Scope**:`billing:master`
+ **Rate Limit:** You can make **one** request to this API every **thirty** minutes until the daily limit is reached. This API has a daily limit of **100** requests per **account**.
+ operationId: downloadInvoicePDF
+ responses:
+ "200":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `200`
+ Account billing invoice PDF returned.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ **Error Code:** `2001`
+ Account does not exist: {subAccountId}.
+ summary: Download an invoice file
+ tags:
+ - Billing
+ parameters:
+ - in: path
+ name: invoiceId
+ required: true
+ schema:
+ type: string
+ /archive_files:
+ get:
+ description: |-
+ Zoom’s [archiving solution](https://support.zoom.us/hc/en-us/articles/360050431572-Archiving-Meeting-and-Webinar-data) allows account administrators to set up an automated mechanism to record, collect and archive meeting data to a 3rd party platform of their choice and hence, satisfy FINRA and/ or other compliance requirements.
+ Use this API to retrieve archived meeting or webinar files of an account.
+
+ **Scope:** `recording:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ **Prerequisites:**
+ * Enable cloud recording.
+ * Follow the [enablement process](https://support.zoom.us/hc/en-us/articles/360050431572-Archiving-Meeting-and-Webinar-data#h_01ENPBD3WR68D7FAKTBY92SG45) to access the archiving feature.
+ operationId: listArchivedFiles
+ parameters:
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: Start date for the query in "yyyy-MM-dd'T'HH:mm:ss'Z'" format. The duration for the query defined using the "from" and "to" parameters should not exceed 7 days as this API only provides a week's data at once.
+ in: query
+ name: from
+ schema:
+ type: string
+ - description: "End date for the query in \"yyyy-MM-dd'T'HH:mm:ss'Z'\" format. "
+ in: query
+ name: to
+ schema:
+ type: string
+ - description: Query data type for `from` and `to`.
+ in: query
+ name: query_data_type
+ schema:
+ default: meeting_start_time
+ enum:
+ - meeting_start_time
+ - archive_complete_time
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ from: 2021-03-11T05:41:36Z
+ meetings:
+ - archive_files:
+ - download_url: https://zoom.us/rec/archive/download/snGardfsw3435SKIsXAMhJ6wh
+ file_extension: M4A
+ file_size: 165743
+ file_type: M4A
+ id: 55hfgsd-sd8e2bd7255
+ recording_type: audio_only
+ status: completed
+ - download_url: https://zoom.us/rec/archive/download/eXy782Ua9dghjhPvao.bUFwLAgQrFOjfOjr
+ file_extension: MP4
+ file_size: 198720
+ file_type: MP4
+ id: 9c5daa5b-34a1-40e8-8947-a11be5e373a7
+ recording_type: shared_screen_with_speaker_view
+ status: completed
+ duration: 3
+ host_id: Dhjdfgdkg8w
+ id: 553068284
+ recording_count: 2
+ start_time: 2021-03-12T01:57:27Z
+ timezone: ""
+ topic: Zoom Meeting
+ total_size: 364463
+ type: 1
+ uuid: yO3dfhh3t467UkQ==
+ next_page_token: ""
+ page_size: 30
+ to: 2021-03-18T05:41:36Z
+ schema:
+ properties:
+ from:
+ description: Start date for the query in "yyyy-MM-dd'T'HH:mm:ss'Z'" format. The duration for the query defined using the "from" and "to" parameters should not exceed 7 days as this API only provides a week's data at once.
+ type: string
+ meetings:
+ items:
+ properties:
+ archive_files:
+ items:
+ properties:
+ download_url:
+ description: |-
+ The URL using which the archived file can be downloaded. To download the archived file of a meeting or a webinar hosted in your account, create a [Zoom JWT App Type](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the access_token query parameter and include this query parameter at the end of the URL as shown in the example.
+
+ Example: `https://{{base-domain}}/rec/archive/download/xxx?access_token={{Your-JWT}}`
+
+ If a user has authorized and installed your OAuth app that supports archiving, use the user’s [OAuth access token](https://marketplace.zoom.us/docs/guides/auth/oauth) to download the file.
+
+ Example: `https://{{base-domain}}/rec/archive/download/xxx?access_token={{ OAuth Access Token }}`
+ type: string
+ file_extension:
+ description: |
+ Extension of the recording file.
+ type: string
+ file_size:
+ description: |
+ The recording file size.
+ type: integer
+ file_type:
+ description: |-
+ Recorded file type. The value of this field could be one of the following:
+
+ `MP4`: Video file of the recording.
+ `M4A`: Audio-only file of the recording.
+ `TRANSCRIPT`: Transcription file of the recording in VTT format.
+ CHAT: A TXT file containing in-meeting chat messages that were sent during the meeting.
+ `CC`: File containing closed captions of the recording in VTT file format.
+ `CSV`: File containing polling data in csv format.
+ type: string
+ id:
+ description: |
+ Unique identifier of the archived file.
+ type: string
+ recording_type:
+ description: |
+ The recording type. The value of this field can be one of the following:
+ * `shared_screen_with_speaker_view(CC)`
+ * `shared_screen_with_speaker_view`
+ * `shared_screen_with_gallery_view`
+ * `speaker_view`
+ * `gallery_view`
+ * `shared_screen`
+ * `audio_only`
+ * `audio_transcript`
+ * `chat_file`,
+ * `active_speaker`
+ * `host_video`
+ type: string
+ status:
+ description: |
+ Status of the archived file.
+ type: string
+ type: object
+ type: array
+ duration:
+ description: Scheduled duration of the meeting or the webinar.
+ type: integer
+ host_id:
+ description: |
+ ID of the user set as the host of meeting or the webinar that was archived.
+ type: string
+ id:
+ description: |
+ Unique identifier of the meeting(meetingId) or the webinar(webinarId).
+ type: integer
+ recording_count:
+ description: |
+ Number of recording files returned in the response of this API call.
+ type: integer
+ start_time:
+ description: |
+ The time at which the meeting or the webinar started.
+ type: string
+ timezone:
+ description: Timezone of the host.
+ type: string
+ topic:
+ description: Meeting or webinar topic.
+ type: string
+ total_size:
+ description: |
+ Total size of the archive.
+ type: integer
+ type:
+ description: |
+ Type of the meeting or the webinar that was archived.
+ Meeting types:
+ `1` - Instant meeting
+ `2` - Scheduled meeting
+ `3` - Recurring meeting with no fixed time
+ 8 - Recurring meeting with fixed time
+
+ Webinar types:
+ `5` - Webinar
+ `6` - Recurring webinar with no fixed time
+ `9` - Recurring webinar with a fixed time
+ type: integer
+ uuid:
+ description: |
+ Unique identifier of the meeting instance or the webinar instance during which the archiving took place. Each instance of the meeting will have its own UUID.
+ type: string
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: The number of records returned within a single API call.
+ type: integer
+ to:
+ description: "End date for the query in \"yyyy-MM-dd'T'HH:mm:ss'Z'\" format. "
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ from:
+ description: Start date for the query in "yyyy-MM-dd'T'HH:mm:ss'Z'" format. The duration for the query defined using the "from" and "to" parameters should not exceed 7 days as this API only provides a week's data at once.
+ type: string
+ meetings:
+ items:
+ properties:
+ archive_files:
+ items:
+ properties:
+ download_url:
+ description: |-
+ The URL using which the archived file can be downloaded. To download the archived file of a meeting or a webinar hosted in your account, create a [Zoom JWT App Type](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the access_token query parameter and include this query parameter at the end of the URL as shown in the example.
+
+ Example: `https://{{base-domain}}/rec/archive/download/xxx?access_token={{Your-JWT}}`
+
+ If a user has authorized and installed your OAuth app that supports archiving, use the user’s [OAuth access token](https://marketplace.zoom.us/docs/guides/auth/oauth) to download the file.
+
+ Example: `https://{{base-domain}}/rec/archive/download/xxx?access_token={{ OAuth Access Token }}`
+ type: string
+ file_extension:
+ description: |
+ Extension of the recording file.
+ type: string
+ file_size:
+ description: |
+ The recording file size.
+ type: integer
+ file_type:
+ description: |-
+ Recorded file type. The value of this field could be one of the following:
+
+ `MP4`: Video file of the recording.
+ `M4A`: Audio-only file of the recording.
+ `TRANSCRIPT`: Transcription file of the recording in VTT format.
+ CHAT: A TXT file containing in-meeting chat messages that were sent during the meeting.
+ `CC`: File containing closed captions of the recording in VTT file format.
+ `CSV`: File containing polling data in csv format.
+ type: string
+ id:
+ description: |
+ Unique identifier of the archived file.
+ type: string
+ recording_type:
+ description: |
+ The recording type. The value of this field can be one of the following:
+ * `shared_screen_with_speaker_view(CC)`
+ * `shared_screen_with_speaker_view`
+ * `shared_screen_with_gallery_view`
+ * `speaker_view`
+ * `gallery_view`
+ * `shared_screen`
+ * `audio_only`
+ * `audio_transcript`
+ * `chat_file`,
+ * `active_speaker`
+ * `host_video`
+ type: string
+ status:
+ description: |
+ Status of the archived file.
+ type: string
+ type: object
+ type: array
+ duration:
+ description: Scheduled duration of the meeting or the webinar.
+ type: integer
+ host_id:
+ description: |
+ ID of the user set as the host of meeting or the webinar that was archived.
+ type: string
+ id:
+ description: |
+ Unique identifier of the meeting(meetingId) or the webinar(webinarId).
+ type: integer
+ recording_count:
+ description: |
+ Number of recording files returned in the response of this API call.
+ type: integer
+ start_time:
+ description: |
+ The time at which the meeting or the webinar started.
+ type: string
+ timezone:
+ description: Timezone of the host.
+ type: string
+ topic:
+ description: Meeting or webinar topic.
+ type: string
+ total_size:
+ description: |
+ Total size of the archive.
+ type: integer
+ type:
+ description: |
+ Type of the meeting or the webinar that was archived.
+ Meeting types:
+ `1` - Instant meeting
+ `2` - Scheduled meeting
+ `3` - Recurring meeting with no fixed time
+ 8 - Recurring meeting with fixed time
+
+ Webinar types:
+ `5` - Webinar
+ `6` - Recurring webinar with no fixed time
+ `9` - Recurring webinar with a fixed time
+ type: integer
+ uuid:
+ description: |
+ Unique identifier of the meeting instance or the webinar instance during which the archiving took place. Each instance of the meeting will have its own UUID.
+ type: string
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: The number of records returned within a single API call.
+ type: integer
+ to:
+ description: "End date for the query in \"yyyy-MM-dd'T'HH:mm:ss'Z'\" format. "
+ type: string
+ type: object
+ description: |
+ **HTTP Status Code:** `200` **OK**
+ Archived files returned.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad request**
+ **Error Code:** `2001`
+ Account does not exist: {accountId}.
+ summary: List archived files
+ tags:
+ - Cloud Recording
+ "/chat/channels/{channelId}":
+ delete:
+ description: "Zoom chat [channels](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-) allow users to communicate via chat in private or public groups. Use this API to delete a specific channel.\
+
+
+ **Scope:** `chat_channel:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+
+
+
Note: This API only supports user-managedOAuth app.
+
+
+
+ \ "
+ operationId: deleteUserLevelChannel
+ parameters:
+ - description: "Channel ID: Unique Identifier of a channel."
+ in: path
+ name: channelId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204`
+ Channel deleted.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` Bad request.
+ **Error Code:** `200`
+ Unauthorized request. You do not have permission to delete this user's channel.
+ **Error Code:** `5301` Request to delete a channel failed.
+ summary: Delete a channel
+ tags:
+ - Chat Channels
+ get:
+ description: "Zoom chat [channels](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-) allow users to communicate via chat in private or public groups. Use this API to get information about a specific channel.\
+
+
+ **Scope:** `chat_channel:read`\t
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+
+
+
Note: This API only supports user-managedOAuth app.
+
+
+
+ \ "
+ operationId: getUserLevelChannel
+ parameters:
+ - description: "Channel ID: Unique Identifier of a channel."
+ in: path
+ name: channelId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ id: ut1234sgfsdf
+ name: Leah
+ type: 1
+ schema:
+ description: "The channel object represents a Zoom chat [channel](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-). "
+ properties:
+ id:
+ description: Channel Id.
+ type: string
+ name:
+ description: Name of the channel.
+ maxLength: 128
+ type: string
+ type:
+ description: |-
+ Type of the channel. The value can be one of the following:
+ `1`: Private channel. In this type of channel, members must be invited to join a channel.
+ `2`: Private channel with members that belong to one Zoom account. Members in this channel should be invited and the members should be from the same organization.
+ `3`: Public channel. Anyone can search for this channel and join the channel.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ description: "The channel object represents a Zoom chat [channel](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-). "
+ properties:
+ id:
+ description: Channel Id.
+ type: string
+ name:
+ description: Name of the channel.
+ maxLength: 128
+ type: string
+ type:
+ description: |-
+ Type of the channel. The value can be one of the following:
+ `1`: Private channel. In this type of channel, members must be invited to join a channel.
+ `2`: Private channel with members that belong to one Zoom account. Members in this channel should be invited and the members should be from the same organization.
+ `3`: Public channel. Anyone can search for this channel and join the channel.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ type: object
+ description: |+
+ **HTTP Status Code:** `200`
+ Channel returned.
+
+
+
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ Bad Request
+ **Error Code:** `200`
+ Unauthorized request. You do not have permission to access this user's channel information.
+ "404":
+ description: |-
+ **Status Code:** `404`
+ Not found.
+ **Error Code:** `4130`
+ Channel does not exist: $channelId.
+ security:
+ - OAuth: []
+ summary: Get a channel
+ tags:
+ - Chat Channels
+ parameters:
+ - in: path
+ name: channelId
+ required: true
+ schema:
+ type: string
+ patch:
+ description: |+
+ Zoom chat channels allow users to communicate via chat in private or public channels. Use this API to update the name of a specific channel that you created.
+
+ **Scope:** `chat_channel:write`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+
+
Note: This API only supports user-managedOAuth app.
+
+ operationId: updateUserLevelChannel
+ parameters:
+ - description: Channel Id.
+ in: path
+ name: channelId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ $ref: "#/components/requestBodies/updateChannelBody"
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **Status Code:** `204`
+ Channel updated.
+ "400":
+ description: |-
+ **Status Code:** `400`
+ Bad request
+ **Error Code:** `200`
+ Unauthorized request. You do not have permission to update a channel for this user.
+ **Error Code:** `5301`
+ Request to update a channel failed.
+ security:
+ - OAuth: []
+ summary: Update a channel
+ tags:
+ - Chat Channels
+ "/chat/channels/{channelId}/members/me":
+ delete:
+ description: |-
+ If you're no longer interested in being a member of an existing channel, you can leave the channel at any time. Use this API to leave a specific channel. After leaving the channel, you can no longer access information from that channel.
+
+
Note: This API only supports user-managedOAuth app.
+
+ **Scope:** `chat_channel:write`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: leaveChannel
+ parameters:
+ - description: "Channel ID: Unique Identifier of a channel."
+ in: path
+ name: channelId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204`
+ Left channel successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` Bad Request.
+ **Error Code:** `5301` Request to leave the channel failed.
+ security:
+ - OAuth: []
+ summary: Leave a channel
+ tags:
+ - Chat Channels
+ parameters:
+ - in: path
+ name: channelId
+ required: true
+ schema:
+ type: string
+ post:
+ description: |-
+ A [channel](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-) can have one or multiple members. Use this API to join a channel that is open for anyone in the same organization to join. You cannot use this API to join private channels that only allows invited members to be a part of it.
+
+
Note: This API only supports user-managedOAuth app.
+
+ **Scope:** `chat_channel:write`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: joinChannel
+ parameters:
+ - description: Channel Id.
+ in: path
+ name: channelId
+ required: true
+ schema:
+ type: string
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ added_at: 2018-12-11T15:06:32.633Z
+ id: lbborum-12fiasf-abaa
+ schema:
+ properties:
+ added_at:
+ description: The date and time at which a user joined the channel.
+ format: date-time
+ type: string
+ id:
+ description: Member Id of the user who joined the public channel.
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ added_at:
+ description: The date and time at which a user joined the channel.
+ format: date-time
+ type: string
+ id:
+ description: Member Id of the user who joined the public channel.
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `201`
+ Successfully joined the channel.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` Bad request.
+ **Error Code:** `5301` Request to join the channel failed.
+ security:
+ - OAuth: []
+ summary: Join a channel
+ tags:
+ - Chat Channels
+ "/chat/channels/{channelId}/members/{memberId}":
+ delete:
+ description: |2+
+ A [channel](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-) can have one or multiple members. Use this API to remove a member from a chat channel.
Note: This API only supports user-managedOAuth app.
+
+
+ operationId: removeAUserLevelChannelMember
+ parameters:
+ - description: Unique Identifier of the Channel from where you would like to remove a member. This can be retrieved from the [List Channels API](https://marketplace.zoom.us/docs/api-reference/zoom-api/chat-channels/getchannels).
+ in: path
+ name: channelId
+ required: true
+ schema:
+ type: string
+ - description: Email address of the member whom you would like to be remove from the channel.
+ in: path
+ name: memberId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |+
+ **HTTP Status Code:** `204` **No Content**
+ Member removed.
+
+
+ "400":
+ description: |+
+ **HTTP Status Code:** `400`
+ Bad Request
+ **Error Code:** `200`
+ Unauthorized request. You do not have permission to remove channel members on this user's behalf.
+ **Error Code:** `5301`
+ Unable to remove channel member.
+
+ security:
+ - OAuth: []
+ summary: Remove a member
+ tags:
+ - Chat Channels
+ parameters:
+ - in: path
+ name: channelId
+ required: true
+ schema:
+ type: string
+ - in: path
+ name: memberId
+ required: true
+ schema:
+ type: string
+ /chat/users/me/contacts:
+ get:
+ description: |-
+ A user under an organization’s Zoom account has internal users listed under Company Contacts in the Zoom Client. A Zoom user can also add another Zoom user as a [contact](https://support.zoom.us/hc/en-us/articles/115004055706-Managing-Contacts). Call this API to list all the contacts of a Zoom user. Zoom contacts are categorized into "company contacts" and "external contacts". You must specify the contact type in the `type` query parameter. If you do not specify, by default, the type will be set as company contact.
+
+
Note: This API only supports user-managedOAuth app.
+
+ **Scope**: `chat_contact:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: getUserContacts
+ parameters:
+ - description: |-
+ The type of contact. The value can be one of the following:
+ `company`: Contacts from the user's organization.
+ `external`: External contacts.
+ in: query
+ name: type
+ schema:
+ default: company
+ type: string
+ - description: The number of records returned with a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 10
+ maximum: 50
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ contacts:
+ - email: someemail@somemail.com
+ first_name: Brandon
+ id: 44ABCDEfgjWHABBxw
+ last_name: Ghimire
+ next_page_token: shdjksA4
+ page_size: 10
+ schema:
+ properties:
+ contacts:
+ description: The contacts object.
+ items:
+ properties:
+ email:
+ description: Contact's email address.
+ format: email
+ type: string
+ first_name:
+ description: Contact's first name.
+ type: string
+ id:
+ description: Contact Id.
+ type: string
+ last_name:
+ description: Contact's last name.
+ type: string
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: |-
+ The number of records returned with a single API call.
+ Default value: 30.
+ maximum: 100
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ contacts:
+ description: The contacts object.
+ items:
+ properties:
+ email:
+ description: Contact's email address.
+ format: email
+ type: string
+ first_name:
+ description: Contact's first name.
+ type: string
+ id:
+ description: Contact Id.
+ type: string
+ last_name:
+ description: Contact's last name.
+ type: string
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: |-
+ The number of records returned with a single API call.
+ Default value: 30.
+ maximum: 100
+ type: integer
+ type: object
+ description: "**HTTP Status Code:** `200` List of user's contacts returned."
+ "300":
+ description: |-
+ **Error Code:** `300`
+ The next page token is invalid or has expired.
+ security:
+ - OAuth: []
+ summary: List user's contacts
+ tags:
+ - Contacts
+ "/chat/users/me/contacts/{contactId}":
+ get:
+ description: |-
+ A user under an organization’s Zoom account has internal users listed under Company Contacts in the Zoom Client. A Zoom user can also add another Zoom user as a [contact](https://support.zoom.us/hc/en-us/articles/115004055706-Managing-Contacts). Call this API to get information on a specific contact of the Zoom user.
+
+
Note: This API only supports user-managedOAuth app.
+
+ **Scope**: `chat_contact:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: getUserContact
+ parameters:
+ - description: The user's contact Id or email address. The contact can be either a company contact or an external contact.
+ in: path
+ name: contactId
+ required: true
+ schema:
+ type: string
+ - description: |-
+ The presence status of the contact.
+ Include this query parameter with a value of `true` to get the presence status of the contact in the response.
+ in: query
+ name: query_presence_status
+ schema:
+ type: boolean
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ email: dhgdj@djkfhd.dhgfdh
+ first_name: Vikram
+ id: u487547sic45ing
+ last_name: Grg
+ presence_status: Do_Not_Disturb
+ schema:
+ properties:
+ direct_numbers:
+ description: Direct number(s) assigned to the contact.
+ items:
+ type: string
+ type: array
+ email:
+ description: Contact's email address.
+ format: email
+ type: string
+ extension_number:
+ description: Extension number of the contact.
+ type: string
+ first_name:
+ description: Contact's first name
+ type: string
+ id:
+ description: User ID of the contact.
+ type: string
+ last_name:
+ description: Contact's last name
+ type: string
+ phone_number:
+ description: Phone number of the contact.
+ type: string
+ presence_status:
+ description: "Contact's Presence Status in the Zoom Chat Client. The status can be one of the following: `Do_Not_Disturb` `Away` `Available` `Offline`"
+ enum:
+ - Do_Not_Disturb
+ - Away
+ - Available
+ - Offline
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ direct_numbers:
+ description: Direct number(s) assigned to the contact.
+ items:
+ type: string
+ type: array
+ email:
+ description: Contact's email address.
+ format: email
+ type: string
+ extension_number:
+ description: Extension number of the contact.
+ type: string
+ first_name:
+ description: Contact's first name
+ type: string
+ id:
+ description: User ID of the contact.
+ type: string
+ last_name:
+ description: Contact's last name
+ type: string
+ phone_number:
+ description: Phone number of the contact.
+ type: string
+ presence_status:
+ description: "Contact's Presence Status in the Zoom Chat Client. The status can be one of the following: `Do_Not_Disturb` `Away` `Available` `Offline`"
+ enum:
+ - Do_Not_Disturb
+ - Away
+ - Available
+ - Offline
+ type: string
+ type: object
+ description: |+
+ **HTTP Status Code:** `200`
+ Contact information returned.
+
+
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ Bad request
+ **Error Code:** `5301`
+ Request to get the presence status of the chat contact failed.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code**: `1001`
+ User does not exist: $contactId
+ security:
+ - OAuth: []
+ summary: Get user's contact details
+ tags:
+ - Contacts
+ parameters:
+ - in: path
+ name: contactId
+ required: true
+ schema:
+ type: string
+ "/chat/users/{userId}/channels":
+ get:
+ description: "Zoom chat [channels](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-) allow users to communicate via chat in private or public groups. Use this API to list a user's chat channels.\
+
+
+ **Scope**: `chat_channel:read` or `chat_channel:read:admin`
+
+
Note: This API supports both user-managed apps and account-level apps. However, in an account-levelOAuth app, to list channels of another user in the same Zoom account, the user calling this API must have a role that has View or Edit permission for the Chat channels feature.
+
+
+
+
+
+ \ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+
+ \ "
+ operationId: getChannels
+ parameters:
+ - description: The number of records returned from a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 10
+ maximum: 50
+ type: integer
+ - description: The next page token is used to paginate through large result sets. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: Unique identifier of the user.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ channels:
+ - id: ullamdsfjhgdsn663isi
+ name: Happiness Channel
+ type: 2
+ - id: dsfdfrgtre23324663isi
+ name: Sales team
+ type: 2
+ page_size: 10
+ total_records: 2
+ schema:
+ properties:
+ channels:
+ description: Chat Channel object(s).
+ items:
+ properties:
+ channels_settings:
+ properties:
+ allow_to_add_external_users:
+ type: integer
+ new_members_can_see_previous_messages_files:
+ type: boolean
+ posting_permissions:
+ type: integer
+ type: object
+ id:
+ description: "Channel ID: Unique identifier of the Channel."
+ type: string
+ name:
+ description: Name of the channel.
+ type: string
+ type:
+ description: |-
+ Type of the channel. The value can be one of the following:
+ `1`: **Private channel.** In this type of channel, members must be invited to join a channel.
+ `2`: **Private channel with users that belong to the same Zoom account**. Members in this channel should be invited and the members should be from the same organization.
+ `3`: **Public channel.** Anyone can search for this channel and join the channel. External members cannot be invited.
+ `4`: **New chat**. This is an instant channel which can be created by adding members to a new chat.
+ `5`: **Public channel**, similar to above, except members can invite members of other accounts.
+ type: integer
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: |-
+ The number of records returned with a single API call.
+ Default value: 30.
+ maximum: 100
+ type: integer
+ total_records:
+ description: The total number of records found.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ channels:
+ description: Chat Channel object(s).
+ items:
+ properties:
+ channels_settings:
+ properties:
+ allow_to_add_external_users:
+ type: integer
+ new_members_can_see_previous_messages_files:
+ type: boolean
+ posting_permissions:
+ type: integer
+ type: object
+ id:
+ description: "Channel ID: Unique identifier of the Channel."
+ type: string
+ name:
+ description: Name of the channel.
+ type: string
+ type:
+ description: |-
+ Type of the channel. The value can be one of the following:
+ `1`: **Private channel.** In this type of channel, members must be invited to join a channel.
+ `2`: **Private channel with users that belong to the same Zoom account**. Members in this channel should be invited and the members should be from the same organization.
+ `3`: **Public channel.** Anyone can search for this channel and join the channel. External members cannot be invited.
+ `4`: **New chat**. This is an instant channel which can be created by adding members to a new chat.
+ `5`: **Public channel**, similar to above, except members can invite members of other accounts.
+ type: integer
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: |-
+ The number of records returned with a single API call.
+ Default value: 30.
+ maximum: 100
+ type: integer
+ total_records:
+ description: The total number of records found.
+ type: integer
+ type: object
+ description: |-
+ **Status Code**: `200`
+ User's channels returned.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ Bad request.
+ **Error Code**: `300`
+ The next page token is either invalid or has expired.
+ security:
+ - OAuth: []
+ summary: List user's channels
+ tags:
+ - Chat Channels
+ parameters:
+ - in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ post:
+ description: |+
+ Zoom chat channels allow users to communicate via chat in private or public groups. Use this API to create a channel for a user.
+ **Scopes**:`chat_channel:write` or `chat_channel:write:admin`
+
+
Note: This API supports both user-managed apps and account-level apps. However, in an account-levelOAuth app, to create a channel on behalf of another user in the same Zoom account, the user calling this API must have a role that has Edit permission for the Chat channels feature.
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+
+ operationId: createChannel
+ parameters:
+ - description: Unique identifier of the user.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ members:
+ description: Member(s) to include in the channel. A max of 5 members can be added to the channel at once with this API.
+ items:
+ properties:
+ email:
+ description: Member's email address.
+ format: email
+ type: string
+ required:
+ - email
+ type: object
+ type: array
+ name:
+ description: Name of the channel.
+ maxLength: 128
+ type: string
+ type:
+ description: |-
+ Type of the channel. The value can be one of the following:
+ `1`: Private channel. In this type of channel, members must be invited to join a channel.
+ `2`: Private channel with members that belong to one Zoom account. Members in this channel should be invited and the members should be from the same organization.
+ `3`: Public channel. Anyone can search for this channel and join the channel.
+ `4`: New chat. This is an instant channel which can be created by adding members to a new chat.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ members:
+ description: Member(s) to include in the channel. A max of 5 members can be added to the channel at once with this API.
+ items:
+ properties:
+ email:
+ description: Member's email address.
+ format: email
+ type: string
+ required:
+ - email
+ type: object
+ type: array
+ name:
+ description: Name of the channel.
+ maxLength: 128
+ type: string
+ type:
+ description: |-
+ Type of the channel. The value can be one of the following:
+ `1`: Private channel. In this type of channel, members must be invited to join a channel.
+ `2`: Private channel with members that belong to one Zoom account. Members in this channel should be invited and the members should be from the same organization.
+ `3`: Public channel. Anyone can search for this channel and join the channel.
+ `4`: New chat. This is an instant channel which can be created by adding members to a new chat.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ type: object
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ id: id8977ullamco
+ jid: nisi73624365536st
+ name: Happy Channel
+ type: 1
+ schema:
+ properties:
+ id:
+ description: "Channel ID: Unique Identifier of the Channel."
+ type: string
+ jid:
+ description: "Channel JID. "
+ type: string
+ name:
+ description: Channel name.
+ type: string
+ type:
+ description: Channel type.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ id:
+ description: "Channel ID: Unique Identifier of the Channel."
+ type: string
+ jid:
+ description: "Channel JID. "
+ type: string
+ name:
+ description: Channel name.
+ type: string
+ type:
+ description: Channel type.
+ type: integer
+ type: object
+ description: |-
+ **Status Code**: `201`
+ Channel created.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ Not found.
+ **Error Code**: `5301`
+ Request to create a channel failed.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code**: `1001`
+ User does not exist: $userId.
+ security:
+ - OAuth: []
+ summary: Create a channel
+ tags:
+ - Chat Channels
+ "/chat/users/{userId}/channels/{channelId}":
+ delete:
+ description: "Zoom chat [channels](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-) allow users to communicate via chat in private or public groups. Use this API to delete a specific channel.\
+
+
+ **Scope:** `chat_channel:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+
+
+
Note: This API only supports user-managedOAuth app.
+
+
+
+ \ "
+ operationId: deleteChannel
+ parameters:
+ - description: "Channel ID: Unique Identifier of a channel."
+ in: path
+ name: channelId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204`
+ Channel deleted.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` Bad request.
+ **Error Code:** `200`
+ Unauthorized request. You do not have permission to delete this user's channel.
+ **Error Code:** `5301` Request to delete a channel failed.
+ summary: Delete a channel
+ tags:
+ - Chat Channels (Account-level)
+ get:
+ description: "Zoom chat [channels](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-) allow users to communicate via chat in private or public groups. Use this API to get information about a specific channel.\
+
+
+ **Scope:** `chat_channel:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+
+
+
Note: For an account-levelOAuth app, this API can only be used on behalf of a user who is assigned with a role that has View or Edit permission for Chat Channels.
+
+
+
+ \ "
+ operationId: getChannel
+ parameters:
+ - description: "Channel ID: Unique Identifier of a channel."
+ in: path
+ name: channelId
+ required: true
+ schema:
+ type: string
+ - description: Unique identifier of the user who is the owner of the channel.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ id: ut1234sgfsdf
+ name: Leah
+ type: 1
+ schema:
+ description: "The channel object represents a Zoom chat [channel](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-). "
+ properties:
+ id:
+ description: Channel Id.
+ type: string
+ name:
+ description: Name of the channel.
+ maxLength: 128
+ type: string
+ type:
+ description: |-
+ Type of the channel. The value can be one of the following:
+ `1`: Private channel. In this type of channel, members must be invited to join a channel.
+ `2`: Private channel with members that belong to one Zoom account. Members in this channel should be invited and the members should be from the same organization.
+ `3`: Public channel. Anyone can search for this channel and join the channel.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ description: "The channel object represents a Zoom chat [channel](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-). "
+ properties:
+ id:
+ description: Channel Id.
+ type: string
+ name:
+ description: Name of the channel.
+ maxLength: 128
+ type: string
+ type:
+ description: |-
+ Type of the channel. The value can be one of the following:
+ `1`: Private channel. In this type of channel, members must be invited to join a channel.
+ `2`: Private channel with members that belong to one Zoom account. Members in this channel should be invited and the members should be from the same organization.
+ `3`: Public channel. Anyone can search for this channel and join the channel.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ type: object
+ description: |+
+ **HTTP Status Code:** `200`
+ Channel returned.
+
+
+
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ Bad Request
+ **Error Code:** `200`
+ Unauthorized request. You do not have permission to access this user's channel information.
+ "404":
+ description: |-
+ **Status Code:** `404`
+ Not found.
+ **Error Code:** `4130`
+ Channel does not exist: $channelId.
+ security:
+ - OAuth: []
+ summary: Get a channel
+ tags:
+ - Chat Channels (Account-level)
+ parameters:
+ - in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ - in: path
+ name: channelId
+ required: true
+ schema:
+ type: string
+ patch:
+ description: |
+ Zoom chat channels allow users to communicate via chat in private or public channels. Use this API to update the name of a specific channel created by a user.
Note: For an account-levelOAuth app, this API can only be used on behalf of a user who is assigned with a role that has Edit permission for Chat Channel.
+ operationId: updateChannel
+ parameters:
+ - description: Channel Id.
+ in: path
+ name: channelId
+ required: true
+ schema:
+ type: string
+ - description: Unique Identifier of the Zoom user who is the owner of the channel.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ $ref: "#/components/requestBodies/updateChannelBody"
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **Status Code:** `204`
+ Channel updated.
+ "400":
+ description: |-
+ **Status Code:** `400`
+ Bad request
+ **Error Code:** `200`
+ Unauthorized request. You do not have permission to update a channel for this user.
+ **Error Code:** `5301`
+ Request to update a channel failed.
+ security:
+ - OAuth: []
+ summary: Update a channel
+ tags:
+ - Chat Channels (Account-level)
+ "/chat/users/{userId}/channels/{channelId}/members":
+ get:
+ description: |-
+ A [channel](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-) can have one or multiple members. List all the members of a channel using this API.
+
+ For an account-levelOAuth app, this API can only be used on behalf of a user who is assigned with a role that has View or Edit permission for Chat Channels.
+
+ **Scopes:** `chat_channel:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: listChannelMembers
+ parameters:
+ - description: Channel Id.
+ in: path
+ name: channelId
+ required: true
+ schema:
+ type: string
+ - description: The number of records returned with a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 100
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: Unique identifier of the user who is the owner of this channel.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ members:
+ - email: IiUQCUCLs@XKmztyJAAU.di
+ first_name: Harry
+ id: laboris3764763ull
+ last_name: King
+ role: admin
+ - email: hJUWLsYtyw@ljXwqOlyNCvBjtkLOx.eox
+ first_name: Alisha
+ id: eul21dfabore
+ last_name: Sapkota
+ role: member
+ next_page_token: ""
+ page_size: 30
+ total_records: 2
+ schema:
+ properties:
+ members:
+ description: Members in a channel.
+ items:
+ properties:
+ email:
+ description: Email address of the member.
+ format: email
+ type: string
+ first_name:
+ description: Member's first name.
+ type: string
+ id:
+ description: "Member ID: Unique Identifier of the member."
+ type: string
+ last_name:
+ description: Member's last name.
+ type: string
+ role:
+ description: "The role of the member. The value can be one of these: `owner`, `admin`, `member`. "
+ enum:
+ - admin
+ - owner
+ - member
+ type: string
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ default: 30
+ description: "The number of records returned with a single API call. "
+ maximum: 100
+ type: integer
+ total_records:
+ description: The total number of records returned.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ members:
+ description: Members in a channel.
+ items:
+ properties:
+ email:
+ description: Email address of the member.
+ format: email
+ type: string
+ first_name:
+ description: Member's first name.
+ type: string
+ id:
+ description: "Member ID: Unique Identifier of the member."
+ type: string
+ last_name:
+ description: Member's last name.
+ type: string
+ role:
+ description: "The role of the member. The value can be one of these: `owner`, `admin`, `member`. "
+ enum:
+ - admin
+ - owner
+ - member
+ type: string
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ default: 30
+ description: "The number of records returned with a single API call. "
+ maximum: 100
+ type: integer
+ total_records:
+ description: The total number of records returned.
+ type: integer
+ type: object
+ description: |+
+ **HTTP Status Code:** `200`
+ List of channel members returned.
+
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` Bad Request
+ **Error Code:** `200`
+ Unauthorized request. You do not have permission to view channel members on this user's behalf..
+ **Error Code:** `300`
+ The next page token is either invalid or has expired.
+ security:
+ - OAuth: []
+ summary: List channel members
+ tags:
+ - Chat Channels (Account-level)
+ parameters:
+ - in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ - in: path
+ name: channelId
+ required: true
+ schema:
+ type: string
+ post:
+ description: |-
+ A [channel](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-) can have one or multiple members. Use this API to invite members that are in a user's contact list to a channel. The maximum number of members that can be added at once with this API is 5.
+
+ **Scope:** `chat_channel:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+
+ For an account-levelOAuth app, this API can only be used on behalf of a user who is assigned with a role that has Edit permission for Chat Channels.
+ operationId: inviteChannelMembers
+ parameters:
+ - description: "Channel ID: Unique Identifier of the channel."
+ in: path
+ name: channelId
+ required: true
+ schema:
+ type: string
+ - description: Unique identifier of the user who is the owner of this channel.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ members:
+ description: Members of a channel. You can invite up to a max number of 5 members with a single API call.
+ items:
+ properties:
+ email:
+ description: Email adress of the member.
+ format: email
+ type: string
+ required:
+ - email
+ type: object
+ type: array
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ members:
+ description: Members of a channel. You can invite up to a max number of 5 members with a single API call.
+ items:
+ properties:
+ email:
+ description: Email adress of the member.
+ format: email
+ type: string
+ required:
+ - email
+ type: object
+ type: array
+ type: object
+ x-examples:
+ application/json:
+ members:
+ - email: rtxbZkoL6ZVr@BKRUfQISqmtCCeuGPP.ma
+ - email: Rl7NtxV2wGf6@INybVUUu.fphl
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ added_at: 2019-09-27T00:14:46Z
+ ids:
+ - abc4545fdgfdhg
+ - lgfdkhg123456
+ schema:
+ properties:
+ added_at:
+ description: The date and time at which the member(s) are added to the channe.
+ format: date-time
+ type: string
+ ids:
+ description: Member Ids of the members.
+ items:
+ type: string
+ type: array
+ type: object
+ application/xml:
+ schema:
+ properties:
+ added_at:
+ description: The date and time at which the member(s) are added to the channe.
+ format: date-time
+ type: string
+ ids:
+ description: Member Ids of the members.
+ items:
+ type: string
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `201`
+ Members invited to the channel.
+ "400":
+ description: |-
+ **Status Code:** `400`
+ Bad request.
+ **Error Code:** `5301`
+ Request to invite channel members failed.
+ **Error Code:** `200`
+ Unauthorized request. You do not have permission to invite channel members on this user's behalf.
+ security:
+ - OAuth: []
+ summary: Invite channel members
+ tags:
+ - Chat Channels (Account-level)
+ "/chat/users/{userId}/channels/{channelId}/members/{memberId}":
+ delete:
+ description: |2-
+ A [channel](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-) can have one or multiple members. Use this API to remove a member from a chat channel.
Note: For an account-levelOAuth app, this API can only be used on behalf of a user who is assigned with a role that has Edit permission for Chat Channels.
+ operationId: removeAChannelMember
+ parameters:
+ - description: Unique Identifier of the Channel from where you would like to remove a member. This can be retrieved from the [List Channels API](https://marketplace.zoom.us/docs/api-reference/zoom-api/chat-channels/getchannels).
+ in: path
+ name: channelId
+ required: true
+ schema:
+ type: string
+ - description: Email address of the member whom you would like to be remove from the channel.
+ in: path
+ name: memberId
+ required: true
+ schema:
+ type: string
+ - description: Unique identifier of the channel owner.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |+
+ **HTTP Status Code:** `204` **No Content**
+ Member removed.
+
+
+ "400":
+ description: |+
+ **HTTP Status Code:** `400`
+ Bad Request
+ **Error Code:** `200`
+ Unauthorized request. You do not have permission to remove channel members on this user's behalf.
+ **Error Code:** `5301`
+ Unable to remove channel member.
+
+ security:
+ - OAuth: []
+ summary: Remove a member
+ tags:
+ - Chat Channels (Account-level)
+ parameters:
+ - in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ - in: path
+ name: channelId
+ required: true
+ schema:
+ type: string
+ - in: path
+ name: memberId
+ required: true
+ schema:
+ type: string
+ "/chat/users/{userId}/messages":
+ get:
+ description: |+
+ A Zoom user can have conversations with other Zoom users via chat. Use this API to list the current user's chat messages between the user and an individual contact or a chat channel. In the query parameter, you must provide either of the following:
+ * `to_contact`: The email address of the contact with whom the user conversed by sending/receiving messages.
+ * `to_channel`: The channel ID of the channel to/from which the user has sent and/or received messages.
+
+ **Specify a date** in the `date` query parameter to view messages from that date. If a date is not provided, the default value for the query will be the **current date**.
+
Note: For an account-levelOAuth app, this API can only be used on behalf of a user who is assigned with a role that has View or Edit permission for Chat Messages.
+
+ **Scopes:** `chat_message:read`, `chat_message:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+
+ operationId: getChatMessages
+ parameters:
+ - description: |-
+ The email address of a chat contact with whom the current user chatted. Messages that were sent and/or received between the user and the contact is displayed.
+
+ Note: You must provide either `contact` or `channel` as a query parameter to retrieve messages either from an individual or a chat channel.
+ in: query
+ name: to_contact
+ schema:
+ type: string
+ - description: |-
+ The channel Id of a channel inside which the current user had chat conversations. Messages that were sent and/or received between the user and the channel is displayed.
+
+ Note: You must provide either `contact` or `channel` as a query parameter to retrieve messages either from an individual or a chat channel.
+ in: query
+ name: to_channel
+ schema:
+ type: string
+ - description: The query date for which you would like to get the chat messages.
+ in: query
+ name: date
+ schema:
+ format: date
+ type: string
+ - description: "The number of records returned with a single API call. "
+ in: query
+ name: page_size
+ schema:
+ default: 10
+ maximum: 50
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: |-
+ **Optional**
+ Set the value of this field to `true` to include edited and deleted messages in the response.
+ in: query
+ name: include_deleted_and_edited_message
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ date: 2019-09-17
+ messages:
+ - date_time: 2019-09-17T20:25:21Z
+ id: F3CbafdljsfjkdfgBA7
+ message: And you?
+ sender: myemail@someemailaddr.com
+ timestamp: 1568751921626
+ - date_time: 2019-09-17T20:25:17Z
+ id: B0DbfdgdfhAAfgf237000
+ message: I am good
+ sender: myemail@someemailaddr.com
+ timestamp: 1568751917976
+ - date_time: 2019-09-17T20:24:13Z
+ id: C9Bbdfgd4sad301
+ message: How are you
+ sender: myfriendsemail@someemailaddr.us
+ timestamp: 1568751853297
+ - date_time: 2019-09-17T20:22:26Z
+ id: 769fgdgdfgfd4566F7B96665
+ message: hello
+ sender: myfriendsemail@someemailaddr.us
+ timestamp: 1568751746769
+ next_page_token: ""
+ page_size: 10
+ schema:
+ description: Chat message object.
+ properties:
+ date:
+ description: The date provided in the query parameter. If a date is not provided, the default value is the **current date**.
+ format: date
+ type: string
+ messages:
+ description: List of message(s).
+ items:
+ properties:
+ date_time:
+ description: The date-time at which the message was sent.
+ type: string
+ id:
+ description: "Message ID: Unique Identifier of the message."
+ type: string
+ message:
+ description: The message content.
+ type: string
+ reply_main_message_id:
+ description: Unique identifier of a reply. This field will only be returned if the message is a reply message.
+ type: string
+ reply_main_message_timestamp:
+ description: |-
+ Timestamp of when the reply message was sent. This field will only be returned if the message is a reply message.
+
+ The value of this field will be in **long** format(int64).
+ format: int64
+ type: integer
+ sender:
+ description: The email address of the sender of the message.
+ type: string
+ status:
+ description: |-
+ This field indicates whether a message is an original message(unedited), an edited message or a deleted message.
+
+ This field is only returned if you set the value of `for include_deleted_and_edited_message` query parameter to `true`.
+ enum:
+ - Deleted
+ - Edited
+ - Normal
+ type: string
+ timestamp:
+ description: The timestamp of the message in microseconds.
+ format: int64
+ type: integer
+ type: object
+ type: array
+ next_page_token:
+ description: |
+ The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ default: 10
+ description: The number of records returned with a single API call.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ description: Chat message object.
+ properties:
+ date:
+ description: The date provided in the query parameter. If a date is not provided, the default value is the **current date**.
+ format: date
+ type: string
+ messages:
+ description: List of message(s).
+ items:
+ properties:
+ date_time:
+ description: The date-time at which the message was sent.
+ type: string
+ id:
+ description: "Message ID: Unique Identifier of the message."
+ type: string
+ message:
+ description: The message content.
+ type: string
+ reply_main_message_id:
+ description: Unique identifier of a reply. This field will only be returned if the message is a reply message.
+ type: string
+ reply_main_message_timestamp:
+ description: |-
+ Timestamp of when the reply message was sent. This field will only be returned if the message is a reply message.
+
+ The value of this field will be in **long** format(int64).
+ format: int64
+ type: integer
+ sender:
+ description: The email address of the sender of the message.
+ type: string
+ status:
+ description: |-
+ This field indicates whether a message is an original message(unedited), an edited message or a deleted message.
+
+ This field is only returned if you set the value of `for include_deleted_and_edited_message` query parameter to `true`.
+ enum:
+ - Deleted
+ - Edited
+ - Normal
+ type: string
+ timestamp:
+ description: The timestamp of the message in microseconds.
+ format: int64
+ type: integer
+ type: object
+ type: array
+ next_page_token:
+ description: |
+ The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ default: 10
+ description: The number of records returned with a single API call.
+ type: integer
+ type: object
+ description: |-
+ **HTTP Status Code:**`200`
+ List of chat messages returned.
+ "400":
+ description: |
+ **HTTP Status Code:** `400` Bad request.
+ **Error Code:** `200` Unauthorized request. You do not have permission to access this user's chat messages.
+ **Error Code:** `300` The next page token is invalid or expired.
+ **Error Code:** `300` Must provide either contact or channel parameter.
+ **Error Code:** `300` Only provide past chat messages in recent 6 months.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code**: `1001`
+ User does not exist: $to_contact.
+ **Error Code**: `4130`
+ Channel does not exist: $to_channel.
+ security:
+ - OAuth: []
+ summary: List user's chat messages
+ tags:
+ - Chat Messages
+ parameters:
+ - in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ post:
+ description: |+
+ Send chat messages on Zoom to either an individual user who is in your contact list or to a [channel](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-) of which you are a member. To send a message to a contact, provide the contact's email address in the `to_contact` field. Similary, to send a message to a channel, provide the Channel Id of the Channel in `to_channel` field.
+ **Scopes:** `chat_message:write`, `chat_message:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
Note: For an account-levelOAuth app, this API can only be used on behalf of a user who is assigned with a role that has Edit permission for Chat Messages.
+
+ operationId: sendaChatMessage
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ at_items:
+ description: "[Chat mentions](https://support.zoom.us/hc/en-us/articles/360037567431-Using-chat-mentions-and-slash-commands) object. Use this object to include mentions in the message that will be sent to a channel. "
+ items:
+ properties:
+ at_contact:
+ description: |+
+ This field is required if the value of `at_type` field is set to 1.
+
+ Email address of the contact.
+
+ type: string
+ at_type:
+ description: |-
+ Type of mention. You can use one of the following values:
+ * `1`: Mention a contact.
+
+ * `2`: Mention "all" to notify everyone in the channel.
+ enum:
+ - 1
+ - 2
+ type: integer
+ end_position:
+ description: |-
+ End position of the mention.
+
+ Example message: "@Shrijana How are you?"
+ In this case, the end position of the mention "@Shrijana" is 8. Hence, the value of this field will be 8.
+ type: integer
+ start_position:
+ description: |+
+ Start position of the mention("@") in the message string.
+
+ For example if you want to include the mention at the beginning of the message, the value for this field will be 0.
+
+ Example message: "@Shrijana How are you?"
+
+ type: integer
+ type: object
+ type: array
+ message:
+ description: The message to be sent.
+ maxLength: 1024
+ type: string
+ to_channel:
+ description: The Channel Id of the channel where you would like to send a message.
+ type: string
+ to_contact:
+ description: The email address of the contact to whom you would like to send the message.
+ type: string
+ required:
+ - message
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ at_items:
+ description: "[Chat mentions](https://support.zoom.us/hc/en-us/articles/360037567431-Using-chat-mentions-and-slash-commands) object. Use this object to include mentions in the message that will be sent to a channel. "
+ items:
+ properties:
+ at_contact:
+ description: |+
+ This field is required if the value of `at_type` field is set to 1.
+
+ Email address of the contact.
+
+ type: string
+ at_type:
+ description: |-
+ Type of mention. You can use one of the following values:
+ * `1`: Mention a contact.
+
+ * `2`: Mention "all" to notify everyone in the channel.
+ enum:
+ - 1
+ - 2
+ type: integer
+ end_position:
+ description: |-
+ End position of the mention.
+
+ Example message: "@Shrijana How are you?"
+ In this case, the end position of the mention "@Shrijana" is 8. Hence, the value of this field will be 8.
+ type: integer
+ start_position:
+ description: |+
+ Start position of the mention("@") in the message string.
+
+ For example if you want to include the mention at the beginning of the message, the value for this field will be 0.
+
+ Example message: "@Shrijana How are you?"
+
+ type: integer
+ type: object
+ type: array
+ message:
+ description: The message to be sent.
+ maxLength: 1024
+ type: string
+ to_channel:
+ description: The Channel Id of the channel where you would like to send a message.
+ type: string
+ to_contact:
+ description: The email address of the contact to whom you would like to send the message.
+ type: string
+ required:
+ - message
+ type: object
+ x-examples:
+ application/json:
+ at_items:
+ - at_contact: mycontactsemail@somexyz23mail.com
+ at_type: 1
+ end_position: 8
+ start_position: 0
+ message: "@Shrijana How are you?"
+ to_channel: e87294sdg4a42e7d2f80862
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ id: ex35785hgdfjgt
+ schema:
+ properties:
+ id:
+ description: "Message ID: Unique Identifier of the message."
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ id:
+ description: "Message ID: Unique Identifier of the message."
+ type: string
+ type: object
+ description: |-
+ **Status Code:** `201`
+ Message sent.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ Bad request.
+ **Error Code:** `5301`
+ Message sending failed.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code**: `1001`
+ User does not exist: $to_contact.
+ **Error Code**: `4130`
+ Channel does not exist: $to_channel.
+ security:
+ - OAuth: []
+ summary: Send a chat message
+ tags:
+ - Chat Messages
+ "/chat/users/{userId}/messages/{messageId}":
+ delete:
+ description: |-
+ Delete a chat message that you previously sent to a contact or a channel. In the query parameter, you must provide either of the following:
+ * `to_contact`: The email address of the contact to whom you sent the message. Use this parameter to delete a message sent to an individual contact in Zoom.
+ * `to_channel`: The channel ID of the channel where you sent the message. Use this parameter to delete a message sent to a channel in Zoom.
+
+
Note: For an account-levelOAuth app, this API can only be used on behalf of a user who is assigned with a role that has Edit permission for Chat Messages.
+
+ **Scope:** `chat_message:write`, `chat_message:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: deleteChatMessage
+ parameters:
+ - description: Message ID
+ in: path
+ name: messageId
+ required: true
+ schema:
+ type: string
+ - description: |-
+ The userId or email address of a chat contact to whom you previously sent the message.
+
+ Note: You must provide either `to_contact` or `to_channel` as a query parameter to delete a message that was previously sent to either an individual or a chat channel respectively.
+ in: query
+ name: to_contact
+ schema:
+ type: string
+ - description: |-
+ The channel Id of the channel where you would like to send the message.
+
+ You must provide either `to_contact` or `to_channel` as a query parameter to delete a message that was previously sent to either an individual or a chat channel
+ in: query
+ name: to_channel
+ schema:
+ type: string
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ Message deleted.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ Bad request.
+ **Error Code:** `200`
+ The contact or the channel parameter provided is invalid.
+ Only the sender of this message can make updates.
+ **Error Code:** `300` Channel does not exist: $messageId Must provide either contact or channel parameter.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code**: `1001`
+ User does not exist: $to_contact.
+ **Error Code**: `4130`
+ Channel does not exist: $to_channel.
+ security:
+ - OAuth: []
+ summary: Delete a message
+ tags:
+ - Chat Messages
+ parameters:
+ - in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ - in: path
+ name: messageId
+ required: true
+ schema:
+ type: string
+ put:
+ description: |+
+ Each chat message has a unique identifier. Use this API to edit a chat message that you previously sent to either a contact or a channel in Zoom by providing the ID of the message as the value of the `messageId` parameter. The ID can be retrieved from List User's Chat Messages API. Additionally, as a query parameter, you must provide either the **email address** of the contact or the **Channel ID** of the channel where the message was sent.
+
+ **Scope:** `chat_message:write`,`chat_message:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+
+ For an account-levelOAuth app, this API can only be used on behalf of a user who is assigned with a role that has Edit permission for Chat Messages.
+ **Scope:** `chat_message:write`, `chat_message:write:admin`
+
+
+
+
+
+
+ operationId: editMessage
+ parameters:
+ - description: "Message ID: Unique Identifier of the message."
+ in: path
+ name: messageId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ message:
+ description: The edited message.
+ type: string
+ to_channel:
+ description: |-
+ The Channel ID of the channel where you sent the message. You must provide either `to_contact` or `to_channel` parameter in the API request.
+ Channel ID can be retrieved from List User's Channels API.
+ type: string
+ to_contact:
+ description: |-
+ The email address of the contact to whom the message was sent.
+ You must provide either `to_contact` or `to_channel` parameter in the API request.
+ type: string
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ message:
+ description: The edited message.
+ type: string
+ to_channel:
+ description: |-
+ The Channel ID of the channel where you sent the message. You must provide either `to_contact` or `to_channel` parameter in the API request.
+ Channel ID can be retrieved from List User's Channels API.
+ type: string
+ to_contact:
+ description: |-
+ The email address of the contact to whom the message was sent.
+ You must provide either `to_contact` or `to_channel` parameter in the API request.
+ type: string
+ type: object
+ x-examples:
+ application/json:
+ message: This is an edited message. It is a gloomy day today.
+ to_contact: theemailofmyfriend@sksjgsdf.fhdgfgdh
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ Message updated successfully.
+ "400":
+ description: |
+ **HTTP Status Code:** `400`
+ Bar request
+ **Error Code:** `200`
+ Only the sender of this message can make updates.
+ **Error Code:** `300`
+ Message does not exist: $messageId Must provide either contact or channel parameter.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code**: `1001`
+ User does not exist: $to_contact.
+ **Error Code**: `4130`
+ Channel does not exist: $to_channel.
+ security:
+ - OAuth: []
+ summary: Update a message
+ tags:
+ - Chat Messages
+ "/chat/users/{userId}/messages/{messageId}/status": {}
+ /contacts:
+ get:
+ description: |-
+ A user under an organization's Zoom account has internal users listed under Company Contacts in the Zoom Client. Use this API to search users that are in the company contacts of a Zoom account. Using the `search_key` query parameter, provide either first name, last name or the email address of the user that you would like to search for. Optionally, set `query_presence_status` to `true` in order to include the presence status of a contact.
+
+ **Scopes:** `contact:read:admin`, `contact:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: searchCompanyContacts
+ parameters:
+ - description: Provide the keyword - either first name, last name or email of the contact whom you have to search for.
+ in: query
+ name: search_key
+ required: true
+ schema:
+ type: string
+ - description: Set `query_presence_status` to `true` in order to include the presence status of a contact in the response.
+ in: query
+ name: query_presence_status
+ schema:
+ type: string
+ - description: The number of records to be returned with a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 1
+ maximum: 25
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ contacts:
+ - direct_numbers:
+ - 111111
+ - 222222
+ email: qui@djfsd.sdfjhdf
+ extension_number: "010"
+ first_name: John
+ id: isds324bdfsf
+ im_group_id: fhksdhfew34hjds
+ im_group_name: Engineering
+ last_name: Doe
+ phone_number: "00000000"
+ presence_status: Offline
+ sip_phone_number: "11111111"
+ next_page_token: " "
+ page_size: 1
+ schema:
+ properties:
+ contacts:
+ items:
+ properties:
+ dept:
+ description: Department of the contact as provided in the user's Zoom profile.
+ type: string
+ direct_numbers:
+ description: Direct Number(s) of a user who has Zoom Phone license assigned.
+ items:
+ type: string
+ type: array
+ email:
+ description: Email address of the contact.
+ type: string
+ extension_number:
+ description: Extension Number of a user who has Zoom Phone license assigned.
+ type: string
+ first_name:
+ description: First name of the contact.
+ type: string
+ id:
+ description: User ID of the contact.
+ type: string
+ im_group_id:
+ description: "Unique Identifier of the [IM directory group](https://support.zoom.us/hc/en-us/articles/203749815-IM-Management) in which the user has been added. An IM Directory group is not the same as a channel. IM Directory allows administrators to assign users in their account to groups that display within the Contacts list on Zoom clients. "
+ type: string
+ im_group_name:
+ description: "Name of the [IM directory group](https://support.zoom.us/hc/en-us/articles/203749815-IM-Management) in which the user has been added. An IM Directory group is not the same as a channel. IM Directory allows administrators to assign users in their account to groups that display within the Contacts list on Zoom clients. "
+ type: string
+ job_title:
+ description: Department of the user as provided in the user's Zoom profile.
+ type: string
+ last_name:
+ description: Last name of the contact.
+ type: string
+ location:
+ description: Location of the user as provided in the user's Zoom profile.
+ type: string
+ phone_number:
+ description: Phone number of the user.
+ type: string
+ presence_status:
+ description: |-
+ Presence status of the contact in Zoom Client. The value of this field can be one of the following:
+ `Do_Not_Disturb` `away` `Available` `Offline`
+ enum:
+ - Do_Not_Disturb
+ - Away
+ - Available
+ - Offline
+ type: string
+ sip_phone_number:
+ description: SIP Phone number of the user. Returned only if user has SIP phone enabled.
+ type: string
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: The number of records returned with a single API call. Default value is `1`.
+ maximum: 25
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ contacts:
+ items:
+ properties:
+ dept:
+ description: Department of the contact as provided in the user's Zoom profile.
+ type: string
+ direct_numbers:
+ description: Direct Number(s) of a user who has Zoom Phone license assigned.
+ items:
+ type: string
+ type: array
+ email:
+ description: Email address of the contact.
+ type: string
+ extension_number:
+ description: Extension Number of a user who has Zoom Phone license assigned.
+ type: string
+ first_name:
+ description: First name of the contact.
+ type: string
+ id:
+ description: User ID of the contact.
+ type: string
+ im_group_id:
+ description: "Unique Identifier of the [IM directory group](https://support.zoom.us/hc/en-us/articles/203749815-IM-Management) in which the user has been added. An IM Directory group is not the same as a channel. IM Directory allows administrators to assign users in their account to groups that display within the Contacts list on Zoom clients. "
+ type: string
+ im_group_name:
+ description: "Name of the [IM directory group](https://support.zoom.us/hc/en-us/articles/203749815-IM-Management) in which the user has been added. An IM Directory group is not the same as a channel. IM Directory allows administrators to assign users in their account to groups that display within the Contacts list on Zoom clients. "
+ type: string
+ job_title:
+ description: Department of the user as provided in the user's Zoom profile.
+ type: string
+ last_name:
+ description: Last name of the contact.
+ type: string
+ location:
+ description: Location of the user as provided in the user's Zoom profile.
+ type: string
+ phone_number:
+ description: Phone number of the user.
+ type: string
+ presence_status:
+ description: |-
+ Presence status of the contact in Zoom Client. The value of this field can be one of the following:
+ `Do_Not_Disturb` `away` `Available` `Offline`
+ enum:
+ - Do_Not_Disturb
+ - Away
+ - Available
+ - Offline
+ type: string
+ sip_phone_number:
+ description: SIP Phone number of the user. Returned only if user has SIP phone enabled.
+ type: string
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: The number of records returned with a single API call. Default value is `1`.
+ maximum: 25
+ type: integer
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Contact returned successfully.
+ summary: Search company contacts
+ tags:
+ - Contacts
+ /groups:
+ get:
+ description: |-
+ List [groups](https://support.zoom.us/hc/en-us/articles/204519819-Group-Management-) under an account.
+
+ **Prerequisite**: Pro or higher account.
+ **Scopes**: `group:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: groups
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ groups:
+ - id: hFK_GtF_e_TaVA808
+ name: ipsum
+ total_members: 10
+ - id: TaVA8QKik_123
+ name: awesomegroup
+ total_members: 0
+ total_records: 2
+ schema:
+ description: List of Groups.
+ properties:
+ groups:
+ description: List of Group objects.
+ items:
+ allOf:
+ - properties:
+ id:
+ description: Group ID.
+ type: string
+ type: object
+ - description: Group object.
+ properties:
+ name:
+ description: Group name.
+ type: string
+ total_members:
+ description: Total number of members in this group.
+ type: integer
+ type: object
+ type: array
+ total_records:
+ description: Total records.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ description: List of Groups.
+ properties:
+ groups:
+ description: List of Group objects.
+ items:
+ allOf:
+ - properties:
+ id:
+ description: Group ID.
+ type: string
+ type: object
+ - description: Group object.
+ properties:
+ name:
+ description: Group name.
+ type: string
+ total_members:
+ description: Total number of members in this group.
+ type: integer
+ type: object
+ type: array
+ total_records:
+ description: Total records.
+ type: integer
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ List of groups returned.
+ **Error Code:** `200`
+ Only available for paid accounts.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code:** `4130` A group with this {groupId} does not exist.
+ security:
+ - OAuth: []
+ summary: List groups
+ tags:
+ - Groups
+ post:
+ description: |-
+ Create a [group](https://support.zoom.us/hc/en-us/articles/204519819-Group-Management-) under an account.
+
+ You can add a maximum of 100 groups in one account per day. If you go over, you will get an error. You can add a maximum of 5000 groups in one account.
+
+ **Prerequisite**: Pro or higher account.
+ **Scopes**: `group:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: groupCreate
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ name:
+ description: Group name.
+ type: string
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ name:
+ description: Group name.
+ type: string
+ type: object
+ required: true
+ x-examples:
+ application/json:
+ name: myawesomegroup
+ responses:
+ "200":
+ description: |-
+ **Error Code:** `200`
+ Only available for Paid account,{accountId}
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ id: string
+ name: string
+ total_members: integer
+ schema:
+ properties:
+ id:
+ description: Group ID.
+ type: string
+ name:
+ description: Group name.
+ type: string
+ total_members:
+ description: Group member count.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ id:
+ description: Group ID.
+ type: string
+ name:
+ description: Group name.
+ type: string
+ total_members:
+ description: Group member count.
+ type: integer
+ type: object
+ description: |-
+ **HTTP Status Code:** `201`
+ Group created.
+ headers:
+ Content-Location:
+ description: Location of created group
+ schema:
+ type: string
+ "300":
+ description: |-
+ **Error Code:** `300`
+ Missing field: name.
+ "404":
+ description: |+
+ **HTTP Status Code:** `404` **Error Code:** `4130` A group with this {groupId} does not exist.
+
+
+
+ "409":
+ description: "**HTTP Status Code:** `409` **Error Code:** `4132` Group name {groupName} is already in use."
+ "429":
+ description: |-
+ **HTTP Status Code:** `429`
+ You have exceeded the daily rate limit ({0}) of Create a Group API request for this account. This limit resets at GMT 00:00:00.
+ security:
+ - OAuth: []
+ summary: Create a group
+ tags:
+ - Groups
+ "/groups/{groupId}":
+ delete:
+ description: |-
+ Delete a [group](https://support.zoom.us/hc/en-us/articles/204519819-Group-Management-).
+
+ **Prerequisite**: Pro, Business, or Education account
+ **Scopes**: `group:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: groupDelete
+ parameters:
+ - description: |-
+ The group ID.
+ Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups).
+ in: path
+ name: groupId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ description: |-
+ **Error Code:** `200`
+ Only available for Paid account,{accountId}.
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ Group deleted.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ Group member not found.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Group not found.
+ **Error Code:** `4130`
+ A group with this {groupId} does not exist.
+ security:
+ - OAuth: []
+ summary: Delete a group
+ tags:
+ - Groups
+ get:
+ description: |-
+ Get a [group](https://support.zoom.us/hc/en-us/articles/204519819-Group-Management-) under an account.
+
+ **Prerequisite**: Pro, Business, or Education account
+ **Scopes**: `group:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: group
+ parameters:
+ - description: |-
+ The group ID.
+ Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups).
+ in: path
+ name: groupId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ id: chfhfhhfh_TKikJIX0
+ name: My test group
+ total_members: 0
+ schema:
+ properties:
+ id:
+ description: Group ID.
+ type: string
+ name:
+ description: Group name.
+ type: string
+ total_members:
+ description: Total count of members in the group.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ id:
+ description: Group ID.
+ type: string
+ name:
+ description: Group name.
+ type: string
+ total_members:
+ description: Total count of members in the group.
+ type: integer
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` Group returned.
+ **Error Code:** `200`
+ Only available for Paid account,{accountId}.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ **Error Code:** `1010`
+ Group does not belong to your account.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Group not found.
+ **Error Code:** `4130` A group with this {groupId} does not exist.
+ security:
+ - OAuth: []
+ summary: Get a group
+ tags:
+ - Groups
+ patch:
+ description: |-
+ Update a [group](https://support.zoom.us/hc/en-us/articles/204519819-Group-Management-) under your account.
+
+ **Prerequisite**: Pro, Business, or Education account
+ **Scopes**: `group:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: groupUpdate
+ parameters:
+ - description: |-
+ The group ID.
+ Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups).
+ in: path
+ name: groupId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ name:
+ description: Group name. It must be unique to one account and less than 128 characters.
+ type: string
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ name:
+ description: Group name. It must be unique to one account and less than 128 characters.
+ type: string
+ type: object
+ required: true
+ x-examples:
+ application/json:
+ name: amazinggroup
+ responses:
+ "200":
+ description: The group does not belong to this account:{accountId}.
+ "204":
+ description: Group updated.
+ "404":
+ description: |-
+ **Status Code:** `404`
+ Not found.
+ **Error Code:** `4130`
+ A group with this {groupId} does not exist.
+ "409":
+ description: |-
+ **Status Code:** `409`
+ Conflict
+ **Error Code:** `4132`
+ Group name {groupName} is already in use.
+ security:
+ - OAuth: []
+ summary: Update a group
+ tags:
+ - Groups
+ "/groups/{groupId}/lock_settings":
+ get:
+ description: |-
+ Retrieve a [group's](https://support.zoom.us/hc/en-us/articles/204519819-Group-Management-) locked settings. If you lock a setting, the group members will not be able to modify it individually.
Note: The `force_pmi_jbh_password` field under meeting settings is planned to be deprecated on September 22, 2019. This field will be replaced by another field that will provide the same functionality.
+
+ **Prerequisite**: Pro, Business, or Education account
+ **Scopes**: `group:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: getGroupLockSettings
+ parameters:
+ - description: Id of the group.
+ in: path
+ name: groupId
+ required: true
+ schema:
+ type: string
+ - description: Specify `meeting_security` as the value of this field if you would like to view security settings applied on a meeting hosted by the users in this group.
+ in: query
+ name: option
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ email_notification:
+ alternative_host_reminder: true
+ cancel_meeting_reminder: true
+ cloud_recording_available_reminder: true
+ jbh_reminder: true
+ schedule_for_host_reminder: true
+ in_meeting:
+ alert_guest_join: true
+ allow_show_zoom_windows: true
+ annotation: true
+ attendee_on_hold: true
+ auto_answer: true
+ auto_saving_chat: true
+ breakout_room: true
+ chat: true
+ closed_caption: true
+ co_host: true
+ e2e_encryption: true
+ entry_exit_chime: false
+ far_end_camera_control: true
+ feedback: true
+ group_hd: true
+ non_verbal_feedback: true
+ original_audio: true
+ polling: true
+ post_meeting_feedback: true
+ private_chat: true
+ remote_control: true
+ remote_support: true
+ screen_sharing: true
+ sending_default_email_invites: true
+ show_browser_join_link: true
+ show_meeting_control_toolbar: true
+ stereo_audio: true
+ use_html_format_email: true
+ virtual_background: true
+ waiting_room: true
+ whiteboard: true
+ recording:
+ account_user_access_recording: false
+ auto_delete_cmr: false
+ auto_recording: false
+ cloud_recording: false
+ cloud_recording_download: false
+ host_delete_cloud_recording: false
+ local_recording: false
+ schedule_meeting:
+ audio_type: true
+ force_pmi_jbh_password: true
+ host_video: true
+ join_before_host: true
+ mute_upon_entry: true
+ participant_video: true
+ pstn_password_protected: true
+ require_password_for_instant_meetings: false
+ require_password_for_pmi_meetings: true
+ require_password_for_scheduling_new_meetings: true
+ upcoming_meeting_reminder: true
+ telephony:
+ third_party_audio: false
+ schema:
+ oneOf:
+ - properties:
+ email_notification:
+ properties:
+ alternative_host_reminder:
+ description: Notify the alternative host who is set or removed.
+ type: boolean
+ cancel_meeting_reminder:
+ description: Notify host and participants when the meeting is cancelled.
+ type: boolean
+ cloud_recording_available_reminder:
+ description: Notify host when cloud recording is available.
+ type: boolean
+ jbh_reminder:
+ description: Notify host when participants join the meeting before them.
+ type: boolean
+ schedule_for_host_reminder:
+ description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
+ type: boolean
+ type: object
+ in_meeting:
+ properties:
+ alert_guest_join:
+ description: Allow participants who belong to your account to see that a guest (someone who does not belong to your account) is participating in the meeting/webinar.
+ type: boolean
+ allow_show_zoom_windows:
+ description: Show Zoom windows during screen share.
+ type: boolean
+ annotation:
+ description: Allow participants to use annotation tools to add information to shared screens.
+ type: boolean
+ attendee_on_hold:
+ default: false
+ description: |-
+ Allow host to put attendee on hold.
+
+ **This field has been deprecated and is no longer supported.**
+ type: boolean
+ auto_answer:
+ description: Enable users to see and add contacts to 'auto-answer group' in the contact list on chat. Any call from members of this group will be automatically answered.
+ type: boolean
+ auto_saving_chat:
+ description: Automatically save all in-meeting chats.
+ type: boolean
+ breakout_room:
+ description: Allow host to split meeting participants into separate, smaller rooms.
+ type: boolean
+ chat:
+ description: Allow meeting participants to send chat message visible to all participants.
+ type: boolean
+ closed_caption:
+ description: Allow host to type closed captions or assign a participant/third party device to add closed captions.
+ type: boolean
+ co_host:
+ description: Allow the host to add co-hosts. Co-hosts have the same in-meeting controls as the host.
+ type: boolean
+ custom_data_center_regions:
+ description: Displays whether or not custom [data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) have been selected for meetings/webinars hosted by this group.
+ type: boolean
+ e2e_encryption:
+ description: Require that all meetings are encrypted using AES.
+ type: boolean
+ entry_exit_chime:
+ description: Play sound when participants join or leave.
+ type: string
+ far_end_camera_control:
+ description: Allow another user to take control of the camera during a meeting.
+ type: boolean
+ feedback:
+ description: Enable users to provide feedback to Zoom at the end of the meeting.
+ type: boolean
+ file_transfer:
+ description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for the users in the group or not.
+ type: boolean
+ group_hd:
+ description: Enable higher quality video for host and participants. This will require more bandwidth.
+ type: boolean
+ non_verbal_feedback:
+ description: Allow participants in a meeting can provide nonverbal feedback and express opinions by clicking on icons in the Participants panel.
+ type: boolean
+ original_audio:
+ description: Allow users to select original sound during a meeting.
+ type: boolean
+ polling:
+ description: Add 'Polls' to the meeting controls. This allows the host to survey the attendees.
+ type: boolean
+ post_meeting_feedback:
+ description: Display end-of-meeting experience feedback survey.
+ type: boolean
+ private_chat:
+ description: Allow meeting participants to send a private 1:1 message to another participant.
+ type: boolean
+ remote_control:
+ description: During screen sharing, allow the person who is sharing to let others control the shared content.
+ type: boolean
+ remote_support:
+ description: Allow meeting host to provide 1:1 remote support to another participant.
+ type: boolean
+ request_permission_to_unmute:
+ description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled and locked for the group or not.
+ type: boolean
+ screen_sharing:
+ description: Allow host and participants to share their screen or content during meetings.
+ type: boolean
+ sending_default_email_invites:
+ description: Allow users to invite participants by email only by default.
+ type: boolean
+ show_browser_join_link:
+ description: Allow participants to join a meeting directly from their browser.
+ type: boolean
+ show_meeting_control_toolbar:
+ description: Always show meeting controls during a meeting.
+ type: boolean
+ stereo_audio:
+ description: Allow users to select stereo audio during a meeting.
+ type: boolean
+ use_html_format_email:
+ description: Allow HTML formatting instead of plain text for meeting invitations scheduled with the Outlook plugin.
+ type: boolean
+ virtual_background:
+ description: Enable virtual background.
+ type: boolean
+ waiting_room:
+ description: Attendees cannot join a meeting until a host admits them individually from the waiting room.
+ type: boolean
+ whiteboard:
+ description: Allow participants to share a whiteboard that includes annotation tools.
+ type: boolean
+ type: object
+ recording:
+ properties:
+ account_user_access_recording:
+ description: Make cloud recordings accessible to account members only.
+ type: boolean
+ auto_delete_cmr:
+ description: Allow Zoom to automatically delete recordings permanently after a specified number of days.
+ type: boolean
+ auto_recording:
+ description: Record meetings automatically as they start.
+ type: string
+ cloud_recording:
+ description: Allow hosts to record and save the meeting / webinar in the cloud.
+ type: boolean
+ cloud_recording_download:
+ description: Allow anyone with a link to the cloud recording to download.
+ type: boolean
+ host_delete_cloud_recording:
+ description: Allow the host to delete the recordings. If this option is disabled, the recordings cannot be deleted by the host and only admin can delete them.
+ type: boolean
+ ip_address_access_control:
+ description: |
+ Setting to allow cloud recording access only from specific IP address ranges.
+ properties:
+ enable:
+ description: |+
+ If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
+
+ type: boolean
+ ip_addresses_or_ranges:
+ description: |+
+ IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
+
+ Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
+
+ type: string
+ type: object
+ local_recording:
+ description: Allow hosts and participants to record the meeting to a local file.
+ type: boolean
+ prevent_host_access_recording:
+ description: |+
+ If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
+
+ type: boolean
+ recording_authentication:
+ description: Only authenticated users can view cloud recordings
+ type: boolean
+ type: object
+ schedule_meeting:
+ properties:
+ audio_type:
+ description: Determine how participants can join the audio portion of the meeting.
+ type: boolean
+ embed_password_in_join_link:
+ description: "If the value is set to `true`, the meeting password will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the password.
+
+ \ "
+ type: boolean
+ force_pmi_jbh_password:
+ description: If join before host option is enabled for a personal meeting, then enforce password requirement.
+ type: boolean
+ host_video:
+ description: Start meetings with host video on.
+ type: boolean
+ join_before_host:
+ description: Allow participants to join the meeting before the host arrives
+ type: boolean
+ meeting_authentication:
+ description: Only authenticated users can join meetings
+ type: boolean
+ mute_upon_entry:
+ description: Automatically mute all participants when they join the meeting.
+ type: boolean
+ participant_video:
+ description: Start meetings with participant video on.
+ type: boolean
+ pstn_password_protected:
+ description: Generate and send new passwords for newly scheduled or edited meetings.
+ type: boolean
+ require_password_for_instant_meetings:
+ description: Require password for instant meetings. If you use PMI for your instant meetings, this option will be disabled.
+ type: boolean
+ require_password_for_pmi_meetings:
+ description: Require participants to enter password for PMI meetings.
+ type: boolean
+ require_password_for_scheduling_new_meetings:
+ description: This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting.
+ type: boolean
+ upcoming_meeting_reminder:
+ description: Receive desktop notification for upcoming meetings.
+ type: boolean
+ type: object
+ telephony:
+ properties:
+ telephony_regions:
+ type: boolean
+ third_party_audio:
+ description: Allow users to join the meeting using the existing 3rd party audio configuration.
+ type: boolean
+ type: object
+ type: object
+ - properties:
+ meeting_security:
+ properties:
+ auto_security:
+ description: |-
+ `true`: Require that all meetings are secured with at least one security option.
+
+ This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
+ type: boolean
+ embed_password_in_join_link:
+ description: |
+ If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
+ type: boolean
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ end_to_end_encrypted_meetings:
+ description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
+ type: boolean
+ meeting_password:
+ description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
+ type: boolean
+ meeting_password_requirement:
+ description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the passcode must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar passcode needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the passcode must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided passcode is weak.
+ type: boolean
+ type: object
+ phone_password:
+ description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
+ type: boolean
+ pmi_password:
+ description: |
+ If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
+ type: boolean
+ require_password_for_scheduled_meeting:
+ description: |
+ Require a passcode for meetings which have already been scheduled.
+ type: boolean
+ require_password_for_scheduled_webinar:
+ description: |
+ Require a passcode for webinars which have already been scheduled.
+ type: boolean
+ waiting_room:
+ description: |
+ When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
+ type: boolean
+ waiting_room_settings:
+ description: Specify the settings to be applied if waiting room is enabled.
+ properties:
+ participants_to_place_in_waiting_room:
+ description: |-
+
+
+ Specify who should be admitted to the waiting room. The value of this field can be one of the following:
+ `0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ users_who_can_admit_participants_from_waiting_room:
+ description: |+
+ Specify who can admit participants from the waiting room. The value of this field can be one of the following:
+ `0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
+
+
+ type: integer
+ whitelisted_domains_for_waiting_room:
+ description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
+ type: string
+ type: object
+ webinar_password:
+ description: |
+ If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
+ type: boolean
+ type: object
+ title: Meeting/Webinar Security Settings
+ type: object
+ application/xml:
+ schema:
+ oneOf:
+ - properties:
+ email_notification:
+ properties:
+ alternative_host_reminder:
+ description: Notify the alternative host who is set or removed.
+ type: boolean
+ cancel_meeting_reminder:
+ description: Notify host and participants when the meeting is cancelled.
+ type: boolean
+ cloud_recording_available_reminder:
+ description: Notify host when cloud recording is available.
+ type: boolean
+ jbh_reminder:
+ description: Notify host when participants join the meeting before them.
+ type: boolean
+ schedule_for_host_reminder:
+ description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
+ type: boolean
+ type: object
+ in_meeting:
+ properties:
+ alert_guest_join:
+ description: Allow participants who belong to your account to see that a guest (someone who does not belong to your account) is participating in the meeting/webinar.
+ type: boolean
+ allow_show_zoom_windows:
+ description: Show Zoom windows during screen share.
+ type: boolean
+ annotation:
+ description: Allow participants to use annotation tools to add information to shared screens.
+ type: boolean
+ attendee_on_hold:
+ default: false
+ description: |-
+ Allow host to put attendee on hold.
+
+ **This field has been deprecated and is no longer supported.**
+ type: boolean
+ auto_answer:
+ description: Enable users to see and add contacts to 'auto-answer group' in the contact list on chat. Any call from members of this group will be automatically answered.
+ type: boolean
+ auto_saving_chat:
+ description: Automatically save all in-meeting chats.
+ type: boolean
+ breakout_room:
+ description: Allow host to split meeting participants into separate, smaller rooms.
+ type: boolean
+ chat:
+ description: Allow meeting participants to send chat message visible to all participants.
+ type: boolean
+ closed_caption:
+ description: Allow host to type closed captions or assign a participant/third party device to add closed captions.
+ type: boolean
+ co_host:
+ description: Allow the host to add co-hosts. Co-hosts have the same in-meeting controls as the host.
+ type: boolean
+ custom_data_center_regions:
+ description: Displays whether or not custom [data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) have been selected for meetings/webinars hosted by this group.
+ type: boolean
+ e2e_encryption:
+ description: Require that all meetings are encrypted using AES.
+ type: boolean
+ entry_exit_chime:
+ description: Play sound when participants join or leave.
+ type: string
+ far_end_camera_control:
+ description: Allow another user to take control of the camera during a meeting.
+ type: boolean
+ feedback:
+ description: Enable users to provide feedback to Zoom at the end of the meeting.
+ type: boolean
+ file_transfer:
+ description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for the users in the group or not.
+ type: boolean
+ group_hd:
+ description: Enable higher quality video for host and participants. This will require more bandwidth.
+ type: boolean
+ non_verbal_feedback:
+ description: Allow participants in a meeting can provide nonverbal feedback and express opinions by clicking on icons in the Participants panel.
+ type: boolean
+ original_audio:
+ description: Allow users to select original sound during a meeting.
+ type: boolean
+ polling:
+ description: Add 'Polls' to the meeting controls. This allows the host to survey the attendees.
+ type: boolean
+ post_meeting_feedback:
+ description: Display end-of-meeting experience feedback survey.
+ type: boolean
+ private_chat:
+ description: Allow meeting participants to send a private 1:1 message to another participant.
+ type: boolean
+ remote_control:
+ description: During screen sharing, allow the person who is sharing to let others control the shared content.
+ type: boolean
+ remote_support:
+ description: Allow meeting host to provide 1:1 remote support to another participant.
+ type: boolean
+ request_permission_to_unmute:
+ description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled and locked for the group or not.
+ type: boolean
+ screen_sharing:
+ description: Allow host and participants to share their screen or content during meetings.
+ type: boolean
+ sending_default_email_invites:
+ description: Allow users to invite participants by email only by default.
+ type: boolean
+ show_browser_join_link:
+ description: Allow participants to join a meeting directly from their browser.
+ type: boolean
+ show_meeting_control_toolbar:
+ description: Always show meeting controls during a meeting.
+ type: boolean
+ stereo_audio:
+ description: Allow users to select stereo audio during a meeting.
+ type: boolean
+ use_html_format_email:
+ description: Allow HTML formatting instead of plain text for meeting invitations scheduled with the Outlook plugin.
+ type: boolean
+ virtual_background:
+ description: Enable virtual background.
+ type: boolean
+ waiting_room:
+ description: Attendees cannot join a meeting until a host admits them individually from the waiting room.
+ type: boolean
+ whiteboard:
+ description: Allow participants to share a whiteboard that includes annotation tools.
+ type: boolean
+ type: object
+ recording:
+ properties:
+ account_user_access_recording:
+ description: Make cloud recordings accessible to account members only.
+ type: boolean
+ auto_delete_cmr:
+ description: Allow Zoom to automatically delete recordings permanently after a specified number of days.
+ type: boolean
+ auto_recording:
+ description: Record meetings automatically as they start.
+ type: string
+ cloud_recording:
+ description: Allow hosts to record and save the meeting / webinar in the cloud.
+ type: boolean
+ cloud_recording_download:
+ description: Allow anyone with a link to the cloud recording to download.
+ type: boolean
+ host_delete_cloud_recording:
+ description: Allow the host to delete the recordings. If this option is disabled, the recordings cannot be deleted by the host and only admin can delete them.
+ type: boolean
+ ip_address_access_control:
+ description: |
+ Setting to allow cloud recording access only from specific IP address ranges.
+ properties:
+ enable:
+ description: |+
+ If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
+
+ type: boolean
+ ip_addresses_or_ranges:
+ description: |+
+ IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
+
+ Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
+
+ type: string
+ type: object
+ local_recording:
+ description: Allow hosts and participants to record the meeting to a local file.
+ type: boolean
+ prevent_host_access_recording:
+ description: |+
+ If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
+
+ type: boolean
+ recording_authentication:
+ description: Only authenticated users can view cloud recordings
+ type: boolean
+ type: object
+ schedule_meeting:
+ properties:
+ audio_type:
+ description: Determine how participants can join the audio portion of the meeting.
+ type: boolean
+ embed_password_in_join_link:
+ description: "If the value is set to `true`, the meeting password will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the password.
+
+ \ "
+ type: boolean
+ force_pmi_jbh_password:
+ description: If join before host option is enabled for a personal meeting, then enforce password requirement.
+ type: boolean
+ host_video:
+ description: Start meetings with host video on.
+ type: boolean
+ join_before_host:
+ description: Allow participants to join the meeting before the host arrives
+ type: boolean
+ meeting_authentication:
+ description: Only authenticated users can join meetings
+ type: boolean
+ mute_upon_entry:
+ description: Automatically mute all participants when they join the meeting.
+ type: boolean
+ participant_video:
+ description: Start meetings with participant video on.
+ type: boolean
+ pstn_password_protected:
+ description: Generate and send new passwords for newly scheduled or edited meetings.
+ type: boolean
+ require_password_for_instant_meetings:
+ description: Require password for instant meetings. If you use PMI for your instant meetings, this option will be disabled.
+ type: boolean
+ require_password_for_pmi_meetings:
+ description: Require participants to enter password for PMI meetings.
+ type: boolean
+ require_password_for_scheduling_new_meetings:
+ description: This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting.
+ type: boolean
+ upcoming_meeting_reminder:
+ description: Receive desktop notification for upcoming meetings.
+ type: boolean
+ type: object
+ telephony:
+ properties:
+ telephony_regions:
+ type: boolean
+ third_party_audio:
+ description: Allow users to join the meeting using the existing 3rd party audio configuration.
+ type: boolean
+ type: object
+ type: object
+ - properties:
+ meeting_security:
+ properties:
+ auto_security:
+ description: |-
+ `true`: Require that all meetings are secured with at least one security option.
+
+ This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
+ type: boolean
+ embed_password_in_join_link:
+ description: |
+ If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
+ type: boolean
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ end_to_end_encrypted_meetings:
+ description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
+ type: boolean
+ meeting_password:
+ description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
+ type: boolean
+ meeting_password_requirement:
+ description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the passcode must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar passcode needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the passcode must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided passcode is weak.
+ type: boolean
+ type: object
+ phone_password:
+ description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
+ type: boolean
+ pmi_password:
+ description: |
+ If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
+ type: boolean
+ require_password_for_scheduled_meeting:
+ description: |
+ Require a passcode for meetings which have already been scheduled.
+ type: boolean
+ require_password_for_scheduled_webinar:
+ description: |
+ Require a passcode for webinars which have already been scheduled.
+ type: boolean
+ waiting_room:
+ description: |
+ When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
+ type: boolean
+ waiting_room_settings:
+ description: Specify the settings to be applied if waiting room is enabled.
+ properties:
+ participants_to_place_in_waiting_room:
+ description: |-
+
+
+ Specify who should be admitted to the waiting room. The value of this field can be one of the following:
+ `0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ users_who_can_admit_participants_from_waiting_room:
+ description: |+
+ Specify who can admit participants from the waiting room. The value of this field can be one of the following:
+ `0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
+
+
+ type: integer
+ whitelisted_domains_for_waiting_room:
+ description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
+ type: string
+ type: object
+ webinar_password:
+ description: |
+ If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
+ type: boolean
+ type: object
+ title: Meeting/Webinar Security Settings
+ type: object
+ description: |
+ **Error Code:** `200`
+ Only available for paid account.
+
+ **Status Code:** `200`
+ Locked settings of group returned.
+ "404":
+ description: |-
+ **Status Code:** `404`
+ Not found.
+ **Error Code:** `4130`
+ Group does not exist: {groupId}
+ security:
+ - OAuth: []
+ summary: Get locked settings
+ tags:
+ - Groups
+ parameters:
+ - in: path
+ name: groupId
+ required: true
+ schema:
+ type: string
+ - description: |-
+ Provide the name of the field by which you would like to filter the response. For example, if you provide "host_video" as the value of this field, you will get a response similar to the following:
+ {
+ "schedule_meeting": {
+ "host_video": false
+ }
+ }
+ You can provide multiple values by separating them with commas(example: "host_video,participant_video”).
+ in: query
+ name: custom_query_fields
+ schema:
+ type: string
+ patch:
+ description: |-
+ Update a [group's](https://support.zoom.us/hc/en-us/articles/204519819-Group-Management-) locked settings. If you lock a setting, the group members will not be able to modify it individually.
Note: The `force_pmi_jbh_password` field under meeting settings is planned to be deprecated on September 22, 2019. This field will be replaced by another field that will provide the same functionality.
+
+ **Prerequisite**: Pro, Business, or Education account
+ **Scopes**: `group:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: groupLockedSettings
+ parameters:
+ - description: The Id of the group.
+ in: path
+ name: groupId
+ required: true
+ schema:
+ type: string
+ - description: Specify `meeting_security` as the value of this field if you would like to view security settings applied on a meeting hosted by the users in this group.
+ in: query
+ name: option
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - properties:
+ email_notification:
+ properties:
+ alternative_host_reminder:
+ description: Notify the alternative host who is set or removed.
+ type: boolean
+ cancel_meeting_reminder:
+ description: Notify host and participants when the meeting is cancelled.
+ type: boolean
+ cloud_recording_available_reminder:
+ description: Notify host when cloud recording is available.
+ type: boolean
+ jbh_reminder:
+ description: Notify host when participants join the meeting before them.
+ type: boolean
+ schedule_for_host_reminder:
+ description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
+ type: boolean
+ type: object
+ in_meeting:
+ properties:
+ alert_guest_join:
+ description: Allow participants who belong to your account to see that a guest (someone who does not belong to your account) is participating in the meeting/webinar.
+ type: boolean
+ allow_show_zoom_windows:
+ description: Show Zoom windows during screen share.
+ type: boolean
+ annotation:
+ description: Allow participants to use annotation tools to add information to shared screens.
+ type: boolean
+ attendee_on_hold:
+ default: false
+ description: |-
+ Allow host to put attendee on hold.
+
+ **This field has been deprecated and is no longer supported.**
+ type: boolean
+ auto_answer:
+ description: Enable users to see and add contacts to 'auto-answer group' in the contact list on chat. Any call from members of this group will be automatically answered.
+ type: boolean
+ auto_saving_chat:
+ description: Automatically save all in-meeting chats.
+ type: boolean
+ breakout_room:
+ description: Allow host to split meeting participants into separate, smaller rooms.
+ type: boolean
+ chat:
+ description: Allow meeting participants to send chat message visible to all participants.
+ type: boolean
+ closed_caption:
+ description: Allow host to type closed captions or assign a participant/third party device to add closed captions.
+ type: boolean
+ co_host:
+ description: Allow the host to add co-hosts. Co-hosts have the same in-meeting controls as the host.
+ type: boolean
+ custom_data_center_regions:
+ description: Displays whether or not custom [data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) have been selected for meetings/webinars hosted by this group.
+ type: boolean
+ e2e_encryption:
+ description: Require that all meetings are encrypted using AES.
+ type: boolean
+ entry_exit_chime:
+ description: Play sound when participants join or leave.
+ type: string
+ far_end_camera_control:
+ description: Allow another user to take control of the camera during a meeting.
+ type: boolean
+ feedback:
+ description: Enable users to provide feedback to Zoom at the end of the meeting.
+ type: boolean
+ file_transfer:
+ description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for the users in the group or not.
+ type: boolean
+ group_hd:
+ description: Enable higher quality video for host and participants. This will require more bandwidth.
+ type: boolean
+ non_verbal_feedback:
+ description: Allow participants in a meeting can provide nonverbal feedback and express opinions by clicking on icons in the Participants panel.
+ type: boolean
+ original_audio:
+ description: Allow users to select original sound during a meeting.
+ type: boolean
+ polling:
+ description: Add 'Polls' to the meeting controls. This allows the host to survey the attendees.
+ type: boolean
+ post_meeting_feedback:
+ description: Display end-of-meeting experience feedback survey.
+ type: boolean
+ private_chat:
+ description: Allow meeting participants to send a private 1:1 message to another participant.
+ type: boolean
+ remote_control:
+ description: During screen sharing, allow the person who is sharing to let others control the shared content.
+ type: boolean
+ remote_support:
+ description: Allow meeting host to provide 1:1 remote support to another participant.
+ type: boolean
+ request_permission_to_unmute:
+ description: Indicate whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option should be enabled and locked for the group or not.
+ type: boolean
+ screen_sharing:
+ description: Allow host and participants to share their screen or content during meetings.
+ type: boolean
+ sending_default_email_invites:
+ description: Allow users to invite participants by email only by default.
+ type: boolean
+ show_browser_join_link:
+ description: Allow participants to join a meeting directly from their browser.
+ type: boolean
+ show_meeting_control_toolbar:
+ description: Always show meeting controls during a meeting.
+ type: boolean
+ stereo_audio:
+ description: Allow users to select stereo audio during a meeting.
+ type: boolean
+ use_html_format_email:
+ description: Allow HTML formatting instead of plain text for meeting invitations scheduled with the Outlook plugin.
+ type: boolean
+ virtual_background:
+ description: Enable virtual background.
+ type: boolean
+ waiting_room:
+ description: Attendees cannot join a meeting until a host admits them individually from the waiting room.
+ type: boolean
+ whiteboard:
+ description: Allow participants to share a whiteboard that includes annotation tools.
+ type: boolean
+ type: object
+ recording:
+ properties:
+ account_user_access_recording:
+ description: Make cloud recordings accessible to account members only.
+ type: boolean
+ auto_delete_cmr:
+ description: Allow Zoom to automatically delete recordings permanently after a specified number of days.
+ type: boolean
+ auto_recording:
+ description: Record meetings automatically as they start.
+ type: string
+ cloud_recording:
+ description: Allow hosts to record and save the meeting / webinar in the cloud.
+ type: boolean
+ cloud_recording_download:
+ description: Allow anyone with a link to the cloud recording to download.
+ type: boolean
+ host_delete_cloud_recording:
+ description: Allow the host to delete the recordings. If this option is disabled, the recordings cannot be deleted by the host and only admin can delete them.
+ type: boolean
+ ip_address_access_control:
+ description: |
+ Setting to allow cloud recording access only from specific IP address ranges.
+ properties:
+ enable:
+ description: |+
+ If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
+
+ type: boolean
+ ip_addresses_or_ranges:
+ description: |+
+ IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
+
+ Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
+
+ type: string
+ type: object
+ local_recording:
+ description: Allow hosts and participants to record the meeting to a local file.
+ type: boolean
+ recording_authentication:
+ type: string
+ type: object
+ schedule_meeting:
+ properties:
+ audio_type:
+ description: Determine how participants can join the audio portion of the meeting.
+ type: boolean
+ embed_password_in_join_link:
+ description: "If the value is set to `true`, the meeting password will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the password.
+
+ \ "
+ type: boolean
+ force_pmi_jbh_password:
+ description: If join before host option is enabled for a personal meeting, then enforce password requirement.
+ type: boolean
+ host_video:
+ description: Start meetings with host video on.
+ type: boolean
+ join_before_host:
+ description: Allow participants to join the meeting before the host arrives
+ type: boolean
+ meeting_authentication:
+ description: Only authenticated users can join meetings
+ type: boolean
+ mute_upon_entry:
+ description: Automatically mute all participants when they join the meeting.
+ type: boolean
+ participant_video:
+ description: Start meetings with participant video on.
+ type: boolean
+ personal_meeting:
+ description: |+
+ Turn the lock setting on or off for the **Enable Personal Meeting ID** setting for a group.
+ `true`: Turn the **"Enable Personal Meeting ID"** setting **on** for all users in the group. Users can choose to use personal meeting ID for their meetings.
+ `false`: Turn **off** the **"Enable Personal Meeting ID"** setting. **If this setting is [disabled](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link?flash_digest=eb7ac62d8c7fb4daf285916e3e15d87537806133#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a), meetings that were scheduled with PMI by this group members will be invalid. Users will have to update previously scheduled PMI meetings.**
+ For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
+
+
+ type: boolean
+ pstn_password_protected:
+ description: Generate and send new passwords for newly scheduled or edited meetings.
+ type: boolean
+ require_password_for_instant_meetings:
+ description: Require password for instant meetings. If you use PMI for your instant meetings, this option will be disabled.
+ type: boolean
+ require_password_for_pmi_meetings:
+ description: Require participants to enter password for PMI meetings.
+ type: boolean
+ require_password_for_scheduling_new_meetings:
+ description: This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting.
+ type: boolean
+ upcoming_meeting_reminder:
+ description: Receive desktop notification for upcoming meetings.
+ type: boolean
+ type: object
+ telephony:
+ properties:
+ telephony_regions:
+ type: boolean
+ third_party_audio:
+ description: Allow users to join the meeting using the existing 3rd party audio configuration.
+ type: boolean
+ type: object
+ type: object
+ - properties:
+ meeting_security:
+ properties:
+ auto_security:
+ description: |-
+ `true`: Require that all meetings are secured with at least one security option.
+
+ This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
+ type: boolean
+ embed_password_in_join_link:
+ description: |
+ If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
+ type: boolean
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ end_to_end_encrypted_meetings:
+ description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
+ type: boolean
+ meeting_password:
+ description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
+ type: boolean
+ meeting_password_requirement:
+ description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the passcode must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar passcode needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the passcode must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided passcode is weak.
+ type: boolean
+ type: object
+ phone_password:
+ description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
+ type: boolean
+ pmi_password:
+ description: |
+ If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
+ type: boolean
+ require_password_for_scheduled_meeting:
+ description: |
+ Require a passcode for meetings which have already been scheduled.
+ type: boolean
+ require_password_for_scheduled_webinar:
+ description: |
+ Require a passcode for webinars which have already been scheduled.
+ type: boolean
+ waiting_room:
+ description: |
+ When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
+ type: boolean
+ waiting_room_settings:
+ description: Specify the settings to be applied if waiting room is enabled.
+ properties:
+ participants_to_place_in_waiting_room:
+ description: |-
+
+
+ Specify who should be admitted to the waiting room. The value of this field can be one of the following:
+ `0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ users_who_can_admit_participants_from_waiting_room:
+ description: |+
+ Specify who can admit participants from the waiting room. The value of this field can be one of the following:
+ `0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
+
+
+ type: integer
+ whitelisted_domains_for_waiting_room:
+ description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
+ type: string
+ type: object
+ webinar_password:
+ description: |
+ If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
+ type: boolean
+ type: object
+ title: Meeting/Webinar Security Settings
+ type: object
+ multipart/form-data:
+ schema:
+ oneOf:
+ - properties:
+ email_notification:
+ properties:
+ alternative_host_reminder:
+ description: Notify the alternative host who is set or removed.
+ type: boolean
+ cancel_meeting_reminder:
+ description: Notify host and participants when the meeting is cancelled.
+ type: boolean
+ cloud_recording_available_reminder:
+ description: Notify host when cloud recording is available.
+ type: boolean
+ jbh_reminder:
+ description: Notify host when participants join the meeting before them.
+ type: boolean
+ schedule_for_host_reminder:
+ description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
+ type: boolean
+ type: object
+ in_meeting:
+ properties:
+ alert_guest_join:
+ description: Allow participants who belong to your account to see that a guest (someone who does not belong to your account) is participating in the meeting/webinar.
+ type: boolean
+ allow_show_zoom_windows:
+ description: Show Zoom windows during screen share.
+ type: boolean
+ annotation:
+ description: Allow participants to use annotation tools to add information to shared screens.
+ type: boolean
+ attendee_on_hold:
+ default: false
+ description: |-
+ Allow host to put attendee on hold.
+
+ **This field has been deprecated and is no longer supported.**
+ type: boolean
+ auto_answer:
+ description: Enable users to see and add contacts to 'auto-answer group' in the contact list on chat. Any call from members of this group will be automatically answered.
+ type: boolean
+ auto_saving_chat:
+ description: Automatically save all in-meeting chats.
+ type: boolean
+ breakout_room:
+ description: Allow host to split meeting participants into separate, smaller rooms.
+ type: boolean
+ chat:
+ description: Allow meeting participants to send chat message visible to all participants.
+ type: boolean
+ closed_caption:
+ description: Allow host to type closed captions or assign a participant/third party device to add closed captions.
+ type: boolean
+ co_host:
+ description: Allow the host to add co-hosts. Co-hosts have the same in-meeting controls as the host.
+ type: boolean
+ custom_data_center_regions:
+ description: Displays whether or not custom [data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) have been selected for meetings/webinars hosted by this group.
+ type: boolean
+ e2e_encryption:
+ description: Require that all meetings are encrypted using AES.
+ type: boolean
+ entry_exit_chime:
+ description: Play sound when participants join or leave.
+ type: string
+ far_end_camera_control:
+ description: Allow another user to take control of the camera during a meeting.
+ type: boolean
+ feedback:
+ description: Enable users to provide feedback to Zoom at the end of the meeting.
+ type: boolean
+ file_transfer:
+ description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for the users in the group or not.
+ type: boolean
+ group_hd:
+ description: Enable higher quality video for host and participants. This will require more bandwidth.
+ type: boolean
+ non_verbal_feedback:
+ description: Allow participants in a meeting can provide nonverbal feedback and express opinions by clicking on icons in the Participants panel.
+ type: boolean
+ original_audio:
+ description: Allow users to select original sound during a meeting.
+ type: boolean
+ polling:
+ description: Add 'Polls' to the meeting controls. This allows the host to survey the attendees.
+ type: boolean
+ post_meeting_feedback:
+ description: Display end-of-meeting experience feedback survey.
+ type: boolean
+ private_chat:
+ description: Allow meeting participants to send a private 1:1 message to another participant.
+ type: boolean
+ remote_control:
+ description: During screen sharing, allow the person who is sharing to let others control the shared content.
+ type: boolean
+ remote_support:
+ description: Allow meeting host to provide 1:1 remote support to another participant.
+ type: boolean
+ request_permission_to_unmute:
+ description: Indicate whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option should be enabled and locked for the group or not.
+ type: boolean
+ screen_sharing:
+ description: Allow host and participants to share their screen or content during meetings.
+ type: boolean
+ sending_default_email_invites:
+ description: Allow users to invite participants by email only by default.
+ type: boolean
+ show_browser_join_link:
+ description: Allow participants to join a meeting directly from their browser.
+ type: boolean
+ show_meeting_control_toolbar:
+ description: Always show meeting controls during a meeting.
+ type: boolean
+ stereo_audio:
+ description: Allow users to select stereo audio during a meeting.
+ type: boolean
+ use_html_format_email:
+ description: Allow HTML formatting instead of plain text for meeting invitations scheduled with the Outlook plugin.
+ type: boolean
+ virtual_background:
+ description: Enable virtual background.
+ type: boolean
+ waiting_room:
+ description: Attendees cannot join a meeting until a host admits them individually from the waiting room.
+ type: boolean
+ whiteboard:
+ description: Allow participants to share a whiteboard that includes annotation tools.
+ type: boolean
+ type: object
+ recording:
+ properties:
+ account_user_access_recording:
+ description: Make cloud recordings accessible to account members only.
+ type: boolean
+ auto_delete_cmr:
+ description: Allow Zoom to automatically delete recordings permanently after a specified number of days.
+ type: boolean
+ auto_recording:
+ description: Record meetings automatically as they start.
+ type: string
+ cloud_recording:
+ description: Allow hosts to record and save the meeting / webinar in the cloud.
+ type: boolean
+ cloud_recording_download:
+ description: Allow anyone with a link to the cloud recording to download.
+ type: boolean
+ host_delete_cloud_recording:
+ description: Allow the host to delete the recordings. If this option is disabled, the recordings cannot be deleted by the host and only admin can delete them.
+ type: boolean
+ ip_address_access_control:
+ description: |
+ Setting to allow cloud recording access only from specific IP address ranges.
+ properties:
+ enable:
+ description: |+
+ If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
+
+ type: boolean
+ ip_addresses_or_ranges:
+ description: |+
+ IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
+
+ Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
+
+ type: string
+ type: object
+ local_recording:
+ description: Allow hosts and participants to record the meeting to a local file.
+ type: boolean
+ recording_authentication:
+ type: string
+ type: object
+ schedule_meeting:
+ properties:
+ audio_type:
+ description: Determine how participants can join the audio portion of the meeting.
+ type: boolean
+ embed_password_in_join_link:
+ description: "If the value is set to `true`, the meeting password will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the password.
+
+ \ "
+ type: boolean
+ force_pmi_jbh_password:
+ description: If join before host option is enabled for a personal meeting, then enforce password requirement.
+ type: boolean
+ host_video:
+ description: Start meetings with host video on.
+ type: boolean
+ join_before_host:
+ description: Allow participants to join the meeting before the host arrives
+ type: boolean
+ meeting_authentication:
+ description: Only authenticated users can join meetings
+ type: boolean
+ mute_upon_entry:
+ description: Automatically mute all participants when they join the meeting.
+ type: boolean
+ participant_video:
+ description: Start meetings with participant video on.
+ type: boolean
+ personal_meeting:
+ description: |+
+ Turn the lock setting on or off for the **Enable Personal Meeting ID** setting for a group.
+ `true`: Turn the **"Enable Personal Meeting ID"** setting **on** for all users in the group. Users can choose to use personal meeting ID for their meetings.
+ `false`: Turn **off** the **"Enable Personal Meeting ID"** setting. **If this setting is [disabled](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link?flash_digest=eb7ac62d8c7fb4daf285916e3e15d87537806133#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a), meetings that were scheduled with PMI by this group members will be invalid. Users will have to update previously scheduled PMI meetings.**
+ For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
+
+
+ type: boolean
+ pstn_password_protected:
+ description: Generate and send new passwords for newly scheduled or edited meetings.
+ type: boolean
+ require_password_for_instant_meetings:
+ description: Require password for instant meetings. If you use PMI for your instant meetings, this option will be disabled.
+ type: boolean
+ require_password_for_pmi_meetings:
+ description: Require participants to enter password for PMI meetings.
+ type: boolean
+ require_password_for_scheduling_new_meetings:
+ description: This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting.
+ type: boolean
+ upcoming_meeting_reminder:
+ description: Receive desktop notification for upcoming meetings.
+ type: boolean
+ type: object
+ telephony:
+ properties:
+ telephony_regions:
+ type: boolean
+ third_party_audio:
+ description: Allow users to join the meeting using the existing 3rd party audio configuration.
+ type: boolean
+ type: object
+ type: object
+ - properties:
+ meeting_security:
+ properties:
+ auto_security:
+ description: |-
+ `true`: Require that all meetings are secured with at least one security option.
+
+ This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
+ type: boolean
+ embed_password_in_join_link:
+ description: |
+ If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
+ type: boolean
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ end_to_end_encrypted_meetings:
+ description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
+ type: boolean
+ meeting_password:
+ description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
+ type: boolean
+ meeting_password_requirement:
+ description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the passcode must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar passcode needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the passcode must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided passcode is weak.
+ type: boolean
+ type: object
+ phone_password:
+ description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
+ type: boolean
+ pmi_password:
+ description: |
+ If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
+ type: boolean
+ require_password_for_scheduled_meeting:
+ description: |
+ Require a passcode for meetings which have already been scheduled.
+ type: boolean
+ require_password_for_scheduled_webinar:
+ description: |
+ Require a passcode for webinars which have already been scheduled.
+ type: boolean
+ waiting_room:
+ description: |
+ When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
+ type: boolean
+ waiting_room_settings:
+ description: Specify the settings to be applied if waiting room is enabled.
+ properties:
+ participants_to_place_in_waiting_room:
+ description: |-
+
+
+ Specify who should be admitted to the waiting room. The value of this field can be one of the following:
+ `0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ users_who_can_admit_participants_from_waiting_room:
+ description: |+
+ Specify who can admit participants from the waiting room. The value of this field can be one of the following:
+ `0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
+
+
+ type: integer
+ whitelisted_domains_for_waiting_room:
+ description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
+ type: string
+ type: object
+ webinar_password:
+ description: |
+ If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
+ type: boolean
+ type: object
+ title: Meeting/Webinar Security Settings
+ type: object
+ x-examples:
+ application/json:
+ email_notification:
+ alternative_host_reminder: true
+ cancel_meeting_reminder: true
+ cloud_recording_available_reminder: true
+ jbh_reminder: true
+ schedule_for_host_reminder: true
+ in_meeting:
+ alert_guest_join: true
+ allow_show_zoom_windows: true
+ annotation: true
+ attendee_on_hold: true
+ auto_answer: true
+ auto_saving_chat: true
+ breakout_room: true
+ chat: true
+ closed_caption: true
+ co_host: true
+ e2e_encryption: true
+ entry_exit_chime: false
+ far_end_camera_control: true
+ feedback: true
+ group_hd: true
+ non_verbal_feedback: true
+ original_audio: true
+ polling: true
+ post_meeting_feedback: true
+ private_chat: true
+ remote_control: true
+ remote_support: true
+ screen_sharing: true
+ sending_default_email_invites: true
+ show_browser_join_link: true
+ show_meeting_control_toolbar: true
+ stereo_audio: true
+ use_html_format_email: true
+ virtual_background: true
+ waiting_room: true
+ whiteboard: true
+ recording:
+ account_user_access_recording: false
+ auto_delete_cmr: false
+ auto_recording: false
+ cloud_recording: false
+ cloud_recording_download: false
+ host_delete_cloud_recording: false
+ local_recording: false
+ schedule_meeting:
+ audio_type: true
+ force_pmi_jbh_password: true
+ host_video: true
+ join_before_host: true
+ mute_upon_entry: true
+ participant_video: true
+ pstn_password_protected: true
+ require_password_for_instant_meetings: false
+ require_password_for_pmi_meetings: true
+ require_password_for_scheduling_new_meetings: true
+ upcoming_meeting_reminder: true
+ telephony:
+ third_party_audio: false
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **Status Code:** `204`
+ Group's locked settings updated.
+ "400":
+ description: |
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `200`
+ Only available for paid account.
+ "404":
+ description: |
+ **Status Code:** `404`
+ Not found.
+ **Error Code:** `4130`
+ This group does not exist.
+ security:
+ - OAuth: []
+ summary: Update locked settings
+ tags:
+ - Groups
+ "/groups/{groupId}/members":
+ get:
+ description: |-
+ List the members of a [group](https://support.zoom.us/hc/en-us/articles/204519819-Group-Management-) under your account.
+
+ **Prerequisite**: Pro, Business, or Education account
+ **Scopes**: `group:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: groupMembers
+ parameters:
+ - description: |-
+ The group ID.
+ Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups).
+ in: path
+ name: groupId
+ required: true
+ schema:
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: |-
+
+ **Deprecated** - This field has been deprecated and we will stop supporting it completely in a future release. Please use "next_page_token" for pagination instead of this field.
+
+ The page number of the current page in the returned records.
+ in: query
+ name: page_number
+ schema:
+ default: 1
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ members:
+ - email: ""
+ first_name: Ram
+ id: "3542342"
+ last_name: Ghale
+ type: 1
+ page_count: 1
+ page_number: 1
+ page_size: 1
+ total_records: 1
+ schema:
+ properties:
+ members:
+ items:
+ properties:
+ email:
+ description: User's email address.
+ type: string
+ first_name:
+ description: First name of the user.
+ type: string
+ id:
+ description: "Unique Identifier of the user. "
+ type: string
+ last_name:
+ description: Last name of the user.
+ type: string
+ type:
+ description: "User type: `1` - Basic `2` - Licensed `3` - On-prem"
+ type: integer
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned from this request.
+ type: integer
+ page_number:
+ description: The page number of the current results.
+ type: integer
+ page_size:
+ description: The number of records returned from a single API call.
+ type: integer
+ total_records:
+ description: The total number of records available across all pages.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ members:
+ items:
+ properties:
+ email:
+ description: User's email address.
+ type: string
+ first_name:
+ description: First name of the user.
+ type: string
+ id:
+ description: "Unique Identifier of the user. "
+ type: string
+ last_name:
+ description: Last name of the user.
+ type: string
+ type:
+ description: "User type: `1` - Basic `2` - Licensed `3` - On-prem"
+ type: integer
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned from this request.
+ type: integer
+ page_number:
+ description: The page number of the current results.
+ type: integer
+ page_size:
+ description: The number of records returned from a single API call.
+ type: integer
+ total_records:
+ description: The total number of records available across all pages.
+ type: integer
+ type: object
+ description: "**HTTP Status Code:** `200` Only available for paid account,{accountId}."
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Not found.
+ **Error Code:** `4130`
+ A group with this {groupId} does not exist.
+ security:
+ - OAuth: []
+ summary: "List group members "
+ tags:
+ - Groups
+ post:
+ description: |-
+ Add members to a [group](https://support.zoom.us/hc/en-us/articles/204519819-Group-Management-) under your account.
+
+ **Prerequisite**: Pro, Business, or Education account
+ **Scopes**: `group:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: groupMembersCreate
+ parameters:
+ - description: |-
+ The group ID.
+ Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups).
+ in: path
+ name: groupId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ members:
+ description: List of Group members
+ items:
+ properties:
+ email:
+ description: User email. If the user ID is given then the user email should be ignored.
+ type: string
+ id:
+ description: User ID.
+ type: string
+ type: object
+ maximum: 30
+ type: array
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ members:
+ description: List of Group members
+ items:
+ properties:
+ email:
+ description: User email. If the user ID is given then the user email should be ignored.
+ type: string
+ id:
+ description: User ID.
+ type: string
+ type: object
+ maximum: 30
+ type: array
+ type: object
+ required: true
+ x-examples:
+ application/json:
+ members:
+ - email: memberemail@somecompany.com
+ id: "36565387"
+ responses:
+ "200":
+ description: Only available for paid account,{accountId}.
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ added_at: string [date-time]
+ ids: string
+ schema:
+ properties:
+ added_at:
+ format: date-time
+ type: string
+ ids:
+ type: string
+ application/xml:
+ schema:
+ properties:
+ added_at:
+ format: date-time
+ type: string
+ ids:
+ type: string
+ description: Member added.
+ "404":
+ description: |-
+ **Status Code:** `404`
+ Not found.
+ **Error Code:** `4130`
+ A group with this {groupId} does not exist.
+ summary: Add group members
+ tags:
+ - Groups
+ "/groups/{groupId}/members/{memberId}":
+ delete:
+ description: |-
+ Delete a member from a [group](https://support.zoom.us/hc/en-us/articles/204519819-Group-Management-) in a Zoom account.
+
+ **Prerequisite**: Pro, Business, or Education account
+ **Scopes**: `group:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: groupMembersDelete
+ parameters:
+ - description: |-
+ The group ID.
+ Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups).
+ in: path
+ name: groupId
+ required: true
+ schema:
+ type: string
+ - description: The member ID.
+ in: path
+ name: memberId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ description: Only available for paid account,{accountId}.
+ "204":
+ description: Group member deleted.
+ "400":
+ description: |-
+ **Status Code:** `400`
+ Bad request.
+ **Error Code:** `1010`
+ Group does not belong to this account:{accountId}.
+ "404":
+ description: |-
+ **Status Code:** `404`
+ Not found.
+ **Error Code:** `4130`
+ A group with this {groupId} does not exist.
+ security:
+ - OAuth: []
+ summary: Delete a group member
+ tags:
+ - Groups
+ parameters:
+ - in: path
+ name: groupId
+ required: true
+ schema:
+ type: string
+ - in: path
+ name: memberId
+ required: true
+ schema:
+ type: string
+ patch:
+ description: |-
+ If a user is a member in multiple groups, you can [set a primary group](https://support.zoom.us/hc/en-us/articles/204519819-Group-Management-#h_d07c7dcd-4fd8-485a-b5fe-a322e8d21c09) for the user. The group member will use the primary group's settings by default. However, if settings are locked in other groups, those settings will continue to be locked for that user. By default, the primary group is the first group that user is added to.
+ Use this API to perform either of the following tasks:
+ * Simultaneously remove a member from one group and move the member to a different group.
+ * Set a primary group for the user
+ **Prerequisites:**
+ * Pro or higher account **Scopes:** `group:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: updateAGroupMember
+ parameters:
+ - description: Unique Identifier of the group. Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups) API. To change a member's primary group, provide the groupId of the member's current primary group as the value of this field. To remove a member from one group and move the member to another group, provide the groupId of the group from which the member is to be moved.
+ in: path
+ name: groupId
+ required: true
+ schema:
+ type: string
+ - description: Unique Identifier of the group member. Can be retrieved by calling the [List Group Members](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groupmembers) API.
+ in: path
+ name: memberId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ action:
+ description: |
+ Specify the type of action to be performed:
+ `move`: Simultaneously remove a member from one group and move the member to a different group.
+ `set_primary`: Set a primary group for the user.
+ enum:
+ - move
+ - set_primary
+ type: string
+ target_group_id:
+ description: |-
+ Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups) API.
+
+ To move a user, use this field to specify the groupId of the group where the member is to be moved.
+
+ To set a primary group for the user, provide the groupId of the group which is going to be the primary group.
+ type: string
+ required:
+ - action
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ action:
+ description: |
+ Specify the type of action to be performed:
+ `move`: Simultaneously remove a member from one group and move the member to a different group.
+ `set_primary`: Set a primary group for the user.
+ enum:
+ - move
+ - set_primary
+ type: string
+ target_group_id:
+ description: |-
+ Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups) API.
+
+ To move a user, use this field to specify the groupId of the group where the member is to be moved.
+
+ To set a primary group for the user, provide the groupId of the group which is going to be the primary group.
+ type: string
+ required:
+ - action
+ type: object
+ x-examples:
+ application/json:
+ action: set_primary
+ target_group_id: ifghhgt546pidatat
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Group member updated.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `200`
+ Only available for Paid account, {accountId}.
+ **Error Code:** `300`
+ The target_group_id can not be empty.
+ **Error Code:** `1010`
+ Group does not belong to this account:{accountId}.
+
+
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `4130`
+ A group with this {groupId} does not exist.
+ security:
+ - OAuth: []
+ summary: Update a group member
+ tags:
+ - Groups
+ "/groups/{groupId}/settings":
+ get:
+ description: |-
+ Get settings for a [group](https://support.zoom.us/hc/en-us/articles/204519819-Group-Management-).
+ **Prerequisite**: Pro, Business, or Education account
+ **Scopes**: `group:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: getGroupSettings
+ parameters:
+ - allowEmptyValue: true
+ description: |-
+ `meeting_authentication`: Use this query parameter to view [meeting authentication configuration](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) applied on the group. `recording_authentication`: Use this query parameter to view [recording authentication configuration](https://support.zoom.us/hc/en-us/articles/360037756671-Authentication-Profiles-for-Cloud-Recordings) applied on the group.
+ `meeting_security`: Use this query parameter to view meeting security settings applied on the group.
+ in: query
+ name: option
+ schema:
+ enum:
+ - meeting_authentication
+ - recording_authentication
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ email_notification:
+ alternative_host_reminder: true
+ cancel_meeting_reminder: true
+ cloud_recording_available_reminder: true
+ jbh_reminder: true
+ schedule_for_host_reminder: true
+ in_meeting:
+ alert_guest_join: true
+ allow_show_zoom_windows: true
+ annotation: true
+ attendee_on_hold: true
+ auto_answer: true
+ auto_saving_chat: true
+ breakout_room: false
+ chat: true
+ closed_caption: true
+ co_host: true
+ e2e_encryption: true
+ entry_exit_chime: all
+ far_end_camera_control: true
+ feedback: true
+ group_hd: true
+ non_verbal_feedback: true
+ only_host_view_device_list: false
+ original_audio: true
+ polling: true
+ post_meeting_feedback: true
+ private_chat: true
+ record_play_own_voice: false
+ remote_control: true
+ remote_support: true
+ screen_sharing: true
+ sending_default_email_invites: true
+ show_browser_join_link: true
+ show_device_list: false
+ show_meeting_control_toolbar: true
+ stereo_audio: true
+ use_html_format_email: true
+ virtual_background: true
+ waiting_room: true
+ whiteboard: true
+ recording:
+ account_user_access_recording: false
+ auto_recording: none
+ cloud_recording: true
+ cloud_recording_download: true
+ cloud_recording_download_host: true
+ host_delete_cloud_recording: true
+ local_recording: true
+ record_audio_file: true
+ record_gallery_view: false
+ record_speaker_view: true
+ recording_audio_transcript: false
+ save_chat_text: true
+ show_timestamp: false
+ schedule_meeting:
+ audio_type: both
+ force_pmi_jbh_password: true
+ host_video: true
+ join_before_host: true
+ mute_upon_entry: true
+ participant_video: true
+ pstn_password_protected: true
+ require_password_for_instant_meetings: false
+ require_password_for_pmi_meetings: all
+ require_password_for_scheduled_meetings: true
+ require_password_for_scheduling_new_meetings: true
+ upcoming_meeting_reminder: true
+ telephony:
+ audio_conference_info: "1234656"
+ third_party_audio: true
+ schema:
+ oneOf:
+ - properties:
+ email_notification:
+ properties:
+ alternative_host_reminder:
+ description: Notify the alternative host who is set or removed.
+ type: boolean
+ cancel_meeting_reminder:
+ description: Notify host and participants when the meeting is cancelled.
+ type: boolean
+ cloud_recording_available_reminder:
+ description: Notify host when cloud recording is available.
+ type: boolean
+ jbh_reminder:
+ description: Notify host when participants join the meeting before them.
+ type: boolean
+ schedule_for_host_reminder:
+ description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
+ type: boolean
+ type: object
+ in_meeting:
+ properties:
+ alert_guest_join:
+ description: Allow participants who belong to your account to see that a guest (someone who does not belong to your account) is participating in the meeting/webinar.
+ type: boolean
+ allow_show_zoom_windows:
+ description: Show Zoom windows during screen share.
+ type: boolean
+ annotation:
+ description: Allow participants to use annotation tools to add information to shared screens.
+ type: boolean
+ attendee_on_hold:
+ default: false
+ description: |-
+ Allow host to put attendee on hold.
+
+ **This field has been deprecated and is no longer supported.**
+ type: boolean
+ auto_answer:
+ description: Enable users to see and add contacts to 'auto-answer group' in the contact list on chat. Any call from members of this group will be automatically answered.
+ type: boolean
+ auto_saving_chat:
+ description: Automatically save all in-meeting chats.
+ type: boolean
+ breakout_room:
+ description: Allow host to split meeting participants into separate, smaller rooms.
+ type: boolean
+ chat:
+ description: Allow meeting participants to send chat message visible to all participants.
+ type: boolean
+ closed_caption:
+ description: Allow host to type closed captions or assign a participant/third party device to add closed captions.
+ type: boolean
+ co_host:
+ description: Allow the host to add co-hosts. Co-hosts have the same in-meeting controls as the host.
+ type: boolean
+ custom_data_center_regions:
+ description: If set to `true`, you can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to be used by this group for hosting their real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
+ type: boolean
+ data_center_regions:
+ description: |
+ If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["EU", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
+ enum:
+ - EU
+ - HK
+ - AU
+ - IN
+ - TY
+ - CN
+ - US
+ - CA
+ items:
+ type: string
+ type: array
+ e2e_encryption:
+ description: Require that all meetings are encrypted using AES.
+ type: boolean
+ entry_exit_chime:
+ description: Play sound when participants join or leave.
+ type: string
+ far_end_camera_control:
+ description: Allow another user to take control of the camera during a meeting.
+ type: boolean
+ feedback:
+ description: Enable users to provide feedback to Zoom at the end of the meeting.
+ type: boolean
+ file_transfer:
+ description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for the users in the group or not.
+ type: boolean
+ group_hd:
+ description: Enable higher quality video for host and participants. This will require more bandwidth.
+ type: boolean
+ non_verbal_feedback:
+ description: Allow participants in a meeting can provide nonverbal feedback and express opinions by clicking on icons in the Participants panel.
+ type: boolean
+ only_host_view_device_list:
+ description: Show the list of H.323/SIP devices only to the host.
+ type: boolean
+ original_audio:
+ description: Allow users to select original sound during a meeting.
+ type: boolean
+ polling:
+ description: Add 'Polls' to the meeting controls. This allows the host to survey the attendees.
+ type: boolean
+ post_meeting_feedback:
+ description: Display end-of-meeting experience feedback survey.
+ type: boolean
+ private_chat:
+ description: Allow meeting participants to send a private 1:1 message to another participant.
+ type: boolean
+ record_play_own_voice:
+ description: When each participant joins by telephone, allow the option to record and play their own voice as entry and exit chimes.
+ type: boolean
+ remote_control:
+ description: During screen sharing, allow the person who is sharing to let others control the shared content.
+ type: boolean
+ remote_support:
+ description: Allow meeting host to provide 1:1 remote support to another participant.
+ type: boolean
+ request_permission_to_unmute:
+ description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the group or not.
+ type: boolean
+ screen_sharing:
+ description: Allow host and participants to share their screen or content during meetings.
+ type: boolean
+ sending_default_email_invites:
+ description: Allow users to invite participants by email only by default.
+ type: boolean
+ show_browser_join_link:
+ description: Allow participants to join a meeting directly from their browser.
+ type: boolean
+ show_device_list:
+ description: Show the list of H.323/SIP devices.
+ type: boolean
+ show_meeting_control_toolbar:
+ description: Always show meeting controls during a meeting.
+ type: boolean
+ stereo_audio:
+ description: Allow users to select stereo audio during a meeting.
+ type: boolean
+ use_html_format_email:
+ description: Allow HTML formatting instead of plain text for meeting invitations scheduled with the Outlook plugin.
+ type: boolean
+ virtual_background:
+ description: Enable virtual background.
+ type: boolean
+ virtual_background_settings:
+ description: Settings to manage virtual background.
+ properties:
+ allow_upload_custom:
+ description: Allow users to upload custom backgrounds.
+ type: boolean
+ allow_videos:
+ description: Allow use of videos for virtual backgrounds.
+ type: boolean
+ enable:
+ description: Enable virtual background.
+ type: boolean
+ files:
+ items:
+ properties:
+ id:
+ description: Unique identifier of the file.
+ type: string
+ is_default:
+ description: Indicates whether or not this file is the default virtual background file.
+ type: boolean
+ name:
+ description: File name.
+ type: string
+ size:
+ description: File size.
+ type: string
+ type:
+ description: File type.
+ type: string
+ type: object
+ type: array
+ type: object
+ waiting_room:
+ description: Attendees cannot join a meeting until a host admits them individually from the waiting room.
+ type: boolean
+ whiteboard:
+ description: Allow participants to share a whiteboard that includes annotation tools.
+ type: boolean
+ who_can_share_screen:
+ description: |
+ Indicates who can share their screen or content during meetings. The value can be one of the following:
+ `host`: Only host can share the screen.
+ `all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ who_can_share_screen_when_someone_is_sharing:
+ description: |
+ Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
+ `host`: Only a host can share the screen when someone else is sharing.
+ `all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ type: object
+ profile:
+ properties:
+ recording_storage_location:
+ properties:
+ allowed_values:
+ description: |-
+ Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
+
+ Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
+ items:
+ type: string
+ type: array
+ value:
+ description: Abbreviated country code.
+ type: string
+ type: object
+ title: Profile
+ type: object
+ recording:
+ properties:
+ account_user_access_recording:
+ description: Make cloud recordings accessible to account members only.
+ type: boolean
+ archive:
+ description: "[Archiving solution](https://support.zoom.us/hc/en-us/articles/360050431572-Archiving-Meeting-and-Webinar-data) settings. This setting can only be used if you have been granted archiving solution access by the Zoom Support team."
+ properties:
+ enable:
+ description: Enable the archiving feature.
+ type: boolean
+ settings:
+ properties:
+ audio_file:
+ description: Include in-meeting and/or in-webinar audio in the archive.
+ type: boolean
+ cc_transcript_file:
+ description: Include closed caption or transcript in the archive.
+ type: boolean
+ chat_file:
+ description: Include in-meeting chat in the archive.
+ type: boolean
+ chat_with_sender_email:
+ description: Include user email in in-meeting chat file.
+ type: boolean
+ video_file:
+ description: Include in-meeting and/or in-webinar video in the archive.
+ type: boolean
+ type: object
+ type:
+ description: |-
+ Archive types:
+
+ * `1`: Only meetings are archived.
+ * `2`: Only webinars are archived.
+ * `3`: Both meetings and webinars are archived.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ type: object
+ auto_recording:
+ description: Record meetings automatically as they start.
+ type: string
+ cloud_recording:
+ description: Allow hosts to record and save the meeting / webinar in the cloud.
+ type: boolean
+ cloud_recording_download:
+ description: Allow anyone with a link to the cloud recording to download.
+ type: boolean
+ cloud_recording_download_host:
+ description: Allow only the host with a link to the cloud recording to download.
+ type: boolean
+ host_delete_cloud_recording:
+ description: Allow the host to delete the recordings. If this option is disabled, the recordings cannot be deleted by the host and only admin can delete them.
+ type: boolean
+ ip_address_access_control:
+ description: |
+ Setting to allow cloud recording access only from specific IP address ranges.
+ properties:
+ enable:
+ description: |+
+ If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
+
+ type: boolean
+ ip_addresses_or_ranges:
+ description: |+
+ IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
+
+ Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
+
+ type: string
+ type: object
+ local_recording:
+ description: Allow hosts and participants to record the meeting to a local file.
+ type: boolean
+ prevent_host_access_recording:
+ description: |+
+ If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
+
+ type: boolean
+ record_audio_file:
+ description: Record an audio only file.
+ type: boolean
+ record_gallery_view:
+ description: When someone is sharing their screen, active speaker will show on the top right corner of the shared screen.
+ type: boolean
+ record_speaker_view:
+ description: Record active speaker with shared screen.
+ type: boolean
+ recording_audio_transcript:
+ description: Automatically transcribe the audio of a meeting or webinar for cloud recordings.
+ type: boolean
+ save_chat_text:
+ description: Save chat messages from the meeting / webinar.
+ type: boolean
+ show_timestamp:
+ description: Add a timestamp to the recording.
+ type: boolean
+ type: object
+ schedule_meeting:
+ properties:
+ audio_type:
+ description: Determine how participants can join the audio portion of the meeting.
+ type: string
+ embed_password_in_join_link:
+ description: "If the value is set to `true`, the meeting password will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the password.
+
+ \ "
+ type: boolean
+ force_pmi_jbh_password:
+ description: |+
+ If join before host option is enabled for a personal meeting, then enforce password requirement.
+
+
+ **This field will be deprecated in near future.** If you would like to enable this setting, we highly encourage you to use the `require_password_for_pmi_meetings` field.
+
+ type: boolean
+ host_video:
+ description: Start meetings with host video on.
+ type: boolean
+ join_before_host:
+ description: Allow participants to join the meeting before the host arrives
+ type: boolean
+ mute_upon_entry:
+ description: Automatically mute all participants when they join the meeting.
+ type: boolean
+ participant_video:
+ description: Start meetings with participant video on.
+ type: boolean
+ personal_meeting:
+ description: |+
+ Personal Meeting Setting.
+ `true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
+ `false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
+ For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
+
+
+ type: boolean
+ pstn_password_protected:
+ description: Generate and send new passwords for newly scheduled or edited meetings.
+ type: boolean
+ require_password_for_instant_meetings:
+ description: If enabled, a random password will be generated on the user's end who starts the instant meeting. Other participants will have to enter the password to join the meeting. If you use PMI for your instant meetings, this option will be disabled.
+ type: boolean
+ require_password_for_pmi_meetings:
+ description: |-
+ Indicates whether a password is required for [PMI](https://support.zoom.us/hc/en-us/articles/203276937-Using-Personal-Meeting-ID-PMI-) meetings or not. The value can be one of the following:
+ `none`: Do not require password for PMI meetings.
+ `all`: Require participants to enter password for all PMI enabled meetings. `jbh_only`: Require password only for meetings where the **"join before host"** setting is enabled.
+ enum:
+ - all
+ - jbh_only
+ - none
+ type: string
+ require_password_for_scheduled_meetings:
+ description: |
+ Require a password for meetings which have already been scheduled
+ type: boolean
+ require_password_for_scheduling_new_meetings:
+ description: This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting.
+ type: boolean
+ upcoming_meeting_reminder:
+ description: Receive desktop notification for upcoming meetings.
+ type: boolean
+ use_pmi_for_instant_meetings:
+ description: Indicates whether PMI is enabled for all instant meetings or not.
+ type: boolean
+ use_pmi_for_schedule_meetings:
+ description: Indicates whether PMI is enabled for all scheduled meetings or not.
+ type: boolean
+ type: object
+ telephony:
+ properties:
+ audio_conference_info:
+ description: ""
+ type: string
+ telephony_regions:
+ description: Indicates where most of the participants call into or call from duriing a meeting.
+ properties:
+ selection_values:
+ description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
+ items:
+ type: string
+ type: array
+ type: object
+ third_party_audio:
+ description: Allow users to join the meeting using the existing 3rd party audio configuration.
+ type: boolean
+ type: object
+ type: object
+ - oneOf:
+ - properties:
+ authentication_options:
+ description: Meeting Authentication Options
+ items:
+ properties:
+ default_option:
+ description: Authentication default option
+ type: boolean
+ domains:
+ description: Authentication domains
+ type: string
+ id:
+ description: Authentication id
+ type: string
+ name:
+ description: Authentication name
+ type: string
+ type:
+ description: |2-
+ Authentication type. Specify one of the following authentication types for the authentication profile:
+ * `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
+ * `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
+ * `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
+ enum:
+ - enforce_login
+ - enforce_login_with_same_account
+ - enforce_login_with_domains
+ type: string
+ visible:
+ description: Authentication visible
+ type: boolean
+ type: object
+ type: array
+ meeting_authentication:
+ description: Only authenticated users can join meetings
+ type: boolean
+ - properties:
+ authentication_options:
+ description: Authentication Options
+ items:
+ properties:
+ default_option:
+ description: Authentication default option
+ type: boolean
+ domains:
+ description: Authentication domians
+ type: string
+ id:
+ description: Authentication id
+ type: string
+ name:
+ description: Authentication name
+ type: string
+ type:
+ description: Authentication type
+ enum:
+ - internally
+ - enforce_login
+ - enforce_login_with_domains
+ type: string
+ visible:
+ description: Authentication visible
+ type: boolean
+ type: object
+ type: array
+ recording_authentication:
+ description: Only authenticated users can view cloud recordings
+ type: boolean
+ type: object
+ - properties:
+ meeting_security:
+ properties:
+ auto_security:
+ description: |-
+ `true`: Require that all meetings are secured with at least one security option.
+
+ This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
+ type: boolean
+ embed_password_in_join_link:
+ description: |
+ If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
+ type: boolean
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ end_to_end_encrypted_meetings:
+ description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
+ type: boolean
+ meeting_password:
+ description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
+ type: boolean
+ meeting_password_requirement:
+ description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the passcode must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar passcode needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the passcode must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided passcode is weak.
+ type: boolean
+ type: object
+ phone_password:
+ description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
+ type: boolean
+ pmi_password:
+ description: |
+ If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
+ type: boolean
+ require_password_for_scheduled_meeting:
+ description: |
+ Require a passcode for meetings which have already been scheduled.
+ type: boolean
+ require_password_for_scheduled_webinar:
+ description: |
+ Require a passcode for webinars which have already been scheduled.
+ type: boolean
+ waiting_room:
+ description: |
+ When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
+ type: boolean
+ waiting_room_settings:
+ description: Specify the settings to be applied if waiting room is enabled.
+ properties:
+ participants_to_place_in_waiting_room:
+ description: |-
+
+
+ Specify who should be admitted to the waiting room. The value of this field can be one of the following:
+ `0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ users_who_can_admit_participants_from_waiting_room:
+ description: |+
+ Specify who can admit participants from the waiting room. The value of this field can be one of the following:
+ `0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
+
+
+ type: integer
+ whitelisted_domains_for_waiting_room:
+ description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
+ type: string
+ type: object
+ webinar_password:
+ description: |
+ If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
+ type: boolean
+ type: object
+ title: Meeting/Webinar Security Settings
+ type: object
+ application/xml:
+ schema:
+ oneOf:
+ - properties:
+ email_notification:
+ properties:
+ alternative_host_reminder:
+ description: Notify the alternative host who is set or removed.
+ type: boolean
+ cancel_meeting_reminder:
+ description: Notify host and participants when the meeting is cancelled.
+ type: boolean
+ cloud_recording_available_reminder:
+ description: Notify host when cloud recording is available.
+ type: boolean
+ jbh_reminder:
+ description: Notify host when participants join the meeting before them.
+ type: boolean
+ schedule_for_host_reminder:
+ description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
+ type: boolean
+ type: object
+ in_meeting:
+ properties:
+ alert_guest_join:
+ description: Allow participants who belong to your account to see that a guest (someone who does not belong to your account) is participating in the meeting/webinar.
+ type: boolean
+ allow_show_zoom_windows:
+ description: Show Zoom windows during screen share.
+ type: boolean
+ annotation:
+ description: Allow participants to use annotation tools to add information to shared screens.
+ type: boolean
+ attendee_on_hold:
+ default: false
+ description: |-
+ Allow host to put attendee on hold.
+
+ **This field has been deprecated and is no longer supported.**
+ type: boolean
+ auto_answer:
+ description: Enable users to see and add contacts to 'auto-answer group' in the contact list on chat. Any call from members of this group will be automatically answered.
+ type: boolean
+ auto_saving_chat:
+ description: Automatically save all in-meeting chats.
+ type: boolean
+ breakout_room:
+ description: Allow host to split meeting participants into separate, smaller rooms.
+ type: boolean
+ chat:
+ description: Allow meeting participants to send chat message visible to all participants.
+ type: boolean
+ closed_caption:
+ description: Allow host to type closed captions or assign a participant/third party device to add closed captions.
+ type: boolean
+ co_host:
+ description: Allow the host to add co-hosts. Co-hosts have the same in-meeting controls as the host.
+ type: boolean
+ custom_data_center_regions:
+ description: If set to `true`, you can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to be used by this group for hosting their real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
+ type: boolean
+ data_center_regions:
+ description: |
+ If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["EU", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
+ enum:
+ - EU
+ - HK
+ - AU
+ - IN
+ - TY
+ - CN
+ - US
+ - CA
+ items:
+ type: string
+ type: array
+ e2e_encryption:
+ description: Require that all meetings are encrypted using AES.
+ type: boolean
+ entry_exit_chime:
+ description: Play sound when participants join or leave.
+ type: string
+ far_end_camera_control:
+ description: Allow another user to take control of the camera during a meeting.
+ type: boolean
+ feedback:
+ description: Enable users to provide feedback to Zoom at the end of the meeting.
+ type: boolean
+ file_transfer:
+ description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for the users in the group or not.
+ type: boolean
+ group_hd:
+ description: Enable higher quality video for host and participants. This will require more bandwidth.
+ type: boolean
+ non_verbal_feedback:
+ description: Allow participants in a meeting can provide nonverbal feedback and express opinions by clicking on icons in the Participants panel.
+ type: boolean
+ only_host_view_device_list:
+ description: Show the list of H.323/SIP devices only to the host.
+ type: boolean
+ original_audio:
+ description: Allow users to select original sound during a meeting.
+ type: boolean
+ polling:
+ description: Add 'Polls' to the meeting controls. This allows the host to survey the attendees.
+ type: boolean
+ post_meeting_feedback:
+ description: Display end-of-meeting experience feedback survey.
+ type: boolean
+ private_chat:
+ description: Allow meeting participants to send a private 1:1 message to another participant.
+ type: boolean
+ record_play_own_voice:
+ description: When each participant joins by telephone, allow the option to record and play their own voice as entry and exit chimes.
+ type: boolean
+ remote_control:
+ description: During screen sharing, allow the person who is sharing to let others control the shared content.
+ type: boolean
+ remote_support:
+ description: Allow meeting host to provide 1:1 remote support to another participant.
+ type: boolean
+ request_permission_to_unmute:
+ description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the group or not.
+ type: boolean
+ screen_sharing:
+ description: Allow host and participants to share their screen or content during meetings.
+ type: boolean
+ sending_default_email_invites:
+ description: Allow users to invite participants by email only by default.
+ type: boolean
+ show_browser_join_link:
+ description: Allow participants to join a meeting directly from their browser.
+ type: boolean
+ show_device_list:
+ description: Show the list of H.323/SIP devices.
+ type: boolean
+ show_meeting_control_toolbar:
+ description: Always show meeting controls during a meeting.
+ type: boolean
+ stereo_audio:
+ description: Allow users to select stereo audio during a meeting.
+ type: boolean
+ use_html_format_email:
+ description: Allow HTML formatting instead of plain text for meeting invitations scheduled with the Outlook plugin.
+ type: boolean
+ virtual_background:
+ description: Enable virtual background.
+ type: boolean
+ virtual_background_settings:
+ description: Settings to manage virtual background.
+ properties:
+ allow_upload_custom:
+ description: Allow users to upload custom backgrounds.
+ type: boolean
+ allow_videos:
+ description: Allow use of videos for virtual backgrounds.
+ type: boolean
+ enable:
+ description: Enable virtual background.
+ type: boolean
+ files:
+ items:
+ properties:
+ id:
+ description: Unique identifier of the file.
+ type: string
+ is_default:
+ description: Indicates whether or not this file is the default virtual background file.
+ type: boolean
+ name:
+ description: File name.
+ type: string
+ size:
+ description: File size.
+ type: string
+ type:
+ description: File type.
+ type: string
+ type: object
+ type: array
+ type: object
+ waiting_room:
+ description: Attendees cannot join a meeting until a host admits them individually from the waiting room.
+ type: boolean
+ whiteboard:
+ description: Allow participants to share a whiteboard that includes annotation tools.
+ type: boolean
+ who_can_share_screen:
+ description: |
+ Indicates who can share their screen or content during meetings. The value can be one of the following:
+ `host`: Only host can share the screen.
+ `all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ who_can_share_screen_when_someone_is_sharing:
+ description: |
+ Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
+ `host`: Only a host can share the screen when someone else is sharing.
+ `all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ type: object
+ profile:
+ properties:
+ recording_storage_location:
+ properties:
+ allowed_values:
+ description: |-
+ Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
+
+ Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
+ items:
+ type: string
+ type: array
+ value:
+ description: Abbreviated country code.
+ type: string
+ type: object
+ title: Profile
+ type: object
+ recording:
+ properties:
+ account_user_access_recording:
+ description: Make cloud recordings accessible to account members only.
+ type: boolean
+ archive:
+ description: "[Archiving solution](https://support.zoom.us/hc/en-us/articles/360050431572-Archiving-Meeting-and-Webinar-data) settings. This setting can only be used if you have been granted archiving solution access by the Zoom Support team."
+ properties:
+ enable:
+ description: Enable the archiving feature.
+ type: boolean
+ settings:
+ properties:
+ audio_file:
+ description: Include in-meeting and/or in-webinar audio in the archive.
+ type: boolean
+ cc_transcript_file:
+ description: Include closed caption or transcript in the archive.
+ type: boolean
+ chat_file:
+ description: Include in-meeting chat in the archive.
+ type: boolean
+ chat_with_sender_email:
+ description: Include user email in in-meeting chat file.
+ type: boolean
+ video_file:
+ description: Include in-meeting and/or in-webinar video in the archive.
+ type: boolean
+ type: object
+ type:
+ description: |-
+ Archive types:
+
+ * `1`: Only meetings are archived.
+ * `2`: Only webinars are archived.
+ * `3`: Both meetings and webinars are archived.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ type: object
+ auto_recording:
+ description: Record meetings automatically as they start.
+ type: string
+ cloud_recording:
+ description: Allow hosts to record and save the meeting / webinar in the cloud.
+ type: boolean
+ cloud_recording_download:
+ description: Allow anyone with a link to the cloud recording to download.
+ type: boolean
+ cloud_recording_download_host:
+ description: Allow only the host with a link to the cloud recording to download.
+ type: boolean
+ host_delete_cloud_recording:
+ description: Allow the host to delete the recordings. If this option is disabled, the recordings cannot be deleted by the host and only admin can delete them.
+ type: boolean
+ ip_address_access_control:
+ description: |
+ Setting to allow cloud recording access only from specific IP address ranges.
+ properties:
+ enable:
+ description: |+
+ If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
+
+ type: boolean
+ ip_addresses_or_ranges:
+ description: |+
+ IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
+
+ Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
+
+ type: string
+ type: object
+ local_recording:
+ description: Allow hosts and participants to record the meeting to a local file.
+ type: boolean
+ prevent_host_access_recording:
+ description: |+
+ If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
+
+ type: boolean
+ record_audio_file:
+ description: Record an audio only file.
+ type: boolean
+ record_gallery_view:
+ description: When someone is sharing their screen, active speaker will show on the top right corner of the shared screen.
+ type: boolean
+ record_speaker_view:
+ description: Record active speaker with shared screen.
+ type: boolean
+ recording_audio_transcript:
+ description: Automatically transcribe the audio of a meeting or webinar for cloud recordings.
+ type: boolean
+ save_chat_text:
+ description: Save chat messages from the meeting / webinar.
+ type: boolean
+ show_timestamp:
+ description: Add a timestamp to the recording.
+ type: boolean
+ type: object
+ schedule_meeting:
+ properties:
+ audio_type:
+ description: Determine how participants can join the audio portion of the meeting.
+ type: string
+ embed_password_in_join_link:
+ description: "If the value is set to `true`, the meeting password will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the password.
+
+ \ "
+ type: boolean
+ force_pmi_jbh_password:
+ description: |+
+ If join before host option is enabled for a personal meeting, then enforce password requirement.
+
+
+ **This field will be deprecated in near future.** If you would like to enable this setting, we highly encourage you to use the `require_password_for_pmi_meetings` field.
+
+ type: boolean
+ host_video:
+ description: Start meetings with host video on.
+ type: boolean
+ join_before_host:
+ description: Allow participants to join the meeting before the host arrives
+ type: boolean
+ mute_upon_entry:
+ description: Automatically mute all participants when they join the meeting.
+ type: boolean
+ participant_video:
+ description: Start meetings with participant video on.
+ type: boolean
+ personal_meeting:
+ description: |+
+ Personal Meeting Setting.
+ `true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
+ `false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
+ For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
+
+
+ type: boolean
+ pstn_password_protected:
+ description: Generate and send new passwords for newly scheduled or edited meetings.
+ type: boolean
+ require_password_for_instant_meetings:
+ description: If enabled, a random password will be generated on the user's end who starts the instant meeting. Other participants will have to enter the password to join the meeting. If you use PMI for your instant meetings, this option will be disabled.
+ type: boolean
+ require_password_for_pmi_meetings:
+ description: |-
+ Indicates whether a password is required for [PMI](https://support.zoom.us/hc/en-us/articles/203276937-Using-Personal-Meeting-ID-PMI-) meetings or not. The value can be one of the following:
+ `none`: Do not require password for PMI meetings.
+ `all`: Require participants to enter password for all PMI enabled meetings. `jbh_only`: Require password only for meetings where the **"join before host"** setting is enabled.
+ enum:
+ - all
+ - jbh_only
+ - none
+ type: string
+ require_password_for_scheduled_meetings:
+ description: |
+ Require a password for meetings which have already been scheduled
+ type: boolean
+ require_password_for_scheduling_new_meetings:
+ description: This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting.
+ type: boolean
+ upcoming_meeting_reminder:
+ description: Receive desktop notification for upcoming meetings.
+ type: boolean
+ use_pmi_for_instant_meetings:
+ description: Indicates whether PMI is enabled for all instant meetings or not.
+ type: boolean
+ use_pmi_for_schedule_meetings:
+ description: Indicates whether PMI is enabled for all scheduled meetings or not.
+ type: boolean
+ type: object
+ telephony:
+ properties:
+ audio_conference_info:
+ description: ""
+ type: string
+ telephony_regions:
+ description: Indicates where most of the participants call into or call from duriing a meeting.
+ properties:
+ selection_values:
+ description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
+ items:
+ type: string
+ type: array
+ type: object
+ third_party_audio:
+ description: Allow users to join the meeting using the existing 3rd party audio configuration.
+ type: boolean
+ type: object
+ type: object
+ - oneOf:
+ - properties:
+ authentication_options:
+ description: Meeting Authentication Options
+ items:
+ properties:
+ default_option:
+ description: Authentication default option
+ type: boolean
+ domains:
+ description: Authentication domains
+ type: string
+ id:
+ description: Authentication id
+ type: string
+ name:
+ description: Authentication name
+ type: string
+ type:
+ description: |2-
+ Authentication type. Specify one of the following authentication types for the authentication profile:
+ * `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
+ * `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
+ * `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
+ enum:
+ - enforce_login
+ - enforce_login_with_same_account
+ - enforce_login_with_domains
+ type: string
+ visible:
+ description: Authentication visible
+ type: boolean
+ type: object
+ type: array
+ meeting_authentication:
+ description: Only authenticated users can join meetings
+ type: boolean
+ - properties:
+ authentication_options:
+ description: Authentication Options
+ items:
+ properties:
+ default_option:
+ description: Authentication default option
+ type: boolean
+ domains:
+ description: Authentication domians
+ type: string
+ id:
+ description: Authentication id
+ type: string
+ name:
+ description: Authentication name
+ type: string
+ type:
+ description: Authentication type
+ enum:
+ - internally
+ - enforce_login
+ - enforce_login_with_domains
+ type: string
+ visible:
+ description: Authentication visible
+ type: boolean
+ type: object
+ type: array
+ recording_authentication:
+ description: Only authenticated users can view cloud recordings
+ type: boolean
+ type: object
+ - properties:
+ meeting_security:
+ properties:
+ auto_security:
+ description: |-
+ `true`: Require that all meetings are secured with at least one security option.
+
+ This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
+ type: boolean
+ embed_password_in_join_link:
+ description: |
+ If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
+ type: boolean
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ end_to_end_encrypted_meetings:
+ description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
+ type: boolean
+ meeting_password:
+ description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
+ type: boolean
+ meeting_password_requirement:
+ description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the passcode must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar passcode needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the passcode must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided passcode is weak.
+ type: boolean
+ type: object
+ phone_password:
+ description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
+ type: boolean
+ pmi_password:
+ description: |
+ If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
+ type: boolean
+ require_password_for_scheduled_meeting:
+ description: |
+ Require a passcode for meetings which have already been scheduled.
+ type: boolean
+ require_password_for_scheduled_webinar:
+ description: |
+ Require a passcode for webinars which have already been scheduled.
+ type: boolean
+ waiting_room:
+ description: |
+ When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
+ type: boolean
+ waiting_room_settings:
+ description: Specify the settings to be applied if waiting room is enabled.
+ properties:
+ participants_to_place_in_waiting_room:
+ description: |-
+
+
+ Specify who should be admitted to the waiting room. The value of this field can be one of the following:
+ `0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ users_who_can_admit_participants_from_waiting_room:
+ description: |+
+ Specify who can admit participants from the waiting room. The value of this field can be one of the following:
+ `0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
+
+
+ type: integer
+ whitelisted_domains_for_waiting_room:
+ description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
+ type: string
+ type: object
+ webinar_password:
+ description: |
+ If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
+ type: boolean
+ type: object
+ title: Meeting/Webinar Security Settings
+ type: object
+ description: |
+ **Error Code**: `200`
+ Only available for paid account.
+
+ **HTTP Status Code**: `200`
+ Group Settings Returned.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code:** `4130`
+ Group does not exist: {groupId}.
+ security:
+ - OAuth: []
+ summary: Get a group's settings
+ tags:
+ - Groups
+ parameters:
+ - in: path
+ name: groupId
+ required: true
+ schema:
+ type: string
+ - description: |-
+ Provide the name of the field by which you would like to filter the response. For example, if you provide "host_video" as the value of this field, you will get a response similar to the following:
+ {
+ "schedule_meeting": {
+ "host_video": false
+ }
+ }
+ You can provide multiple values by separating them with commas(example: "host_video,participant_video”).
+ in: query
+ name: custom_query_fields
+ schema:
+ type: string
+ patch:
+ description: |-
+ Update settings for a [group](https://support.zoom.us/hc/en-us/articles/204519819-Group-Management-).
Note: The `force_pmi_jbh_password` field under meeting settings is planned to be deprecated on September 22, 2019. This field will be replaced by another field that will provide the same functionality.
+ **Prerequisite**: Pro, Business, or Education account
+ **Scopes**: `group:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: updateGroupSettings
+ parameters:
+ - description: Id of the group.
+ in: path
+ name: groupId
+ required: true
+ schema:
+ type: string
+ - allowEmptyValue: true
+ in: query
+ name: option
+ schema:
+ enum:
+ - meeting_authentication
+ - recording_authentication
+ - meeting_security
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - properties:
+ email_notification:
+ properties:
+ alternative_host_reminder:
+ description: Notify the alternative host who is set or removed.
+ type: boolean
+ cancel_meeting_reminder:
+ description: Notify host and participants when the meeting is cancelled.
+ type: boolean
+ cloud_recording_available_reminder:
+ description: Notify host when cloud recording is available.
+ type: boolean
+ jbh_reminder:
+ description: Notify host when participants join the meeting before them.
+ type: boolean
+ schedule_for_host_reminder:
+ description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
+ type: boolean
+ type: object
+ in_meeting:
+ properties:
+ alert_guest_join:
+ description: Allow participants who belong to your account to see that a guest (someone who does not belong to your account) is participating in the meeting/webinar.
+ type: boolean
+ allow_show_zoom_windows:
+ description: Show Zoom windows during screen share.
+ type: boolean
+ annotation:
+ description: Allow participants to use annotation tools to add information to shared screens.
+ type: boolean
+ attendee_on_hold:
+ default: false
+ description: |-
+ Allow host to put attendee on hold.
+
+ **This field has been deprecated and is no longer supported.**
+ type: boolean
+ auto_answer:
+ description: Enable users to see and add contacts to 'auto-answer group' in the contact list on chat. Any call from members of this group will be automatically answered.
+ type: boolean
+ auto_saving_chat:
+ description: Automatically save all in-meeting chats.
+ type: boolean
+ breakout_room:
+ description: Allow host to split meeting participants into separate, smaller rooms.
+ type: boolean
+ chat:
+ description: Allow meeting participants to send chat message visible to all participants.
+ type: boolean
+ closed_caption:
+ description: Allow host to type closed captions or assign a participant/third party device to add closed captions.
+ type: boolean
+ co_host:
+ description: Allow the host to add co-hosts. Co-hosts have the same in-meeting controls as the host.
+ type: boolean
+ custom_data_center_regions:
+ description: If set to `true`, you can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to be used by this group for hosting their real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
+ type: boolean
+ data_center_regions:
+ description: |
+ If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["EU", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
+ enum:
+ - EU
+ - HK
+ - AU
+ - IN
+ - TY
+ - CN
+ - US
+ - CA
+ items:
+ type: string
+ type: array
+ e2e_encryption:
+ description: Require that all meetings are encrypted using AES.
+ type: boolean
+ entry_exit_chime:
+ description: Play sound when participants join or leave.
+ type: string
+ far_end_camera_control:
+ description: Allow another user to take control of the camera during a meeting.
+ type: boolean
+ feedback:
+ description: Enable users to provide feedback to Zoom at the end of the meeting.
+ type: boolean
+ file_transfer:
+ description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for the users in the group or not.
+ type: boolean
+ group_hd:
+ description: Enable higher quality video for host and participants. This will require more bandwidth.
+ type: boolean
+ non_verbal_feedback:
+ description: Allow participants in a meeting can provide nonverbal feedback and express opinions by clicking on icons in the Participants panel.
+ type: boolean
+ only_host_view_device_list:
+ description: Show the list of H.323/SIP devices only to the host.
+ type: boolean
+ original_audio:
+ description: Allow users to select original sound during a meeting.
+ type: boolean
+ polling:
+ description: Add 'Polls' to the meeting controls. This allows the host to survey the attendees.
+ type: boolean
+ post_meeting_feedback:
+ description: Display end-of-meeting experience feedback survey.
+ type: boolean
+ private_chat:
+ description: Allow meeting participants to send a private 1:1 message to another participant.
+ type: boolean
+ record_play_own_voice:
+ description: When each participant joins by telephone, allow the option to record and play their own voice as entry and exit chimes.
+ type: boolean
+ remote_control:
+ description: During screen sharing, allow the person who is sharing to let others control the shared content.
+ type: boolean
+ remote_support:
+ description: Allow meeting host to provide 1:1 remote support to another participant.
+ type: boolean
+ request_permission_to_unmute:
+ description: Indicate whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option should be enabled for the group or not.
+ type: boolean
+ screen_sharing:
+ description: Allow host and participants to share their screen or content during meetings.
+ type: boolean
+ sending_default_email_invites:
+ description: Allow users to invite participants by email only by default.
+ type: boolean
+ show_browser_join_link:
+ description: Allow participants to join a meeting directly from their browser.
+ type: boolean
+ show_device_list:
+ description: Show the list of H.323/SIP devices.
+ type: boolean
+ show_meeting_control_toolbar:
+ description: Always show meeting controls during a meeting.
+ type: boolean
+ stereo_audio:
+ description: Allow users to select stereo audio during a meeting.
+ type: boolean
+ use_html_format_email:
+ description: Allow HTML formatting instead of plain text for meeting invitations scheduled with the Outlook plugin.
+ type: boolean
+ virtual_background:
+ description: Enable virtual background.
+ type: boolean
+ waiting_room:
+ description: Attendees cannot join a meeting until a host admits them individually from the waiting room.
+ type: boolean
+ whiteboard:
+ description: Allow participants to share a whiteboard that includes annotation tools.
+ type: boolean
+ who_can_share_screen:
+ description: |
+ Indicates who can share their screen or content during meetings. The value can be one of the following:
+ `host`: Only host can share the screen.
+ `all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ who_can_share_screen_when_someone_is_sharing:
+ description: |
+ Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
+ `host`: Only a host can share the screen when someone else is sharing.
+ `all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ type: object
+ profile:
+ properties:
+ recording_storage_location:
+ properties:
+ allowed_values:
+ description: |-
+ Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
+
+ Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
+ items:
+ type: string
+ type: array
+ value:
+ description: Abbreviated country code.
+ type: string
+ type: object
+ title: Profile
+ type: object
+ recording:
+ properties:
+ account_user_access_recording:
+ description: Make cloud recordings accessible to account members only.
+ type: boolean
+ archive:
+ description: "[Archiving solution](https://support.zoom.us/hc/en-us/articles/360050431572-Archiving-Meeting-and-Webinar-data) settings. This setting can only be used if you have been granted archiving solution access by the Zoom Support team."
+ properties:
+ enable:
+ description: Enable the archiving feature.
+ type: boolean
+ settings:
+ properties:
+ audio_file:
+ description: Include in-meeting and/or in-webinar audio in the archive.
+ type: boolean
+ cc_transcript_file:
+ description: Include closed caption or transcript in the archive.
+ type: boolean
+ chat_file:
+ description: Include in-meeting chat in the archive.
+ type: boolean
+ chat_with_sender_email:
+ description: Include user email in in-meeting chat file.
+ type: boolean
+ video_file:
+ description: Include in-meeting and/or in-webinar video in the archive.
+ type: boolean
+ type: object
+ type:
+ description: |-
+ Archive types:
+
+ * `1`: Only meetings are archived.
+ * `2`: Only webinars are archived.
+ * `3`: Both meetings and webinars are archived.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ type: object
+ auto_recording:
+ description: Record meetings automatically as they start.
+ type: string
+ cloud_recording:
+ description: Allow hosts to record and save the meeting / webinar in the cloud.
+ type: boolean
+ cloud_recording_download:
+ description: Allow anyone with a link to the cloud recording to download.
+ type: boolean
+ cloud_recording_download_host:
+ description: Allow only the host with a link to the cloud recording to download.
+ type: boolean
+ host_delete_cloud_recording:
+ description: Allow the host to delete the recordings. If this option is disabled, the recordings cannot be deleted by the host and only admin can delete them.
+ type: boolean
+ ip_address_access_control:
+ description: |
+ Setting to allow cloud recording access only from specific IP address ranges.
+ properties:
+ enable:
+ description: |+
+ If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
+
+ type: boolean
+ ip_addresses_or_ranges:
+ description: |+
+ IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
+
+ Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
+
+ type: string
+ type: object
+ local_recording:
+ description: Allow hosts and participants to record the meeting to a local file.
+ type: boolean
+ prevent_host_access_recording:
+ description: |+
+ If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
+
+ type: boolean
+ record_audio_file:
+ description: Record an audio only file.
+ type: boolean
+ record_gallery_view:
+ description: When someone is sharing their screen, active speaker will show on the top right corner of the shared screen.
+ type: boolean
+ record_speaker_view:
+ description: Record active speaker with shared screen.
+ type: boolean
+ recording_audio_transcript:
+ description: Automatically transcribe the audio of a meeting or webinar for cloud recordings.
+ type: boolean
+ save_chat_text:
+ description: Save chat messages from the meeting / webinar.
+ type: boolean
+ show_timestamp:
+ description: Add a timestamp to the recording.
+ type: boolean
+ type: object
+ schedule_meeting:
+ properties:
+ audio_type:
+ description: Determine how participants can join the audio portion of the meeting.
+ type: string
+ embed_password_in_join_link:
+ description: "If the value is set to `true`, the meeting password will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the password.
+
+ \ "
+ type: boolean
+ force_pmi_jbh_password:
+ description: If join before host option is enabled for a personal meeting, then enforce password requirement.
+ type: boolean
+ host_video:
+ description: Start meetings with host video on.
+ type: boolean
+ join_before_host:
+ description: Allow participants to join the meeting before the host arrives
+ type: boolean
+ mute_upon_entry:
+ description: Automatically mute all participants when they join the meeting.
+ type: boolean
+ participant_video:
+ description: Start meetings with participant video on.
+ type: boolean
+ pstn_password_protected:
+ description: Generate and send new passwords for newly scheduled or edited meetings.
+ type: boolean
+ require_password_for_all_meetings:
+ description: Require password from all participants before joining a meeting.
+ type: boolean
+ require_password_for_instant_meetings:
+ description: If enabled, a random password will be generated on the user's end who starts the instant meeting. Other participants will have to enter the password to join the meeting. If you use PMI for your instant meetings, this option will be disabled.
+ type: boolean
+ require_password_for_pmi_meetings:
+ description: |-
+ Indicates whether a password is required for [PMI](https://support.zoom.us/hc/en-us/articles/203276937-Using-Personal-Meeting-ID-PMI-) meetings or not. The value can be one of the following:
+ `none`: Do not require password for PMI meetings.
+ `all`: Require participants to enter password for all PMI enabled meetings. `jbh_only`: Require password only for meetings where the **"join before host"** setting is enabled.
+ enum:
+ - all
+ - jbh_only
+ - none
+ type: string
+ require_password_for_scheduled_meetings:
+ description: |
+ Require a password for meetings which have already been scheduled
+ type: boolean
+ require_password_for_scheduling_new_meetings:
+ description: "This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting. "
+ type: boolean
+ upcoming_meeting_reminder:
+ description: Receive desktop notification for upcoming meetings.
+ type: boolean
+ type: object
+ telephony:
+ properties:
+ audio_conference_info:
+ description: ""
+ type: string
+ third_party_audio:
+ description: Allow users to join the meeting using the existing 3rd party audio configuration.
+ type: boolean
+ type: object
+ type: object
+ - oneOf:
+ - properties:
+ authentication_option:
+ description: Meeting Authentication Options
+ properties:
+ action:
+ description: Authentication action
+ enum:
+ - update
+ - show
+ - hide
+ type: string
+ default_option:
+ description: Authentication default option
+ type: boolean
+ domains:
+ description: Authentication domains
+ type: string
+ id:
+ description: Authentication id
+ type: string
+ name:
+ description: Authentication name
+ type: string
+ type:
+ description: |2-
+ Authentication type. Specify one of the following authentication types for the authentication profile:
+ * `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
+ * `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
+ * `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
+ enum:
+ - enforce_login
+ - enforce_login_with_same_account
+ - enforce_login_with_domains
+ type: string
+ type: object
+ meeting_authentication:
+ description: Only authenticated users can join meetings
+ type: boolean
+ - properties:
+ authentication_option:
+ description: Authentication Options
+ properties:
+ action:
+ description: Authentication action
+ enum:
+ - update
+ - show
+ - hide
+ type: string
+ default_option:
+ description: Authentication default option
+ type: boolean
+ domians:
+ description: Authentication domians
+ type: string
+ id:
+ description: Authentication id
+ type: string
+ name:
+ description: Authentication name
+ type: string
+ type:
+ description: Authentication type
+ enum:
+ - internally
+ - enforce_login
+ - enforce_login_with_domains
+ type: string
+ type: object
+ recording_authentication:
+ description: Only authenticated users can view cloud recordings
+ type: boolean
+ title: GroupSettingsAuthenticationUpdate
+ type: object
+ - properties:
+ meeting_security:
+ properties:
+ auto_security:
+ description: |-
+ `true`: Require that all meetings are secured with at least one security option.
+
+ This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
+ type: boolean
+ embed_password_in_join_link:
+ description: |
+ If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
+ type: boolean
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ end_to_end_encrypted_meetings:
+ description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
+ type: boolean
+ meeting_password:
+ description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
+ type: boolean
+ meeting_password_requirement:
+ description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the passcode must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar passcode needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the passcode must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided passcode is weak.
+ type: boolean
+ type: object
+ phone_password:
+ description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
+ type: boolean
+ pmi_password:
+ description: |
+ If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
+ type: boolean
+ require_password_for_scheduled_meeting:
+ description: |
+ Require a passcode for meetings which have already been scheduled.
+ type: boolean
+ require_password_for_scheduled_webinar:
+ description: |
+ Require a passcode for webinars which have already been scheduled.
+ type: boolean
+ waiting_room:
+ description: |
+ When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
+ type: boolean
+ waiting_room_settings:
+ description: Specify the settings to be applied if waiting room is enabled.
+ properties:
+ participants_to_place_in_waiting_room:
+ description: |-
+
+
+ Specify who should be admitted to the waiting room. The value of this field can be one of the following:
+ `0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ users_who_can_admit_participants_from_waiting_room:
+ description: |+
+ Specify who can admit participants from the waiting room. The value of this field can be one of the following:
+ `0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
+
+
+ type: integer
+ whitelisted_domains_for_waiting_room:
+ description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
+ type: string
+ type: object
+ webinar_password:
+ description: |
+ If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
+ type: boolean
+ type: object
+ title: Meeting/Webinar Security Settings
+ type: object
+ multipart/form-data:
+ schema:
+ oneOf:
+ - properties:
+ email_notification:
+ properties:
+ alternative_host_reminder:
+ description: Notify the alternative host who is set or removed.
+ type: boolean
+ cancel_meeting_reminder:
+ description: Notify host and participants when the meeting is cancelled.
+ type: boolean
+ cloud_recording_available_reminder:
+ description: Notify host when cloud recording is available.
+ type: boolean
+ jbh_reminder:
+ description: Notify host when participants join the meeting before them.
+ type: boolean
+ schedule_for_host_reminder:
+ description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
+ type: boolean
+ type: object
+ in_meeting:
+ properties:
+ alert_guest_join:
+ description: Allow participants who belong to your account to see that a guest (someone who does not belong to your account) is participating in the meeting/webinar.
+ type: boolean
+ allow_show_zoom_windows:
+ description: Show Zoom windows during screen share.
+ type: boolean
+ annotation:
+ description: Allow participants to use annotation tools to add information to shared screens.
+ type: boolean
+ attendee_on_hold:
+ default: false
+ description: |-
+ Allow host to put attendee on hold.
+
+ **This field has been deprecated and is no longer supported.**
+ type: boolean
+ auto_answer:
+ description: Enable users to see and add contacts to 'auto-answer group' in the contact list on chat. Any call from members of this group will be automatically answered.
+ type: boolean
+ auto_saving_chat:
+ description: Automatically save all in-meeting chats.
+ type: boolean
+ breakout_room:
+ description: Allow host to split meeting participants into separate, smaller rooms.
+ type: boolean
+ chat:
+ description: Allow meeting participants to send chat message visible to all participants.
+ type: boolean
+ closed_caption:
+ description: Allow host to type closed captions or assign a participant/third party device to add closed captions.
+ type: boolean
+ co_host:
+ description: Allow the host to add co-hosts. Co-hosts have the same in-meeting controls as the host.
+ type: boolean
+ custom_data_center_regions:
+ description: If set to `true`, you can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to be used by this group for hosting their real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
+ type: boolean
+ data_center_regions:
+ description: |
+ If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["EU", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
+ enum:
+ - EU
+ - HK
+ - AU
+ - IN
+ - TY
+ - CN
+ - US
+ - CA
+ items:
+ type: string
+ type: array
+ e2e_encryption:
+ description: Require that all meetings are encrypted using AES.
+ type: boolean
+ entry_exit_chime:
+ description: Play sound when participants join or leave.
+ type: string
+ far_end_camera_control:
+ description: Allow another user to take control of the camera during a meeting.
+ type: boolean
+ feedback:
+ description: Enable users to provide feedback to Zoom at the end of the meeting.
+ type: boolean
+ file_transfer:
+ description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for the users in the group or not.
+ type: boolean
+ group_hd:
+ description: Enable higher quality video for host and participants. This will require more bandwidth.
+ type: boolean
+ non_verbal_feedback:
+ description: Allow participants in a meeting can provide nonverbal feedback and express opinions by clicking on icons in the Participants panel.
+ type: boolean
+ only_host_view_device_list:
+ description: Show the list of H.323/SIP devices only to the host.
+ type: boolean
+ original_audio:
+ description: Allow users to select original sound during a meeting.
+ type: boolean
+ polling:
+ description: Add 'Polls' to the meeting controls. This allows the host to survey the attendees.
+ type: boolean
+ post_meeting_feedback:
+ description: Display end-of-meeting experience feedback survey.
+ type: boolean
+ private_chat:
+ description: Allow meeting participants to send a private 1:1 message to another participant.
+ type: boolean
+ record_play_own_voice:
+ description: When each participant joins by telephone, allow the option to record and play their own voice as entry and exit chimes.
+ type: boolean
+ remote_control:
+ description: During screen sharing, allow the person who is sharing to let others control the shared content.
+ type: boolean
+ remote_support:
+ description: Allow meeting host to provide 1:1 remote support to another participant.
+ type: boolean
+ request_permission_to_unmute:
+ description: Indicate whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option should be enabled for the group or not.
+ type: boolean
+ screen_sharing:
+ description: Allow host and participants to share their screen or content during meetings.
+ type: boolean
+ sending_default_email_invites:
+ description: Allow users to invite participants by email only by default.
+ type: boolean
+ show_browser_join_link:
+ description: Allow participants to join a meeting directly from their browser.
+ type: boolean
+ show_device_list:
+ description: Show the list of H.323/SIP devices.
+ type: boolean
+ show_meeting_control_toolbar:
+ description: Always show meeting controls during a meeting.
+ type: boolean
+ stereo_audio:
+ description: Allow users to select stereo audio during a meeting.
+ type: boolean
+ use_html_format_email:
+ description: Allow HTML formatting instead of plain text for meeting invitations scheduled with the Outlook plugin.
+ type: boolean
+ virtual_background:
+ description: Enable virtual background.
+ type: boolean
+ waiting_room:
+ description: Attendees cannot join a meeting until a host admits them individually from the waiting room.
+ type: boolean
+ whiteboard:
+ description: Allow participants to share a whiteboard that includes annotation tools.
+ type: boolean
+ who_can_share_screen:
+ description: |
+ Indicates who can share their screen or content during meetings. The value can be one of the following:
+ `host`: Only host can share the screen.
+ `all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ who_can_share_screen_when_someone_is_sharing:
+ description: |
+ Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
+ `host`: Only a host can share the screen when someone else is sharing.
+ `all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ type: object
+ profile:
+ properties:
+ recording_storage_location:
+ properties:
+ allowed_values:
+ description: |-
+ Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
+
+ Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
+ items:
+ type: string
+ type: array
+ value:
+ description: Abbreviated country code.
+ type: string
+ type: object
+ title: Profile
+ type: object
+ recording:
+ properties:
+ account_user_access_recording:
+ description: Make cloud recordings accessible to account members only.
+ type: boolean
+ archive:
+ description: "[Archiving solution](https://support.zoom.us/hc/en-us/articles/360050431572-Archiving-Meeting-and-Webinar-data) settings. This setting can only be used if you have been granted archiving solution access by the Zoom Support team."
+ properties:
+ enable:
+ description: Enable the archiving feature.
+ type: boolean
+ settings:
+ properties:
+ audio_file:
+ description: Include in-meeting and/or in-webinar audio in the archive.
+ type: boolean
+ cc_transcript_file:
+ description: Include closed caption or transcript in the archive.
+ type: boolean
+ chat_file:
+ description: Include in-meeting chat in the archive.
+ type: boolean
+ chat_with_sender_email:
+ description: Include user email in in-meeting chat file.
+ type: boolean
+ video_file:
+ description: Include in-meeting and/or in-webinar video in the archive.
+ type: boolean
+ type: object
+ type:
+ description: |-
+ Archive types:
+
+ * `1`: Only meetings are archived.
+ * `2`: Only webinars are archived.
+ * `3`: Both meetings and webinars are archived.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ type: object
+ auto_recording:
+ description: Record meetings automatically as they start.
+ type: string
+ cloud_recording:
+ description: Allow hosts to record and save the meeting / webinar in the cloud.
+ type: boolean
+ cloud_recording_download:
+ description: Allow anyone with a link to the cloud recording to download.
+ type: boolean
+ cloud_recording_download_host:
+ description: Allow only the host with a link to the cloud recording to download.
+ type: boolean
+ host_delete_cloud_recording:
+ description: Allow the host to delete the recordings. If this option is disabled, the recordings cannot be deleted by the host and only admin can delete them.
+ type: boolean
+ ip_address_access_control:
+ description: |
+ Setting to allow cloud recording access only from specific IP address ranges.
+ properties:
+ enable:
+ description: |+
+ If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
+
+ type: boolean
+ ip_addresses_or_ranges:
+ description: |+
+ IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
+
+ Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
+
+ type: string
+ type: object
+ local_recording:
+ description: Allow hosts and participants to record the meeting to a local file.
+ type: boolean
+ prevent_host_access_recording:
+ description: |+
+ If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
+
+ type: boolean
+ record_audio_file:
+ description: Record an audio only file.
+ type: boolean
+ record_gallery_view:
+ description: When someone is sharing their screen, active speaker will show on the top right corner of the shared screen.
+ type: boolean
+ record_speaker_view:
+ description: Record active speaker with shared screen.
+ type: boolean
+ recording_audio_transcript:
+ description: Automatically transcribe the audio of a meeting or webinar for cloud recordings.
+ type: boolean
+ save_chat_text:
+ description: Save chat messages from the meeting / webinar.
+ type: boolean
+ show_timestamp:
+ description: Add a timestamp to the recording.
+ type: boolean
+ type: object
+ schedule_meeting:
+ properties:
+ audio_type:
+ description: Determine how participants can join the audio portion of the meeting.
+ type: string
+ embed_password_in_join_link:
+ description: "If the value is set to `true`, the meeting password will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the password.
+
+ \ "
+ type: boolean
+ force_pmi_jbh_password:
+ description: If join before host option is enabled for a personal meeting, then enforce password requirement.
+ type: boolean
+ host_video:
+ description: Start meetings with host video on.
+ type: boolean
+ join_before_host:
+ description: Allow participants to join the meeting before the host arrives
+ type: boolean
+ mute_upon_entry:
+ description: Automatically mute all participants when they join the meeting.
+ type: boolean
+ participant_video:
+ description: Start meetings with participant video on.
+ type: boolean
+ pstn_password_protected:
+ description: Generate and send new passwords for newly scheduled or edited meetings.
+ type: boolean
+ require_password_for_all_meetings:
+ description: Require password from all participants before joining a meeting.
+ type: boolean
+ require_password_for_instant_meetings:
+ description: If enabled, a random password will be generated on the user's end who starts the instant meeting. Other participants will have to enter the password to join the meeting. If you use PMI for your instant meetings, this option will be disabled.
+ type: boolean
+ require_password_for_pmi_meetings:
+ description: |-
+ Indicates whether a password is required for [PMI](https://support.zoom.us/hc/en-us/articles/203276937-Using-Personal-Meeting-ID-PMI-) meetings or not. The value can be one of the following:
+ `none`: Do not require password for PMI meetings.
+ `all`: Require participants to enter password for all PMI enabled meetings. `jbh_only`: Require password only for meetings where the **"join before host"** setting is enabled.
+ enum:
+ - all
+ - jbh_only
+ - none
+ type: string
+ require_password_for_scheduled_meetings:
+ description: |
+ Require a password for meetings which have already been scheduled
+ type: boolean
+ require_password_for_scheduling_new_meetings:
+ description: "This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting. "
+ type: boolean
+ upcoming_meeting_reminder:
+ description: Receive desktop notification for upcoming meetings.
+ type: boolean
+ type: object
+ telephony:
+ properties:
+ audio_conference_info:
+ description: ""
+ type: string
+ third_party_audio:
+ description: Allow users to join the meeting using the existing 3rd party audio configuration.
+ type: boolean
+ type: object
+ type: object
+ - oneOf:
+ - properties:
+ authentication_option:
+ description: Meeting Authentication Options
+ properties:
+ action:
+ description: Authentication action
+ enum:
+ - update
+ - show
+ - hide
+ type: string
+ default_option:
+ description: Authentication default option
+ type: boolean
+ domains:
+ description: Authentication domains
+ type: string
+ id:
+ description: Authentication id
+ type: string
+ name:
+ description: Authentication name
+ type: string
+ type:
+ description: |2-
+ Authentication type. Specify one of the following authentication types for the authentication profile:
+ * `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
+ * `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
+ * `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
+ enum:
+ - enforce_login
+ - enforce_login_with_same_account
+ - enforce_login_with_domains
+ type: string
+ type: object
+ meeting_authentication:
+ description: Only authenticated users can join meetings
+ type: boolean
+ - properties:
+ authentication_option:
+ description: Authentication Options
+ properties:
+ action:
+ description: Authentication action
+ enum:
+ - update
+ - show
+ - hide
+ type: string
+ default_option:
+ description: Authentication default option
+ type: boolean
+ domians:
+ description: Authentication domians
+ type: string
+ id:
+ description: Authentication id
+ type: string
+ name:
+ description: Authentication name
+ type: string
+ type:
+ description: Authentication type
+ enum:
+ - internally
+ - enforce_login
+ - enforce_login_with_domains
+ type: string
+ type: object
+ recording_authentication:
+ description: Only authenticated users can view cloud recordings
+ type: boolean
+ title: GroupSettingsAuthenticationUpdate
+ type: object
+ - properties:
+ meeting_security:
+ properties:
+ auto_security:
+ description: |-
+ `true`: Require that all meetings are secured with at least one security option.
+
+ This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
+ type: boolean
+ embed_password_in_join_link:
+ description: |
+ If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
+ type: boolean
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ end_to_end_encrypted_meetings:
+ description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
+ type: boolean
+ meeting_password:
+ description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
+ type: boolean
+ meeting_password_requirement:
+ description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the passcode must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar passcode needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the passcode must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided passcode is weak.
+ type: boolean
+ type: object
+ phone_password:
+ description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
+ type: boolean
+ pmi_password:
+ description: |
+ If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
+ type: boolean
+ require_password_for_scheduled_meeting:
+ description: |
+ Require a passcode for meetings which have already been scheduled.
+ type: boolean
+ require_password_for_scheduled_webinar:
+ description: |
+ Require a passcode for webinars which have already been scheduled.
+ type: boolean
+ waiting_room:
+ description: |
+ When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
+ type: boolean
+ waiting_room_settings:
+ description: Specify the settings to be applied if waiting room is enabled.
+ properties:
+ participants_to_place_in_waiting_room:
+ description: |-
+
+
+ Specify who should be admitted to the waiting room. The value of this field can be one of the following:
+ `0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ users_who_can_admit_participants_from_waiting_room:
+ description: |+
+ Specify who can admit participants from the waiting room. The value of this field can be one of the following:
+ `0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
+
+
+ type: integer
+ whitelisted_domains_for_waiting_room:
+ description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
+ type: string
+ type: object
+ webinar_password:
+ description: |
+ If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
+ type: boolean
+ type: object
+ title: Meeting/Webinar Security Settings
+ type: object
+ x-examples:
+ application/json:
+ email_notification:
+ alternative_host_reminder: true
+ cancel_meeting_reminder: true
+ cloud_recording_available_reminder: true
+ jbh_reminder: true
+ schedule_for_host_reminder: true
+ in_meeting:
+ alert_guest_join: true
+ allow_show_zoom_windows: true
+ annotation: true
+ attendee_on_hold: true
+ auto_answer: true
+ auto_saving_chat: true
+ breakout_room: false
+ chat: true
+ closed_caption: true
+ co_host: true
+ e2e_encryption: true
+ entry_exit_chime: all
+ far_end_camera_control: true
+ feedback: true
+ group_hd: true
+ non_verbal_feedback: true
+ only_host_view_device_list: false
+ original_audio: true
+ polling: true
+ post_meeting_feedback: true
+ private_chat: true
+ record_play_own_voice: false
+ remote_control: true
+ remote_support: true
+ screen_sharing: true
+ sending_default_email_invites: true
+ show_browser_join_link: true
+ show_device_list: false
+ show_meeting_control_toolbar: true
+ stereo_audio: true
+ use_html_format_email: true
+ virtual_background: true
+ waiting_room: true
+ whiteboard: true
+ recording:
+ account_user_access_recording: false
+ auto_recording: none
+ cloud_recording: true
+ cloud_recording_download: true
+ cloud_recording_download_host: true
+ host_delete_cloud_recording: true
+ local_recording: true
+ record_audio_file: true
+ record_gallery_view: false
+ record_speaker_view: true
+ recording_audio_transcript: false
+ save_chat_text: true
+ show_timestamp: false
+ schedule_meeting:
+ audio_type: both
+ force_pmi_jbh_password: true
+ host_video: true
+ join_before_host: true
+ mute_upon_entry: true
+ participant_video: true
+ pstn_password_protected: true
+ require_password_for_all_meetings: false
+ require_password_for_instant_meetings: false
+ require_password_for_pmi_meetings: all
+ require_password_for_scheduled_meetings: true
+ require_password_for_scheduling_new_meetings: true
+ upcoming_meeting_reminder: true
+ telephony:
+ audio_conference_info: "1234656"
+ third_party_audio: true
+ responses:
+ "200":
+ description: |-
+ **Error code:** `200`
+ Only available for Paid account, {accountId}
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204`
+ Settings updated successfully.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code:** `4130`
+ Group does not exist: {groupId}.
+ summary: Update a group's settings
+ tags:
+ - Groups
+ "/groups/{groupId}/settings/virtual_backgrounds":
+ delete:
+ description: |+
+ Delete existing virtual background file(s) from an account.
+
+ **Prerequisites:**
+ * Virtual background feature must be [enabled](https://support.zoom.us/hc/en-us/articles/210707503-Virtual-Background#h_2ef28080-fce9-4ac2-b567-dc958afab1b7) on the account.
+ **Scope:** `group:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: delGroupVB
+ parameters:
+ - description: Unique identifier of the group. Retrieve the value for this field by calling the [List groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups) API.
+ in: path
+ name: groupId
+ required: true
+ schema:
+ type: string
+ - description: Provide the id of the file that is to be deleted. To delete multiple files, provide comma separated values for this field.
+ in: query
+ name: file_ids
+ schema:
+ type: string
+ responses:
+ "204":
+ description: |
+ **HTTP Status Code:** `204` **No Content**
+ Deleted.
+ "400":
+ description: |
+ **HTTP Status Code:** `400` **Bad request**
+ **Error Code:** `300`
+ Invalid parameter: file_ids.
+ Group member not found.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `4130`
+ A group with this {groupId} does not exist.
+ summary: Delete virtual background files
+ tags:
+ - Groups
+ parameters:
+ - description: Provide the id of the file that is to be deleted. To delete multiple files, provide comma separated values for this field.
+ in: query
+ name: file_ids
+ schema:
+ type: string
+ - in: path
+ name: groupId
+ required: true
+ schema:
+ type: string
+ post:
+ description: |-
+ Use this API to [upload virtual background files](https://support.zoom.us/hc/en-us/articles/210707503-Virtual-Background#h_01EJF3YFEWGT8YA0ZJ079JEDQE) for all users in a group to use.
+
+
+ **Prerequisites:**
+ * Virtual background feature must be [enabled](https://support.zoom.us/hc/en-us/articles/210707503-Virtual-Background#h_2ef28080-fce9-4ac2-b567-dc958afab1b7) on the account.
+ **Scope:** `group:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+
+
+ `
+ operationId: uploadGroupVB
+ parameters:
+ - description: Unique identifier of the group. Retrieve the value for this field by calling the [List groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups) API.
+ in: path
+ name: groupId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ $ref: "#/components/requestBodies/uploadVB"
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ id: _Tcj7354w6eHw
+ is_default: false
+ name: u=mdbhhfg3y7&fm=2fdjs0.jpg
+ size: 53434
+ type: image
+ schema:
+ properties:
+ id:
+ description: Unique identifier of the file.
+ type: string
+ is_default:
+ description: Indicate whether or not this file is the default virtual background file.
+ type: boolean
+ name:
+ description: File name.
+ type: string
+ size:
+ description: File size.
+ type: string
+ type:
+ description: File type.
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ id:
+ description: Unique identifier of the file.
+ type: string
+ is_default:
+ description: Indicate whether or not this file is the default virtual background file.
+ type: boolean
+ name:
+ description: File name.
+ type: string
+ size:
+ description: File size.
+ type: string
+ type:
+ description: File type.
+ type: string
+ type: object
+ description: |
+ **HTTP Status Code:** `201` **Created**
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `120`
+ No file uploaded, verify that a file has been uploaded.
+ File size cannot exceed 15M.
+ A maximum of 10 files are allowed for a user.
+ Only jpg/jpeg or png image file can be uploaded.
+
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User not exist.
+ User {email} not exist or not belong to this account.
+ summary: Upload virtual background files
+ tags:
+ - Groups
+ /h323/devices:
+ get:
+ description: |-
+ A H.323 or SIP device can make a video call to a [Room Connector](https://support.zoom.us/hc/en-us/articles/201363273-Getting-Started-With-H-323-SIP-Room-Connector) to join a Zoom cloud meeting. A Room Connector can also call out to a H.323 or SIP device to join a Zoom cloud meeting. Use this API to list all H.323/SIP Devices on a Zoom account.
+ **Scopes:** `h323:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: deviceList
+ parameters:
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: |-
+
+ **Deprecated** - This field has been deprecated and we will stop supporting it completely in a future release. Please use "next_page_token" for pagination instead of this field.
+
+ The page number of the current page in the returned records.
+ in: query
+ name: page_number
+ schema:
+ default: 1
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ devices:
+ - encryption: auto
+ id: abceHewahkrehwiK
+ ip: 127.0.0.1
+ name: api_test_20190508
+ protocol: H.323
+ page_count: 1
+ page_number: 1
+ page_size: 1
+ total_records: 1
+ schema:
+ allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: |-
+ **Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
+
+ The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ - properties:
+ devices:
+ description: List of H.323/SIP Device objects.
+ items:
+ allOf:
+ - properties:
+ id:
+ description: Device ID.
+ type: string
+ type: object
+ - description: The H.323/SIP device object.
+ properties:
+ encryption:
+ description: Device encryption: `auto` - auto. `yes` - yes. `no` - no.
+ enum:
+ - auto
+ - yes
+ - no
+ type: string
+ x-enum-descriptions:
+ - auto
+ - yes
+ - no
+ ip:
+ description: Device IP.
+ type: string
+ name:
+ description: Device name.
+ maxLength: 64
+ type: string
+ protocol:
+ description: Device protocol: `H.323` - H.323. `SIP` - SIP.
+ enum:
+ - H.323
+ - SIP
+ type: string
+ x-enum-descriptions:
+ - H.323
+ - SIP
+ required:
+ - name
+ - protocol
+ - ip
+ - encryption
+ title: The H.323/SIP device object.
+ type: object
+ type: array
+ description: List of H.323/SIP Devices.
+ title: H.323/SIP Device List
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: |-
+ **Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
+
+ The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ - properties:
+ devices:
+ description: List of H.323/SIP Device objects.
+ items:
+ allOf:
+ - properties:
+ id:
+ description: Device ID.
+ type: string
+ type: object
+ - description: The H.323/SIP device object.
+ properties:
+ encryption:
+ description: Device encryption: `auto` - auto. `yes` - yes. `no` - no.
+ enum:
+ - auto
+ - yes
+ - no
+ type: string
+ x-enum-descriptions:
+ - auto
+ - yes
+ - no
+ ip:
+ description: Device IP.
+ type: string
+ name:
+ description: Device name.
+ maxLength: 64
+ type: string
+ protocol:
+ description: Device protocol: `H.323` - H.323. `SIP` - SIP.
+ enum:
+ - H.323
+ - SIP
+ type: string
+ x-enum-descriptions:
+ - H.323
+ - SIP
+ required:
+ - name
+ - protocol
+ - ip
+ - encryption
+ title: The H.323/SIP device object.
+ type: object
+ type: array
+ description: List of H.323/SIP Devices.
+ title: H.323/SIP Device List
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ List of H.323/SIP devices returned.
+ **Error Code:** `200`
+ No permission.
+ security:
+ - OAuth: []
+ summary: List H.323/SIP devices
+ tags:
+ - Devices
+ post:
+ description: |-
+ A H.323 or SIP device can make a video call to a [Room Connector](https://support.zoom.us/hc/en-us/articles/201363273-Getting-Started-With-H-323-SIP-Room-Connector) to join a Zoom cloud meeting. A Room Connector can also call out to a H.323 or SIP device to join a Zoom cloud meeting. Use this API to add a H.323/SIP device to your Zoom account
+ **Scopes:** `h323:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: deviceDelete
+ parameters:
+ - description: The device ID.
+ in: path
+ name: deviceId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ description: You do not have the permission to delete this device.
+ "204":
+ description: H.323/SIP device deleted.
+ "300":
+ description: "H.323 device does not exist: {deviceId}."
+ "404":
+ description: H.323/SIP device not found.
+ summary: Delete a H.323/SIP device
+ tags:
+ - Devices
+ patch:
+ description: |-
+ A H.323 or SIP device can make a video call to a [Room Connector](https://support.zoom.us/hc/en-us/articles/201363273-Getting-Started-With-H-323-SIP-Room-Connector) to join a Zoom cloud meeting. A Room Connector can also call out to a H.323 or SIP device to join a Zoom cloud meeting. Use this API to edit information of a H.323/SIP device from your Zoom account.
+ To get authorized, make a POST request to `/oauth/token` endpoint with grant type as `client_credentials`. Use `https://api.zoom.us/oauth/token?grant_type=client_credentials` as the endpoint for the request.
+ You will need to send your ClientID and Secret as a Basic base64 encoded AUthorization header. Ex. `Basic base64Encode({client_id}:{client_sceret})`
Next, use the token recieved (access_token) as a bearer token while making the POST /im/chat/messages request to send chatbot messages.
+ Learn more about how to authorize chatbots in the [Chatbot Authorization](https://marketplace.zoom.us/docs/guides/chatbots/authorization) guide.
+ operationId: sendchatbot
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ account_id:
+ description: Account ID of the authorized account.
+ type: string
+ content:
+ description: JSON template describing how the message should be displayed for the user. For more information please see our ["Send Message" templates](https://marketplace.zoom.us/docs/guides/chatbots/sending-messages#example-request).
+ type: object
+ is_markdown_support:
+ description: |-
+ **Optional**
+ Applies the markdown parser to your chatbot message if the value of this field is set to `true`. To learn more, refer to the Chatbot message [markdown reference](https://marketplace.zoom.us/docs/guides/chatbots/customizing-messages/message-with-markdown).
+ type: boolean
+ robot_jid:
+ description: Robot JID created when enabling chatbot features on your marketplace app.
+ type: string
+ to_jid:
+ description: Unique JID of reciever. Can be a group or user.
+ type: string
+ user_jid:
+ description: |-
+ **Optional**
+ The UserJID of the user on whose behalf the message is being sent. Use this field to prevent members of a channel from getting notifications that were set up by a user who has left the channel.
+ type: string
+ visible_to_user:
+ description: "**Optional** Allow a Chatbot to send a message to a group channel, but have only one designated person in that group channel see the message by providing the person's UserID in this field."
+ type: string
+ required:
+ - robot_jid
+ - to_jid
+ - account_id
+ - content
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ account_id:
+ description: Account ID of the authorized account.
+ type: string
+ content:
+ description: JSON template describing how the message should be displayed for the user. For more information please see our ["Send Message" templates](https://marketplace.zoom.us/docs/guides/chatbots/sending-messages#example-request).
+ type: object
+ is_markdown_support:
+ description: |-
+ **Optional**
+ Applies the markdown parser to your chatbot message if the value of this field is set to `true`. To learn more, refer to the Chatbot message [markdown reference](https://marketplace.zoom.us/docs/guides/chatbots/customizing-messages/message-with-markdown).
+ type: boolean
+ robot_jid:
+ description: Robot JID created when enabling chatbot features on your marketplace app.
+ type: string
+ to_jid:
+ description: Unique JID of reciever. Can be a group or user.
+ type: string
+ user_jid:
+ description: |-
+ **Optional**
+ The UserJID of the user on whose behalf the message is being sent. Use this field to prevent members of a channel from getting notifications that were set up by a user who has left the channel.
+ type: string
+ visible_to_user:
+ description: "**Optional** Allow a Chatbot to send a message to a group channel, but have only one designated person in that group channel see the message by providing the person's UserID in this field."
+ type: string
+ required:
+ - robot_jid
+ - to_jid
+ - account_id
+ - content
+ type: object
+ x-examples:
+ application/json:
+ account_id: dmdbffgjbfhgfdj
+ content:
+ body:
+ - text: Greetings from the cool bot
+ type: message
+ head:
+ text: Hello World
+ robot_jid: bjkfdsbfbdshfdbnf
+ to_jid: dsjhvfdhfvdfh
+ responses:
+ "200":
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ Message Sent.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `7001`
+ Link does not support markdown format.
+ Edit message does not support markdown format.
+ security:
+ - Client_Credentials: []
+ summary: Send chatbot messages
+ tags:
+ - Chatbot Messages
+ "/im/chat/messages/{message_id}":
+ delete:
+ description: |-
+ Delete a message that was sent by your chatbot app.
To get authorized, make a POST request to `/oauth/token` endpoint with grant type as `client_credentials`. Use `https://api.zoom.us/oauth/token?grant_type=client_credentials` as the endpoint for the request.
+ You will need to send your ClientID and Secret as a Basic base64 encoded AUthorization header. Ex. `Basic base64Encode({client_id}:{client_sceret})`
Next, use the token received (access_token) as a bearer token while making the DELETE /im/chat/messages/{message_id} request to delete a message.
+ Learn more about how to authotize chatbots in the [Chatbot Authorization](https://marketplace.zoom.us/docs/guides/chatbots/authorization) guide.
+ operationId: deleteAChatbotMessage
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ account_id:
+ description: The AccountID of the Zoom account to which the message was sent. Retrieve this from the Chatbot request sent to your server as shown in the example [here]( https://marketplace.zoom.us/docs/guides/chatbots/sending-messages).
+ type: string
+ robot_jid:
+ description: The BotJID found in the Chat Subscription Section on the Features page of your App Dashboard.
+ type: string
+ user_jid:
+ description: The UserJID of the user on whose behalf the message is being sent. Used to prevent members of a channel from getting notifications that were set up by a user who has left the channel.
+ type: string
+ required:
+ - robot_jid
+ - account_id
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ account_id:
+ description: The AccountID of the Zoom account to which the message was sent. Retrieve this from the Chatbot request sent to your server as shown in the example [here]( https://marketplace.zoom.us/docs/guides/chatbots/sending-messages).
+ type: string
+ robot_jid:
+ description: The BotJID found in the Chat Subscription Section on the Features page of your App Dashboard.
+ type: string
+ user_jid:
+ description: The UserJID of the user on whose behalf the message is being sent. Used to prevent members of a channel from getting notifications that were set up by a user who has left the channel.
+ type: string
+ required:
+ - robot_jid
+ - account_id
+ type: object
+ x-examples:
+ application/json:
+ account_id: ghjgyu674hfgjn
+ robot_jid: dgfhfhfdhfghgf
+ user_jid: gfhgfhytu6ujg
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ message_id: 20191017014024747_XYYRFjM_main
+ robot_jid: v1pky3qsaoqqwdfdsaf5pl8q@xmppdev.zoom.us
+ sent_time: 2019-10-17 01:40:24
+ to_jid: xxx@conference.xmppdev.zoom.us
+ user_jid: jnr_3e_eq4cveeafp3qp6w@xmppdev.zoom.us
+ schema:
+ properties:
+ message_id:
+ description: Unique identifier of the message that was deleted.
+ type: string
+ robot_jid:
+ description: The BotJID of the Chatbot app. It can be found in the Chat Subscription Section on the Features page of your App Dashboard
+ type: string
+ sent_time:
+ description: The date and time at which the message was deleted.
+ type: string
+ to_jid:
+ description: The JID of the Channel or User to whom the message was sent.
+ type: string
+ user_jid:
+ description: " The UserJID of the user on whose behalf the message was sent. Used to prevent members of a channel from getting notifications that were set up by a user who has left the channel."
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ message_id:
+ description: Unique identifier of the message that was deleted.
+ type: string
+ robot_jid:
+ description: The BotJID of the Chatbot app. It can be found in the Chat Subscription Section on the Features page of your App Dashboard
+ type: string
+ sent_time:
+ description: The date and time at which the message was deleted.
+ type: string
+ to_jid:
+ description: The JID of the Channel or User to whom the message was sent.
+ type: string
+ user_jid:
+ description: " The UserJID of the user on whose behalf the message was sent. Used to prevent members of a channel from getting notifications that were set up by a user who has left the channel."
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ Message deleted.
+ security:
+ - Client_Credentials: []
+ summary: Delete a chatbot message
+ tags:
+ - Chatbot Messages
+ parameters:
+ - in: path
+ name: message_id
+ required: true
+ schema:
+ type: string
+ put:
+ description: |-
+ Edit a message that was [sent](https://marketplace.zoom.us/docs/api-reference/zoom-api/im-chat/sendchatbot) by your Chatbot app. After sending a message using the Send Chatbot Message API, you must store the messageId returned in the response so that you can make edits to the associated message using this API.
+
+ **Scope:** `imchat:bot`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ **Authorization Flow**: Client Credentials Flow
+ To get authorized, make a POST request to `/oauth/token` endpoint with grant type as `client_credentials`. Use `https://api.zoom.us/oauth/token?grant_type=client_credentials` as the endpoint for the request.
+ You will need to send your ClientID and Secret as a Basic base64 encoded AUthorization header. Ex. `Basic base64Encode({client_id}:{client_sceret})`
Next, use the token received (access_token) as a bearer token while making the PUT /im/chat/messages/{message_id} request to edit a chatbot message.
+ Learn more about how to authotize chatbots in the [Chatbot Authorization](https://marketplace.zoom.us/docs/guides/chatbots/authorization) guide.
+ operationId: editChatbotMessage
+ parameters:
+ - description: Unique Identifier of the message that needs to be updated. This should be retrieved from the response of [Send Chatbot Message API](https://marketplace.zoom.us/docs/api-reference/zoom-api/im-chat/sendchatbot).
+ in: path
+ name: message_id
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ account_id:
+ description: The AccountID of the Zoom account to which the message was sent. Retrieve this from the Chatbot request sent to your server as shown in the example [here]( https://marketplace.zoom.us/docs/guides/chatbots/sending-messages).
+ type: string
+ content:
+ description: JSON template describing how the edited message should be displayed for the user. For more information please see our ["Send Message" templates](https://marketplace.zoom.us/docs/guides/chatbots/sending-messages#example-request).
+ type: object
+ is_markdown_support:
+ description: |-
+ **Optional**
+ Enable or disable markdown parser to your chatbot message. Applies the markdown parser to your chatbot message if the value of this field is set to `true`. To learn more, refer to the Chatbot message [markdown reference](https://marketplace.zoom.us/docs/guides/chatbots/customizing-messages/message-with-markdown).
+ type: boolean
+ robot_jid:
+ description: Robot JID created when enabling chatbot features on your marketplace app.
+ type: string
+ user_jid:
+ description: |-
+ **Optional**
+ The UserJID of the user on whose behalf the message is being sent. Use this field to prevent members of a channel from getting notifications that were set up by a user who has left the channel.
+ type: string
+ required:
+ - robot_jid
+ - account_id
+ - content
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ account_id:
+ description: The AccountID of the Zoom account to which the message was sent. Retrieve this from the Chatbot request sent to your server as shown in the example [here]( https://marketplace.zoom.us/docs/guides/chatbots/sending-messages).
+ type: string
+ content:
+ description: JSON template describing how the edited message should be displayed for the user. For more information please see our ["Send Message" templates](https://marketplace.zoom.us/docs/guides/chatbots/sending-messages#example-request).
+ type: object
+ is_markdown_support:
+ description: |-
+ **Optional**
+ Enable or disable markdown parser to your chatbot message. Applies the markdown parser to your chatbot message if the value of this field is set to `true`. To learn more, refer to the Chatbot message [markdown reference](https://marketplace.zoom.us/docs/guides/chatbots/customizing-messages/message-with-markdown).
+ type: boolean
+ robot_jid:
+ description: Robot JID created when enabling chatbot features on your marketplace app.
+ type: string
+ user_jid:
+ description: |-
+ **Optional**
+ The UserJID of the user on whose behalf the message is being sent. Use this field to prevent members of a channel from getting notifications that were set up by a user who has left the channel.
+ type: string
+ required:
+ - robot_jid
+ - account_id
+ - content
+ type: object
+ x-examples:
+ application/json:
+ account_id: ghfgchAFfhfgyt
+ content:
+ body:
+ - text: This is the edited message.
+ type: message
+ head:
+ sub_head:
+ text: This is sub header.
+ text: This is the header.
+ is_markdown_support: "true"
+ robot_jid: zsgsDgfdhdr
+ user_jid: asdjhdThdaXw@xmpp.zoom.us
+ visible_to_user: arrsyrEwestw
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ message_id: 201910tryyRFjM_main
+ robot_jid: v1pky3tyBBB5pl8q@xmpp.zoom.us
+ sent_time: 2019-10-17 01:40:24
+ to_jid: xghfd@shj.zoom.us
+ user_jid: jnrgfjp6w@xmpp.zoom.us
+ schema:
+ properties:
+ message_id:
+ description: Unique Identifier of the updated message,
+ type: string
+ robot_jid:
+ description: The BotJID found in the Chat Subscription Section on the Features page of your App Dashboard.
+ type: string
+ sent_time:
+ description: The date and time at which the message was sent.
+ format: date-time
+ type: string
+ to_jid:
+ description: The JID of the Channel or User to whom the message was sent.
+ type: string
+ user_jid:
+ description: The UserJID of the user on whose behalf the message is being sent. Used to prevent members of a channel from getting notifications that were set up by a user who has left the channel.
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ message_id:
+ description: Unique Identifier of the updated message,
+ type: string
+ robot_jid:
+ description: The BotJID found in the Chat Subscription Section on the Features page of your App Dashboard.
+ type: string
+ sent_time:
+ description: The date and time at which the message was sent.
+ format: date-time
+ type: string
+ to_jid:
+ description: The JID of the Channel or User to whom the message was sent.
+ type: string
+ user_jid:
+ description: The UserJID of the user on whose behalf the message is being sent. Used to prevent members of a channel from getting notifications that were set up by a user who has left the channel.
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ Message updated.
+ security:
+ - Client_Credentials: []
+ summary: Edit a chatbot message
+ tags:
+ - Chatbot Messages
+ /im/chat/sessions:
+ get:
+ deprecated: true
+ description: |-
+ Retrieve IM Chat sessions for a specified period of time.
+
+ **Scopes:** `imchat:read, imchat:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+
+ Please see our [announcements page related to this deprecation](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#im-api-notice).
+ operationId: imChatSessions
+ parameters:
+ - description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
+ in: query
+ name: from
+ required: true
+ schema:
+ format: date
+ type: string
+ - description: End date.
+ in: query
+ name: to
+ required: true
+ schema:
+ format: date
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ from: 2019-08-31
+ next_page_token: vsdfjesfdhs
+ page_size: 30
+ sessions:
+ - last_message_sent_time: 2016-12-16T05:04:08.470Z
+ name: API overview meeting
+ session_id: dkhfgjd
+ type: Group
+ to: 2019-09-12
+ schema:
+ allOf:
+ - properties:
+ from:
+ description: Start date.
+ format: date
+ type: string
+ to:
+ description: End date.
+ format: date
+ type: string
+ type: object
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of the available result list exceeds the page size. The expiration period is 15 minutes.
+ type: string
+ page_size:
+ default: 30
+ description: "The amount of records returns within a single API call. "
+ maximum: 300
+ type: integer
+ type: object
+ - properties:
+ sessions:
+ description: Array of session objects.
+ items:
+ properties:
+ last_message_sent_time:
+ description: Last message sent time.
+ format: date-time
+ type: string
+ name:
+ description: Meeting topic.
+ type: string
+ session_id:
+ description: IM chat session ID.
+ type: string
+ type:
+ description: IM chat session type.
+ enum:
+ - Group
+ - 1:1
+ type: string
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ from:
+ description: Start date.
+ format: date
+ type: string
+ to:
+ description: End date.
+ format: date
+ type: string
+ type: object
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of the available result list exceeds the page size. The expiration period is 15 minutes.
+ type: string
+ page_size:
+ default: 30
+ description: "The amount of records returns within a single API call. "
+ maximum: 300
+ type: integer
+ type: object
+ - properties:
+ sessions:
+ description: Array of session objects.
+ items:
+ properties:
+ last_message_sent_time:
+ description: Last message sent time.
+ format: date-time
+ type: string
+ name:
+ description: Meeting topic.
+ type: string
+ session_id:
+ description: IM chat session ID.
+ type: string
+ type:
+ description: IM chat session type.
+ enum:
+ - Group
+ - 1:1
+ type: string
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Archived IM chat sessions returned.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ The next page token is invalid or expired.
+ Report requested exceeds 6 month limit.
+ security:
+ - OAuth: []
+ summary: Get IM chat sessions
+ tags:
+ - IM Chat
+ "/im/chat/sessions/{sessionId}":
+ get:
+ deprecated: true
+ description: |+
+ Retrieve IM chat messages for a specified period of time.
+
+ **Scopes:** `imchat:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+
+ Please see our [announcements page related to this deprecation](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#im-api-notice).
+
+
+ operationId: imChatMessages
+ parameters:
+ - description: IM chat session ID.
+ in: path
+ name: sessionId
+ required: true
+ schema:
+ type: string
+ - description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
+ in: query
+ name: from
+ required: true
+ schema:
+ format: date
+ type: string
+ - description: End date.
+ in: query
+ name: to
+ required: true
+ schema:
+ format: date
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ from: string [date]
+ messages:
+ - action: string
+ action_time: string [date-time]
+ date_time: string [date-time]
+ message: string
+ sender: string
+ next_page_token: string
+ page_size: integer
+ session_id: string
+ to: string [date]
+ schema:
+ allOf:
+ - properties:
+ from:
+ description: Start date.
+ format: date
+ type: string
+ session_id:
+ description: IM chat session ID.
+ type: string
+ to:
+ description: End date.
+ format: date
+ type: string
+ type: object
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of the available result list exceeds the page size. The expiration period is 15 minutes.
+ type: string
+ page_size:
+ default: 30
+ description: "The amount of records returns within a single API call. "
+ maximum: 300
+ type: integer
+ type: object
+ - properties:
+ messages:
+ description: Array of session objects.
+ items:
+ properties:
+ action:
+ description: IM chat message action.
+ type: string
+ action_time:
+ description: Action time.
+ format: date-time
+ type: string
+ date_time:
+ description: IM chat message sent time.
+ format: date-time
+ type: string
+ message:
+ description: IM chat message content.
+ type: string
+ sender:
+ description: IM chat message sender.
+ type: string
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ from:
+ description: Start date.
+ format: date
+ type: string
+ session_id:
+ description: IM chat session ID.
+ type: string
+ to:
+ description: End date.
+ format: date
+ type: string
+ type: object
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of the available result list exceeds the page size. The expiration period is 15 minutes.
+ type: string
+ page_size:
+ default: 30
+ description: "The amount of records returns within a single API call. "
+ maximum: 300
+ type: integer
+ type: object
+ - properties:
+ messages:
+ description: Array of session objects.
+ items:
+ properties:
+ action:
+ description: IM chat message action.
+ type: string
+ action_time:
+ description: Action time.
+ format: date-time
+ type: string
+ date_time:
+ description: IM chat message sent time.
+ format: date-time
+ type: string
+ message:
+ description: IM chat message content.
+ type: string
+ sender:
+ description: IM chat message sender.
+ type: string
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Archived IM chat messages returned.
+ "300":
+ description: |-
+ **Error Code:**`300`
+ The next page token is either invalid or has expired.
+ Report requested exceeds 6 month limit.
+ summary: Get IM chat messages
+ tags:
+ - IM Chat
+ /im/groups:
+ get:
+ description: |-
+ List [IM directory groups](https://support.zoom.us/hc/en-us/articles/203749815-IM-Management).
+ **Scopes**: `imgroup:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: imGroups
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ groups:
+ - id: sjvfkjfew34535
+ name: MyAdminDirectoryGroup
+ search_by_account: "false"
+ search_by_domain: "true"
+ search_by_ma_account: "false"
+ total_members: "10"
+ type: shared
+ page_count: "1"
+ page_number: "1"
+ page_size: "1"
+ total_records: "1"
+ schema:
+ allOf:
+ - properties:
+ total_records:
+ description: Total number of records returned.
+ type: integer
+ - properties:
+ groups:
+ description: List of group objects.
+ items:
+ allOf:
+ - properties:
+ id:
+ description: IM group ID.
+ type: string
+ type: object
+ - allOf:
+ - description: Group object.
+ properties:
+ name:
+ description: Group name.
+ type: string
+ total_members:
+ description: Total number of members in this group.
+ type: integer
+ type: object
+ - properties:
+ search_by_account:
+ description: Members can search for others under same account.
+ type: boolean
+ search_by_domain:
+ description: Members can search for others in the same email domain.
+ type: boolean
+ search_by_ma_account:
+ description: Members can search for others under same master account - including all sub accounts.
+ type: boolean
+ type:
+ default: normal
+ description: "IM Group types: `normal` - Only members can see the other members in the group. Other people can search for members in the group. `shared` - Everyone in the account can see the group and members. `restricted` - No one except group members can see the group or search for other group members. "
+ enum:
+ - normal
+ - shared
+ - restricted
+ type: string
+ x-enum-descriptions:
+ - Only members can see the group automatically. Other people can search members in the group.
+ - All people in the account can see the group and members automatically
+ - Nobody can see the group or search members except the members in the group
+ description: IM group object.
+ type: object
+ type: array
+ description: List of IM Groups.
+ title: IM Group List
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ total_records:
+ description: Total number of records returned.
+ type: integer
+ - properties:
+ groups:
+ description: List of group objects.
+ items:
+ allOf:
+ - properties:
+ id:
+ description: IM group ID.
+ type: string
+ type: object
+ - allOf:
+ - description: Group object.
+ properties:
+ name:
+ description: Group name.
+ type: string
+ total_members:
+ description: Total number of members in this group.
+ type: integer
+ type: object
+ - properties:
+ search_by_account:
+ description: Members can search for others under same account.
+ type: boolean
+ search_by_domain:
+ description: Members can search for others in the same email domain.
+ type: boolean
+ search_by_ma_account:
+ description: Members can search for others under same master account - including all sub accounts.
+ type: boolean
+ type:
+ default: normal
+ description: "IM Group types: `normal` - Only members can see the other members in the group. Other people can search for members in the group. `shared` - Everyone in the account can see the group and members. `restricted` - No one except group members can see the group or search for other group members. "
+ enum:
+ - normal
+ - shared
+ - restricted
+ type: string
+ x-enum-descriptions:
+ - Only members can see the group automatically. Other people can search members in the group.
+ - All people in the account can see the group and members automatically
+ - Nobody can see the group or search members except the members in the group
+ description: IM group object.
+ type: object
+ type: array
+ description: List of IM Groups.
+ title: IM Group List
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ List of groups returned.
+ **Error Code:** `200`
+ List of IM groups returned.
+ Only available for paid account:{accountId}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code:** `4130`
+ Group does not exist:{groupId}.
+ summary: List IM directory groups
+ tags:
+ - IM Groups
+ post:
+ description: |-
+ Create an [IM directory group](https://support.zoom.us/hc/en-us/articles/203749815-IM-Management) under your account.
+ **Scopes**: `imgroup:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: imGroupCreate
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ name:
+ description: "Group name: must be unique to one account."
+ maxLength: 128
+ type: string
+ search_by_account:
+ description: Members can search for others under same account.
+ type: boolean
+ search_by_domain:
+ description: Members can search for others in the same email domain.
+ type: boolean
+ search_by_ma_account:
+ description: Members can search for others under same master account, including all sub accounts.
+ type: boolean
+ type:
+ default: normal
+ description: IM Group types: `normal` - Only members can see automatically see the other members of this group. Other people can search for members within this group. `shared` - Everyone under an account can see the group members automatically. `restricted` - Nobody can see the group or search for members except the members in the group.
+ enum:
+ - normal
+ - shared
+ - restricted
+ type: string
+ x-enum-descriptions:
+ - Only members can see the group automatically. Other people can search members in the group.
+ - All people in the account can see the group and members automatically
+ - Nobody can see the group or search members except the members in the group
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ name:
+ description: "Group name: must be unique to one account."
+ maxLength: 128
+ type: string
+ search_by_account:
+ description: Members can search for others under same account.
+ type: boolean
+ search_by_domain:
+ description: Members can search for others in the same email domain.
+ type: boolean
+ search_by_ma_account:
+ description: Members can search for others under same master account, including all sub accounts.
+ type: boolean
+ type:
+ default: normal
+ description: IM Group types: `normal` - Only members can see automatically see the other members of this group. Other people can search for members within this group. `shared` - Everyone under an account can see the group members automatically. `restricted` - Nobody can see the group or search for members except the members in the group.
+ enum:
+ - normal
+ - shared
+ - restricted
+ type: string
+ x-enum-descriptions:
+ - Only members can see the group automatically. Other people can search members in the group.
+ - All people in the account can see the group and members automatically
+ - Nobody can see the group or search members except the members in the group
+ type: object
+ required: true
+ x-examples:
+ application/json:
+ name: MyAdminDirectoryGroup
+ search_by_account: "false"
+ search_by_domain: "true"
+ search_by_ma_account: "false"
+ type: shared
+ responses:
+ "200":
+ description: |-
+ **Error Code:** `200`
+ Only available for paid account:{accountId}.
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value: {}
+ schema:
+ properties:
+ id:
+ description: Group ID.
+ type: string
+ name:
+ description: Group name.
+ type: string
+ search_by_account:
+ description: Members can search for others under same account.
+ type: boolean
+ search_by_domain:
+ description: Members can search for others in the same email domain.
+ type: boolean
+ search_by_ma_account:
+ description: Members can search for others under same master account, including all sub accounts.
+ type: boolean
+ total_members:
+ description: Group member count.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ id:
+ description: Group ID.
+ type: string
+ name:
+ description: Group name.
+ type: string
+ search_by_account:
+ description: Members can search for others under same account.
+ type: boolean
+ search_by_domain:
+ description: Members can search for others in the same email domain.
+ type: boolean
+ search_by_ma_account:
+ description: Members can search for others under same master account, including all sub accounts.
+ type: boolean
+ total_members:
+ description: Group member count.
+ type: integer
+ type: object
+ new:
+ examples:
+ response:
+ value:
+ id: string
+ name: string
+ search_by_account: boolean
+ search_by_domain: boolean
+ search_by_ma_account: boolean
+ total_members: integer
+ description: |-
+ **HTTP Status Code:** `201`
+ IM Group created.
+ headers:
+ Content-Location:
+ description: Location of created IM Group
+ schema:
+ type: string
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code:** `4130`
+ Group does not exist:{groupId}.
+ "409":
+ description: |-
+ **HTTP Status Code:** `409`
+ **Error Code:** `4132`
+ Group name {groupName} is already in use.
+ summary: Create an IM directory group
+ tags:
+ - IM Groups
+ "/im/groups/{groupId}":
+ delete:
+ description: |-
+ Delete an [IM directory group](https://support.zoom.us/hc/en-us/articles/203749815-IM-Management) under your account.
+ Scopes: `imgroup:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: imGroupDelete
+ parameters:
+ - description: |-
+ The group ID.
+ Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups).
+ in: path
+ name: groupId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ description: |+
+ **HTTP Status Code:** `204`
+ IM group deleted.
+
+ "300":
+ description: |-
+ **Error Code:** `300`
+ Missing field: name.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ IM Group not found.
+ **Error Code:** `4130`
+ Group does not exist:{groupId}.
+ summary: Delete an IM directory group
+ tags:
+ - IM Groups
+ get:
+ description: |-
+ Retrieve an [IM directory group](https://support.zoom.us/hc/en-us/articles/203749815-IM-Management) under your account.
+ Scopes: `imgroup:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: imGroup
+ parameters:
+ - description: |-
+ The group ID.
+ Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups).
+ in: path
+ name: groupId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ id: string
+ name: string
+ search_by_account: boolean
+ search_by_domain: boolean
+ search_by_ma_account: boolean
+ total_members: integer
+ type: string
+ schema:
+ allOf:
+ - properties:
+ id:
+ description: Group ID.
+ type: string
+ type: object
+ - allOf:
+ - description: Group object.
+ properties:
+ name:
+ description: Group name.
+ type: string
+ total_members:
+ description: Total number of members in this group.
+ type: integer
+ type: object
+ - properties:
+ search_by_account:
+ description: Members can search for others under same account.
+ type: boolean
+ search_by_domain:
+ description: Members can search for others in the same email domain.
+ type: boolean
+ search_by_ma_account:
+ description: Members can search for others under same master account - including all sub accounts.
+ type: boolean
+ type:
+ default: normal
+ description: "IM Group types: `normal` - Only members can see the other members in the group. Other people can search for members in the group. `shared` - Everyone in the account can see the group and members. `restricted` - No one except group members can see the group or search for other group members. "
+ enum:
+ - normal
+ - shared
+ - restricted
+ type: string
+ x-enum-descriptions:
+ - Only members can see the group automatically. Other people can search members in the group.
+ - All people in the account can see the group and members automatically
+ - Nobody can see the group or search members except the members in the group
+ description: IM group object.
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ id:
+ description: Group ID.
+ type: string
+ type: object
+ - allOf:
+ - description: Group object.
+ properties:
+ name:
+ description: Group name.
+ type: string
+ total_members:
+ description: Total number of members in this group.
+ type: integer
+ type: object
+ - properties:
+ search_by_account:
+ description: Members can search for others under same account.
+ type: boolean
+ search_by_domain:
+ description: Members can search for others in the same email domain.
+ type: boolean
+ search_by_ma_account:
+ description: Members can search for others under same master account - including all sub accounts.
+ type: boolean
+ type:
+ default: normal
+ description: "IM Group types: `normal` - Only members can see the other members in the group. Other people can search for members in the group. `shared` - Everyone in the account can see the group and members. `restricted` - No one except group members can see the group or search for other group members. "
+ enum:
+ - normal
+ - shared
+ - restricted
+ type: string
+ x-enum-descriptions:
+ - Only members can see the group automatically. Other people can search members in the group.
+ - All people in the account can see the group and members automatically
+ - Nobody can see the group or search members except the members in the group
+ description: IM group object.
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ IM group object returned.
+ **Error Code:** `200`
+ Only available for paid account:{accountId}.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ Missing field: name.
+ "404":
+ description: |-
+ **HTTP Status Code:**
+ IM Group not found.
+ **Error Code:** `4130`
+ Group does not exist:{groupId}.
+ summary: Retrieve an IM directory group
+ tags:
+ - IM Groups
+ patch:
+ description: |-
+ Update an [IM directory group](https://support.zoom.us/hc/en-us/articles/203749815-IM-Management) under your account.
+ **Scopes**: `imgroup:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: imGroupUpdate
+ parameters:
+ - description: |-
+ The group ID.
+ Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups).
+ in: path
+ name: groupId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ name:
+ description: "Group name: must be unique to one account."
+ maxLength: 128
+ type: string
+ search_by_account:
+ description: Members can search for others under same account.
+ type: boolean
+ search_by_domain:
+ description: Members can search for others in the same email domain.
+ type: boolean
+ search_by_ma_account:
+ description: Members can search for others under same master account, including all sub accounts.
+ type: boolean
+ type:
+ description: IM Group types: `normal` - Only group members can automatically see others in their group. Other people can search for members in the group. `shared` - Everyone under the account can see the group and members automatically. `restricted` - Nobody can see the group or search for members except for the members in the group.
+ enum:
+ - normal
+ - shared
+ - restricted
+ type: string
+ x-enum-descriptions:
+ - Only members can see the group automatically. Other people can search members in the group.
+ - All people in the account can see the group and members automatically
+ - Nobody can see the group or search members except the members in the group
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ name:
+ description: "Group name: must be unique to one account."
+ maxLength: 128
+ type: string
+ search_by_account:
+ description: Members can search for others under same account.
+ type: boolean
+ search_by_domain:
+ description: Members can search for others in the same email domain.
+ type: boolean
+ search_by_ma_account:
+ description: Members can search for others under same master account, including all sub accounts.
+ type: boolean
+ type:
+ description: IM Group types: `normal` - Only group members can automatically see others in their group. Other people can search for members in the group. `shared` - Everyone under the account can see the group and members automatically. `restricted` - Nobody can see the group or search for members except for the members in the group.
+ enum:
+ - normal
+ - shared
+ - restricted
+ type: string
+ x-enum-descriptions:
+ - Only members can see the group automatically. Other people can search members in the group.
+ - All people in the account can see the group and members automatically
+ - Nobody can see the group or search members except the members in the group
+ type: object
+ required: true
+ x-examples:
+ application/json:
+ name: string
+ search_by_account: boolean
+ search_by_domain: boolean
+ search_by_ma_account: boolean
+ type: string
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ IM group updated.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ Missing field: name
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ IM Group not found.
+ **Error Code:** `4130`
+ Group does not exist:{groupId}.
+ summary: Update an IM directory group
+ tags:
+ - IM Groups
+ "/im/groups/{groupId}/members":
+ get:
+ description: |-
+ List the members of an [IM directory group](https://support.zoom.us/hc/en-us/articles/203749815-IM-Management).
+ **Scope:** `imgroup:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: imGroupMembers
+ parameters:
+ - description: |-
+ The group ID.
+ Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups).
+ in: path
+ name: groupId
+ required: true
+ schema:
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: |-
+
+ **Deprecated** - This field has been deprecated and we will stop supporting it completely in a future release. Please use "next_page_token" for pagination instead of this field.
+
+ The page number of the current page in the returned records.
+ in: query
+ name: page_number
+ schema:
+ default: 1
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ members:
+ - email: fidsgkrdjksagf@someemail.dsfjksdh
+ first_name: Rahul
+ id: dlfjdhq3430394
+ last_name: Ghimire
+ type: "2"
+ page_count: "1"
+ page_number: "1"
+ page_size: "1"
+ total_records: "1"
+ schema:
+ allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: |-
+ **Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
+
+ The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ - properties:
+ members:
+ description: List of Group member objects.
+ items:
+ description: Group member object.
+ properties:
+ email:
+ description: User email.
+ type: string
+ first_name:
+ description: User first name.
+ type: string
+ id:
+ description: User ID.
+ type: string
+ last_name:
+ description: User last name.
+ type: string
+ type:
+ description: |-
+ User type.
+ `1` - Basic `2` - Licensed
+ `3` - On-prem
+ type: integer
+ type: object
+ type: array
+ description: List of Group Members.
+ title: Group Member List
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: |-
+ **Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
+
+ The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ - properties:
+ members:
+ description: List of Group member objects.
+ items:
+ description: Group member object.
+ properties:
+ email:
+ description: User email.
+ type: string
+ first_name:
+ description: User first name.
+ type: string
+ id:
+ description: User ID.
+ type: string
+ last_name:
+ description: User last name.
+ type: string
+ type:
+ description: |-
+ User type.
+ `1` - Basic `2` - Licensed
+ `3` - On-prem
+ type: integer
+ type: object
+ type: array
+ description: List of Group Members.
+ title: Group Member List
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ IM group member list returned.
+ **Error Code:** `200`
+ Only available for paid account:{accountId}.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ Missing field: name.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ IM Group not found.
+ security:
+ - OAuth: []
+ summary: List IM directory group members
+ tags:
+ - IM Groups
+ post:
+ description: |-
+ Add members to an [IM directory group](https://support.zoom.us/hc/en-us/articles/203749815-IM-Management) under an account.
+ **Scope:** `imgroup:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: imGroupMembersCreate
+ parameters:
+ - description: |-
+ The group ID.
+ Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups).
+ in: path
+ name: groupId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ members:
+ description: List of IM group members.
+ items:
+ properties:
+ email:
+ description: "User email. If the user ID is given then ignore the user email. "
+ type: string
+ id:
+ description: User ID.
+ type: string
+ type: object
+ maximum: 10
+ type: array
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ members:
+ description: List of IM group members.
+ items:
+ properties:
+ email:
+ description: "User email. If the user ID is given then ignore the user email. "
+ type: string
+ id:
+ description: User ID.
+ type: string
+ type: object
+ maximum: 10
+ type: array
+ type: object
+ required: true
+ x-examples:
+ application/json: |-
+ {
+ "members": [
+ {
+ "id": "dlfjdhq3430jh394",
+ "email": "fidsgkrcbdjksagf@someemail.dsfjksdh",
+ }
+ ]
+ }
+ responses:
+ "200":
+ description: |-
+ **Error Code:** `200`
+ Only available for paid account:{accountId}.
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ added_at: string [date-time]
+ ids: string
+ schema:
+ properties:
+ added_at:
+ format: date-time
+ type: string
+ ids:
+ type: string
+ application/xml:
+ schema:
+ properties:
+ added_at:
+ format: date-time
+ type: string
+ ids:
+ type: string
+ description: |-
+ **HTTP Status Code:** `201`
+ Member added.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ Missing field: name.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ IM Group not found
+ security:
+ - OAuth: []
+ summary: Add IM directory group members
+ tags:
+ - IM Groups
+ "/im/groups/{groupId}/members/{memberId}":
+ delete:
+ description: |-
+ Delete a member from an [IM directory group](https://support.zoom.us/hc/en-us/articles/203749815-IM-Management) under an account.
+ Scopes: `imgroup:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: imGroupMembersDelete
+ parameters:
+ - description: |-
+ The group ID.
+ Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups).
+ in: path
+ name: groupId
+ required: true
+ schema:
+ type: string
+ - description: The member ID.
+ in: path
+ name: memberId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ description: |-
+ **Error Code:** `200`
+ Only available for paid account, {accountId}.
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ IM group member deleted.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ Missing field: name.
+ Can not delete account from default group:{groupId}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ IM Group or IM Group member not found.
+ **Error Code:** `4130`
+ Group does not exist:{groupId}.
+ security:
+ - OAuth: []
+ summary: Delete an IM directory group member
+ tags:
+ - IM Groups
+ /im/users/me/chat/messages:
+ post:
+ deprecated: true
+ description: |-
+ Send chat message to a user.
+ **Scopes:** `imchat:read`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+
+ Please see the [announcements page related to this deprecation.](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#im-api-notice)
+ operationId: listimmessages
+ parameters:
+ - description: The user ID or email address.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ - description: Chat user's ID or email address.
+ in: query
+ name: chat_user
+ schema:
+ type: string
+ - description: IM Channel's ID.
+ in: query
+ name: channel
+ schema:
+ type: string
+ - description: IM message's query date time, format as yyyy-MM-dd.
+ in: query
+ name: date
+ schema:
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 100
+ minimum: 1
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ date: string [date]
+ messages:
+ - date_time: string [date-time]
+ id: string
+ message: string
+ sender: string
+ timstamp: Long
+ next_page_token: string
+ page_size: integer
+ schema:
+ properties:
+ date:
+ description: Query date time, format as yyyy-mm-dd.
+ format: date-time
+ type: string
+ messages:
+ description: Array of im messages.
+ items:
+ properties:
+ date_time:
+ description: IM message send time.
+ format: date-time
+ type: string
+ id:
+ description: IM message UUID.
+ format: uuid
+ type: string
+ message:
+ description: IM message content.
+ type: string
+ sender:
+ description: IM message sender.
+ type: string
+ timstamp:
+ description: IM message send timestamp.
+ type: integer
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: The number of records returned within a single API call.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ date:
+ description: Query date time, format as yyyy-mm-dd.
+ format: date-time
+ type: string
+ messages:
+ description: Array of im messages.
+ items:
+ properties:
+ date_time:
+ description: IM message send time.
+ format: date-time
+ type: string
+ id:
+ description: IM message UUID.
+ format: uuid
+ type: string
+ message:
+ description: IM message content.
+ type: string
+ sender:
+ description: IM message sender.
+ type: string
+ timstamp:
+ description: IM message send timestamp.
+ type: integer
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: The number of records returned within a single API call.
+ type: integer
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ User's IM messages returned.
+ security:
+ - OAuth: []
+ summary: Get user’s IM messages
+ tags:
+ - IM Chat
+ "/live_meetings/{meetingId}/events":
+ parameters:
+ - in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ patch:
+ description: |-
+ Use this API to control the [in-meeting](https://support.zoom.us/hc/en-us/articles/360021921032-In-Meeting-Controls) **recording features** such as starting a recording, stopping a recording, pausing a recording, and resuming a recording. This API only works for Cloud Recordings and not for local recordings.
+
+
+ **Prerequisite:**
+ * The meeting must be a live meeting.
+ * Cloud Recording must be enabled.
+ * The user using this API must either be the host or alternative host of the meeting.
+
+ **Scopes:** `meeting:write`, `meeting:write:admin`, `meeting:master`
+ operationId: inMeetingRecordingControl
+ parameters:
+ - description: Unique identifier of the live meeting.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ method:
+ description: |+
+ The method that you would like to control. The value of this field can be one of the following:
+ * `recording.start`: Provide this value if you would like to start the recording.
+ * `recording.stop`: Provide this value if you would like to stop the recording.
+ * `recording.pause`: Provide this value if you would like to pause the recording.
+ * `recording.resume`: Provide this value if you would like to resume the recording that was previously paused.
+
+
+
+ type: string
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ method:
+ description: |+
+ The method that you would like to control. The value of this field can be one of the following:
+ * `recording.start`: Provide this value if you would like to start the recording.
+ * `recording.stop`: Provide this value if you would like to stop the recording.
+ * `recording.pause`: Provide this value if you would like to pause the recording.
+ * `recording.resume`: Provide this value if you would like to resume the recording that was previously paused.
+
+
+
+ type: string
+ type: object
+ x-examples:
+ application/json:
+ method: recording.start
+ responses:
+ "202":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status:** `202` **Accepted**
+ Request processed successfully.
+ "400":
+ description: |
+ **HTTP Status:** `400` **Bad Request**
+ **Error Code:** `300`
+ * Meeting id does not exist.
+ * Invalid meeting id.
+ * Meeting does not exist.
+ * No permission.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code:** `3001` Meeting {meetingId} is not found or has expired.
+ summary: Use in-Meeting recording controls
+ tags:
+ - Meetings
+ "/meetings/{meetingId}":
+ delete:
+ description: |+
+ Delete a meeting.
+ **Scopes:** `meeting:write:admin` `meeting:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: meetingDelete
+ parameters:
+ - description: |-
+ The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
+
+ While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: The meeting occurrence ID.
+ in: query
+ name: occurrence_id
+ schema:
+ type: string
+ - description: |-
+ `true`: Notify host and alternative host about the meeting cancellation via email.
+ `false`: Do not send any email notification.
+ in: query
+ name: schedule_for_reminder
+ schema:
+ type: boolean
+ - description: |-
+ `true`: Notify registrants about the meeting cancellation via email.
+
+ `false`: Do not send any email notification to meeting registrants.
+
+ The default value of this field is `false`.
+ in: query
+ name: cancel_meeting_reminder
+ schema:
+ type: string
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code**: `204`
+ Meeting deleted.
+ "400":
+ description: |+
+ **HTTP Status Code**: `400`
+ **Error Code**: `1010`
+ User does not belong to this account: {accountId}.
+ **Error Code**: `3000` Cannot access meeting information. Invalid occurrence_id.
+ **Error Code**: `3002`
+ Sorry, you cannot delete this meeting since it is in progress. **Error Code**: `3003` You are not the meeting host.
+ **Error Code**: `3007` Sorry, you cannot delete this meeting since it has ended. **Error Code**: `3018`
+ Not allowed to delete PMI. **Error Code**: `3037` Not allowed to delete PAC.
+
+
+
+ "404":
+ description: |-
+ **HTTP Status Code**: `404`
+ Meeting not found.
+ **Error Code**: `1001`
+ User does not exist: {userId}.
+ **Error Code**: `3001`
+ Meeting with this {meetingId} is not found or has expired.
+ security:
+ - OAuth: []
+ summary: Delete a meeting
+ tags:
+ - Meetings
+ get:
+ description: |+
+ Retrieve the details of a meeting.
+ **Scopes:** `meeting:read:admin` `meeting:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: meeting
+ parameters:
+ - description: |-
+ The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
+
+ While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: Meeting Occurrence ID. Provide this field to view meeting details of a particular occurrence of the [recurring meeting](https://support.zoom.us/hc/en-us/articles/214973206-Scheduling-Recurring-Meetings).
+ in: query
+ name: occurrence_id
+ schema:
+ type: string
+ - description: "Set the value of this field to `true` if you would like to view meeting details of all previous occurrences of a [recurring meeting](https://support.zoom.us/hc/en-us/articles/214973206-Scheduling-Recurring-Meetings). "
+ in: query
+ name: show_previous_occurrences
+ schema:
+ type: boolean
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ agenda: API overview
+ created_at: 2019-09-09T15:54:24Z
+ duration: 60
+ host_id: ABcdofjdogh11111
+ id: 1234555466
+ join_url: https://zoom.us/j/1234555466
+ settings:
+ alternative_hosts: kjxckfjxgfgjdfk@dkjfhdskhf.com
+ approval_type: 2
+ audio: both
+ auto_recording: local
+ close_registration: false
+ cn_meeting: false
+ enforce_login: false
+ enforce_login_domains: mycompanydomain.com
+ global_dial_in_countries:
+ - US
+ global_dial_in_numbers:
+ - city: New York
+ country: US
+ country_name: US
+ number: +1 000011100
+ type: toll
+ - city: San Jose
+ country: US
+ country_name: US
+ number: +1 6699006833
+ type: toll
+ - city: San Jose
+ country: US
+ country_name: US
+ number: +1 221122112211
+ type: toll
+ host_video: false
+ in_meeting: false
+ join_before_host: true
+ mute_upon_entry: false
+ participant_video: false
+ registrants_confirmation_email: true
+ registrants_email_notification: true
+ use_pmi: false
+ waiting_room: false
+ watermark: false
+ start_time: 2019-08-30T22:00:00Z
+ start_url: https://zoom.us/1234555466/cdknfdffgggdfg4MDUxNjY0LCJpYXQiOjE1NjgwNDQ0NjQsImFpZCI6IjRBOWR2QkRqVHphd2J0amxoejNQZ1EiLCJjaWQiOiIifQ.Pz_msGuQwtylTtYQ
+ status: waiting
+ timezone: America/New_York
+ topic: My API Test
+ type: 2
+ uuid: iAABBBcccdddd7A==
+ schema:
+ allOf:
+ - properties:
+ assistant_id:
+ description: Unique identifier of the scheduler who scheduled this meeting on behalf of the host. This field is only returned if you used "schedule_for" option in the [Create a Meeting API request](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingcreate).
+ type: string
+ host_email:
+ description: Email address of the meeting host.
+ format: email
+ type: string
+ host_id:
+ description: ID of the user who is set as host of meeting.
+ type: string
+ id:
+ description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
+ format: int64
+ type: integer
+ uuid:
+ description: |
+ Unique meeting ID. Each meeting instance will generate its own Meeting UUID (i.e., after a meeting ends, a new UUID will be generated for the next instance of the meeting). You can retrieve a list of UUIDs from past meeting instances using [this API](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/pastmeetings) . Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
+ type: string
+ type: object
+ - description: Meeting object.
+ properties:
+ agenda:
+ description: Meeting description
+ maxLength: 2000
+ type: string
+ created_at:
+ description: "Time of creation. "
+ format: date-time
+ type: string
+ duration:
+ description: Meeting duration.
+ type: integer
+ encrypted_password:
+ description: Encrypted passcode for third party endpoints (H323/SIP).
+ type: string
+ h323_password:
+ description: H.323/SIP room system passcode.
+ type: string
+ join_url:
+ description: URL for participants to join the meeting. This URL should only be shared with users that you would like to invite for the meeting.
+ type: string
+ occurrences:
+ description: Array of occurrence objects.
+ items:
+ description: Occurence object. This object is only returned for Recurring Webinars.
+ properties:
+ duration:
+ description: Duration.
+ type: integer
+ occurrence_id:
+ description: "Occurrence ID: Unique Identifier that identifies an occurrence of a recurring webinar. [Recurring webinars](https://support.zoom.us/hc/en-us/articles/216354763-How-to-Schedule-A-Recurring-Webinar) can have a maximum of 50 occurrences."
+ type: string
+ start_time:
+ description: Start time.
+ format: date-time
+ type: string
+ status:
+ description: Occurrence status.
+ type: string
+ type: object
+ type: array
+ password:
+ description: Meeting passcode.
+ minimum: 8
+ type: string
+ pmi:
+ description: Personal Meeting Id. Only used for scheduled meetings and recurring meetings with no fixed time.
+ format: int64
+ type: integer
+ recurrence:
+ description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
+ properties:
+ end_date_time:
+ description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ default: 1
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |+
+ Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
+
+ type: integer
+ type:
+ description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ default: "1"
+ description: |-
+ This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - "1"
+ - "2"
+ - "3"
+ - "4"
+ - "5"
+ - "6"
+ - "7"
+ type: string
+ required:
+ - type
+ type: object
+ settings:
+ description: Meeting settings.
+ properties:
+ allow_multiple_devices:
+ description: Allow attendees to join the meeting from multiple devices. This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
+ type: boolean
+ alternative_hosts:
+ description: "Alternative host's emails or IDs: multiple values are separated by a semicolon."
+ type: string
+ alternative_hosts_email_notification:
+ default: true
+ description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
+ type: boolean
+ approval_type:
+ default: 2
+ description: |-
+ Enable registration and set approval for the registration. Note that this feature requires the host to be of **Licensed** user type. **Registration cannot be enabled for a basic user.**
+
+ `0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ approved_or_denied_countries_or_regions:
+ description: |
+ Approve or block users from specific regions/countries from joining this meeting.
+ properties:
+ approved_list:
+ description: "List of countries/regions from where participants can join this meeting. "
+ items:
+ type: string
+ type: array
+ denied_list:
+ description: "List of countries/regions from where participants can not join this meeting. "
+ items:
+ type: string
+ type: array
+ enable:
+ description: |-
+ `true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
+
+ `false`: Setting disabled.
+ type: boolean
+ method:
+ description: |-
+ Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
+ `approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
+ `deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
+ enum:
+ - approve
+ - deny
+ type: string
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
+ type: string
+ authentication_exception:
+ description: The participants added here will receive unique meeting invite links and bypass authentication.
+ items:
+ properties:
+ email:
+ description: Email address of the participant.
+ format: email
+ type: string
+ name:
+ description: Name of the participant.
+ type: string
+ type: object
+ type: array
+ authentication_name:
+ description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
+ type: string
+ authentication_option:
+ description: Meeting authentication option id.
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ breakout_room:
+ description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
+ properties:
+ enable:
+ description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
+ type: boolean
+ rooms:
+ description: Create room(s).
+ items:
+ properties:
+ name:
+ description: Name of the breakout room.
+ type: string
+ participants:
+ description: Email addresses of the participants who are to be assigned to the breakout room.
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ type: object
+ close_registration:
+ default: false
+ description: Close registration after event date
+ type: boolean
+ cn_meeting:
+ default: false
+ description: Host meeting in China.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ custom_keys:
+ description: Custom keys and values assigned to the meeting.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the user.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the user.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ enforce_login:
+ description: |-
+ Only signed in users can join this meeting.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
+ type: boolean
+ enforce_login_domains:
+ description: |-
+ Only signed in users with specified domains can join meetings.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
+ type: string
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ global_dial_in_numbers:
+ description: Global Dial-in Countries/Regions
+ items:
+ properties:
+ city:
+ description: City of the number, if any. For example, Chicago.
+ type: string
+ country:
+ description: Country code. For example, BR.
+ type: string
+ country_name:
+ description: Full name of country. For example, Brazil.
+ type: string
+ number:
+ description: Phone number. For example, +1 2332357613.
+ type: string
+ type:
+ description: "Type of number. "
+ enum:
+ - toll
+ - tollfree
+ type: string
+ type: object
+ type: array
+ host_video:
+ description: Start video when the host joins the meeting.
+ type: boolean
+ in_meeting:
+ default: false
+ description: Host meeting in India.
+ type: boolean
+ jbh_time:
+ description: |-
+ If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
+
+ * `0`: Allow participant to join anytime.
+ * `5`: Allow participant to join 5 minutes before meeting start time.
+ * `10`: Allow participant to join 10 minutes before meeting start time.
+ enum:
+ - 0
+ - 5
+ - 10
+ type: integer
+ join_before_host:
+ default: false
+ description: Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings.
+ type: boolean
+ language_interpretation:
+ properties:
+ enable:
+ type: boolean
+ interpreters:
+ description: Information associated with the interpreter.
+ items:
+ properties:
+ email:
+ description: Email address of the interpreter.
+ format: email
+ type: string
+ languages:
+ description: |-
+ Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
+
+ For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
+ type: string
+ type: object
+ type: array
+ type: object
+ meeting_authentication:
+ description: "`true`- Only authenticated users can join meetings."
+ type: boolean
+ mute_upon_entry:
+ default: false
+ description: Mute participants upon entry.
+ type: boolean
+ participant_video:
+ description: Start video when participants join the meeting.
+ type: boolean
+ registrants_confirmation_email:
+ description: Send confirmation email to registrants upon successful registration.
+ type: boolean
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registration_type:
+ default: 1
+ description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: |-
+ Show social share buttons on the meeting registration page.
+ This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
+ type: boolean
+ use_pmi:
+ default: false
+ description: Use a personal meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time.
+ type: boolean
+ waiting_room:
+ default: false
+ description: Enable waiting room
+ type: boolean
+ watermark:
+ default: false
+ description: Add watermark when viewing a shared screen.
+ type: boolean
+ type: object
+ start_time:
+ description: |
+ Meeting start time in GMT/UTC. Start time will not be returned if the meeting is an **instant** meeting.
+ format: date-time
+ type: string
+ start_url:
+ description: |-
+
This URL should only be used by the host of the meeting and **should not be shared with anyone other than the host** of the meeting as anyone with this URL will be able to login to the Zoom Client as the host of the meeting.
+ type: string
+ status:
+ description: Meeting status
+ enum:
+ - waiting
+ - started
+ type: string
+ timezone:
+ description: Timezone to format the meeting start time on the .
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ tracking_fields:
+ description: Tracking fields
+ items:
+ properties:
+ field:
+ description: Label of the tracking field.
+ type: string
+ value:
+ description: Value for the field.
+ type: string
+ visible:
+ description: |-
+ Indicates whether the [tracking field](https://support.zoom.us/hc/en-us/articles/115000293426-Scheduling-Tracking-Fields) is visible in the meeting scheduling options in the Zoom Web Portal or not.
+
+ `true`: Tracking field is visible.
+
+ `false`: Tracking field is not visible to the users when they look at the meeting details in the Zoom Web Portal but the field was used while scheduling this meeting via API. An invisible tracking field can be used by users while scheduling meetings via API only.
+ type: boolean
+ type: object
+ type: array
+ type:
+ default: 2
+ description: |-
+ Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `4` - PMI Meeting
+ `8` - Recurring meeting with a fixed time.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 8
+ type: integer
+ x-enum-descriptions:
+ - Instant Meeting
+ - Scheduled Meeting
+ - Recurring Meeting with no fixed time
+ - Recurring Meeting with fixed time
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ assistant_id:
+ description: Unique identifier of the scheduler who scheduled this meeting on behalf of the host. This field is only returned if you used "schedule_for" option in the [Create a Meeting API request](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingcreate).
+ type: string
+ host_email:
+ description: Email address of the meeting host.
+ format: email
+ type: string
+ host_id:
+ description: ID of the user who is set as host of meeting.
+ type: string
+ id:
+ description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
+ format: int64
+ type: integer
+ uuid:
+ description: |
+ Unique meeting ID. Each meeting instance will generate its own Meeting UUID (i.e., after a meeting ends, a new UUID will be generated for the next instance of the meeting). You can retrieve a list of UUIDs from past meeting instances using [this API](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/pastmeetings) . Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
+ type: string
+ type: object
+ - description: Meeting object.
+ properties:
+ agenda:
+ description: Meeting description
+ maxLength: 2000
+ type: string
+ created_at:
+ description: "Time of creation. "
+ format: date-time
+ type: string
+ duration:
+ description: Meeting duration.
+ type: integer
+ encrypted_password:
+ description: Encrypted passcode for third party endpoints (H323/SIP).
+ type: string
+ h323_password:
+ description: H.323/SIP room system passcode.
+ type: string
+ join_url:
+ description: URL for participants to join the meeting. This URL should only be shared with users that you would like to invite for the meeting.
+ type: string
+ occurrences:
+ description: Array of occurrence objects.
+ items:
+ description: Occurence object. This object is only returned for Recurring Webinars.
+ properties:
+ duration:
+ description: Duration.
+ type: integer
+ occurrence_id:
+ description: "Occurrence ID: Unique Identifier that identifies an occurrence of a recurring webinar. [Recurring webinars](https://support.zoom.us/hc/en-us/articles/216354763-How-to-Schedule-A-Recurring-Webinar) can have a maximum of 50 occurrences."
+ type: string
+ start_time:
+ description: Start time.
+ format: date-time
+ type: string
+ status:
+ description: Occurrence status.
+ type: string
+ type: object
+ type: array
+ password:
+ description: Meeting passcode.
+ minimum: 8
+ type: string
+ pmi:
+ description: Personal Meeting Id. Only used for scheduled meetings and recurring meetings with no fixed time.
+ format: int64
+ type: integer
+ recurrence:
+ description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
+ properties:
+ end_date_time:
+ description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ default: 1
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |+
+ Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
+
+ type: integer
+ type:
+ description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ default: "1"
+ description: |-
+ This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - "1"
+ - "2"
+ - "3"
+ - "4"
+ - "5"
+ - "6"
+ - "7"
+ type: string
+ required:
+ - type
+ type: object
+ settings:
+ description: Meeting settings.
+ properties:
+ allow_multiple_devices:
+ description: Allow attendees to join the meeting from multiple devices. This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
+ type: boolean
+ alternative_hosts:
+ description: "Alternative host's emails or IDs: multiple values are separated by a semicolon."
+ type: string
+ alternative_hosts_email_notification:
+ default: true
+ description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
+ type: boolean
+ approval_type:
+ default: 2
+ description: |-
+ Enable registration and set approval for the registration. Note that this feature requires the host to be of **Licensed** user type. **Registration cannot be enabled for a basic user.**
+
+ `0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ approved_or_denied_countries_or_regions:
+ description: |
+ Approve or block users from specific regions/countries from joining this meeting.
+ properties:
+ approved_list:
+ description: "List of countries/regions from where participants can join this meeting. "
+ items:
+ type: string
+ type: array
+ denied_list:
+ description: "List of countries/regions from where participants can not join this meeting. "
+ items:
+ type: string
+ type: array
+ enable:
+ description: |-
+ `true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
+
+ `false`: Setting disabled.
+ type: boolean
+ method:
+ description: |-
+ Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
+ `approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
+ `deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
+ enum:
+ - approve
+ - deny
+ type: string
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
+ type: string
+ authentication_exception:
+ description: The participants added here will receive unique meeting invite links and bypass authentication.
+ items:
+ properties:
+ email:
+ description: Email address of the participant.
+ format: email
+ type: string
+ name:
+ description: Name of the participant.
+ type: string
+ type: object
+ type: array
+ authentication_name:
+ description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
+ type: string
+ authentication_option:
+ description: Meeting authentication option id.
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ breakout_room:
+ description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
+ properties:
+ enable:
+ description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
+ type: boolean
+ rooms:
+ description: Create room(s).
+ items:
+ properties:
+ name:
+ description: Name of the breakout room.
+ type: string
+ participants:
+ description: Email addresses of the participants who are to be assigned to the breakout room.
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ type: object
+ close_registration:
+ default: false
+ description: Close registration after event date
+ type: boolean
+ cn_meeting:
+ default: false
+ description: Host meeting in China.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ custom_keys:
+ description: Custom keys and values assigned to the meeting.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the user.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the user.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ enforce_login:
+ description: |-
+ Only signed in users can join this meeting.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
+ type: boolean
+ enforce_login_domains:
+ description: |-
+ Only signed in users with specified domains can join meetings.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
+ type: string
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ global_dial_in_numbers:
+ description: Global Dial-in Countries/Regions
+ items:
+ properties:
+ city:
+ description: City of the number, if any. For example, Chicago.
+ type: string
+ country:
+ description: Country code. For example, BR.
+ type: string
+ country_name:
+ description: Full name of country. For example, Brazil.
+ type: string
+ number:
+ description: Phone number. For example, +1 2332357613.
+ type: string
+ type:
+ description: "Type of number. "
+ enum:
+ - toll
+ - tollfree
+ type: string
+ type: object
+ type: array
+ host_video:
+ description: Start video when the host joins the meeting.
+ type: boolean
+ in_meeting:
+ default: false
+ description: Host meeting in India.
+ type: boolean
+ jbh_time:
+ description: |-
+ If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
+
+ * `0`: Allow participant to join anytime.
+ * `5`: Allow participant to join 5 minutes before meeting start time.
+ * `10`: Allow participant to join 10 minutes before meeting start time.
+ enum:
+ - 0
+ - 5
+ - 10
+ type: integer
+ join_before_host:
+ default: false
+ description: Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings.
+ type: boolean
+ language_interpretation:
+ properties:
+ enable:
+ type: boolean
+ interpreters:
+ description: Information associated with the interpreter.
+ items:
+ properties:
+ email:
+ description: Email address of the interpreter.
+ format: email
+ type: string
+ languages:
+ description: |-
+ Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
+
+ For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
+ type: string
+ type: object
+ type: array
+ type: object
+ meeting_authentication:
+ description: "`true`- Only authenticated users can join meetings."
+ type: boolean
+ mute_upon_entry:
+ default: false
+ description: Mute participants upon entry.
+ type: boolean
+ participant_video:
+ description: Start video when participants join the meeting.
+ type: boolean
+ registrants_confirmation_email:
+ description: Send confirmation email to registrants upon successful registration.
+ type: boolean
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registration_type:
+ default: 1
+ description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: |-
+ Show social share buttons on the meeting registration page.
+ This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
+ type: boolean
+ use_pmi:
+ default: false
+ description: Use a personal meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time.
+ type: boolean
+ waiting_room:
+ default: false
+ description: Enable waiting room
+ type: boolean
+ watermark:
+ default: false
+ description: Add watermark when viewing a shared screen.
+ type: boolean
+ type: object
+ start_time:
+ description: |
+ Meeting start time in GMT/UTC. Start time will not be returned if the meeting is an **instant** meeting.
+ format: date-time
+ type: string
+ start_url:
+ description: |-
+
This URL should only be used by the host of the meeting and **should not be shared with anyone other than the host** of the meeting as anyone with this URL will be able to login to the Zoom Client as the host of the meeting.
+ type: string
+ status:
+ description: Meeting status
+ enum:
+ - waiting
+ - started
+ type: string
+ timezone:
+ description: Timezone to format the meeting start time on the .
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ tracking_fields:
+ description: Tracking fields
+ items:
+ properties:
+ field:
+ description: Label of the tracking field.
+ type: string
+ value:
+ description: Value for the field.
+ type: string
+ visible:
+ description: |-
+ Indicates whether the [tracking field](https://support.zoom.us/hc/en-us/articles/115000293426-Scheduling-Tracking-Fields) is visible in the meeting scheduling options in the Zoom Web Portal or not.
+
+ `true`: Tracking field is visible.
+
+ `false`: Tracking field is not visible to the users when they look at the meeting details in the Zoom Web Portal but the field was used while scheduling this meeting via API. An invisible tracking field can be used by users while scheduling meetings via API only.
+ type: boolean
+ type: object
+ type: array
+ type:
+ default: 2
+ description: |-
+ Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `4` - PMI Meeting
+ `8` - Recurring meeting with a fixed time.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 8
+ type: integer
+ x-enum-descriptions:
+ - Instant Meeting
+ - Scheduled Meeting
+ - Recurring Meeting with no fixed time
+ - Recurring Meeting with fixed time
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Meeting object returned.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ **Error Code:** `1010`
+ User not found on this account: {accountId}. **Error Code:** `3000`
+ Cannot access webinar info.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Meeting not found.
+ **Error Code:** `1001`
+ User not exist: {userId}. **Error Code:** `3001`
+ Meeting {meetingId} is not found or has expired.
+ security:
+ - OAuth: []
+ summary: Get a meeting
+ tags:
+ - Meetings
+ patch:
+ description: |+
+ Update the details of a meeting. This API has a rate limit of 100 requests per day. Therefore, a meeting can only be updated for a maximum of 100 times within a 24 hour window.
+ **Scopes:** `meeting:write:admin` `meeting:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: meetingUpdate
+ parameters:
+ - description: |-
+ The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
+
+ While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: "Meeting occurrence id. Support change of agenda, start_time, duration, settings: {host_video, participant_video, join_before_host, mute_upon_entry, waiting_room, watermark, auto_recording}"
+ in: query
+ name: occurrence_id
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ allOf:
+ - properties:
+ schedule_for:
+ description: Email or userId if you want to schedule meeting for another user.
+ type: string
+ type: object
+ - allOf:
+ - description: Base object for sessions.
+ properties:
+ agenda:
+ description: Meeting description.
+ maxLength: 2000
+ type: string
+ duration:
+ description: Meeting duration (minutes). Used for scheduled meetings only.
+ type: integer
+ password:
+ description: |-
+ Meeting passcode. Passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ *] and can have a maximum of 10 characters.
+
+ **Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
+ maxLength: 10
+ type: string
+ recurrence:
+ description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
+ properties:
+ end_date_time:
+ description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ default: 1
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |+
+ Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
+
+ type: integer
+ type:
+ description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ default: "1"
+ description: |-
+ This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - "1"
+ - "2"
+ - "3"
+ - "4"
+ - "5"
+ - "6"
+ - "7"
+ type: string
+ required:
+ - type
+ type: object
+ settings:
+ allOf:
+ - description: Meeting settings.
+ properties:
+ allow_multiple_devices:
+ description: Allow attendees to join the meeting from multiple devices. This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
+ type: boolean
+ alternative_hosts:
+ description: "Alternative host's emails or IDs: multiple values are separated by a semicolon."
+ type: string
+ alternative_hosts_email_notification:
+ default: true
+ description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
+ type: boolean
+ approval_type:
+ default: 2
+ description: |-
+ Enable registration and set approval for the registration. Note that this feature requires the host to be of **Licensed** user type. **Registration cannot be enabled for a basic user.**
+
+ `0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ approved_or_denied_countries_or_regions:
+ description: |
+ Approve or block users from specific regions/countries from joining this meeting.
+ properties:
+ approved_list:
+ description: "List of countries/regions from where participants can join this meeting. "
+ items:
+ type: string
+ type: array
+ denied_list:
+ description: "List of countries/regions from where participants can not join this meeting. "
+ items:
+ type: string
+ type: array
+ enable:
+ description: |-
+ `true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
+
+ `false`: Setting disabled.
+ type: boolean
+ method:
+ description: |-
+ Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
+ `approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
+ `deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
+ enum:
+ - approve
+ - deny
+ type: string
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
+ type: string
+ authentication_exception:
+ description: The participants added here will receive unique meeting invite links and bypass authentication.
+ items:
+ properties:
+ email:
+ description: Email address of the participant.
+ format: email
+ type: string
+ name:
+ description: Name of the participant.
+ type: string
+ type: object
+ type: array
+ authentication_name:
+ description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
+ type: string
+ authentication_option:
+ description: Meeting authentication option id.
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ breakout_room:
+ description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
+ properties:
+ enable:
+ description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
+ type: boolean
+ rooms:
+ description: Create room(s).
+ items:
+ properties:
+ name:
+ description: Name of the breakout room.
+ type: string
+ participants:
+ description: Email addresses of the participants who are to be assigned to the breakout room.
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ type: object
+ close_registration:
+ default: false
+ description: Close registration after event date
+ type: boolean
+ cn_meeting:
+ default: false
+ description: Host meeting in China.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ custom_keys:
+ description: Custom keys and values assigned to the meeting.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the user.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the user.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ enforce_login:
+ description: |-
+ Only signed in users can join this meeting.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
+ type: boolean
+ enforce_login_domains:
+ description: |-
+ Only signed in users with specified domains can join meetings.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
+ type: string
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ global_dial_in_numbers:
+ description: Global Dial-in Countries/Regions
+ items:
+ properties:
+ city:
+ description: City of the number, if any. For example, Chicago.
+ type: string
+ country:
+ description: Country code. For example, BR.
+ type: string
+ country_name:
+ description: Full name of country. For example, Brazil.
+ type: string
+ number:
+ description: Phone number. For example, +1 2332357613.
+ type: string
+ type:
+ description: "Type of number. "
+ enum:
+ - toll
+ - tollfree
+ type: string
+ type: object
+ type: array
+ host_video:
+ description: Start video when the host joins the meeting.
+ type: boolean
+ in_meeting:
+ default: false
+ description: Host meeting in India.
+ type: boolean
+ jbh_time:
+ description: |-
+ If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
+
+ * `0`: Allow participant to join anytime.
+ * `5`: Allow participant to join 5 minutes before meeting start time.
+ * `10`: Allow participant to join 10 minutes before meeting start time.
+ enum:
+ - 0
+ - 5
+ - 10
+ type: integer
+ join_before_host:
+ default: false
+ description: Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings.
+ type: boolean
+ language_interpretation:
+ properties:
+ enable:
+ type: boolean
+ interpreters:
+ description: Information associated with the interpreter.
+ items:
+ properties:
+ email:
+ description: Email address of the interpreter.
+ format: email
+ type: string
+ languages:
+ description: |-
+ Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
+
+ For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
+ type: string
+ type: object
+ type: array
+ type: object
+ meeting_authentication:
+ description: "`true`- Only authenticated users can join meetings."
+ type: boolean
+ mute_upon_entry:
+ default: false
+ description: Mute participants upon entry.
+ type: boolean
+ participant_video:
+ description: Start video when participants join the meeting.
+ type: boolean
+ registrants_confirmation_email:
+ description: Send confirmation email to registrants upon successful registration.
+ type: boolean
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registration_type:
+ default: 1
+ description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: |-
+ Show social share buttons on the meeting registration page.
+ This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
+ type: boolean
+ use_pmi:
+ default: false
+ description: Use a personal meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time.
+ type: boolean
+ waiting_room:
+ default: false
+ description: Enable waiting room
+ type: boolean
+ watermark:
+ default: false
+ description: Add watermark when viewing a shared screen.
+ type: boolean
+ type: object
+ - properties:
+ registrants_confirmation_email:
+ description: Send confirmation Email to Registrants
+ type: boolean
+ type: object
+ start_time:
+ description: Meeting start time. When using a format like "yyyy-MM-dd'T'HH:mm:ss'Z'", always use GMT time. When using a format like "yyyy-MM-dd'T'HH:mm:ss", you should use local time and specify the time zone. Only used for scheduled meetings and recurring meetings with a fixed time.
+ format: date-time
+ type: string
+ template_id:
+ description: |-
+ Unique identifier of the meeting template.
+
+ Use this field if you would like to [schedule the meeting from a meeting template](https://support.zoom.us/hc/en-us/articles/360036559151-Meeting-templates#h_86f06cff-0852-4998-81c5-c83663c176fb). You can retrieve the value of this field by calling the [List meeting templates]() API.
+ type: string
+ timezone:
+ description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [time zone](#timezones) list for supported time zones and their formats.
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ tracking_fields:
+ description: Tracking fields
+ items:
+ properties:
+ field:
+ description: Tracking fields type
+ type: string
+ value:
+ description: Tracking fields value
+ type: string
+ type: object
+ type: array
+ type:
+ default: 2
+ description: Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with a fixed time.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 8
+ type: integer
+ x-enum-descriptions:
+ - Instant Meeting
+ - Scheduled Meeting
+ - Recurring Meeting with no fixed time
+ - Recurring Meeting with fixed time
+ type: object
+ description: Meeting object
+ type: object
+ multipart/form-data:
+ schema:
+ allOf:
+ - properties:
+ schedule_for:
+ description: Email or userId if you want to schedule meeting for another user.
+ type: string
+ type: object
+ - allOf:
+ - description: Base object for sessions.
+ properties:
+ agenda:
+ description: Meeting description.
+ maxLength: 2000
+ type: string
+ duration:
+ description: Meeting duration (minutes). Used for scheduled meetings only.
+ type: integer
+ password:
+ description: |-
+ Meeting passcode. Passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ *] and can have a maximum of 10 characters.
+
+ **Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
+ maxLength: 10
+ type: string
+ recurrence:
+ description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
+ properties:
+ end_date_time:
+ description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ default: 1
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |+
+ Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
+
+ type: integer
+ type:
+ description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ default: "1"
+ description: |-
+ This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - "1"
+ - "2"
+ - "3"
+ - "4"
+ - "5"
+ - "6"
+ - "7"
+ type: string
+ required:
+ - type
+ type: object
+ settings:
+ allOf:
+ - description: Meeting settings.
+ properties:
+ allow_multiple_devices:
+ description: Allow attendees to join the meeting from multiple devices. This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
+ type: boolean
+ alternative_hosts:
+ description: "Alternative host's emails or IDs: multiple values are separated by a semicolon."
+ type: string
+ alternative_hosts_email_notification:
+ default: true
+ description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
+ type: boolean
+ approval_type:
+ default: 2
+ description: |-
+ Enable registration and set approval for the registration. Note that this feature requires the host to be of **Licensed** user type. **Registration cannot be enabled for a basic user.**
+
+ `0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ approved_or_denied_countries_or_regions:
+ description: |
+ Approve or block users from specific regions/countries from joining this meeting.
+ properties:
+ approved_list:
+ description: "List of countries/regions from where participants can join this meeting. "
+ items:
+ type: string
+ type: array
+ denied_list:
+ description: "List of countries/regions from where participants can not join this meeting. "
+ items:
+ type: string
+ type: array
+ enable:
+ description: |-
+ `true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
+
+ `false`: Setting disabled.
+ type: boolean
+ method:
+ description: |-
+ Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
+ `approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
+ `deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
+ enum:
+ - approve
+ - deny
+ type: string
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
+ type: string
+ authentication_exception:
+ description: The participants added here will receive unique meeting invite links and bypass authentication.
+ items:
+ properties:
+ email:
+ description: Email address of the participant.
+ format: email
+ type: string
+ name:
+ description: Name of the participant.
+ type: string
+ type: object
+ type: array
+ authentication_name:
+ description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
+ type: string
+ authentication_option:
+ description: Meeting authentication option id.
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ breakout_room:
+ description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
+ properties:
+ enable:
+ description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
+ type: boolean
+ rooms:
+ description: Create room(s).
+ items:
+ properties:
+ name:
+ description: Name of the breakout room.
+ type: string
+ participants:
+ description: Email addresses of the participants who are to be assigned to the breakout room.
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ type: object
+ close_registration:
+ default: false
+ description: Close registration after event date
+ type: boolean
+ cn_meeting:
+ default: false
+ description: Host meeting in China.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ custom_keys:
+ description: Custom keys and values assigned to the meeting.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the user.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the user.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ enforce_login:
+ description: |-
+ Only signed in users can join this meeting.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
+ type: boolean
+ enforce_login_domains:
+ description: |-
+ Only signed in users with specified domains can join meetings.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
+ type: string
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ global_dial_in_numbers:
+ description: Global Dial-in Countries/Regions
+ items:
+ properties:
+ city:
+ description: City of the number, if any. For example, Chicago.
+ type: string
+ country:
+ description: Country code. For example, BR.
+ type: string
+ country_name:
+ description: Full name of country. For example, Brazil.
+ type: string
+ number:
+ description: Phone number. For example, +1 2332357613.
+ type: string
+ type:
+ description: "Type of number. "
+ enum:
+ - toll
+ - tollfree
+ type: string
+ type: object
+ type: array
+ host_video:
+ description: Start video when the host joins the meeting.
+ type: boolean
+ in_meeting:
+ default: false
+ description: Host meeting in India.
+ type: boolean
+ jbh_time:
+ description: |-
+ If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
+
+ * `0`: Allow participant to join anytime.
+ * `5`: Allow participant to join 5 minutes before meeting start time.
+ * `10`: Allow participant to join 10 minutes before meeting start time.
+ enum:
+ - 0
+ - 5
+ - 10
+ type: integer
+ join_before_host:
+ default: false
+ description: Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings.
+ type: boolean
+ language_interpretation:
+ properties:
+ enable:
+ type: boolean
+ interpreters:
+ description: Information associated with the interpreter.
+ items:
+ properties:
+ email:
+ description: Email address of the interpreter.
+ format: email
+ type: string
+ languages:
+ description: |-
+ Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
+
+ For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
+ type: string
+ type: object
+ type: array
+ type: object
+ meeting_authentication:
+ description: "`true`- Only authenticated users can join meetings."
+ type: boolean
+ mute_upon_entry:
+ default: false
+ description: Mute participants upon entry.
+ type: boolean
+ participant_video:
+ description: Start video when participants join the meeting.
+ type: boolean
+ registrants_confirmation_email:
+ description: Send confirmation email to registrants upon successful registration.
+ type: boolean
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registration_type:
+ default: 1
+ description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: |-
+ Show social share buttons on the meeting registration page.
+ This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
+ type: boolean
+ use_pmi:
+ default: false
+ description: Use a personal meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time.
+ type: boolean
+ waiting_room:
+ default: false
+ description: Enable waiting room
+ type: boolean
+ watermark:
+ default: false
+ description: Add watermark when viewing a shared screen.
+ type: boolean
+ type: object
+ - properties:
+ registrants_confirmation_email:
+ description: Send confirmation Email to Registrants
+ type: boolean
+ type: object
+ start_time:
+ description: Meeting start time. When using a format like "yyyy-MM-dd'T'HH:mm:ss'Z'", always use GMT time. When using a format like "yyyy-MM-dd'T'HH:mm:ss", you should use local time and specify the time zone. Only used for scheduled meetings and recurring meetings with a fixed time.
+ format: date-time
+ type: string
+ template_id:
+ description: |-
+ Unique identifier of the meeting template.
+
+ Use this field if you would like to [schedule the meeting from a meeting template](https://support.zoom.us/hc/en-us/articles/360036559151-Meeting-templates#h_86f06cff-0852-4998-81c5-c83663c176fb). You can retrieve the value of this field by calling the [List meeting templates]() API.
+ type: string
+ timezone:
+ description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [time zone](#timezones) list for supported time zones and their formats.
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ tracking_fields:
+ description: Tracking fields
+ items:
+ properties:
+ field:
+ description: Tracking fields type
+ type: string
+ value:
+ description: Tracking fields value
+ type: string
+ type: object
+ type: array
+ type:
+ default: 2
+ description: Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with a fixed time.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 8
+ type: integer
+ x-enum-descriptions:
+ - Instant Meeting
+ - Scheduled Meeting
+ - Recurring Meeting with no fixed time
+ - Recurring Meeting with fixed time
+ type: object
+ description: Meeting object
+ type: object
+ description: Meeting
+ required: true
+ x-examples:
+ application/json:
+ agenda: My Meeting
+ duration: 60
+ password: abcd
+ settings:
+ alternative_hosts: mycohost@someemail.com
+ approval_type: 0
+ global_dial_in_countries:
+ - city: San Jose
+ country: US
+ country_name: US
+ number: +1 1212121212121212
+ type: toll
+ host_video: false
+ in_meeting: false
+ join_before_host: true
+ mute_upon_entry: false
+ participant_video: false
+ registrants_confirmation_email: true
+ use_pmi: false
+ waiting_room: false
+ watermark: false
+ start_time: 2019-08-30T18:00:00
+ timezone: America/New_York
+ topic: Michael API Test
+ type: 2
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ Meeting updated.
+ "300":
+ description: |
+ **Error Code:** `300`
+ Invalid enforce_login_domains, separate multiple domains by semicolon.
+ A maximum of {rateLimitNumber} meetings can be created/updated for a single user in one day.
+ "400":
+ description: |
+ **HTTP Status Code:** `400`
+ **Error Code:** `1010`
+ User not found on this account: {accountId}.
+ **Error Code:** `3000`
+ Cannot access meeting information.
+ **Error Code:** `3003`
+ You are not the meeting host.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Meeting not found.
+ **Error Code:** `1001`
+ User does not exist: {userId}.
+ **Error Code:** `3001`
+ A meeting with this {meetingId} is not found or has expired.
+ security:
+ - OAuth: []
+ summary: Update a meeting
+ tags:
+ - Meetings
+ "/meetings/{meetingId}/batch_polls":
+ parameters:
+ - in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ post:
+ description: |-
+ Polls allow the meeting host to survey attendees. Use this API to create batch [polls](https://support.zoom.us/hc/en-us/articles/213756303-Polling-for-Meetings) for a meeting.
+
+ **Scopes**: `meeting:write:admin` `meeting:write`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ **Prerequisites**:
+ * Host user type must be **Pro** or higher plan.
+ * Polling feature must be enabled in the host's account.
+ * Meeting must be a scheduled meeting. Instant meetings do not have polling features enabled.
+ operationId: createBatchPolls
+ parameters:
+ - in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ questions:
+ items:
+ properties:
+ answers:
+ description: Possible answers for the question.
+ items:
+ type: string
+ type: array
+ name:
+ description: Name of the question.
+ type: string
+ type:
+ description: Question type: `single` - Single choice `mutliple` - Multiple choice
+ enum:
+ - single
+ - multiple
+ type: string
+ type: object
+ type: array
+ title:
+ description: Meeting Poll Title.
+ type: string
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ questions:
+ items:
+ properties:
+ answers:
+ description: Possible answers for the question.
+ items:
+ type: string
+ type: array
+ name:
+ description: Name of the question.
+ type: string
+ type:
+ description: Question type: `single` - Single choice `mutliple` - Multiple choice
+ enum:
+ - single
+ - multiple
+ type: string
+ type: object
+ type: array
+ title:
+ description: Meeting Poll Title.
+ type: string
+ type: object
+ description: Batch Meeting poll object
+ x-examples:
+ application/json:
+ polls:
+ - questions:
+ - answers:
+ - answer 1
+ - answer 2
+ name: Question Name
+ type: multiple
+ - answers:
+ - answer 1
+ - answer 2
+ name: Question Name 2
+ type: single
+ title: Meeting Usefulness
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ polls:
+ - id: ex eiusmod
+ questions:
+ - answers:
+ - est officia
+ - dolor amet consectetur ad
+ - irure consectetur enim commodo
+ name: in mollit cillum adipisicing ullamco
+ type: consectetur magna et
+ - answers:
+ - ut ut
+ - non pariatur dolore eiusmod consectetur
+ - pariatur deserunt in dolore et
+ - deserunt exercitation incididunt nostrud dolore
+ - dolor sit in laboris eiusmod
+ name: non proident dolor eiusmod consectetur
+ type: "et deserunt nisi "
+ - answers:
+ - dolor mollit
+ - dolore Lorem voluptate
+ name: minim
+ type: velit labore
+ status: Excepteur Lorem dolor exercitation
+ title: in dolore culpa ad qui
+ - id: mollit do
+ questions:
+ - answers:
+ - "culpa "
+ - aliquip dolore
+ name: exercitation consectetur officia do
+ type: id ex consequat culpa
+ - answers:
+ - ullamco consequat ut id esse
+ - veniam eiusmod anim laborum
+ name: proident ad
+ type: Lorem nostrud nulla
+ - answers:
+ - nostrud voluptate eu velit
+ - non labore dolor ad eiusmod
+ - vo
+ name: sint cillum ut
+ type: in enim
+ - answers:
+ - sunt voluptate
+ - reprehenderit ea
+ - sunt aute
+ - elit
+ name: eu ullamco
+ type: anim dolor sunt
+ - answers:
+ - nulla Duis
+ name: sit enim consequat cupidatat
+ type: cillum adipisicing
+ status: deserunt id occaecat nisi qui
+ title: est incididunt in dolore tempor
+ - id: "qui "
+ questions:
+ - answers:
+ - laboris laborum
+ - nostrud sit dolore veniam
+ - sunt commodo amet dolor ex
+ name: ullamco et pariatur
+ type: proident
+ - answers:
+ - anim magna ut Lorem
+ name: adipisicing dolor culpa commodo
+ type: aliquip veniam
+ - answers:
+ - "sunt dolor Excepteur amet "
+ - qui pariatur esse id fugiat
+ - aliquip
+ name: laborum nisi
+ type: in Duis qui Excepteur aute
+ status: ut Ut esse
+ title: ullamco dolore
+ schema:
+ properties:
+ polls:
+ items:
+ properties:
+ id:
+ description: Meeting Poll ID
+ type: string
+ questions:
+ items:
+ properties:
+ answers:
+ description: Answers to questons
+ items:
+ type: string
+ type: array
+ name:
+ description: Name of question.
+ type: string
+ type:
+ description: Poll question and answer type.
+ enum:
+ - single
+ - multiple
+ type: string
+ type: object
+ type: array
+ status:
+ description: Status of the Meeting Poll: `notstart` - Poll not started `started` - Poll started `ended` - Poll ended `sharing` - Sharing poll results
+ enum:
+ - notstart
+ - started
+ - ended
+ - sharing
+ type: string
+ x-enum-descriptions:
+ - Poll not start
+ - Poll started
+ - Poll ended
+ - Poll is sharing
+ title:
+ description: Title for the Poll
+ type: string
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ properties:
+ polls:
+ items:
+ properties:
+ id:
+ description: Meeting Poll ID
+ type: string
+ questions:
+ items:
+ properties:
+ answers:
+ description: Answers to questons
+ items:
+ type: string
+ type: array
+ name:
+ description: Name of question.
+ type: string
+ type:
+ description: Poll question and answer type.
+ enum:
+ - single
+ - multiple
+ type: string
+ type: object
+ type: array
+ status:
+ description: Status of the Meeting Poll: `notstart` - Poll not started `started` - Poll started `ended` - Poll ended `sharing` - Sharing poll results
+ enum:
+ - notstart
+ - started
+ - ended
+ - sharing
+ type: string
+ x-enum-descriptions:
+ - Poll not start
+ - Poll started
+ - Poll ended
+ - Poll is sharing
+ title:
+ description: Title for the Poll
+ type: string
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `201`
+ Meeting Poll Created
+ "400":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `300`
+ Invalid Meeting ID.
+ **Error Code:** `300`
+ Meeting id does not exist.
+ **Error Code:** `3000`
+ Cannot access meeting information.
+ **Error Code:** `3001`
+ Meeting does not exist: {meetingId}.
+ **Error Code:** `4400`
+ Polling has not been enabled for this meeting: {meetingId}.
+ **Error Code:** `4400`
+ You can add a maximum of 25 polls.
+ summary: Perform batch poll creation
+ tags:
+ - Meetings
+ "/meetings/{meetingId}/batch_registrants":
+ parameters:
+ - in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ "/meetings/{meetingId}/invitation":
+ get:
+ description: |+
+ Retrieve the meeting invite note that was sent for a specific meeting.
+ **Scopes:** `meeting:read:admin` `meeting:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: meetingInvitation
+ parameters:
+ - description: |-
+ The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
+
+ While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ invitation: "Shrijana G is inviting you to a scheduled Zoom meeting.\r
+
+ \r
+
+ Topic: MyTestMeeting\r
+
+ Time: Jul 31, 2019 04:00 PM Pacific Time (US and Canada)\r
+
+ \r
+
+ Join Zoom Meeting\r
+
+ https://zoom.us/j/000000\r
+
+ \r
+
+ One tap mobile\r
+
+ +000000"
+ schema:
+ description: Meeting invitation details.
+ properties:
+ invitation:
+ description: Meeting invitation.
+ type: string
+ title: Meeting Invitation
+ type: object
+ application/xml:
+ schema:
+ description: Meeting invitation details.
+ properties:
+ invitation:
+ description: Meeting invitation.
+ type: string
+ title: Meeting Invitation
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Meeting invitation returned.
+ security:
+ - OAuth: []
+ summary: Get meeting invitation
+ tags:
+ - Meetings
+ "/meetings/{meetingId}/livestream":
+ get:
+ description: |+
+ Zoom allows users to [live stream a meeting](https://support.zoom.us/hc/en-us/articles/115001777826-Live-Streaming-Meetings-or-Webinars-Using-a-Custom-Service) to a custom platform. Use this API to get a meeting's live stream configuration details such as Stream URL, Stream Key and Page URL.
+ **Prerequisites:**
+ * Meeting host must be a licensed user with a Pro or higher plan.
+ * Live streaming details must have been [configured](https://support.zoom.us/hc/en-us/articles/115001777826-Live-Streaming-Meetings-or-Webinars-Using-a-Custom-Service#h_01589a6f-a40a-4e18-a448-cb746e52ebc5) for the meeting.
+ **Scopes:** `meeting:read:admin` `meeting:read`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+
+
+ operationId: getLiveStreamDetails
+ parameters:
+ - description: Unique identifier of the meeting.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ page_url: https://somecompany.com/livestream/123
+ stream_key: Contact It@somecompany.com
+ stream_url: https://somecompany.com/livestream
+ schema:
+ properties:
+ page_url:
+ description: Live streaming page URL. This is the URL using which anyone can view the live stream of the meeting.
+ type: string
+ stream_key:
+ description: Stream Key.
+ type: string
+ stream_url:
+ description: Stream URL.
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ page_url:
+ description: Live streaming page URL. This is the URL using which anyone can view the live stream of the meeting.
+ type: string
+ stream_key:
+ description: Stream Key.
+ type: string
+ stream_url:
+ description: Stream URL.
+ type: string
+ type: object
+ description: |+
+ **HTTP Status Code:** `200` **OK**
+ Live Stream details returned.
+
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300`
+ Missing meetingId
+ Invalid meetingId
+ **Error Code:** `1010`
+ User does not belong to this account: {accountId}
+
+
+ "404":
+ description: |+
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User {userId} does not exist.
+
+ summary: Get live stream details
+ tags:
+ - Meetings
+ parameters:
+ - in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ patch:
+ description: |+
+ Zoom allows users to [live stream a meeting](https://support.zoom.us/hc/en-us/articles/115001777826-Live-Streaming-Meetings-or-Webinars-Using-a-Custom-Service) to a custom platform. Use this API to update a meeting's live stream information.
+ **Prerequisites:**
+ * Meeting host must have a Pro license.
+ **Scopes:** `meeting:write:admin` `meeting:write`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+
+ operationId: meetingLiveStreamUpdate
+ parameters:
+ - description: |-
+ The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
+
+ While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ description: Meeting live stream.
+ properties:
+ page_url:
+ description: The livestream page URL.
+ format: uri
+ maxLength: 1024
+ type: string
+ stream_key:
+ description: Stream name and key.
+ maxLength: 512
+ type: string
+ stream_url:
+ description: Streaming URL.
+ maxLength: 1024
+ type: string
+ required:
+ - stream_url
+ - stream_key
+ type: object
+ multipart/form-data:
+ schema:
+ description: Meeting live stream.
+ properties:
+ page_url:
+ description: The livestream page URL.
+ format: uri
+ maxLength: 1024
+ type: string
+ stream_key:
+ description: Stream name and key.
+ maxLength: 512
+ type: string
+ stream_url:
+ description: Streaming URL.
+ maxLength: 1024
+ type: string
+ required:
+ - stream_url
+ - stream_key
+ type: object
+ description: Meeting
+ required: true
+ x-examples:
+ application/json:
+ page_url: mycompany.com/livestream/123
+ stream_key: Contact it@mycompany.com
+ stream_url: mycompany.com/livestream
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ Meeting live stream updated.
+ "300":
+ description: "**Error Code:** `300` Missing meetingId Invalid meetingId."
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Error Code:** `1010`
+ User does not belong to this account: {accountId}.
+ **Error Code:** `3000` Cannot access webinar info.
+ "404":
+ description: |
+ **HTTP Status Code:** `404` **Error Code:** `1001` User {userId} does not exist.
+ security:
+ - OAuth: []
+ summary: Update a live stream
+ tags:
+ - Meetings
+ "/meetings/{meetingId}/livestream/status":
+ patch:
+ description: |+
+ Zoom allows users to [live stream a meeting](https://support.zoom.us/hc/en-us/articles/115001777826-Live-Streaming-Meetings-or-Webinars-Using-a-Custom-Service) to a custom platform. Use this API to update the status of a meeting's live stream.
+ **Prerequisites:**
+ * Meeting host must have a Pro license.
+ **Scopes:** `meeting:write:admin` `meeting:write`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: meetingLiveStreamStatusUpdate
+ parameters:
+ - description: |-
+ The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
+
+ While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ description: Meeting live stream status.
+ properties:
+ action:
+ description: |-
+ Update the status of a livestream.
+
+ The value can be one of the following:
+ `start`: Start a live stream.
+ `stop`: Stop an ongoing live stream.
+ enum:
+ - start
+ - stop
+ type: string
+ x-enum-descriptions:
+ - Start a meeting live stream.
+ - Stop a meeting live stream.
+ settings:
+ description: Update the settings of a live streaming session. The settings can only be updated for a live stream that has been stopped. You can not update the settings of an ongoing live stream.
+ properties:
+ active_speaker_name:
+ description: Display the name of the active speaker during a live stream.
+ type: boolean
+ display_name:
+ description: Display name of the live stream.
+ maxLength: 50
+ minLength: 1
+ type: string
+ type: object
+ type: object
+ multipart/form-data:
+ schema:
+ description: Meeting live stream status.
+ properties:
+ action:
+ description: |-
+ Update the status of a livestream.
+
+ The value can be one of the following:
+ `start`: Start a live stream.
+ `stop`: Stop an ongoing live stream.
+ enum:
+ - start
+ - stop
+ type: string
+ x-enum-descriptions:
+ - Start a meeting live stream.
+ - Stop a meeting live stream.
+ settings:
+ description: Update the settings of a live streaming session. The settings can only be updated for a live stream that has been stopped. You can not update the settings of an ongoing live stream.
+ properties:
+ active_speaker_name:
+ description: Display the name of the active speaker during a live stream.
+ type: boolean
+ display_name:
+ description: Display name of the live stream.
+ maxLength: 50
+ minLength: 1
+ type: string
+ type: object
+ type: object
+ description: Meeting
+ required: true
+ x-examples:
+ application/json:
+ action: stop
+ settings:
+ active_speaker_name: false
+ display_name: inc
+ responses:
+ "204":
+ description: |+
+ **HTTP Status Code:** `204`
+ Meeting live stream updated.
+
+ "300":
+ description: |-
+ **Error Code:** `300`
+ Missing meetingId.
+ Invalid meetingId
+ "400":
+ description: |
+ **HTTP Status Code:** `400`
+ **Error Code:**`3000`
+ Cannot access webinar info.
+ **Error Code:**`1010` User does not belong to this account: {accountId}.
+ "404":
+ description: |
+ **HTTP Status Code:** `404`
+ **Error Code:**`1001`
+ User {userId} does not exist.
+ "429":
+ description: "**HTTP Status Code:** `429` Too many requests submitted to start the live stream of this meeting: {meetingId}. If the live stream has not already started, retry making a new request after 30 seconds."
+ security:
+ - OAuth: []
+ summary: Update Live Stream Status
+ tags:
+ - Meetings
+ "/meetings/{meetingId}/polls":
+ get:
+ description: |-
+ Polls allow the meeting host to survey attendees. Use this API to list [polls](https://support.zoom.us/hc/en-us/articles/213756303-Polling-for-Meetings) of a meeting.
+
+ **Scopes**: `meeting:read:admin` `meeting:read`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ **Prerequisites**:
+ * Host user type must be **Pro** or higher plan.
+ * Meeting must be a scheduled meeting. Instant meetings do not have polling features enabled.
+ operationId: meetingPolls
+ parameters:
+ - description: |-
+ The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
+
+ While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ polls:
+ - id: YB33NcABCdg_g1AAAxTQ
+ questions:
+ - answers:
+ - Extremely useful
+ - Somewhat useful
+ - Not useful at all
+ name: How useful was this meeting?
+ type: multiple
+ status: notstart
+ title: Meeting Usefulness
+ total_records: 1
+ schema:
+ allOf:
+ - properties:
+ polls:
+ description: Array of Polls
+ items:
+ allOf:
+ - properties:
+ id:
+ description: ID of Poll
+ type: string
+ status:
+ description: Status of Poll: `notstart` - Poll not started `started` - Poll started `ended` - Poll ended `sharing` - Sharing poll results
+ enum:
+ - notstart
+ - started
+ - ended
+ - sharing
+ type: string
+ x-enum-descriptions:
+ - Poll not start
+ - Poll started
+ - Poll ended
+ - Poll is sharing
+ - description: Poll
+ properties:
+ questions:
+ description: Array of Polls
+ items:
+ properties:
+ answers:
+ description: Answers to the questions
+ items:
+ type: string
+ type: array
+ name:
+ description: Question to be asked to the attendees.
+ type: string
+ type:
+ description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
+ enum:
+ - single
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - single answer
+ - multiple answer
+ type: object
+ type: array
+ title:
+ description: Title for the poll.
+ type: string
+ title: Poll
+ type: object
+ type: array
+ total_records:
+ description: The number of all records available across pages
+ type: integer
+ description: Poll List
+ title: Poll List
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ polls:
+ description: Array of Polls
+ items:
+ allOf:
+ - properties:
+ id:
+ description: ID of Poll
+ type: string
+ status:
+ description: Status of Poll: `notstart` - Poll not started `started` - Poll started `ended` - Poll ended `sharing` - Sharing poll results
+ enum:
+ - notstart
+ - started
+ - ended
+ - sharing
+ type: string
+ x-enum-descriptions:
+ - Poll not start
+ - Poll started
+ - Poll ended
+ - Poll is sharing
+ - description: Poll
+ properties:
+ questions:
+ description: Array of Polls
+ items:
+ properties:
+ answers:
+ description: Answers to the questions
+ items:
+ type: string
+ type: array
+ name:
+ description: Question to be asked to the attendees.
+ type: string
+ type:
+ description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
+ enum:
+ - single
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - single answer
+ - multiple answer
+ type: object
+ type: array
+ title:
+ description: Title for the poll.
+ type: string
+ title: Poll
+ type: object
+ type: array
+ total_records:
+ description: The number of all records available across pages
+ type: integer
+ description: Poll List
+ title: Poll List
+ type: object
+ description: |-
+ **HTTP Status Code:**
+ List polls of a Meeting returned
+ "404":
+ description: |-
+ **Error Code:** `404`
+ Meeting Poll not found
+ security:
+ - OAuth: []
+ summary: List meeting polls
+ tags:
+ - Meetings
+ post:
+ description: |-
+ Polls allow the meeting host to survey attendees. Use this API to create a [poll](https://support.zoom.us/hc/en-us/articles/213756303-Polling-for-Meetings) for a meeting.
+
+ **Scopes**: `meeting:write:admin` `meeting:write`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ **Prerequisites**:
+ * Host user type must be **Pro** or higher plan.
+ * Polling feature must be enabled in the host's account.
+ * Meeting must be a scheduled meeting. Instant meetings do not have polling features enabled.
+ operationId: meetingPollCreate
+ parameters:
+ - description: |-
+ The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
+
+ While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ allOf:
+ - description: Poll
+ properties:
+ questions:
+ description: Array of Polls
+ items:
+ properties:
+ answers:
+ description: Answers to the questions
+ items:
+ type: string
+ type: array
+ name:
+ description: Question to be asked to the attendees.
+ type: string
+ type:
+ description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
+ enum:
+ - single
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - single answer
+ - multiple answer
+ type: object
+ type: array
+ title:
+ description: Title for the poll.
+ type: string
+ title: Poll
+ type: object
+ multipart/form-data:
+ schema:
+ allOf:
+ - description: Poll
+ properties:
+ questions:
+ description: Array of Polls
+ items:
+ properties:
+ answers:
+ description: Answers to the questions
+ items:
+ type: string
+ type: array
+ name:
+ description: Question to be asked to the attendees.
+ type: string
+ type:
+ description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
+ enum:
+ - single
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - single answer
+ - multiple answer
+ type: object
+ type: array
+ title:
+ description: Title for the poll.
+ type: string
+ title: Poll
+ type: object
+ description: Meeting poll object
+ required: true
+ x-examples:
+ application/json:
+ questions:
+ - answers:
+ - Extremely useful
+ - Somewhat useful
+ - Not useful at all
+ name: How useful was this meeting?
+ type: multiple
+ title: Meeting Usefulness
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ id: abcdaaaeefffhhh
+ questions:
+ - answers:
+ - Extremely useful
+ - Somewhat useful
+ - Not useful at all
+ name: How useful was this meeting?
+ type: multiple
+ status: notstart
+ title: Meeting Usefulness
+ schema:
+ allOf:
+ - properties:
+ id:
+ description: Meeting Poll ID
+ type: string
+ status:
+ description: Status of the Meeting Poll: `notstart` - Poll not started `started` - Poll started `ended` - Poll ended `sharing` - Sharing poll results
+ enum:
+ - notstart
+ - started
+ - ended
+ - sharing
+ type: string
+ x-enum-descriptions:
+ - Poll not start
+ - Poll started
+ - Poll ended
+ - Poll is sharing
+ type: object
+ - description: Poll
+ properties:
+ questions:
+ description: Array of Polls
+ items:
+ properties:
+ answers:
+ description: Answers to the questions
+ items:
+ type: string
+ type: array
+ name:
+ description: Question to be asked to the attendees.
+ type: string
+ type:
+ description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
+ enum:
+ - single
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - single answer
+ - multiple answer
+ type: object
+ type: array
+ title:
+ description: Title for the poll.
+ type: string
+ title: Poll
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ id:
+ description: Meeting Poll ID
+ type: string
+ status:
+ description: Status of the Meeting Poll: `notstart` - Poll not started `started` - Poll started `ended` - Poll ended `sharing` - Sharing poll results
+ enum:
+ - notstart
+ - started
+ - ended
+ - sharing
+ type: string
+ x-enum-descriptions:
+ - Poll not start
+ - Poll started
+ - Poll ended
+ - Poll is sharing
+ type: object
+ - description: Poll
+ properties:
+ questions:
+ description: Array of Polls
+ items:
+ properties:
+ answers:
+ description: Answers to the questions
+ items:
+ type: string
+ type: array
+ name:
+ description: Question to be asked to the attendees.
+ type: string
+ type:
+ description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
+ enum:
+ - single
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - single answer
+ - multiple answer
+ type: object
+ type: array
+ title:
+ description: Title for the poll.
+ type: string
+ title: Poll
+ type: object
+ description: |-
+ **HTTP Status Code:** `201`
+ Meeting Poll Created
+ headers:
+ Content-Location:
+ description: Location of created Meeting Poll
+ schema:
+ type: string
+ "404":
+ description: |-
+ **Error Code:** `404`
+ Meeting not found
+ security:
+ - OAuth: []
+ summary: Create a meeting poll
+ tags:
+ - Meetings
+ "/meetings/{meetingId}/polls/{pollId}":
+ delete:
+ description: |-
+ Polls allow the meeting host to survey attendees. Use this API to delete a meeting [poll](https://support.zoom.us/hc/en-us/articles/213756303-Polling-for-Meetings).
+ **Scopes**: `meeting:write:admin` `meeting:write`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ **Prerequisites**:
+ * Host user type must be **Pro**.
+ * Polling feature should be enabled in the host's account.
+ * Meeting must be a scheduled meeting. Instant meetings do not have polling features enabled.
+ operationId: meetingPollDelete
+ parameters:
+ - description: |-
+ The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
+
+ While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: The poll ID
+ in: path
+ name: pollId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ Meeting Poll deleted
+ "404":
+ description: |-
+ **Error Code:** `404`
+ Meeting Poll not found
+ security:
+ - OAuth: []
+ summary: Delete a meeting poll
+ tags:
+ - Meetings
+ get:
+ description: |+
+ Polls allow the meeting host to survey attendees. Use this API to get information about a specific meeting [poll](https://support.zoom.us/hc/en-us/articles/213756303-Polling-for-Meetings).
+ **Scopes**: `meeting:read:admin` `meeting:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+
+ operationId: meetingPollGet
+ parameters:
+ - description: |-
+ The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
+
+ While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: The poll ID
+ in: path
+ name: pollId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ id: abcdaaaeefffhhh
+ questions:
+ - answers:
+ - Extremely useful
+ - Somewhat useful
+ - Not useful at all
+ name: How useful was this meeting?
+ type: multiple
+ status: notstart
+ title: Meeting Usefulness
+ schema:
+ allOf:
+ - properties:
+ id:
+ description: Meeting Poll ID
+ type: string
+ status:
+ description: Status of the Meeting Poll: `notstart` - Poll not started `started` - Poll started `ended` - Poll ended `sharing` - Sharing poll results
+ enum:
+ - notstart
+ - started
+ - ended
+ - sharing
+ type: string
+ x-enum-descriptions:
+ - Poll not start
+ - Poll started
+ - Poll ended
+ - Poll is sharing
+ type: object
+ - description: Poll
+ properties:
+ questions:
+ description: Array of Polls
+ items:
+ properties:
+ answers:
+ description: Answers to the questions
+ items:
+ type: string
+ type: array
+ name:
+ description: Question to be asked to the attendees.
+ type: string
+ type:
+ description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
+ enum:
+ - single
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - single answer
+ - multiple answer
+ type: object
+ type: array
+ title:
+ description: Title for the poll.
+ type: string
+ title: Poll
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ id:
+ description: Meeting Poll ID
+ type: string
+ status:
+ description: Status of the Meeting Poll: `notstart` - Poll not started `started` - Poll started `ended` - Poll ended `sharing` - Sharing poll results
+ enum:
+ - notstart
+ - started
+ - ended
+ - sharing
+ type: string
+ x-enum-descriptions:
+ - Poll not start
+ - Poll started
+ - Poll ended
+ - Poll is sharing
+ type: object
+ - description: Poll
+ properties:
+ questions:
+ description: Array of Polls
+ items:
+ properties:
+ answers:
+ description: Answers to the questions
+ items:
+ type: string
+ type: array
+ name:
+ description: Question to be asked to the attendees.
+ type: string
+ type:
+ description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
+ enum:
+ - single
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - single answer
+ - multiple answer
+ type: object
+ type: array
+ title:
+ description: Title for the poll.
+ type: string
+ title: Poll
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Meeting Poll object returned
+ "404":
+ description: |-
+ **Error Code:** `404`
+ Meeting Poll not found.
+ security:
+ - OAuth: []
+ summary: Get a meeting poll
+ tags:
+ - Meetings
+ put:
+ description: |+
+ Polls allow the meeting host to survey attendees. Use this API to update information of a specific meeting [poll](https://support.zoom.us/hc/en-us/articles/213756303-Polling-for-Meetings)
+ **Scopes**: `meeting:write:admin` `meeting:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: meetingPollUpdate
+ parameters:
+ - description: |-
+ The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
+
+ While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: The poll ID
+ in: path
+ name: pollId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ allOf:
+ - description: Poll
+ properties:
+ questions:
+ description: Array of Polls
+ items:
+ properties:
+ answers:
+ description: Answers to the questions
+ items:
+ type: string
+ type: array
+ name:
+ description: Question to be asked to the attendees.
+ type: string
+ type:
+ description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
+ enum:
+ - single
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - single answer
+ - multiple answer
+ type: object
+ type: array
+ title:
+ description: Title for the poll.
+ type: string
+ title: Poll
+ type: object
+ multipart/form-data:
+ schema:
+ allOf:
+ - description: Poll
+ properties:
+ questions:
+ description: Array of Polls
+ items:
+ properties:
+ answers:
+ description: Answers to the questions
+ items:
+ type: string
+ type: array
+ name:
+ description: Question to be asked to the attendees.
+ type: string
+ type:
+ description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
+ enum:
+ - single
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - single answer
+ - multiple answer
+ type: object
+ type: array
+ title:
+ description: Title for the poll.
+ type: string
+ title: Poll
+ type: object
+ description: Meeting Poll
+ required: true
+ x-examples:
+ application/json:
+ questions:
+ - answers:
+ - Definitely
+ - Probably
+ - Not going to use it again
+ name: Would you like to use our service again?
+ type: multiple
+ title: Meeting Usefulness
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ Meeting Poll Updated
+ "404":
+ description: |-
+ **Error Code:** `404`
+ Meeting Poll not found
+ security:
+ - OAuth: []
+ summary: Update a meeting poll
+ tags:
+ - Meetings
+ "/meetings/{meetingId}/recordings":
+ delete:
+ description: |
+ Delete all recording files of a meeting.
+
+ **Scopes:** `recording:write:admin` `recording:write`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ **Prerequisites**:
+ * Cloud Recording should be enabled on the user's account.
+ operationId: recordingDelete
+ parameters:
+ - description: |-
+ To get Cloud Recordings of a meeting, provide the meeting ID or meeting UUID. If the meeting ID is provided instead of UUID,the response will be for the latest meeting instance.
+
+ To get Cloud Recordings of a webinar, provide the webinar ID or the webinar UUID. If the webinar ID is provided instead of UUID,the response will be for the latest webinar instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875=="), you must **double encode** the UUID before making an API request.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ - description: The recording delete actions: `trash` - Move recording to trash. `delete` - Delete recording permanently.
+ in: query
+ name: action
+ schema:
+ default: trash
+ enum:
+ - trash
+ - delete
+ type: string
+ x-enum-descriptions:
+ - move recording to trash
+ - delete recording permanently
+ responses:
+ "200":
+ description: |-
+ **Error Code:** `200`
+ You do not have the right permission.
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ Meeting recording deleted.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ **Error Code:** `1010`
+ User does not belong to this account: {accountId}.
+ "404":
+ description: |
+ **HTTP Status Code:** `404`
+ Meeting recording not found
+ **Error Code:** `1001` User {userId} does not exist or does not belong to this account.
+ **Error Code:** `3301` There is no recording for this meeting.
+ security:
+ - OAuth: []
+ summary: Delete meeting recordings
+ tags:
+ - Cloud Recording
+ get:
+ description: |+
+ Get all the [recordings](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-Recording#h_7420acb5-1897-4061-87b4-5b76e99c03b4) from a meeting or Webinar instance.
The recording files can be downloaded via the `download_url` property listed in the response.
+
+ > To access a password protected cloud recording, add an "access_token" parameter to the download URL and provide OAuth access token or [JWT](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app) as the value of the "access_token".
+
+
+ **Scopes:** `recording:read:admin` `recording:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: recordingGet
+ parameters:
+ - description: |-
+ To get Cloud Recordings of a meeting, provide the meeting ID or meeting UUID. If the meeting ID is provided instead of UUID,the response will be for the latest meeting instance.
+
+ To get Cloud Recordings of a webinar, provide the webinar ID or the webinar UUID. If the webinar ID is provided instead of UUID,the response will be for the latest webinar instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875=="), you must **double encode** the UUID before making an API request.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ - description: Get the `download_access_token` field for downloading meeting recordings.
+ in: query
+ name: include_fields
+ schema:
+ type: string
+ - description: Time to live (TTL) of the `download_access_token`. This is only valid if the `include_fields` query parameter contains `download_access_token`. The range is between 0-604800.
+ in: query
+ name: ttl
+ schema:
+ maximum: 604800
+ minimum: 0
+ type: integer
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ account_id: EABkdslfBBBdk
+ duration: 1
+ host_id: z8yBXksaAAjdhfsfdfkjgg
+ id: 68000000031879
+ recording_count: 3
+ recording_files:
+ - download_url: https://api.zoom.us/recording/download/Qg75t7xZBtEbAkjdlgbfdngBBBB
+ file_size: 37285
+ file_type: MP4
+ id: 96119skjlfhdshkjf-djkfndjf0-f791
+ meeting_id: gkABCDEbbbbbbbkPuA==
+ play_url: https://api.zoom.us/recording/play/Qg75t7xZBtEbAkjdlgbfdngBBBB
+ recording_end: 2019-08-29T21:55:24Z
+ recording_start: 2019-08-29T21:54:55Z
+ recording_type: shared_screen_with_speaker_view
+ status: completed
+ - download_url: https://api.zoom.us/recording/download/ABdkEEEfhlgldfjkglfghlkfdklhsg
+ file_size: 10098
+ file_type: M4A
+ id: 5890sfjkdsf-aaaakdf-fbbb618718e
+ meeting_id: gkABCDEbbbbbbbkPuA==
+ play_url: https://api.zoom.us/recording/play/ABdkEEEfhlgldfjkglfghlkfdklhsg
+ recording_end: 2019-08-29T21:55:24Z
+ recording_start: 2019-08-29T21:54:55Z
+ recording_type: audio_only
+ status: completed
+ - download_url: https://api.zoom.us/recording/download/e2ed-dlkjgdfkgh-kslsdbsjf1a
+ file_type: TIMELINE
+ meeting_id: gkABCDEbbbbbbbkPuA==
+ recording_end: 2019-08-29T21:55:24Z
+ recording_start: 2019-08-29T21:54:55Z
+ share_url: https://api.zoom.us/recording/share/abcdkhfdbbfdjbg
+ start_time: 2019-08-29T21:54:49Z
+ timezone: America/Los_Angeles
+ topic: MyTestPollMeeting
+ total_size: 47383
+ type: 2
+ uuid: gkABCDEbbbbbbbkPuA==
+ schema:
+ allOf:
+ - allOf:
+ - properties:
+ account_id:
+ description: Unique Identifier of the user account.
+ type: string
+ duration:
+ description: Meeting duration.
+ type: integer
+ host_id:
+ description: ID of the user set as host of meeting.
+ type: string
+ id:
+ description: Meeting ID - also known as the meeting number.
+ type: string
+ recording_count:
+ description: Number of recording files returned in the response of this API call.
+ type: string
+ start_time:
+ description: The time at which the meeting started.
+ format: date-time
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ total_size:
+ description: Total size of the recording.
+ type: string
+ type:
+ description: |-
+ Type of the meeting that was recorded.
+
+ Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with fixed time.
+ type: string
+ uuid:
+ description: Unique Meeting Identifier. Each instance of the meeting will have its own UUID.
+ type: string
+ - allOf:
+ - properties:
+ recording_files:
+ description: List of recording file.
+ items:
+ allOf:
+ - description: Recording file object.
+ properties:
+ deleted_time:
+ description: The time at which recording was deleted. Returned in the response only for trash query.
+ type: string
+ download_url:
+ description: |+
+ The URL using which the recording file can be downloaded. **To access a private or password protected cloud recording of a user in your account, you can use a [Zoom JWT App Type](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL as shown in the example.**
+
+ Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ JWT Token }}`
+
+ **Similarly, if the user has installed your OAuth app that contains recording scope(s), you can also use the user's [OAuth access token](https://marketplace.zoom.us/docs/guides/auth/oauth) to download the Cloud Recording.**
+
+ Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ OAuth Access Token }}`
+
+ type: string
+ file_size:
+ description: The recording file size.
+ type: number
+ file_type:
+ description: |-
+ The recording file type. The value of this field could be one of the following:
+ `MP4`: Video file of the recording. `M4A` Audio-only file of the recording. `TIMELINE`: Timestamp file of the recording in JSON file format. To get a timeline file, the "Add a timestamp to the recording" setting must be enabled in the [recording settings](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-recording#h_3f14c3a4-d16b-4a3c-bbe5-ef7d24500048). The time will display in the host's timezone, set on their Zoom profile.
+ `TRANSCRIPT`: Transcription file of the recording in VTT format. `CHAT`: A TXT file containing in-meeting chat messages that were sent during the meeting. `CC`: File containing closed captions of the recording in VTT file format. `CSV`: File containing polling data in csv format.
+
+
+
+ A recording file object with file type of either `CC` or `TIMELINE` **does not have** the following properties:
+ `id`, `status`, `file_size`, `recording_type`, and `play_url`.
+ type: string
+ id:
+ description: The recording file ID. Included in the response of general query.
+ type: string
+ meeting_id:
+ description: "The meeting ID. "
+ type: string
+ play_url:
+ description: The URL using which a recording file can be played.
+ type: string
+ recording_end:
+ description: The recording end time. Response in general query.
+ type: string
+ recording_start:
+ description: The recording start time.
+ type: string
+ recording_type:
+ description: The recording type. The value of this field can be one of the following: `shared_screen_with_speaker_view(CC)` `shared_screen_with_speaker_view` `shared_screen_with_gallery_view` `speaker_view` `gallery_view` `shared_screen` `audio_only` `audio_transcript` `chat_file` `active_speaker` `poll`
+ type: string
+ status:
+ description: The recording status.
+ enum:
+ - completed
+ type: string
+ type: object
+ title: Recording file List
+ type: array
+ description: List of recording file.
+ title: Recording file List
+ type: object
+ description: The recording meeting object.
+ type: object
+ - properties:
+ download_access_token:
+ description: |-
+ JWT token for downloading the meeting recording.
+ This is only returned if the `include_fields` query parameter contains `download_access_token`.
+ type: string
+ application/xml:
+ schema:
+ allOf:
+ - allOf:
+ - properties:
+ account_id:
+ description: Unique Identifier of the user account.
+ type: string
+ duration:
+ description: Meeting duration.
+ type: integer
+ host_id:
+ description: ID of the user set as host of meeting.
+ type: string
+ id:
+ description: Meeting ID - also known as the meeting number.
+ type: string
+ recording_count:
+ description: Number of recording files returned in the response of this API call.
+ type: string
+ start_time:
+ description: The time at which the meeting started.
+ format: date-time
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ total_size:
+ description: Total size of the recording.
+ type: string
+ type:
+ description: |-
+ Type of the meeting that was recorded.
+
+ Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with fixed time.
+ type: string
+ uuid:
+ description: Unique Meeting Identifier. Each instance of the meeting will have its own UUID.
+ type: string
+ - allOf:
+ - properties:
+ recording_files:
+ description: List of recording file.
+ items:
+ allOf:
+ - description: Recording file object.
+ properties:
+ deleted_time:
+ description: The time at which recording was deleted. Returned in the response only for trash query.
+ type: string
+ download_url:
+ description: |+
+ The URL using which the recording file can be downloaded. **To access a private or password protected cloud recording of a user in your account, you can use a [Zoom JWT App Type](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL as shown in the example.**
+
+ Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ JWT Token }}`
+
+ **Similarly, if the user has installed your OAuth app that contains recording scope(s), you can also use the user's [OAuth access token](https://marketplace.zoom.us/docs/guides/auth/oauth) to download the Cloud Recording.**
+
+ Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ OAuth Access Token }}`
+
+ type: string
+ file_size:
+ description: The recording file size.
+ type: number
+ file_type:
+ description: |-
+ The recording file type. The value of this field could be one of the following:
+ `MP4`: Video file of the recording. `M4A` Audio-only file of the recording. `TIMELINE`: Timestamp file of the recording in JSON file format. To get a timeline file, the "Add a timestamp to the recording" setting must be enabled in the [recording settings](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-recording#h_3f14c3a4-d16b-4a3c-bbe5-ef7d24500048). The time will display in the host's timezone, set on their Zoom profile.
+ `TRANSCRIPT`: Transcription file of the recording in VTT format. `CHAT`: A TXT file containing in-meeting chat messages that were sent during the meeting. `CC`: File containing closed captions of the recording in VTT file format. `CSV`: File containing polling data in csv format.
+
+
+
+ A recording file object with file type of either `CC` or `TIMELINE` **does not have** the following properties:
+ `id`, `status`, `file_size`, `recording_type`, and `play_url`.
+ type: string
+ id:
+ description: The recording file ID. Included in the response of general query.
+ type: string
+ meeting_id:
+ description: "The meeting ID. "
+ type: string
+ play_url:
+ description: The URL using which a recording file can be played.
+ type: string
+ recording_end:
+ description: The recording end time. Response in general query.
+ type: string
+ recording_start:
+ description: The recording start time.
+ type: string
+ recording_type:
+ description: The recording type. The value of this field can be one of the following: `shared_screen_with_speaker_view(CC)` `shared_screen_with_speaker_view` `shared_screen_with_gallery_view` `speaker_view` `gallery_view` `shared_screen` `audio_only` `audio_transcript` `chat_file` `active_speaker` `poll`
+ type: string
+ status:
+ description: The recording status.
+ enum:
+ - completed
+ type: string
+ type: object
+ title: Recording file List
+ type: array
+ description: List of recording file.
+ title: Recording file List
+ type: object
+ description: The recording meeting object.
+ type: object
+ - properties:
+ download_access_token:
+ description: |-
+ JWT token for downloading the meeting recording.
+ This is only returned if the `include_fields` query parameter contains `download_access_token`.
+ type: string
+ description: |
+ **Error Code:** `200`
+ You do not have the right permissions.
+ **HTTP Status Code:** `200`
+ Recording object returned.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ **Error Code:** `1010`
+ User not found on this account: {accountId}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Meeting recording not found.
+ **Error Code:** `1001`
+ User {userId} does not exist or does not belong to this account.
+ **Error Code:** `3301`
+ There is no recording for this meeting.
+ security:
+ - OAuth: []
+ summary: Get meeting recordings
+ tags:
+ - Cloud Recording
+ "/meetings/{meetingId}/recordings/registrants":
+ get:
+ description: |
+ Cloud Recordings of past Zoom Meetings can be made [on-demand](https://support.zoom.us/hc/en-us/articles/360000488283-On-demand-Recordings). Users should be [registered](https://marketplace.zoom.us/docs/api-reference/zoom-api/cloud-recording/meetingrecordingregistrantcreate) to view these recordings.
+
+ Use this API to list registrants of **On-demand Cloud Recordings** of a past meeting.
+ **Scopes:** `recording:read:admin`, `recording:read`.
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: meetingRecordingRegistrants
+ parameters:
+ - description: |-
+ The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
+
+ While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: The registrant status: `pending` - Registrant's status is pending. `approved` - Registrant's status is approved. `denied` - Registrant's status is denied.
+ in: query
+ name: status
+ schema:
+ default: approved
+ enum:
+ - pending
+ - approved
+ - denied
+ type: string
+ x-enum-descriptions:
+ - registrants status is pending
+ - registrants status is approved
+ - registrants status is denied
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: |-
+
+ **Deprecated** - This field has been deprecated and we will stop supporting it completely in a future release. Please use "next_page_token" for pagination instead of this field.
+
+ The page number of the current page in the returned records.
+ in: query
+ name: page_number
+ schema:
+ default: 1
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ page_count: 0
+ page_number: 1
+ page_size: 30
+ registrants:
+ - address: dsdsfsf st
+ city: Paris
+ comments: Amazing!
+ country: France
+ create_time: 2019-08-29T23:04:08Z
+ custom_questions: []
+ email: shriee@somekindofmail.com
+ first_name: Shri
+ id: sskldsbdABBBBBBBB
+ industry: sfsdf
+ job_title: sfsdfsdf
+ last_name: Shree
+ no_of_employees: "40"
+ org: dsadsfsf
+ phone: "000000"
+ purchasing_time_frame: Within a month
+ role_in_purchase_process: Influencer
+ share_url: https://zoom.us/recording/share/IlA1ABCDDJHKNDkkkkkkkTziMw
+ state: astate
+ status: approved
+ zip: "3555354"
+ total_records: 1
+ schema:
+ allOf:
+ - allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: |-
+ **Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
+
+ The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ - properties:
+ registrants:
+ description: List of Registrant objects
+ items:
+ allOf:
+ - properties:
+ id:
+ type: string
+ - allOf:
+ - description: Registrant base object.
+ properties:
+ address:
+ description: Registrant's address.
+ type: string
+ city:
+ description: Registrant's city.
+ type: string
+ comments:
+ description: A field that allows registrants to provide any questions or comments that they might have.
+ type: string
+ country:
+ description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
+ type: string
+ custom_questions:
+ description: Custom questions.
+ items:
+ description: Custom Question.
+ properties:
+ title:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ email:
+ description: A valid email address of the registrant.
+ maxLength: 128
+ type: string
+ first_name:
+ description: Registrant's first name.
+ maxLength: 64
+ type: string
+ industry:
+ description: Registrant's Industry.
+ type: string
+ job_title:
+ description: Registrant's job title.
+ type: string
+ last_name:
+ description: Registrant's last name.
+ maxLength: 64
+ type: string
+ no_of_employees:
+ description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
+ type: string
+ org:
+ description: Registrant's Organization.
+ type: string
+ phone:
+ description: Registrant's Phone number.
+ type: string
+ purchasing_time_frame:
+ description: |-
+ This field can be included to gauge interest of webinar attendees towards buying your product or service.
+
+ Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
+ type: string
+ role_in_purchase_process:
+ description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
+ type: string
+ state:
+ description: Registrant's State/Province.
+ type: string
+ zip:
+ description: Registrant's Zip/Postal Code.
+ type: string
+ required:
+ - email
+ - first_name
+ type: object
+ description: " Registrant."
+ type: object
+ type: array
+ description: List of Recording Registration
+ title: Recording Registration List
+ type: object
+ description: List of meeting recording registrant
+ title: Registration List
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: |-
+ **Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
+
+ The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ - properties:
+ registrants:
+ description: List of Registrant objects
+ items:
+ allOf:
+ - properties:
+ id:
+ type: string
+ - allOf:
+ - description: Registrant base object.
+ properties:
+ address:
+ description: Registrant's address.
+ type: string
+ city:
+ description: Registrant's city.
+ type: string
+ comments:
+ description: A field that allows registrants to provide any questions or comments that they might have.
+ type: string
+ country:
+ description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
+ type: string
+ custom_questions:
+ description: Custom questions.
+ items:
+ description: Custom Question.
+ properties:
+ title:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ email:
+ description: A valid email address of the registrant.
+ maxLength: 128
+ type: string
+ first_name:
+ description: Registrant's first name.
+ maxLength: 64
+ type: string
+ industry:
+ description: Registrant's Industry.
+ type: string
+ job_title:
+ description: Registrant's job title.
+ type: string
+ last_name:
+ description: Registrant's last name.
+ maxLength: 64
+ type: string
+ no_of_employees:
+ description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
+ type: string
+ org:
+ description: Registrant's Organization.
+ type: string
+ phone:
+ description: Registrant's Phone number.
+ type: string
+ purchasing_time_frame:
+ description: |-
+ This field can be included to gauge interest of webinar attendees towards buying your product or service.
+
+ Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
+ type: string
+ role_in_purchase_process:
+ description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
+ type: string
+ state:
+ description: Registrant's State/Province.
+ type: string
+ zip:
+ description: Registrant's Zip/Postal Code.
+ type: string
+ required:
+ - email
+ - first_name
+ type: object
+ description: " Registrant."
+ type: object
+ type: array
+ description: List of Recording Registration
+ title: Recording Registration List
+ type: object
+ description: List of meeting recording registrant
+ title: Registration List
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Registrants returned.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Meeting recording not found.
+ security:
+ - OAuth: []
+ summary: List recording registrants
+ tags:
+ - Cloud Recording
+ post:
+ description: |+
+ Cloud Recordings of past Zoom Meetings can be made [on-demand](https://support.zoom.us/hc/en-us/articles/360000488283-On-demand-Recordings). Users should be [registered](https://marketplace.zoom.us/docs/api-reference/zoom-api/cloud-recording/meetingrecordingregistrantcreate) to view these recordings.
+
+ Use this API to register a user to gain access to **On-demand Cloud Recordings** of a past meeting.
+ **Scopes:** `recording:write:admin`, `recording:write`.
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: meetingRecordingRegistrantCreate
+ parameters:
+ - description: |-
+ The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
+
+ While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ allOf:
+ - description: Registrant base object.
+ properties:
+ address:
+ description: Registrant's address.
+ type: string
+ city:
+ description: Registrant's city.
+ type: string
+ comments:
+ description: A field that allows registrants to provide any questions or comments that they might have.
+ type: string
+ country:
+ description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
+ type: string
+ custom_questions:
+ description: Custom questions.
+ items:
+ description: Custom Question.
+ properties:
+ title:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ email:
+ description: A valid email address of the registrant.
+ maxLength: 128
+ type: string
+ first_name:
+ description: Registrant's first name.
+ maxLength: 64
+ type: string
+ industry:
+ description: Registrant's Industry.
+ type: string
+ job_title:
+ description: Registrant's job title.
+ type: string
+ last_name:
+ description: Registrant's last name.
+ maxLength: 64
+ type: string
+ no_of_employees:
+ description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
+ type: string
+ org:
+ description: Registrant's Organization.
+ type: string
+ phone:
+ description: Registrant's Phone number.
+ type: string
+ purchasing_time_frame:
+ description: |-
+ This field can be included to gauge interest of webinar attendees towards buying your product or service.
+
+ Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
+ type: string
+ role_in_purchase_process:
+ description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
+ type: string
+ state:
+ description: Registrant's State/Province.
+ type: string
+ zip:
+ description: Registrant's Zip/Postal Code.
+ type: string
+ required:
+ - email
+ - first_name
+ type: object
+ description: " Registrant."
+ type: object
+ multipart/form-data:
+ schema:
+ allOf:
+ - description: Registrant base object.
+ properties:
+ address:
+ description: Registrant's address.
+ type: string
+ city:
+ description: Registrant's city.
+ type: string
+ comments:
+ description: A field that allows registrants to provide any questions or comments that they might have.
+ type: string
+ country:
+ description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
+ type: string
+ custom_questions:
+ description: Custom questions.
+ items:
+ description: Custom Question.
+ properties:
+ title:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ email:
+ description: A valid email address of the registrant.
+ maxLength: 128
+ type: string
+ first_name:
+ description: Registrant's first name.
+ maxLength: 64
+ type: string
+ industry:
+ description: Registrant's Industry.
+ type: string
+ job_title:
+ description: Registrant's job title.
+ type: string
+ last_name:
+ description: Registrant's last name.
+ maxLength: 64
+ type: string
+ no_of_employees:
+ description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
+ type: string
+ org:
+ description: Registrant's Organization.
+ type: string
+ phone:
+ description: Registrant's Phone number.
+ type: string
+ purchasing_time_frame:
+ description: |-
+ This field can be included to gauge interest of webinar attendees towards buying your product or service.
+
+ Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
+ type: string
+ role_in_purchase_process:
+ description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
+ type: string
+ state:
+ description: Registrant's State/Province.
+ type: string
+ zip:
+ description: Registrant's Zip/Postal Code.
+ type: string
+ required:
+ - email
+ - first_name
+ type: object
+ description: " Registrant."
+ type: object
+ required: true
+ x-examples:
+ application/json:
+ address: 123 Main St
+ city: San Jose
+ comments: Welcome to the meeting recording
+ country: US
+ custom_questions:
+ - title: Favorite thing about Zoom
+ value: Meet Happy
+ email: mmyemaill@mycompanydomain.com
+ first_name: Samriddhi
+ industry: Tech
+ job_title: DA
+ last_name: Harris
+ no_of_employees: 1-20
+ org: IT
+ phone: 000-444-4444
+ purchasing_time_frame: More Than 6 Months
+ role_in_purchase_process: Influencer
+ state: CA
+ zip: "95550"
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ id: 12345666
+ registrant_id: veniamKIW1Sonseq
+ share_url: https://zoom.us/recording/share/IpAAABBBBBBA1aqqkzFFgiJ2jpR
+ topic: cupidatat dolore quis minim aliquip
+ schema:
+ properties:
+ id:
+ description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
+ format: int64
+ type: integer
+ registrant_id:
+ description: Registrant ID
+ type: string
+ share_url:
+ description: "Share URL for the on-demand recording. This includes the “tk” token for the registrant. This is similar to the token that Zoom returns in the URL response to join a registered meeting, for example: `url?tk=xxxx`. Except while the meeting registration token can be used to join the meeting, this token can only be used to watch the recording."
+ type: string
+ topic:
+ description: Meeting Topic
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ id:
+ description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
+ format: int64
+ type: integer
+ registrant_id:
+ description: Registrant ID
+ type: string
+ share_url:
+ description: "Share URL for the on-demand recording. This includes the “tk” token for the registrant. This is similar to the token that Zoom returns in the URL response to join a registered meeting, for example: `url?tk=xxxx`. Except while the meeting registration token can be used to join the meeting, this token can only be used to watch the recording."
+ type: string
+ topic:
+ description: Meeting Topic
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `201`
+ Registration submitted.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Meeting recording not found
+ security:
+ - OAuth: []
+ summary: Create a recording registrant
+ tags:
+ - Cloud Recording
+ "/meetings/{meetingId}/recordings/registrants/questions":
+ get:
+ description: |
+ For [on-demand](https://support.zoom.us/hc/en-us/articles/360000488283-On-demand-Recordings) meeting recordings, you can include fields with questions that will be shown to registrants when they register to view the recording.
+
+ Use this API to retrieve a list of questions that are displayed for users to complete when registering to view the recording of a specific meeting.
+ **Scopes:** `recording:read:admin`, `recording:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: recordingRegistrantsQuestionsGet
+ parameters:
+ - description: |-
+ To get Cloud Recordings of a meeting, provide the meeting ID or meeting UUID. If the meeting ID is provided instead of UUID,the response will be for the latest meeting instance.
+
+ To get Cloud Recordings of a webinar, provide the webinar ID or the webinar UUID. If the webinar ID is provided instead of UUID,the response will be for the latest webinar instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875=="), you must **double encode** the UUID before making an API request.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ custom_questions:
+ - answers:
+ - Yes
+ - No
+ required: false
+ title: Would you like us to contact you for a survey?
+ type: multiple
+ questions:
+ - field_name: address
+ required: false
+ schema:
+ description: Recording Registrant Questions
+ properties:
+ custom_questions:
+ description: Array of Registrant Custom Questions
+ items:
+ properties:
+ answers:
+ description: Answer choices for the question. Can not be used with Short answer type.
+ items:
+ type: string
+ type: array
+ required:
+ description: State whether registrants are required to answer custom questions or not.
+ type: boolean
+ title:
+ description: Title of the question.
+ type: string
+ type:
+ description: The type of registration question and answers.
+ enum:
+ - short
+ - single
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - Short Answer
+ - Single Answer
+ - Multiple Answer
+ type: object
+ type: array
+ questions:
+ description: Array of Registrant Questions
+ items:
+ properties:
+ field_name:
+ description: Field name.
+ enum:
+ - last_name
+ - address
+ - city
+ - country
+ - zip
+ - state
+ - phone
+ - industry
+ - org
+ - job_title
+ - purchasing_time_frame
+ - role_in_purchase_process
+ - no_of_employees
+ - comments
+ type: string
+ x-enum-descriptions:
+ - Last Name
+ - Address
+ - City
+ - Country/Region
+ - Zip/Postal Code
+ - State/Province
+ - Phone
+ - Industry
+ - Organization
+ - Job Title
+ - Purchasing Time Frame
+ - Role in Purchase Process
+ - Number of Employees
+ - Questions & Comments
+ required:
+ description: State whether the field is required to be answered by the registrant or not.
+ type: boolean
+ type: object
+ type: array
+ title: Recording Registrant Questions
+ type: object
+ application/xml:
+ schema:
+ description: Recording Registrant Questions
+ properties:
+ custom_questions:
+ description: Array of Registrant Custom Questions
+ items:
+ properties:
+ answers:
+ description: Answer choices for the question. Can not be used with Short answer type.
+ items:
+ type: string
+ type: array
+ required:
+ description: State whether registrants are required to answer custom questions or not.
+ type: boolean
+ title:
+ description: Title of the question.
+ type: string
+ type:
+ description: The type of registration question and answers.
+ enum:
+ - short
+ - single
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - Short Answer
+ - Single Answer
+ - Multiple Answer
+ type: object
+ type: array
+ questions:
+ description: Array of Registrant Questions
+ items:
+ properties:
+ field_name:
+ description: Field name.
+ enum:
+ - last_name
+ - address
+ - city
+ - country
+ - zip
+ - state
+ - phone
+ - industry
+ - org
+ - job_title
+ - purchasing_time_frame
+ - role_in_purchase_process
+ - no_of_employees
+ - comments
+ type: string
+ x-enum-descriptions:
+ - Last Name
+ - Address
+ - City
+ - Country/Region
+ - Zip/Postal Code
+ - State/Province
+ - Phone
+ - Industry
+ - Organization
+ - Job Title
+ - Purchasing Time Frame
+ - Role in Purchase Process
+ - Number of Employees
+ - Questions & Comments
+ required:
+ description: State whether the field is required to be answered by the registrant or not.
+ type: boolean
+ type: object
+ type: array
+ title: Recording Registrant Questions
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Recording Registrant Question object returned.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Meeting recording or registrant not found.
+ security:
+ - OAuth: []
+ summary: Get registration questions
+ tags:
+ - Cloud Recording
+ patch:
+ description: |
+ For [on-demand](https://support.zoom.us/hc/en-us/articles/360000488283-On-demand-Recordings) meeting recordings, you can include fields with questions that will be shown to registrants when they register to view the recording.
+
+ Use this API to update registration questions that are to be answered by users while registering to view a recording.
+ **Scopes:** `recording:write:admin`, `recording:write`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: recordingRegistrantQuestionUpdate
+ parameters:
+ - description: |-
+ To get Cloud Recordings of a meeting, provide the meeting ID or meeting UUID. If the meeting ID is provided instead of UUID,the response will be for the latest meeting instance.
+
+ To get Cloud Recordings of a webinar, provide the webinar ID or the webinar UUID. If the webinar ID is provided instead of UUID,the response will be for the latest webinar instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875=="), you must **double encode** the UUID before making an API request.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ allOf:
+ - description: Recording Registrant Questions
+ properties:
+ custom_questions:
+ description: Array of Registrant Custom Questions
+ items:
+ properties:
+ answers:
+ description: Answer choices for the question. Can not be used with Short answer type.
+ items:
+ type: string
+ type: array
+ required:
+ description: State whether registrants are required to answer custom questions or not.
+ type: boolean
+ title:
+ description: Title of the question.
+ type: string
+ type:
+ description: The type of registration question and answers.
+ enum:
+ - short
+ - single
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - Short Answer
+ - Single Answer
+ - Multiple Answer
+ type: object
+ type: array
+ questions:
+ description: Array of Registrant Questions
+ items:
+ properties:
+ field_name:
+ description: Field name.
+ enum:
+ - last_name
+ - address
+ - city
+ - country
+ - zip
+ - state
+ - phone
+ - industry
+ - org
+ - job_title
+ - purchasing_time_frame
+ - role_in_purchase_process
+ - no_of_employees
+ - comments
+ type: string
+ x-enum-descriptions:
+ - Last Name
+ - Address
+ - City
+ - Country/Region
+ - Zip/Postal Code
+ - State/Province
+ - Phone
+ - Industry
+ - Organization
+ - Job Title
+ - Purchasing Time Frame
+ - Role in Purchase Process
+ - Number of Employees
+ - Questions & Comments
+ required:
+ description: State whether the field is required to be answered by the registrant or not.
+ type: boolean
+ type: object
+ type: array
+ title: Recording Registrant Questions
+ type: object
+ multipart/form-data:
+ schema:
+ allOf:
+ - description: Recording Registrant Questions
+ properties:
+ custom_questions:
+ description: Array of Registrant Custom Questions
+ items:
+ properties:
+ answers:
+ description: Answer choices for the question. Can not be used with Short answer type.
+ items:
+ type: string
+ type: array
+ required:
+ description: State whether registrants are required to answer custom questions or not.
+ type: boolean
+ title:
+ description: Title of the question.
+ type: string
+ type:
+ description: The type of registration question and answers.
+ enum:
+ - short
+ - single
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - Short Answer
+ - Single Answer
+ - Multiple Answer
+ type: object
+ type: array
+ questions:
+ description: Array of Registrant Questions
+ items:
+ properties:
+ field_name:
+ description: Field name.
+ enum:
+ - last_name
+ - address
+ - city
+ - country
+ - zip
+ - state
+ - phone
+ - industry
+ - org
+ - job_title
+ - purchasing_time_frame
+ - role_in_purchase_process
+ - no_of_employees
+ - comments
+ type: string
+ x-enum-descriptions:
+ - Last Name
+ - Address
+ - City
+ - Country/Region
+ - Zip/Postal Code
+ - State/Province
+ - Phone
+ - Industry
+ - Organization
+ - Job Title
+ - Purchasing Time Frame
+ - Role in Purchase Process
+ - Number of Employees
+ - Questions & Comments
+ required:
+ description: State whether the field is required to be answered by the registrant or not.
+ type: boolean
+ type: object
+ type: array
+ title: Recording Registrant Questions
+ type: object
+ description: Recording Registrant Questions
+ required: true
+ x-examples:
+ application/json:
+ custom_questions:
+ - required: false
+ title: Are you looking for a job?
+ type: short
+ - answers:
+ - Full-time
+ - Part-time
+ - Internship
+ required: false
+ title: What kind of job are you looking for?
+ type: multiple
+ questions:
+ - field_name: job_title
+ required: true
+ - field_name: last_name
+ required: true
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `200`
+ Recording Registrant Questions Updated
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Meeting recording or Registrant not found
+ security:
+ - OAuth: []
+ summary: Update registration questions
+ tags:
+ - Cloud Recording
+ "/meetings/{meetingId}/recordings/registrants/status":
+ put:
+ description: |
+ A registrant can either be approved or denied from viewing the [on-demand](https://support.zoom.us/hc/en-us/articles/360000488283-On-demand-Recordings) recording.
+ Use this API to update a registrant's status.
+
+ **Scopes:** `recording:write:admin`, `recording:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: meetingRecordingRegistrantStatus
+ parameters:
+ - description: |-
+ The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
+
+ While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ description: Registrant Status
+ properties:
+ action:
+ enum:
+ - approve
+ - deny
+ type: string
+ x-enum-descriptions:
+ - Approve registrant
+ - Deny registrant
+ registrants:
+ description: List of registrants
+ items:
+ properties:
+ id:
+ type: string
+ maximum: 30
+ type: array
+ required:
+ - action
+ type: object
+ multipart/form-data:
+ schema:
+ description: Registrant Status
+ properties:
+ action:
+ enum:
+ - approve
+ - deny
+ type: string
+ x-enum-descriptions:
+ - Approve registrant
+ - Deny registrant
+ registrants:
+ description: List of registrants
+ items:
+ properties:
+ id:
+ type: string
+ maximum: 30
+ type: array
+ required:
+ - action
+ type: object
+ required: true
+ x-examples:
+ application/json:
+ action: approve
+ registrants:
+ - id: "644339795"
+ - id: "44220011"
+ - id: "55226611"
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ Registrant status updated.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Meeting recording or Registrant not found
+ security:
+ - OAuth: []
+ summary: Update registrant's status
+ tags:
+ - Cloud Recording
+ "/meetings/{meetingId}/recordings/settings":
+ get:
+ description: |-
+ Retrieve settings applied to a meeting's [Cloud Recording](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-Recording).
+ **Scopes**: `recording:read:admin` `recording:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: recordingSettingUpdate
+ parameters:
+ - description: |-
+ To get Cloud Recordings of a meeting, provide the meeting ID or meeting UUID. If the meeting ID is provided instead of UUID,the response will be for the latest meeting instance.
+
+ To get Cloud Recordings of a webinar, provide the webinar ID or the webinar UUID. If the webinar ID is provided instead of UUID,the response will be for the latest webinar instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875=="), you must **double encode** the UUID before making an API request.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ approval_type: 1
+ authentication_domains: ccc.com
+ authentication_option: abc
+ on_demand: false
+ password: dAbyzK1
+ recording_authentication: true
+ send_email_to_host: true
+ share_recording: none
+ show_social_share_buttons: true
+ viewer_download: false
+ schema:
+ properties:
+ approval_type:
+ description: |-
+ Approval type for the registration.
+ `0`- Automatically approve the registration when a user registers.
+ `1` - Manually approve or deny the registration of a user.
+ `2` - No registration required to view the recording.
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Registrants can watch the recording directly after registration
+ - Registrants will receive emails then watch the recording after you approve the registration
+ - Disabled
+ authentication_domains:
+ description: Authentication domains.
+ type: string
+ authentication_option:
+ description: Authentication Options.
+ type: string
+ on_demand:
+ description: Determine whether registration isrequired to view the recording.
+ type: boolean
+ password:
+ description: |-
+ Enable password protection for the recording by setting a password. The password must have a minimum of **eight** characters with a mix of numbers, letters and special characters.
+ **Note:** If the account owner or the admin has set minimum password strength requirements for recordings via Account Settings, the password value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
+ maxLength: 10
+ minLength: 8
+ type: string
+ recording_authentication:
+ description: Only authenticated users can view.
+ type: boolean
+ send_email_to_host:
+ description: Send an email to host when someone registers to view the recording. This applies for On-demand recordings only.
+ type: boolean
+ share_recording:
+ description: Determine how the meeting recording is shared.
+ enum:
+ - publicly
+ - internally
+ - none
+ type: string
+ x-enum-descriptions:
+ - Publicly
+ - Internally(account members only)
+ - None
+ show_social_share_buttons:
+ description: Show social share buttons on registration page. This applies for On-demand recordings only.
+ type: boolean
+ topic:
+ description: Name of the recording.
+ type: string
+ viewer_download:
+ description: Determine whether a viewer can download the recording file or not.
+ type: boolean
+ title: Recording settings
+ type: object
+ application/xml:
+ schema:
+ properties:
+ approval_type:
+ description: |-
+ Approval type for the registration.
+ `0`- Automatically approve the registration when a user registers.
+ `1` - Manually approve or deny the registration of a user.
+ `2` - No registration required to view the recording.
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Registrants can watch the recording directly after registration
+ - Registrants will receive emails then watch the recording after you approve the registration
+ - Disabled
+ authentication_domains:
+ description: Authentication domains.
+ type: string
+ authentication_option:
+ description: Authentication Options.
+ type: string
+ on_demand:
+ description: Determine whether registration isrequired to view the recording.
+ type: boolean
+ password:
+ description: |-
+ Enable password protection for the recording by setting a password. The password must have a minimum of **eight** characters with a mix of numbers, letters and special characters.
+ **Note:** If the account owner or the admin has set minimum password strength requirements for recordings via Account Settings, the password value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
+ maxLength: 10
+ minLength: 8
+ type: string
+ recording_authentication:
+ description: Only authenticated users can view.
+ type: boolean
+ send_email_to_host:
+ description: Send an email to host when someone registers to view the recording. This applies for On-demand recordings only.
+ type: boolean
+ share_recording:
+ description: Determine how the meeting recording is shared.
+ enum:
+ - publicly
+ - internally
+ - none
+ type: string
+ x-enum-descriptions:
+ - Publicly
+ - Internally(account members only)
+ - None
+ show_social_share_buttons:
+ description: Show social share buttons on registration page. This applies for On-demand recordings only.
+ type: boolean
+ topic:
+ description: Name of the recording.
+ type: string
+ viewer_download:
+ description: Determine whether a viewer can download the recording file or not.
+ type: boolean
+ title: Recording settings
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Meeting recording settings returned
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Meeting recording not found.
+ security:
+ - OAuth: []
+ summary: Get meeting recording settings
+ tags:
+ - Cloud Recording
+ patch:
+ description: |-
+ Update settings applied to a meeting's [Cloud Recording](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-Recording)
+ **Scopes**: `recording:write:admin` `recording:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: recordingSettingsUpdate
+ parameters:
+ - description: |-
+ To get Cloud Recordings of a meeting, provide the meeting ID or meeting UUID. If the meeting ID is provided instead of UUID,the response will be for the latest meeting instance.
+
+ To get Cloud Recordings of a webinar, provide the webinar ID or the webinar UUID. If the webinar ID is provided instead of UUID,the response will be for the latest webinar instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875=="), you must **double encode** the UUID before making an API request.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ approval_type:
+ description: |-
+ Approval type for the registration.
+ `0`- Automatically approve the registration when a user registers.
+ `1` - Manually approve or deny the registration of a user.
+ `2` - No registration required to view the recording.
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Registrants can watch the recording directly after registration
+ - Registrants will receive emails then watch the recording after you approve the registration
+ - Disabled
+ authentication_domains:
+ description: Authentication domains.
+ type: string
+ authentication_option:
+ description: Authentication Options.
+ type: string
+ on_demand:
+ description: Determine whether registration isrequired to view the recording.
+ type: boolean
+ password:
+ description: |-
+ Enable password protection for the recording by setting a password. The password must have a minimum of **eight** characters with a mix of numbers, letters and special characters.
+ **Note:** If the account owner or the admin has set minimum password strength requirements for recordings via Account Settings, the password value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
+ maxLength: 10
+ minLength: 8
+ type: string
+ recording_authentication:
+ description: Only authenticated users can view.
+ type: boolean
+ send_email_to_host:
+ description: Send an email to host when someone registers to view the recording. This applies for On-demand recordings only.
+ type: boolean
+ share_recording:
+ description: Determine how the meeting recording is shared.
+ enum:
+ - publicly
+ - internally
+ - none
+ type: string
+ x-enum-descriptions:
+ - Publicly
+ - Internally(account members only)
+ - None
+ show_social_share_buttons:
+ description: Show social share buttons on registration page. This applies for On-demand recordings only.
+ type: boolean
+ topic:
+ description: Name of the recording.
+ type: string
+ viewer_download:
+ description: Determine whether a viewer can download the recording file or not.
+ type: boolean
+ title: Recording settings
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ approval_type:
+ description: |-
+ Approval type for the registration.
+ `0`- Automatically approve the registration when a user registers.
+ `1` - Manually approve or deny the registration of a user.
+ `2` - No registration required to view the recording.
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Registrants can watch the recording directly after registration
+ - Registrants will receive emails then watch the recording after you approve the registration
+ - Disabled
+ authentication_domains:
+ description: Authentication domains.
+ type: string
+ authentication_option:
+ description: Authentication Options.
+ type: string
+ on_demand:
+ description: Determine whether registration isrequired to view the recording.
+ type: boolean
+ password:
+ description: |-
+ Enable password protection for the recording by setting a password. The password must have a minimum of **eight** characters with a mix of numbers, letters and special characters.
+ **Note:** If the account owner or the admin has set minimum password strength requirements for recordings via Account Settings, the password value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
+ maxLength: 10
+ minLength: 8
+ type: string
+ recording_authentication:
+ description: Only authenticated users can view.
+ type: boolean
+ send_email_to_host:
+ description: Send an email to host when someone registers to view the recording. This applies for On-demand recordings only.
+ type: boolean
+ share_recording:
+ description: Determine how the meeting recording is shared.
+ enum:
+ - publicly
+ - internally
+ - none
+ type: string
+ x-enum-descriptions:
+ - Publicly
+ - Internally(account members only)
+ - None
+ show_social_share_buttons:
+ description: Show social share buttons on registration page. This applies for On-demand recordings only.
+ type: boolean
+ topic:
+ description: Name of the recording.
+ type: string
+ viewer_download:
+ description: Determine whether a viewer can download the recording file or not.
+ type: boolean
+ title: Recording settings
+ type: object
+ description: Meeting recording Settings
+ required: true
+ x-examples:
+ application/json:
+ approval_type: 1
+ authentication_domains: ccc.com
+ authentication_option: abc
+ on_demand: true
+ password: 18idxa
+ recording_authentication: true
+ send_email_to_host: true
+ share_recording: internally
+ show_social_share_buttons: true
+ viewer_download: false
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ Meeting recording setting's updated
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Meeting recording not found.
+ security:
+ - OAuth: []
+ summary: Update meeting recording settings
+ tags:
+ - Cloud Recording
+ "/meetings/{meetingId}/recordings/status":
+ put:
+ description: |-
+ Zoom allows users to recover recordings from trash for up to 30 days from the deletion date. Use this API to recover all deleted [Cloud Recordings](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-Recording) of a specific meeting.
+ **Scopes**: `recording:write:admin` `recording:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ **Prerequisites**:
+ * A Pro user with Cloud Recording enabled.
+ operationId: recordingStatusUpdate
+ parameters:
+ - description: |-
+ To get Cloud Recordings of a meeting, provide the meeting ID or meeting UUID. If the meeting ID is provided instead of UUID,the response will be for the latest meeting instance.
+
+ To get Cloud Recordings of a webinar, provide the webinar ID or the webinar UUID. If the webinar ID is provided instead of UUID,the response will be for the latest webinar instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875=="), you must **double encode** the UUID before making an API request.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ $ref: "#/components/requestBodies/recordingStatusUpdateBody"
+ responses:
+ "200":
+ description: |-
+ **Error Code:** `200`
+ You do not have the right permissions.
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ Deleted recordings of the meeting recovered.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ **Error Code:** `1010`
+ User does not belong to this account: {accountId}.
+ "404":
+ description: |+
+ **HTTP Status Code:** `404`
+ Meeting recording not found. **Error Code:** `1001` User does not exist: {userId}.
+ **Error Code:** `3301` There is no recording for this meeting.
+
+
+
+ security:
+ - OAuth: []
+ summary: Recover meeting recordings
+ tags:
+ - Cloud Recording
+ "/meetings/{meetingId}/recordings/{recordingId}":
+ delete:
+ description: |-
+ Delete a sprecific recording file from a meeting.
+ **Scopes**: `recording:write:admin` `recording:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: recordingDeleteOne
+ parameters:
+ - description: |-
+ To get Cloud Recordings of a meeting, provide the meeting ID or meeting UUID. If the meeting ID is provided instead of UUID,the response will be for the latest meeting instance.
+
+ To get Cloud Recordings of a webinar, provide the webinar ID or the webinar UUID. If the webinar ID is provided instead of UUID,the response will be for the latest webinar instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875=="), you must **double encode** the UUID before making an API request.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ - description: The recording ID.
+ in: path
+ name: recordingId
+ required: true
+ schema:
+ type: string
+ - description: The recording delete actions: `trash` - Move recording to trash. `delete` - Delete recording permanently.
+ in: query
+ name: action
+ schema:
+ default: trash
+ enum:
+ - trash
+ - delete
+ type: string
+ x-enum-descriptions:
+ - move recording to trash
+ - delete recording permanently
+ responses:
+ "200":
+ description: |-
+ **Error Code:** `200`
+ You do not have the right permissions.
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ Meeting recording file deleted.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Error Code:** `1010`
+ User does not belong to this account: {accountId}.
+ **Error Code:** `3303`
+ You can not delete an uncompleted meeting.
+ "404":
+ description: |
+ **HTTP Status Code:** `404`
+ Meeting recording file not found
+ **Error Code:** `1001`
+ User {userId} does not exist or does not belong to this account.
+ **Error Code:** `3301` There is no recording for this meeting.
+ security:
+ - OAuth: []
+ summary: Delete a meeting recording file
+ tags:
+ - Cloud Recording
+ "/meetings/{meetingId}/recordings/{recordingId}/status":
+ put:
+ description: |
+ Zoom allows users to recover recordings from trash for up to 30 days from the deletion date. Use this API to recover a single recording file from the meeting.
+ **Scopes:** `recording:write:admin` `recording:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: recordingStatusUpdateOne
+ parameters:
+ - description: |-
+ To get Cloud Recordings of a meeting, provide the meeting ID or meeting UUID. If the meeting ID is provided instead of UUID,the response will be for the latest meeting instance.
+
+ To get Cloud Recordings of a webinar, provide the webinar ID or the webinar UUID. If the webinar ID is provided instead of UUID,the response will be for the latest webinar instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875=="), you must **double encode** the UUID before making an API request.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ - description: The recording ID.
+ in: path
+ name: recordingId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ $ref: "#/components/requestBodies/recordingStatusUpdateBody"
+ responses:
+ "204":
+ description: |+
+ **HTTP Status Code:** `204` Meeting recording recovered.
+
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ **Error Code:** `1010`
+ User does not belong to this account: {accountId}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` Meeting recording not found.
+ **Error Code:** `1001` User {userId} does not exist or does not belong to this account.
+ **Error Code:** `3301`There is no recording for this meeting.
+ security:
+ - OAuth: []
+ summary: Recover a single recording
+ tags:
+ - Cloud Recording
+ "/meetings/{meetingId}/registrants":
+ get:
+ description: |-
+ A host or a user with admin permission can require [registration for a Zoom meeting](https://support.zoom.us/hc/en-us/articles/211579443-Registration-for-Meetings). Use this API to list users that have registered for a meeting.
+ **Scopes**: `meeting:read:admin` `meeting:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: meetingRegistrants
+ parameters:
+ - description: |-
+ The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
+
+ While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: The meeting occurrence ID.
+ in: query
+ name: occurrence_id
+ schema:
+ type: string
+ - description: The registrant status: `pending` - Registrant's status is pending. `approved` - Registrant's status is approved. `denied` - Registrant's status is denied.
+ in: query
+ name: status
+ schema:
+ default: approved
+ enum:
+ - pending
+ - approved
+ - denied
+ type: string
+ x-enum-descriptions:
+ - registrants status is pending
+ - registrants status is approved
+ - registrants status is denied
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: |-
+
+ **Deprecated** - This field has been deprecated and we will stop supporting it completely in a future release. Please use "next_page_token" for pagination instead of this field.
+
+ The page number of the current page in the returned records.
+ in: query
+ name: page_number
+ schema:
+ default: 1
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ page_count: 1
+ page_number: 1
+ page_size: 1
+ registrants:
+ - address: 11111 Awesome St
+ city: Paris
+ comments: Love using Zoom APIs
+ country: France
+ create_time: 2012-04-14T16:55:30.231Z
+ custom_questions:
+ - title: Did you enjoy the registration process?
+ value: Yes, alot.
+ - title: Would you like to register for our next meeting?
+ value: Absolutely.
+ email: somemeail@emailprovider.com
+ first_name: Tim
+ id: zjkfsdfjdfhg
+ industry: Tech
+ job_title: Developer
+ join_url: https://success.zoom.us/j/0000000000000
+ last_name: S.
+ no_of_employees: 1-20
+ org: Growth
+ phone: "00000"
+ purchasing_time_frame: Within a month
+ role_in_purchase_process: Not involved
+ state: Ile-de-France
+ status: approved
+ zip: "11000"
+ total_records: 1
+ schema:
+ allOf:
+ - allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: |-
+ **Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
+
+ The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ - properties:
+ registrants:
+ description: List of registrant objects.
+ items:
+ allOf:
+ - properties:
+ id:
+ description: Registrant ID.
+ type: string
+ type: object
+ - allOf:
+ - description: Registrant base object.
+ properties:
+ address:
+ description: Registrant's address.
+ type: string
+ city:
+ description: Registrant's city.
+ type: string
+ comments:
+ description: A field that allows registrants to provide any questions or comments that they might have.
+ type: string
+ country:
+ description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
+ type: string
+ custom_questions:
+ description: Custom questions.
+ items:
+ description: Custom Question.
+ properties:
+ title:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ email:
+ description: A valid email address of the registrant.
+ maxLength: 128
+ type: string
+ first_name:
+ description: Registrant's first name.
+ maxLength: 64
+ type: string
+ industry:
+ description: Registrant's Industry.
+ type: string
+ job_title:
+ description: Registrant's job title.
+ type: string
+ last_name:
+ description: Registrant's last name.
+ maxLength: 64
+ type: string
+ no_of_employees:
+ description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
+ type: string
+ org:
+ description: Registrant's Organization.
+ type: string
+ phone:
+ description: Registrant's Phone number.
+ type: string
+ purchasing_time_frame:
+ description: |-
+ This field can be included to gauge interest of webinar attendees towards buying your product or service.
+
+ Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
+ type: string
+ role_in_purchase_process:
+ description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
+ type: string
+ state:
+ description: Registrant's State/Province.
+ type: string
+ zip:
+ description: Registrant's Zip/Postal Code.
+ type: string
+ required:
+ - email
+ - first_name
+ type: object
+ description: " Registrant."
+ type: object
+ - properties:
+ create_time:
+ description: The time at which the registrant registered.
+ format: date-time
+ type: string
+ join_url:
+ description: The URL using which an approved registrant can join the webinar.
+ format: string
+ type: string
+ status:
+ description: "The status of the registrant's registration. `approved`: User has been successfully approved for the webinar. `pending`: The registration is still pending. `denied`: User has been denied from joining the webinar."
+ type: string
+ type: object
+ type: array
+ description: List of users.
+ title: Registration List
+ type: object
+ description: List of users.
+ title: Registration List
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: |-
+ **Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
+
+ The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ - properties:
+ registrants:
+ description: List of registrant objects.
+ items:
+ allOf:
+ - properties:
+ id:
+ description: Registrant ID.
+ type: string
+ type: object
+ - allOf:
+ - description: Registrant base object.
+ properties:
+ address:
+ description: Registrant's address.
+ type: string
+ city:
+ description: Registrant's city.
+ type: string
+ comments:
+ description: A field that allows registrants to provide any questions or comments that they might have.
+ type: string
+ country:
+ description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
+ type: string
+ custom_questions:
+ description: Custom questions.
+ items:
+ description: Custom Question.
+ properties:
+ title:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ email:
+ description: A valid email address of the registrant.
+ maxLength: 128
+ type: string
+ first_name:
+ description: Registrant's first name.
+ maxLength: 64
+ type: string
+ industry:
+ description: Registrant's Industry.
+ type: string
+ job_title:
+ description: Registrant's job title.
+ type: string
+ last_name:
+ description: Registrant's last name.
+ maxLength: 64
+ type: string
+ no_of_employees:
+ description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
+ type: string
+ org:
+ description: Registrant's Organization.
+ type: string
+ phone:
+ description: Registrant's Phone number.
+ type: string
+ purchasing_time_frame:
+ description: |-
+ This field can be included to gauge interest of webinar attendees towards buying your product or service.
+
+ Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
+ type: string
+ role_in_purchase_process:
+ description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
+ type: string
+ state:
+ description: Registrant's State/Province.
+ type: string
+ zip:
+ description: Registrant's Zip/Postal Code.
+ type: string
+ required:
+ - email
+ - first_name
+ type: object
+ description: " Registrant."
+ type: object
+ - properties:
+ create_time:
+ description: The time at which the registrant registered.
+ format: date-time
+ type: string
+ join_url:
+ description: The URL using which an approved registrant can join the webinar.
+ format: string
+ type: string
+ status:
+ description: "The status of the registrant's registration. `approved`: User has been successfully approved for the webinar. `pending`: The registration is still pending. `denied`: User has been denied from joining the webinar."
+ type: string
+ type: object
+ type: array
+ description: List of users.
+ title: Registration List
+ type: object
+ description: List of users.
+ title: Registration List
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Successfully listedd meeting registrants.
+ "300":
+ description: |
+ **Error Code:** `300`
+ Meeting {meetingId} is not found or has expired.
+ This meeting has not set registration as required: {meetingId}.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ **Error Code:** `1010`
+ User does not belong to this account: {accountId}.
+ **Error Code:** `3003`
+ You are not the meeting host.
+ **Error Code:** `3000`
+ Cannot access meeting info.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Meeting not found.
+ **Error Code:** `1001`
+ Meeting host does not exist: {userId}.
+ security:
+ - OAuth: []
+ summary: List meeting registrants
+ tags:
+ - Meetings
+ post:
+ description: |-
+ Register a participant for a meeting.
Note that there is a maximum limit of 4999 registrants per meeting and users will see an error if the capacity has reached.
+
+ **Prerequisite:**
+ * Host user type must be "Licensed".
+
+ **Scopes:** `meeting:write:admin` `meeting:write`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: meetingRegistrantCreate
+ parameters:
+ - description: |-
+ The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
+
+ While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: Occurrence IDs. You can find these with the meeting get API. Multiple values separated by comma.
+ in: query
+ name: occurrence_ids
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ allOf:
+ - description: Registrant base object.
+ properties:
+ address:
+ description: Registrant's address.
+ type: string
+ city:
+ description: Registrant's city.
+ type: string
+ comments:
+ description: A field that allows registrants to provide any questions or comments that they might have.
+ type: string
+ country:
+ description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
+ type: string
+ custom_questions:
+ description: Custom questions.
+ items:
+ description: Custom Question.
+ properties:
+ title:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ email:
+ description: A valid email address of the registrant.
+ maxLength: 128
+ type: string
+ first_name:
+ description: Registrant's first name.
+ maxLength: 64
+ type: string
+ industry:
+ description: Registrant's Industry.
+ type: string
+ job_title:
+ description: Registrant's job title.
+ type: string
+ last_name:
+ description: Registrant's last name.
+ maxLength: 64
+ type: string
+ no_of_employees:
+ description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
+ type: string
+ org:
+ description: Registrant's Organization.
+ type: string
+ phone:
+ description: Registrant's Phone number.
+ type: string
+ purchasing_time_frame:
+ description: |-
+ This field can be included to gauge interest of webinar attendees towards buying your product or service.
+
+ Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
+ type: string
+ role_in_purchase_process:
+ description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
+ type: string
+ state:
+ description: Registrant's State/Province.
+ type: string
+ zip:
+ description: Registrant's Zip/Postal Code.
+ type: string
+ required:
+ - email
+ - first_name
+ type: object
+ - properties:
+ language:
+ description: |-
+ Registrant's language preference for confirmation emails. The value can be one of the following:
+ `en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
+ type: string
+ - properties:
+ auto_approve:
+ type: boolean
+ description: " Registrant."
+ type: object
+ multipart/form-data:
+ schema:
+ allOf:
+ - description: Registrant base object.
+ properties:
+ address:
+ description: Registrant's address.
+ type: string
+ city:
+ description: Registrant's city.
+ type: string
+ comments:
+ description: A field that allows registrants to provide any questions or comments that they might have.
+ type: string
+ country:
+ description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
+ type: string
+ custom_questions:
+ description: Custom questions.
+ items:
+ description: Custom Question.
+ properties:
+ title:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ email:
+ description: A valid email address of the registrant.
+ maxLength: 128
+ type: string
+ first_name:
+ description: Registrant's first name.
+ maxLength: 64
+ type: string
+ industry:
+ description: Registrant's Industry.
+ type: string
+ job_title:
+ description: Registrant's job title.
+ type: string
+ last_name:
+ description: Registrant's last name.
+ maxLength: 64
+ type: string
+ no_of_employees:
+ description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
+ type: string
+ org:
+ description: Registrant's Organization.
+ type: string
+ phone:
+ description: Registrant's Phone number.
+ type: string
+ purchasing_time_frame:
+ description: |-
+ This field can be included to gauge interest of webinar attendees towards buying your product or service.
+
+ Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
+ type: string
+ role_in_purchase_process:
+ description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
+ type: string
+ state:
+ description: Registrant's State/Province.
+ type: string
+ zip:
+ description: Registrant's Zip/Postal Code.
+ type: string
+ required:
+ - email
+ - first_name
+ type: object
+ - properties:
+ language:
+ description: |-
+ Registrant's language preference for confirmation emails. The value can be one of the following:
+ `en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
+ type: string
+ - properties:
+ auto_approve:
+ type: boolean
+ description: " Registrant."
+ type: object
+ required: true
+ x-examples:
+ application/json:
+ address: 123 Main ST
+ city: San Jose
+ comments: Excited to host you.
+ country: US
+ custom_questions:
+ - title: Favorite thing about Zoom
+ value: Meet Happy
+ email: myemail@mycompany.com
+ first_name: Mike
+ industry: Tech
+ job_title: DA
+ last_name: Brown
+ no_of_employees: 1-20
+ org: IT
+ phone: 111-444-4444
+ purchasing_time_frame: More Than 6 Months
+ role_in_purchase_process: Influencer
+ state: CA
+ zip: "95550"
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ id: 85746065
+ join_url: amet
+ registrant_id: a
+ start_time: culpa mollit
+ topic: reprehenderit ea ut ex Excepteur
+ schema:
+ properties:
+ id:
+ description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
+ format: int64
+ type: integer
+ join_url:
+ description: |-
+ Unique URL for this registrant to join the meeting. This URL should only be shared with the registrant for whom the API request was made.
+ If the meeting was [created](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingcreate) with manual approval type (`approval_type`: 1), the join URL will not be returned in the response.
+ type: string
+ registrant_id:
+ description: Unique identifier of the registrant.
+ type: string
+ start_time:
+ description: The start time for the meeting.
+ type: string
+ topic:
+ description: Topic of the meeting.
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ id:
+ description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
+ format: int64
+ type: integer
+ join_url:
+ description: |-
+ Unique URL for this registrant to join the meeting. This URL should only be shared with the registrant for whom the API request was made.
+ If the meeting was [created](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingcreate) with manual approval type (`approval_type`: 1), the join URL will not be returned in the response.
+ type: string
+ registrant_id:
+ description: Unique identifier of the registrant.
+ type: string
+ start_time:
+ description: The start time for the meeting.
+ type: string
+ topic:
+ description: Topic of the meeting.
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `201`
+ Registration created.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ Meeting {meetingId} is not found or has expired.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ **Error Code:** `1010`
+ User does not belong to this account: {accountId}.
+ **Error Code:** `3003`
+ You are not the meeting host.
+ **Error Code:** `3043`
+ Meeting has reached maximum attendee capacity.
+ **Error Code:** `3000`
+ Cannot access meeting info.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Meeting not found.
+ **Error Code:** `1001`
+ Meeting host does not exist: {userId}.
+ security:
+ - OAuth: []
+ summary: Add meeting registrant
+ tags:
+ - Meetings
+ "/meetings/{meetingId}/registrants/questions":
+ get:
+ description: |+
+ List registration questions that will be displayed to users while [registering for a meeting](https://support.zoom.us/hc/en-us/articles/211579443-Registration-for-Meetings).
+
+ **Scopes:** `meeting:read`, `meeting:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: meetingRegistrantsQuestionsGet
+ parameters:
+ - description: |-
+ The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
+
+ While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ custom_questions:
+ - required: false
+ title: How long have you been working?
+ type: short
+ questions:
+ - field_name: address
+ required: true
+ schema:
+ allOf:
+ - description: Meeting Registrant Questions
+ properties:
+ custom_questions:
+ description: Array of Registrant Custom Questions
+ items:
+ properties:
+ answers:
+ description: Answer choices for the question. Can not be used for `short` question type as this type of question requires registrants to type out the answer.
+ items:
+ type: string
+ type: array
+ required:
+ description: Indicates whether or not the custom question is required to be answered by participants or not.
+ type: boolean
+ title:
+ description: Title of the custom question.
+ type: string
+ type:
+ description: Type of the question being asked.
+ enum:
+ - short
+ - single
+ type: string
+ x-enum-descriptions:
+ - Short Answer
+ - Single Answer
+ type: object
+ type: array
+ questions:
+ description: Array of Registrant Questions
+ items:
+ properties:
+ field_name:
+ description: Field name of the question.
+ enum:
+ - address
+ - city
+ - country
+ - zip
+ - state
+ - phone
+ - industry
+ - org
+ - job_title
+ - purchasing_time_frame
+ - role_in_purchase_process
+ - no_of_employees
+ - comments
+ type: string
+ x-enum-descriptions:
+ - Address
+ - City
+ - Country/Region
+ - Zip/Postal Code
+ - State/Province
+ - Phone
+ - Industry
+ - Organization
+ - Job Title
+ - Purchasing Time Frame
+ - Role in Purchase Process
+ - Number of Employees
+ - Questions & Comments
+ required:
+ description: Indicates whether or not the displayed fields are required to be filled out by registrants.
+ type: boolean
+ type: object
+ type: array
+ title: Meeting Registrant Questions
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - description: Meeting Registrant Questions
+ properties:
+ custom_questions:
+ description: Array of Registrant Custom Questions
+ items:
+ properties:
+ answers:
+ description: Answer choices for the question. Can not be used for `short` question type as this type of question requires registrants to type out the answer.
+ items:
+ type: string
+ type: array
+ required:
+ description: Indicates whether or not the custom question is required to be answered by participants or not.
+ type: boolean
+ title:
+ description: Title of the custom question.
+ type: string
+ type:
+ description: Type of the question being asked.
+ enum:
+ - short
+ - single
+ type: string
+ x-enum-descriptions:
+ - Short Answer
+ - Single Answer
+ type: object
+ type: array
+ questions:
+ description: Array of Registrant Questions
+ items:
+ properties:
+ field_name:
+ description: Field name of the question.
+ enum:
+ - address
+ - city
+ - country
+ - zip
+ - state
+ - phone
+ - industry
+ - org
+ - job_title
+ - purchasing_time_frame
+ - role_in_purchase_process
+ - no_of_employees
+ - comments
+ type: string
+ x-enum-descriptions:
+ - Address
+ - City
+ - Country/Region
+ - Zip/Postal Code
+ - State/Province
+ - Phone
+ - Industry
+ - Organization
+ - Job Title
+ - Purchasing Time Frame
+ - Role in Purchase Process
+ - Number of Employees
+ - Questions & Comments
+ required:
+ description: Indicates whether or not the displayed fields are required to be filled out by registrants.
+ type: boolean
+ type: object
+ type: array
+ title: Meeting Registrant Questions
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Meeting Registrant Question object returned
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Meeting not found
+ security:
+ - OAuth: []
+ summary: "List registration questions "
+ tags:
+ - Meetings
+ patch:
+ description: |+
+ Update registration questions that will be displayed to users while [registering for a meeting](https://support.zoom.us/hc/en-us/articles/211579443-Registration-for-Meetings).
+ **Scopes:** `meeting:write`, `meeting:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+
+ operationId: meetingRegistrantQuestionUpdate
+ parameters:
+ - description: |-
+ The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
+
+ While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ allOf:
+ - description: Meeting Registrant Questions
+ properties:
+ custom_questions:
+ description: Array of Registrant Custom Questions
+ items:
+ properties:
+ answers:
+ description: Answer choices for the question. Can not be used for `short` question type as this type of question requires registrants to type out the answer.
+ items:
+ type: string
+ type: array
+ required:
+ description: Indicates whether or not the custom question is required to be answered by participants or not.
+ type: boolean
+ title:
+ description: Title of the custom question.
+ type: string
+ type:
+ description: Type of the question being asked.
+ enum:
+ - short
+ - single
+ type: string
+ x-enum-descriptions:
+ - Short Answer
+ - Single Answer
+ type: object
+ type: array
+ questions:
+ description: Array of Registrant Questions
+ items:
+ properties:
+ field_name:
+ description: Field name of the question.
+ enum:
+ - address
+ - city
+ - country
+ - zip
+ - state
+ - phone
+ - industry
+ - org
+ - job_title
+ - purchasing_time_frame
+ - role_in_purchase_process
+ - no_of_employees
+ - comments
+ type: string
+ x-enum-descriptions:
+ - Address
+ - City
+ - Country/Region
+ - Zip/Postal Code
+ - State/Province
+ - Phone
+ - Industry
+ - Organization
+ - Job Title
+ - Purchasing Time Frame
+ - Role in Purchase Process
+ - Number of Employees
+ - Questions & Comments
+ required:
+ description: Indicates whether or not the displayed fields are required to be filled out by registrants.
+ type: boolean
+ type: object
+ type: array
+ title: Meeting Registrant Questions
+ type: object
+ multipart/form-data:
+ schema:
+ allOf:
+ - description: Meeting Registrant Questions
+ properties:
+ custom_questions:
+ description: Array of Registrant Custom Questions
+ items:
+ properties:
+ answers:
+ description: Answer choices for the question. Can not be used for `short` question type as this type of question requires registrants to type out the answer.
+ items:
+ type: string
+ type: array
+ required:
+ description: Indicates whether or not the custom question is required to be answered by participants or not.
+ type: boolean
+ title:
+ description: Title of the custom question.
+ type: string
+ type:
+ description: Type of the question being asked.
+ enum:
+ - short
+ - single
+ type: string
+ x-enum-descriptions:
+ - Short Answer
+ - Single Answer
+ type: object
+ type: array
+ questions:
+ description: Array of Registrant Questions
+ items:
+ properties:
+ field_name:
+ description: Field name of the question.
+ enum:
+ - address
+ - city
+ - country
+ - zip
+ - state
+ - phone
+ - industry
+ - org
+ - job_title
+ - purchasing_time_frame
+ - role_in_purchase_process
+ - no_of_employees
+ - comments
+ type: string
+ x-enum-descriptions:
+ - Address
+ - City
+ - Country/Region
+ - Zip/Postal Code
+ - State/Province
+ - Phone
+ - Industry
+ - Organization
+ - Job Title
+ - Purchasing Time Frame
+ - Role in Purchase Process
+ - Number of Employees
+ - Questions & Comments
+ required:
+ description: Indicates whether or not the displayed fields are required to be filled out by registrants.
+ type: boolean
+ type: object
+ type: array
+ title: Meeting Registrant Questions
+ type: object
+ description: Meeting Registrant Questions
+ required: true
+ x-examples:
+ application/json:
+ custom_questions:
+ - required: true
+ title: How long have you been working?
+ type: short
+ questions:
+ - field_name: address
+ required: true
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ Meeting Registrant Questions Updated
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Meeting not found.
+ security:
+ - OAuth: []
+ summary: Update registration questions
+ tags:
+ - Meetings
+ "/meetings/{meetingId}/registrants/status":
+ put:
+ description: |-
+ Update a meeting registrant's status by either approving, cancelling or denying a registrant from joining the meeting.
+ **Scopes:** `meeting:write:admin` `meeting:write`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: meetingRegistrantStatus
+ parameters:
+ - description: |-
+ The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
+
+ While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: The meeting occurrence ID.
+ in: query
+ name: occurrence_id
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ action:
+ description: Registrant Status: `approve` - Approve registrant. `cancel` - Cancel previously approved registrant's registration. `deny` - Deny registrant.
+ enum:
+ - approve
+ - cancel
+ - deny
+ type: string
+ x-enum-descriptions:
+ - Approve registrant
+ - Cancel previously approved registrant
+ - Deny registrant
+ registrants:
+ description: List of registrants.
+ items:
+ properties:
+ email:
+ type: string
+ id:
+ type: string
+ type: object
+ maximum: 30
+ type: array
+ required:
+ - action
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ action:
+ description: Registrant Status: `approve` - Approve registrant. `cancel` - Cancel previously approved registrant's registration. `deny` - Deny registrant.
+ enum:
+ - approve
+ - cancel
+ - deny
+ type: string
+ x-enum-descriptions:
+ - Approve registrant
+ - Cancel previously approved registrant
+ - Deny registrant
+ registrants:
+ description: List of registrants.
+ items:
+ properties:
+ email:
+ type: string
+ id:
+ type: string
+ type: object
+ maximum: 30
+ type: array
+ required:
+ - action
+ type: object
+ required: true
+ x-examples:
+ application/json:
+ action: approve
+ registrants:
+ - email: someemail@companyname.com
+ id: "173525362"
+ - email: anotheremail@companyname.com
+ id: "156234353456"
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ Registrant status updated.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ This meeting has not set registration as required:{meetingId}.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400`
+ **Error Code:** `1010`
+ User does not belong to this account: {accountId}.
+ **Error Code:** `3000`
+ Cannot access meeting information.
+ **Error Code:** `3003`
+ You're not the meeting host.
+
+ "404":
+ description: |
+ **HTTP Status Code:** `404`
+ Meeting or registrant not found.
+ **Error Code:** `1001`
+ User does not exist: {userId}.
+ security:
+ - OAuth: []
+ summary: Update registrant's status
+ tags:
+ - Meetings
+ "/meetings/{meetingId}/registrants/{registrantId}":
+ delete:
+ description: |-
+ Delete a meeting registrant.
+ **Scopes**: `meeting:write:admin` `meeting:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: meetingregistrantdelete
+ parameters:
+ - description: The meeting occurence ID.
+ in: query
+ name: occurrence_id
+ schema:
+ type: string
+ - description: The meeting ID.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ type: integer
+ - description: The meeting registrant ID.
+ in: path
+ name: registrantId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ description: |-
+ **HTTP status code:** `204`
+ OK
+ "400":
+ description: |-
+ **HTTP status code:** `400`
+ Bad Request
+
+ **Error code:** `200`
+ Only available for paid users: {0}.
+
+ **Error code:** `300`
+ The value that you entered for the Registrant ID field is invalid. Enter a valid value and try again.
+
+ **Error code:** `404`
+ Registration has not been enabled for this meeting: {0}.
+
+ **Error code:** `1001`
+ User {userId} does not exist or does not belong to this account.
+
+ **Error code:** `3000`
+ Cannot access webinar info. ***Note:** Zoom throws this error when the meetingId is a webinarId.*
+ Registrant {0} was not found.
+
+ **Error code:** `3001`
+ Meeting does not exist: {0}.
+ summary: Delete a meeting registrant
+ tags:
+ - Meetings
+ "/meetings/{meetingId}/status":
+ put:
+ description: |-
+ Update the status of a meeting.
+ **Scopes:** `meeting:write:admin` `meeting:write`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: meetingStatus
+ parameters:
+ - description: |-
+ The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
+
+ While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ action:
+ description: |
+ `end` - End a meeting.
+ `recover` - [Recover](https://support.zoom.us/hc/en-us/articles/360038297111-Recover-a-deleted-meeting) a deleted meeting.
+ enum:
+ - end
+ - recover
+ type: string
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ action:
+ description: |
+ `end` - End a meeting.
+ `recover` - [Recover](https://support.zoom.us/hc/en-us/articles/360038297111-Recover-a-deleted-meeting) a deleted meeting.
+ enum:
+ - end
+ - recover
+ type: string
+ type: object
+ required: true
+ x-examples:
+ application/json:
+ action: end
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ Meeting updated.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ **Error Code:** `1010`
+ User does not belong to this account: {accountId}.
+ **Error Code:** `3000`
+ Cannot access meeting info.
+ **Error Code:** `3003`
+ You're not the meeting host.
+ **Error Code:** `3063`
+ Can not end on-premise user's meeting: {meetingId}.
+ "404":
+ description: |+
+ **HTTP Status Code:** `404`
+ Meeting not found.
+ **Error Code:** `1001`
+ Meeting host does not exist: {userId}.
+
+ security:
+ - OAuth: []
+ summary: Update meeting status
+ tags:
+ - Meetings
+ /metrics/client/feedback:
+ get:
+ description: |-
+ Retrieve survey results from [Zoom meetings client feedback](https://support.zoom.us/hc/en-us/articles/115005855266-End-of-Meeting-Feedback-Survey#h_e30d552b-6d8e-4e0a-a588-9ca8180c4dbf). You can specify a monthly date range for the dashboard data using the `from` and `to` query parameters. The month should fall within the last six months.
+
+ **Prerequisites:**
+ * Business or higher account
+ * [Feedback to Zoom](https://support.zoom.us/hc/en-us/articles/115005838023) enabled.
+
+ **Scope:** `account:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ operationId: dashboardClientFeedback
+ parameters:
+ - description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
+ in: query
+ name: from
+ required: true
+ schema:
+ format: date
+ type: string
+ - description: End date.
+ in: query
+ name: to
+ required: true
+ schema:
+ format: date
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ client_feedbacks:
+ - feedback_id: "53532100000"
+ feedback_name: Poor audio quality.
+ participants_count: 1
+ - feedback_id: "53532100000"
+ feedback_name: They could not hear us.
+ participants_count: 2
+ from: 2013-03-16
+ to: 2013-04-16
+ total_records: 2
+ schema:
+ properties:
+ client_feedbacks:
+ items:
+ properties:
+ feedback_id:
+ description: Feedback Id
+ type: string
+ feedback_name:
+ description: Feedback Name
+ type: string
+ participants_count:
+ description: The number of participants that upvoted the feedback.
+ type: integer
+ type: object
+ type: array
+ from:
+ description: Start date for this report
+ format: date
+ type: string
+ to:
+ description: End date for this report
+ format: date
+ type: string
+ total_records:
+ description: The number of all records available across pages
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ client_feedbacks:
+ items:
+ properties:
+ feedback_id:
+ description: Feedback Id
+ type: string
+ feedback_name:
+ description: Feedback Name
+ type: string
+ participants_count:
+ description: The number of participants that upvoted the feedback.
+ type: integer
+ type: object
+ type: array
+ from:
+ description: Start date for this report
+ format: date
+ type: string
+ to:
+ description: End date for this report
+ format: date
+ type: string
+ total_records:
+ description: The number of all records available across pages
+ type: integer
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Client Feedback details returned.
+ security:
+ - OAuth: []
+ summary: List Zoom meetings client feedback
+ tags:
+ - Dashboards
+ "/metrics/client/feedback/{feedbackId}":
+ get:
+ description: |-
+ Retrieve detailed information on a [Zoom meetings client feedback](https://support.zoom.us/hc/en-us/articles/115005855266-End-of-Meeting-Feedback-Survey#h_e30d552b-6d8e-4e0a-a588-9ca8180c4dbf). You can specify a monthly date range for the dashboard data using the `from` and `to` query parameters. The month should fall within the last six months.
+
+ **Prerequisites:**
+ * Business or higher account
+ * [Feedback to Zoom](https://support.zoom.us/hc/en-us/articles/115005838023) enabled.
+
+ **Scope:** `dashboard_home:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+
+ `
+ operationId: dashboardClientFeedbackDetail
+ parameters:
+ - description: Feedback Detail Id
+ in: path
+ name: feedbackId
+ required: true
+ schema:
+ type: string
+ - in: query
+ name: from
+ schema:
+ format: date
+ type: string
+ - in: query
+ name: to
+ schema:
+ format: date
+ type: string
+ - in: query
+ name: page_size
+ schema:
+ default: 30
+ type: integer
+ - in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ client_feedback_details:
+ - email: hdfgjsfhdfbs@someemail.sdfkhjdf
+ meeting_id: "3789500000000"
+ participant_name: Meghan Styles
+ time: 2017-10-21T11:35:33.480Z
+ from: 2017-09-28
+ next_page_token: w7587w4eiyfsudgf
+ page_size: 30
+ to: 2017-10-28
+ schema:
+ allOf:
+ - properties:
+ from:
+ description: Start date for this report
+ format: date
+ type: string
+ to:
+ description: End date for this report
+ format: date
+ type: string
+ type: object
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of the available result list exceeds the page size. The expiration period is 15 minutes.
+ type: string
+ page_size:
+ default: 30
+ description: "The amount of records returns within a single API call. "
+ maximum: 300
+ type: integer
+ type: object
+ - properties:
+ client_feedback_details:
+ items:
+ properties:
+ email:
+ description: Email address of the participant.
+ type: string
+ meeting_id:
+ description: Meeting ID
+ type: string
+ participant_name:
+ description: Participant Name
+ type: string
+ time:
+ description: Time at which the feedback was submitted by the participant.
+ format: date-time
+ type: string
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ from:
+ description: Start date for this report
+ format: date
+ type: string
+ to:
+ description: End date for this report
+ format: date
+ type: string
+ type: object
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of the available result list exceeds the page size. The expiration period is 15 minutes.
+ type: string
+ page_size:
+ default: 30
+ description: "The amount of records returns within a single API call. "
+ maximum: 300
+ type: integer
+ type: object
+ - properties:
+ client_feedback_details:
+ items:
+ properties:
+ email:
+ description: Email address of the participant.
+ type: string
+ meeting_id:
+ description: Meeting ID
+ type: string
+ participant_name:
+ description: Participant Name
+ type: string
+ time:
+ description: Time at which the feedback was submitted by the participant.
+ format: date-time
+ type: string
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Client Feedback details returned
+ security:
+ - OAuth: []
+ summary: Get zoom meetings client feedback
+ tags:
+ - Dashboards
+ /metrics/client/satisfaction:
+ get:
+ description: |-
+ If the [End of Meeting Feedback Survey](https://support.zoom.us/hc/en-us/articles/115005855266) option is enabled, attendees will be prompted with a survey window where they can tap either the **Thumbs Up** or **Thumbs Down** button that indicates their Zoom meeting experience. With this API, you can get information on the attendees' meeting satisfaction. Specify a monthly date range for the query using the from and to query parameters. The month should fall within the last six months.
+
+ To get information on the survey results with negative experiences (indicated by **Thumbs Down**), use the [Get Zoom Meetings Client Feedback API](https://marketplace.zoom.us/docs/api-reference/zoom-api/dashboards/dashboardclientfeedbackdetail).
+ **Scopes:** `dashboard:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ operationId: listMeetingSatisfaction
+ parameters:
+ - description: "The start date for the query in “yyyy-mm-dd” format. "
+ in: query
+ name: from
+ schema:
+ format: date
+ type: string
+ - description: "The end date for the query in “yyyy-mm-dd” format. "
+ in: query
+ name: to
+ schema:
+ format: date
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ client_satisfaction:
+ - date: 2019-08-05
+ good_count: 5
+ none_count: 0
+ not_good_count: 1
+ satisfaction_percent: 100
+ - date: 2019-08-06
+ good_count: 0
+ none_count: 0
+ not_good_count: 0
+ satisfaction_percent: 100
+ from: 2019-08-05
+ to: 2019-09-05
+ total_records: 30
+ schema:
+ properties:
+ client_satisfaction:
+ items:
+ properties:
+ date:
+ description: Date of the report.
+ format: date
+ type: string
+ good_count:
+ description: The total number of "thumbs up" received for this meeting.
+ type: integer
+ none_count:
+ description: The total number of attendees who didn't submit any response (neither thumbs up nor thumbs down).
+ type: integer
+ not_good_count:
+ description: The total number of "thumbs down" received for this meeting.
+ type: integer
+ satisfaction_percent:
+ description: |-
+ Satisfaction Percentage.
+ The satisfaction percentage is calculated as `(good_count + none_count)` / `total_count`.
+ format: int64
+ type: integer
+ type: object
+ type: array
+ from:
+ description: Start date for this report in 'yyyy-mm-dd' format.
+ format: date
+ type: string
+ to:
+ description: End date for this report in 'yyyy-mm-dd' format.
+ format: date
+ type: string
+ total_records:
+ description: The total number of records available across all pages.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ client_satisfaction:
+ items:
+ properties:
+ date:
+ description: Date of the report.
+ format: date
+ type: string
+ good_count:
+ description: The total number of "thumbs up" received for this meeting.
+ type: integer
+ none_count:
+ description: The total number of attendees who didn't submit any response (neither thumbs up nor thumbs down).
+ type: integer
+ not_good_count:
+ description: The total number of "thumbs down" received for this meeting.
+ type: integer
+ satisfaction_percent:
+ description: |-
+ Satisfaction Percentage.
+ The satisfaction percentage is calculated as `(good_count + none_count)` / `total_count`.
+ format: int64
+ type: integer
+ type: object
+ type: array
+ from:
+ description: Start date for this report in 'yyyy-mm-dd' format.
+ format: date
+ type: string
+ to:
+ description: End date for this report in 'yyyy-mm-dd' format.
+ format: date
+ type: string
+ total_records:
+ description: The total number of records available across all pages.
+ type: integer
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Client satisfaction data returned.
+ security:
+ - OAuth: []
+ summary: List client meeting satisfaction
+ tags:
+ - Dashboards
+ /metrics/crc:
+ get:
+ description: |-
+ A Cloud Room Connector allows H.323/SIP endpoints to connect to a Zoom meeting.
+
+ Use this API to get the hour by hour CRC Port usage for a specified period of time.
+ **Prerequisites:**
+ * Business, Education or API Plan.
+ * Room Connector must be enabled on the account.
+ **Scopes:** `dashboard_crc:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ operationId: dashboardCRC
+ parameters:
+ - description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
+ in: query
+ name: from
+ required: true
+ schema:
+ format: date
+ type: string
+ - description: End date.
+ in: query
+ name: to
+ required: true
+ schema:
+ format: date
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ crc_ports_usage:
+ - crc_ports_hour_usage:
+ - hour: sed
+ max_usage: 8
+ total_usage: 14
+ date_time: 2019-05-01T15:13:39.424Z
+ from: 2019-04-03
+ to: 2019-04-04
+ schema:
+ allOf:
+ - properties:
+ from:
+ description: Start date for this report.
+ format: date
+ type: string
+ to:
+ description: End date for this report.
+ format: date
+ type: string
+ - properties:
+ crc_ports_usage:
+ items:
+ properties:
+ crc_ports_hour_usage:
+ items:
+ properties:
+ hour:
+ description: Hour in the day, during which the CRC was used. For example if the CRC was used at 11 pm, the value of this field will be 23.
+ type: string
+ max_usage:
+ description: The maximum number of concurrent ports that are being used in that hour.
+ type: integer
+ total_usage:
+ description: The total number of H.323/SIP connections in that hour.
+ type: integer
+ type: object
+ type: array
+ date_time:
+ description: The date and time of the port usage.
+ format: date-time
+ type: string
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ from:
+ description: Start date for this report.
+ format: date
+ type: string
+ to:
+ description: End date for this report.
+ format: date
+ type: string
+ - properties:
+ crc_ports_usage:
+ items:
+ properties:
+ crc_ports_hour_usage:
+ items:
+ properties:
+ hour:
+ description: Hour in the day, during which the CRC was used. For example if the CRC was used at 11 pm, the value of this field will be 23.
+ type: string
+ max_usage:
+ description: The maximum number of concurrent ports that are being used in that hour.
+ type: integer
+ total_usage:
+ description: The total number of H.323/SIP connections in that hour.
+ type: integer
+ type: object
+ type: array
+ date_time:
+ description: The date and time of the port usage.
+ format: date-time
+ type: string
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ CRC usage returned.
+ Only available for paid accounts that have enabled the Dashboard feature.
+ security:
+ - OAuth: []
+ summary: Get CRC port usage
+ tags:
+ - Dashboards
+ /metrics/im:
+ get:
+ description: |+
+ Get [metrics](https://support.zoom.us/hc/en-us/articles/204654719-Dashboard#h_cc7e9749-1c70-4afb-a9a2-9680654821e4) on how users are utilizing the Zoom Chat Client.
You can specify a monthly date range for the dashboard data using the `from` and `to` query parameters. The month should fall within the last six months.
+ **Scope:** `dashboard_im:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Resource-intensive`
+ **Prerequisites:**
+ * Business or a higher plan.
+
+ operationId: dashboardIM
+ parameters:
+ - description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
+ in: query
+ name: from
+ required: true
+ schema:
+ format: date
+ type: string
+ - description: End date.
+ in: query
+ name: to
+ required: true
+ schema:
+ format: date
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ from: 2019-04-09
+ page_count: 1
+ page_size: 1
+ to: 2019-05-09
+ total_records: 1
+ users:
+ - calls_receive: 5
+ calls_send: 1
+ email: ipsum@ipsumemailksfj.sfhkf
+ emoji_receive: 5
+ emoji_send: 4
+ files_receive: 8
+ files_send: 3
+ group_receive: 5
+ group_send: 5
+ images_receive: 2
+ images_send: 5
+ total_receive: 30
+ total_send: 20
+ user_id: sdfjk393lklrf
+ user_name: culpa ipsum
+ videos_receive: 2
+ videos_send: 1
+ voice_receive: 3
+ voice_send: 0
+ schema:
+ allOf:
+ - properties:
+ from:
+ description: Start date for this report.
+ format: date
+ type: string
+ to:
+ description: End date for this report.
+ format: date
+ type: string
+ type: object
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ type: integer
+ type: object
+ - properties:
+ users:
+ items:
+ properties:
+ calls_receive:
+ description: Total number of instant meeting calls received by the user.
+ type: integer
+ calls_send:
+ description: Total number of instant meeting calls made by the user.
+ type: integer
+ email:
+ description: User email.
+ format: email
+ type: string
+ emoji_receive:
+ description: Total number of emojis received by the user.
+ type: integer
+ emoji_send:
+ description: Total number of emojis sent by the user.
+ type: integer
+ files_receive:
+ description: Total number of files received by the user.
+ type: integer
+ files_send:
+ description: Total number of files sent by the user.
+ type: integer
+ group_receive:
+ description: Total number of messages received by the user in channels.
+ type: integer
+ group_send:
+ description: Total number of messages sent by the user in channels.
+ type: integer
+ images_receive:
+ description: Total number of images received by the user.
+ type: integer
+ images_send:
+ description: Total number of images sent by the user.
+ type: integer
+ total_receive:
+ description: Total number of messages received by the user.
+ type: integer
+ total_send:
+ description: Total number of messages sent by the user.
+ type: integer
+ user_id:
+ description: User ID.
+ type: string
+ user_name:
+ description: User display name.
+ type: string
+ videos_receive:
+ description: "Total number of video files received by the user. "
+ type: integer
+ videos_send:
+ description: Total number of video files sent by the user.
+ type: integer
+ voice_receive:
+ description: Total number of voice files received by the user.
+ type: integer
+ voice_send:
+ description: Total number of voice files sent by the user.
+ type: integer
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ from:
+ description: Start date for this report.
+ format: date
+ type: string
+ to:
+ description: End date for this report.
+ format: date
+ type: string
+ type: object
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ type: integer
+ type: object
+ - properties:
+ users:
+ items:
+ properties:
+ calls_receive:
+ description: Total number of instant meeting calls received by the user.
+ type: integer
+ calls_send:
+ description: Total number of instant meeting calls made by the user.
+ type: integer
+ email:
+ description: User email.
+ format: email
+ type: string
+ emoji_receive:
+ description: Total number of emojis received by the user.
+ type: integer
+ emoji_send:
+ description: Total number of emojis sent by the user.
+ type: integer
+ files_receive:
+ description: Total number of files received by the user.
+ type: integer
+ files_send:
+ description: Total number of files sent by the user.
+ type: integer
+ group_receive:
+ description: Total number of messages received by the user in channels.
+ type: integer
+ group_send:
+ description: Total number of messages sent by the user in channels.
+ type: integer
+ images_receive:
+ description: Total number of images received by the user.
+ type: integer
+ images_send:
+ description: Total number of images sent by the user.
+ type: integer
+ total_receive:
+ description: Total number of messages received by the user.
+ type: integer
+ total_send:
+ description: Total number of messages sent by the user.
+ type: integer
+ user_id:
+ description: User ID.
+ type: string
+ user_name:
+ description: User display name.
+ type: string
+ videos_receive:
+ description: "Total number of video files received by the user. "
+ type: integer
+ videos_send:
+ description: Total number of video files sent by the user.
+ type: integer
+ voice_receive:
+ description: Total number of voice files received by the user.
+ type: integer
+ voice_send:
+ description: Total number of voice files sent by the user.
+ type: integer
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ IM details returned.
+ Only available for paid accounts that have enabled the dashboard feature.
+ security:
+ - OAuth: []
+ summary: Get IM metrics
+ tags:
+ - Dashboards
+ /metrics/issues/zoomrooms:
+ get:
+ description: |-
+ Get information on top 25 Zoom Rooms with issues in a month. The month specified with the "from" and "to" range should fall within the last six months.
+ **Scope:** `dashboard_home:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ **Prerequisites:**
+ * Business or a higher plan.
+ * Zoom Room must be enabled in the account.
+ operationId: dashboardIssueZoomRoom
+ parameters:
+ - description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
+ in: query
+ name: from
+ required: true
+ schema:
+ format: date
+ type: string
+ - description: End date.
+ in: query
+ name: to
+ required: true
+ schema:
+ format: date
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ allOf:
+ - properties:
+ from:
+ description: Start date for this report
+ format: date
+ type: string
+ to:
+ description: End date for this report
+ format: date
+ type: string
+ total_records:
+ description: The number of all records available across pages
+ type: integer
+ - properties:
+ zoom_rooms:
+ items:
+ properties:
+ id:
+ description: Zoom Room ID
+ type: string
+ issues_count:
+ description: Issue Count of Zoom Room
+ type: integer
+ room_name:
+ description: Zoom Room Name
+ type: string
+ type: array
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ from:
+ description: Start date for this report
+ format: date
+ type: string
+ to:
+ description: End date for this report
+ format: date
+ type: string
+ total_records:
+ description: The number of all records available across pages
+ type: integer
+ - properties:
+ zoom_rooms:
+ items:
+ properties:
+ id:
+ description: Zoom Room ID
+ type: string
+ issues_count:
+ description: Issue Count of Zoom Room
+ type: integer
+ room_name:
+ description: Zoom Room Name
+ type: string
+ type: array
+ description: |-
+ **HTTP Status Code:** `200`
+ Zoom Room with issue details returned
+ security:
+ - OAuth: []
+ summary: Get top 25 Zoom Rooms with issues
+ tags:
+ - Dashboards
+ "/metrics/issues/zoomrooms/{zoomroomId}":
+ get:
+ description: |-
+ Get information about the issues that occured on the Top 25 **Zoom Rooms with issues** in an acount. You can specify a monthly date range for the dashboard data using the `from` and `to` query parameters. The month should fall within the last six months.
+
+ **Scope:** `dashboard_home:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ **Prerequisites:**
+ * Business or a higher plan.
+ * Zoom Room must be enabled in the account.
+ operationId: dashboardIssueDetailZoomRoom
+ parameters:
+ - description: The Zoom room ID.
+ in: path
+ name: zoomroomId
+ required: true
+ schema:
+ type: string
+ - description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
+ in: query
+ name: from
+ required: true
+ schema:
+ format: date
+ type: string
+ - description: End date.
+ in: query
+ name: to
+ required: true
+ schema:
+ format: date
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ from: 2019-02-28
+ issue_details:
+ - issue: Zoom room is offline
+ time: 2019-03-07T11:17:00.956Z
+ page_count: 1
+ page_size: 1
+ to: 2019-03-28
+ total_records: 1
+ schema:
+ allOf:
+ - properties:
+ from:
+ description: Start date for this report
+ format: date
+ type: string
+ to:
+ description: End date for this report
+ format: date
+ type: string
+ type: object
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ type: integer
+ type: object
+ - properties:
+ issue_details:
+ items:
+ properties:
+ issue:
+ description: |-
+ Zoom Room Issue Detail. The value of the this field could be one of the following:
+ * `Room Controller disconnected`
+ * `Room Controller connected`
+ * `Selected camera has disconnected`
+ * `Selected camera is reconnected`
+ * `Selected microphone has disconnected`
+ * `Selected microphone is reconnected`
+ * `Selected speaker has disconnected`
+ * `Selected speaker is reconnected`
+ * `Zoom room is offline`
+ * `Zoom room is online`
+ * `High CPU usage is detected`
+ * `Low bandwidth network is detected`
+ * `{name} battery is low`
+ * `{name} battery is normal`
+ * `{name} disconnected`
+ * `{name} connected`
+ * `{name} is not charging`
+
+ Possible values for {name}:
+ * Zoom Rooms Computer
+ * Controller
+ * Scheduling Display
+ type: string
+ time:
+ description: Time at which the issue was encountered.
+ format: date-time
+ type: string
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ from:
+ description: Start date for this report
+ format: date
+ type: string
+ to:
+ description: End date for this report
+ format: date
+ type: string
+ type: object
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ type: integer
+ type: object
+ - properties:
+ issue_details:
+ items:
+ properties:
+ issue:
+ description: |-
+ Zoom Room Issue Detail. The value of the this field could be one of the following:
+ * `Room Controller disconnected`
+ * `Room Controller connected`
+ * `Selected camera has disconnected`
+ * `Selected camera is reconnected`
+ * `Selected microphone has disconnected`
+ * `Selected microphone is reconnected`
+ * `Selected speaker has disconnected`
+ * `Selected speaker is reconnected`
+ * `Zoom room is offline`
+ * `Zoom room is online`
+ * `High CPU usage is detected`
+ * `Low bandwidth network is detected`
+ * `{name} battery is low`
+ * `{name} battery is normal`
+ * `{name} disconnected`
+ * `{name} connected`
+ * `{name} is not charging`
+
+ Possible values for {name}:
+ * Zoom Rooms Computer
+ * Controller
+ * Scheduling Display
+ type: string
+ time:
+ description: Time at which the issue was encountered.
+ format: date-time
+ type: string
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Zoom Room with issue details returned
+ security:
+ - OAuth: []
+ summary: Get issues of Zoom Rooms
+ tags:
+ - Dashboards
+ /metrics/meetings:
+ get:
+ description: |-
+ List total live or past meetings that occurred during a specified period of time. This overview will show if features such as audio, video, screen sharing, and recording were being used in the meeting. You can also see the license types of each user on your account. You can specify a monthly date range for the dashboard data using the `from` and `to` query parameters. The month should fall within the last six months.
+ **Scopes:** `dashboard_meetings:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Resource-intensive`
+ **Prerequisites:**
+ * Business or a higher plan.
+ operationId: dashboardMeetings
+ parameters:
+ - description: |-
+ Specify a value to get the response for the corresponding meeting type. The value of this field can be one of the following:
`past` - Meeting that already occurred in the specified date range. `pastOne` - Past meetings that were attended by only one user. `live` - Live meetings.
+
+ If you do not provide this field, the default value will be `live` and thus, the API will only query responses for live meetings.
+ in: query
+ name: type
+ schema:
+ default: live
+ enum:
+ - past
+ - pastOne
+ - live
+ type: string
+ x-enum-descriptions:
+ - past meetings
+ - past one user meetings
+ - live meetings
+ - description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
+ in: query
+ name: from
+ required: true
+ schema:
+ format: date
+ type: string
+ - description: End date.
+ in: query
+ name: to
+ required: true
+ schema:
+ format: date
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: Set the value of this field to "tracking_fields" if you would like to include tracking fields of each meeting in the response.
+ in: query
+ name: include_fields
+ schema:
+ enum:
+ - tracking_fields
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ from: string [date]
+ meetings:
+ - duration: string
+ email: string
+ end_time: string [date-time]
+ has_3rd_party_audio: boolean
+ has_pstn: boolean
+ has_recording: boolean
+ has_screen_share: boolean
+ has_sip: boolean
+ has_video: boolean
+ has_voip: boolean
+ host: string
+ id: integer
+ participants: integer
+ start_time: string [date-time]
+ topic: string
+ user_type: string
+ uuid: string [uuid]
+ next_page_token: string
+ page_count: integer
+ page_size: integer
+ to: string [date]
+ total_records: integer
+ schema:
+ allOf:
+ - properties:
+ from:
+ description: Start date for this report in 'yyyy-mm-dd' format.
+ format: date
+ type: string
+ to:
+ description: End date for this report in 'yyyy-mm-dd' format.
+ format: date
+ type: string
+ type: object
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ type: integer
+ type: object
+ - properties:
+ meetings:
+ description: Array of meeting objects.
+ items:
+ description: Meeting metric details.
+ properties:
+ custom_keys:
+ description: Custom keys and values assigned to the meeting.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the meeting.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the meeting.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ dept:
+ description: Department of the host.
+ type: string
+ duration:
+ description: "Meeting duration. Formatted as hh:mm:ss, for example: `16:08` for 16 minutes and 8 seconds."
+ type: string
+ email:
+ description: Email address of the host.
+ type: string
+ end_time:
+ description: Meeting end time.
+ format: date-time
+ type: string
+ has_3rd_party_audio:
+ description: Indicates whether or not [third party audio](https://support.zoom.us/hc/en-us/articles/202470795-3rd-Party-Audio-Conference) was used in the meeting.
+ type: boolean
+ has_pstn:
+ description: Indicates whether or not the PSTN was used in the meeting.
+ type: boolean
+ has_recording:
+ description: "Indicates whether or not the recording feature was used in the meeting. "
+ type: boolean
+ has_screen_share:
+ description: Indicates whether or not screenshare feature was used in the meeting.
+ type: boolean
+ has_sip:
+ description: Indicates whether or not someone joined the meeting using SIP.
+ type: boolean
+ has_video:
+ description: Indicates whether or not video was used in the meeting.
+ type: boolean
+ has_voip:
+ description: Indicates whether or not VoIP was used in the meeting.
+ type: boolean
+ host:
+ description: Host display name.
+ type: string
+ id:
+ description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
+ format: int64
+ type: integer
+ in_room_participants:
+ description: The number of Zoom Room participants in the meeting.
+ type: integer
+ participants:
+ description: Meeting participant count.
+ type: integer
+ start_time:
+ description: Meeting start time.
+ format: date-time
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ tracking_fields:
+ description: Tracking fields and values assigned to the meeting.
+ items:
+ properties:
+ field:
+ description: Label of the tracking field.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the tracking field.
+ maxLength: 256
+ type: string
+ type: object
+ type: array
+ user_type:
+ description: License type of the user.
+ type: string
+ uuid:
+ description: Meeting UUID. Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
+ format: uuid
+ type: string
+ title: Metrics
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ from:
+ description: Start date for this report in 'yyyy-mm-dd' format.
+ format: date
+ type: string
+ to:
+ description: End date for this report in 'yyyy-mm-dd' format.
+ format: date
+ type: string
+ type: object
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ type: integer
+ type: object
+ - properties:
+ meetings:
+ description: Array of meeting objects.
+ items:
+ description: Meeting metric details.
+ properties:
+ custom_keys:
+ description: Custom keys and values assigned to the meeting.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the meeting.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the meeting.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ dept:
+ description: Department of the host.
+ type: string
+ duration:
+ description: "Meeting duration. Formatted as hh:mm:ss, for example: `16:08` for 16 minutes and 8 seconds."
+ type: string
+ email:
+ description: Email address of the host.
+ type: string
+ end_time:
+ description: Meeting end time.
+ format: date-time
+ type: string
+ has_3rd_party_audio:
+ description: Indicates whether or not [third party audio](https://support.zoom.us/hc/en-us/articles/202470795-3rd-Party-Audio-Conference) was used in the meeting.
+ type: boolean
+ has_pstn:
+ description: Indicates whether or not the PSTN was used in the meeting.
+ type: boolean
+ has_recording:
+ description: "Indicates whether or not the recording feature was used in the meeting. "
+ type: boolean
+ has_screen_share:
+ description: Indicates whether or not screenshare feature was used in the meeting.
+ type: boolean
+ has_sip:
+ description: Indicates whether or not someone joined the meeting using SIP.
+ type: boolean
+ has_video:
+ description: Indicates whether or not video was used in the meeting.
+ type: boolean
+ has_voip:
+ description: Indicates whether or not VoIP was used in the meeting.
+ type: boolean
+ host:
+ description: Host display name.
+ type: string
+ id:
+ description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
+ format: int64
+ type: integer
+ in_room_participants:
+ description: The number of Zoom Room participants in the meeting.
+ type: integer
+ participants:
+ description: Meeting participant count.
+ type: integer
+ start_time:
+ description: Meeting start time.
+ format: date-time
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ tracking_fields:
+ description: Tracking fields and values assigned to the meeting.
+ items:
+ properties:
+ field:
+ description: Label of the tracking field.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the tracking field.
+ maxLength: 256
+ type: string
+ type: object
+ type: array
+ user_type:
+ description: License type of the user.
+ type: string
+ uuid:
+ description: Meeting UUID. Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
+ format: uuid
+ type: string
+ title: Metrics
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Meetings returned.
+ Only available for paid accounts that have dashboard feature enabled.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ The next page token is invalid or expired.
+ security:
+ - OAuth: []
+ summary: List meetings
+ tags:
+ - Dashboards
+ "/metrics/meetings/{meetingId}":
+ get:
+ description: |-
+ Get details on live or past meetings. This overview will show if features such as audio, video, screen sharing, and recording were being used in the meeting. You can also see the license types of each user on your account. You can specify a monthly date range for the dashboard data using the `from` and `to` query parameters. The month should fall within the last six months.
+ **Scopes:** `dashboard_meetings:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ **Prerequisites:**
+ * Business or a higher plan.
+ operationId: dashboardMeetingDetail
+ parameters:
+ - description: |-
+ The meeting ID or the meeting UUID. If a meeting ID is provided in the request instead of a UUID, the response will be for the latest meeting instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ - description: "The meeting types: `past` - Past meetings. `pastOne` - Past one user meetings. `live` - Live meetings."
+ in: query
+ name: type
+ schema:
+ default: live
+ enum:
+ - past
+ - pastOne
+ - live
+ type: string
+ x-enum-descriptions:
+ - past meeting
+ - past one user meeting
+ - live meeting
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ duration: 30:00
+ email: so@djkfsfj.gh
+ end_time: 2007-06-16T16:59:42.078Z
+ has_3rd_party_audio: false
+ has_pstn: false
+ has_recording: false
+ has_screen_share: false
+ has_sip: false
+ has_video: false
+ has_voip: false
+ host: cool host
+ id: 33281536
+ in_room_participants: 3
+ participants: 4874645
+ start_time: 2007-06-16T16:55:42.078Z
+ topic: My meeting
+ user_type: Pro|Webinar100
+ uuid: carreter@-2c9b447f3
+ schema:
+ description: Meeting metric details.
+ properties:
+ custom_keys:
+ description: Custom keys and values assigned to the meeting.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the meetinh.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the meeting.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ dept:
+ description: Department of the host.
+ type: string
+ duration:
+ description: Meeting duration.
+ type: string
+ email:
+ description: Email address of the host.
+ type: string
+ end_time:
+ description: Meeting end time.
+ format: date-time
+ type: string
+ has_3rd_party_audio:
+ description: Indicates whether or not [third party audio](https://support.zoom.us/hc/en-us/articles/202470795-3rd-Party-Audio-Conference) was used in the meeting.
+ type: boolean
+ has_pstn:
+ description: Indicates whether or not the PSTN was used in the meeting.
+ type: boolean
+ has_recording:
+ description: "Indicates whether or not the recording feature was used in the meeting. "
+ type: boolean
+ has_screen_share:
+ description: Indicates whether or not screenshare feature was used in the meeting.
+ type: boolean
+ has_sip:
+ description: Indicates whether or not someone joined the meeting using SIP.
+ type: boolean
+ has_video:
+ description: Indicates whether or not video was used in the meeting.
+ type: boolean
+ has_voip:
+ description: Indicates whether or not VoIP was used in the meeting.
+ type: boolean
+ host:
+ description: Host display name.
+ type: string
+ id:
+ description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
+ format: int64
+ type: integer
+ in_room_participants:
+ description: The number of Zoom Room participants in the meeting.
+ type: integer
+ participants:
+ description: Meeting participant count.
+ type: integer
+ start_time:
+ description: Meeting start time.
+ format: date-time
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ user_type:
+ description: License type of the user.
+ type: string
+ uuid:
+ description: Meeting UUID. Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
+ format: uuid
+ type: string
+ title: Meeting Metrics
+ type: object
+ application/xml:
+ schema:
+ description: Meeting metric details.
+ properties:
+ custom_keys:
+ description: Custom keys and values assigned to the meeting.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the meetinh.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the meeting.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ dept:
+ description: Department of the host.
+ type: string
+ duration:
+ description: Meeting duration.
+ type: string
+ email:
+ description: Email address of the host.
+ type: string
+ end_time:
+ description: Meeting end time.
+ format: date-time
+ type: string
+ has_3rd_party_audio:
+ description: Indicates whether or not [third party audio](https://support.zoom.us/hc/en-us/articles/202470795-3rd-Party-Audio-Conference) was used in the meeting.
+ type: boolean
+ has_pstn:
+ description: Indicates whether or not the PSTN was used in the meeting.
+ type: boolean
+ has_recording:
+ description: "Indicates whether or not the recording feature was used in the meeting. "
+ type: boolean
+ has_screen_share:
+ description: Indicates whether or not screenshare feature was used in the meeting.
+ type: boolean
+ has_sip:
+ description: Indicates whether or not someone joined the meeting using SIP.
+ type: boolean
+ has_video:
+ description: Indicates whether or not video was used in the meeting.
+ type: boolean
+ has_voip:
+ description: Indicates whether or not VoIP was used in the meeting.
+ type: boolean
+ host:
+ description: Host display name.
+ type: string
+ id:
+ description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
+ format: int64
+ type: integer
+ in_room_participants:
+ description: The number of Zoom Room participants in the meeting.
+ type: integer
+ participants:
+ description: Meeting participant count.
+ type: integer
+ start_time:
+ description: Meeting start time.
+ format: date-time
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ user_type:
+ description: License type of the user.
+ type: string
+ uuid:
+ description: Meeting UUID. Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
+ format: uuid
+ type: string
+ title: Meeting Metrics
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Meeting returned.
+ Only available for paid accounts that have enabled the dashboard feature.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ Can not access webinar info, {meetingId}.
+ "404":
+ description: |
+ **HTTP Status Code:** `404`
+ **Error Code:** `3001`
+ Meeting ID is invalid or the meeting has not ended yet.
+ This meeting's details are not available.
+ security:
+ - OAuth: []
+ summary: Get meeting details
+ tags:
+ - Dashboards
+ "/metrics/meetings/{meetingId}/participants":
+ get:
+ description: |-
+ Get a list of participants from live or past meetings.
+ If you do not provide the `type` query parameter, the default value will be set to `live` and thus, you will only see metrics for participants in a live meeting, if any meeting is currently being conducted. To view metrics on past meeting participants, provide the appropriate value for `type`. You can specify a monthly date range for the dashboard data using the `from` and `to` query parameters. The month should fall within the last six months.
+
+ **Scopes:** `dashboard_meetings:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ **Prerequisites:** Business or a higher plan.
+ operationId: dashboardMeetingParticipants
+ parameters:
+ - description: |-
+ The meeting ID or the meeting UUID. If a meeting ID is provided in the request instead of a UUID, the response will be for the latest meeting instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ - description: "The meeting types: `past` - Past meetings. `pastOne` - Past one user meetings. `live` - Live meetings."
+ in: query
+ name: type
+ schema:
+ default: live
+ enum:
+ - past
+ - pastOne
+ - live
+ type: string
+ x-enum-descriptions:
+ - past meeting
+ - past one user meeting
+ - live meeting
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: Provide `registrant_id` as the value for this field if you would like to see the registrant ID attribute in the response of this API call. A registrant ID is a unique identifier of a [meeting registrant](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingregistrants). This is not supported for `live` meeting types.
+ in: query
+ name: include_fields
+ schema:
+ enum:
+ - registrant_id
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ next_page_token: ""
+ page_count: 1
+ page_size: 30
+ participants:
+ - camera: FaceTime HD Camera
+ connection_type: P2P
+ data_center: SC
+ device: WIN
+ domain: Dojo-workspace
+ harddisk_id: sed proident in
+ id: d52f19c548b88490b5d16fcbd38
+ ip_address: 127.0.0.1
+ join_time: 2019-09-07T13:15:02.837Z
+ leave_reason: "Dojo left the meeting. Reason: Host ended the meeting."
+ leave_time: 2019-09-07T13:15:09.837Z
+ location: New York
+ mac_addr: " 00:0a:95:9d:68:16"
+ microphone: Plantronics BT600
+ network_type: Wired
+ pc_name: dojo's pc
+ recording: false
+ share_application: false
+ share_desktop: true
+ share_whiteboard: true
+ speaker: Plantronics BT600
+ status: in_waiting_room
+ user_id: 32dsfsd4g5gd
+ user_name: dojo
+ version: 4.4.55383.0716
+ - connection_type: UDP
+ data_center: SC
+ device: Android
+ domain: Rea-workspace
+ harddisk_id: ""
+ id: z8aaaaaaCfp8uQ
+ ip_address: 120.000.000
+ join_time: 2019-08-02T15:31:48Z
+ leave_reason: "Rea left the meeting. Reason: Host closed the meeting."
+ leave_time: 2019-08-02T16:04:12Z
+ location: San Jose (US)
+ mac_addr: ""
+ network_type: Wifi
+ pc_name: Rea's PC
+ recording: false
+ share_application: false
+ share_desktop: false
+ share_whiteboard: false
+ user_id: "1670000000"
+ user_name: Rea
+ version: 4.4.55383.0716
+ total_records: 2
+ schema:
+ allOf:
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ type: integer
+ type: object
+ - properties:
+ participants:
+ description: Array of participant session objects. If a participant left a meeting and rejoined the same meeting, their information will appear multiple times (as many times as they joined the meeting).
+ items:
+ properties:
+ audio_quality:
+ description: Audio quality of the participant.
+ enum:
+ - " "
+ - good
+ - fair
+ - poor
+ - bad
+ type: string
+ camera:
+ description: The type of camera used by participant during the meeting.
+ type: string
+ connection_type:
+ description: Participant connection type.
+ type: string
+ customer_key:
+ description: "Another identifier for the participant. Can be a number or characters, maximum length of 15 characters. "
+ maxLength: 15
+ type: string
+ data_center:
+ description: Data Center where participant's meeting data is stored.
+ type: string
+ device:
+ description: |-
+ The type of device using which the participant joined the meeting. The possible values for this field are:
+ * `Phone`: Participant joined via PSTN.
+ * `H.323/SIP`: Participant joined via an H.323 or SIP device.
+ * `Windows`: Participant joined via VoIP using a Windows device.
+ * `Mac`: Participant joined via VoIP using a Mac device.
+ * `iOS`: Participant joined via VoIP using an iOS device.
+ * `Android`: Participant joined via VoIP using an Android device.
+ type: string
+ domain:
+ description: Participant's PC domain.
+ type: string
+ email:
+ description: Email address of the participant.
+ format: email
+ type: string
+ harddisk_id:
+ description: Participant's hard disk ID.
+ type: string
+ id:
+ description: Universally unique identifier of the Participant. It is the same as the User ID of the participant if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging in, the value of this field will be blank.
+ format: uuid
+ type: string
+ in_room_participants:
+ description: The number of participants who joined via Zoom Room.
+ type: integer
+ ip_address:
+ description: Participant's IP address.
+ type: string
+ join_time:
+ description: The time at which participant joined the meeting.
+ format: date-time
+ type: string
+ leave_reason:
+ description: Possible reasons for why participant left the meeting.
+ type: string
+ leave_time:
+ description: The time at which a participant left the meeting. For live meetings, this field will only be returned if a participant has left the ongoing meeting.
+ format: date-time
+ type: string
+ location:
+ description: Participant's location.
+ type: string
+ mac_addr:
+ description: Participant's MAC address.
+ type: string
+ microphone:
+ description: The type of Microphone that participant used during the meeting.
+ type: string
+ network_type:
+ description: Participant's network type.
+ enum:
+ - Wired
+ - Wifi
+ - PPP
+ - Cellular (3G and 4G)
+ - Others
+ type: string
+ pc_name:
+ description: Name of Participant's PC.
+ type: string
+ recording:
+ description: Indicates whether or not recording was used during the meeting.
+ type: boolean
+ registrant_id:
+ description: Unique identifier of the registrant. This field is only returned if you entered "registrant_id" as the value of `include_fields` query parameter. This is not supported for `live` meeting types.
+ type: string
+ screen_share_quality:
+ description: Screen share quality of the participant.
+ enum:
+ - " "
+ - good
+ - fair
+ - poor
+ - bad
+ type: string
+ share_application:
+ description: "Indicates whether or not a user selected to share an iPhone/iPad app during the screenshare. "
+ type: boolean
+ share_desktop:
+ description: "Indicates whether or not a user selected to share their desktop during the screenshare. "
+ type: boolean
+ share_whiteboard:
+ description: "Indicates whether or not a user selected to share their whiteboard during the screenshare. "
+ type: boolean
+ speaker:
+ description: The type of speaker participant used during the meeting.
+ type: string
+ status:
+ description: |-
+ Indicates whether the participant is in the waiting room or in the meeting.
+
+ The value of this field can be `in_meeting` or `in_waiting_room`.
+ enum:
+ - in_meeting
+ - in_waiting_room
+ type: string
+ user_id:
+ description: Participant ID. This is a unique ID assigned to the participant joining a meeting and is valid for that meeting only.
+ type: string
+ user_name:
+ description: Participant display name.
+ type: string
+ version:
+ description: Participant's Zoom Client version.
+ type: string
+ video_quality:
+ description: Video quality of the participant.
+ enum:
+ - " "
+ - good
+ - fair
+ - poor
+ - bad
+ type: string
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ type: integer
+ type: object
+ - properties:
+ participants:
+ description: Array of participant session objects. If a participant left a meeting and rejoined the same meeting, their information will appear multiple times (as many times as they joined the meeting).
+ items:
+ properties:
+ audio_quality:
+ description: Audio quality of the participant.
+ enum:
+ - " "
+ - good
+ - fair
+ - poor
+ - bad
+ type: string
+ camera:
+ description: The type of camera used by participant during the meeting.
+ type: string
+ connection_type:
+ description: Participant connection type.
+ type: string
+ customer_key:
+ description: "Another identifier for the participant. Can be a number or characters, maximum length of 15 characters. "
+ maxLength: 15
+ type: string
+ data_center:
+ description: Data Center where participant's meeting data is stored.
+ type: string
+ device:
+ description: |-
+ The type of device using which the participant joined the meeting. The possible values for this field are:
+ * `Phone`: Participant joined via PSTN.
+ * `H.323/SIP`: Participant joined via an H.323 or SIP device.
+ * `Windows`: Participant joined via VoIP using a Windows device.
+ * `Mac`: Participant joined via VoIP using a Mac device.
+ * `iOS`: Participant joined via VoIP using an iOS device.
+ * `Android`: Participant joined via VoIP using an Android device.
+ type: string
+ domain:
+ description: Participant's PC domain.
+ type: string
+ email:
+ description: Email address of the participant.
+ format: email
+ type: string
+ harddisk_id:
+ description: Participant's hard disk ID.
+ type: string
+ id:
+ description: Universally unique identifier of the Participant. It is the same as the User ID of the participant if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging in, the value of this field will be blank.
+ format: uuid
+ type: string
+ in_room_participants:
+ description: The number of participants who joined via Zoom Room.
+ type: integer
+ ip_address:
+ description: Participant's IP address.
+ type: string
+ join_time:
+ description: The time at which participant joined the meeting.
+ format: date-time
+ type: string
+ leave_reason:
+ description: Possible reasons for why participant left the meeting.
+ type: string
+ leave_time:
+ description: The time at which a participant left the meeting. For live meetings, this field will only be returned if a participant has left the ongoing meeting.
+ format: date-time
+ type: string
+ location:
+ description: Participant's location.
+ type: string
+ mac_addr:
+ description: Participant's MAC address.
+ type: string
+ microphone:
+ description: The type of Microphone that participant used during the meeting.
+ type: string
+ network_type:
+ description: Participant's network type.
+ enum:
+ - Wired
+ - Wifi
+ - PPP
+ - Cellular (3G and 4G)
+ - Others
+ type: string
+ pc_name:
+ description: Name of Participant's PC.
+ type: string
+ recording:
+ description: Indicates whether or not recording was used during the meeting.
+ type: boolean
+ registrant_id:
+ description: Unique identifier of the registrant. This field is only returned if you entered "registrant_id" as the value of `include_fields` query parameter. This is not supported for `live` meeting types.
+ type: string
+ screen_share_quality:
+ description: Screen share quality of the participant.
+ enum:
+ - " "
+ - good
+ - fair
+ - poor
+ - bad
+ type: string
+ share_application:
+ description: "Indicates whether or not a user selected to share an iPhone/iPad app during the screenshare. "
+ type: boolean
+ share_desktop:
+ description: "Indicates whether or not a user selected to share their desktop during the screenshare. "
+ type: boolean
+ share_whiteboard:
+ description: "Indicates whether or not a user selected to share their whiteboard during the screenshare. "
+ type: boolean
+ speaker:
+ description: The type of speaker participant used during the meeting.
+ type: string
+ status:
+ description: |-
+ Indicates whether the participant is in the waiting room or in the meeting.
+
+ The value of this field can be `in_meeting` or `in_waiting_room`.
+ enum:
+ - in_meeting
+ - in_waiting_room
+ type: string
+ user_id:
+ description: Participant ID. This is a unique ID assigned to the participant joining a meeting and is valid for that meeting only.
+ type: string
+ user_name:
+ description: Participant display name.
+ type: string
+ version:
+ description: Participant's Zoom Client version.
+ type: string
+ video_quality:
+ description: Video quality of the participant.
+ enum:
+ - " "
+ - good
+ - fair
+ - poor
+ - bad
+ type: string
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Meeting participants returned.
+ Only available for paid accounts that have enabled the dashboard feature.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ Can not access webinar info.
+ {meetingId} or the next page token is either invalid or expired.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code:** `3001`
+ Meeting ID is invalid or has not ended.
+ security:
+ - OAuth: []
+ summary: List meeting participants
+ tags:
+ - Dashboards
+ "/metrics/meetings/{meetingId}/participants/qos":
+ get:
+ description: |-
+ Get a list of meeting participants from live or past meetings along with the quality of service they recieve during the meeting such as connection quality for sending/receiving video, audio, and shared content. If you do not provide the `type` query parameter, the default value will be set to `live` and thus, you will only see metrics for participants in a live meeting, if any meeting is currently being conducted. To view metrics on past meeting participants, provide the appropriate value for `type`.
You can specify a monthly date range for the dashboard data using the `from` and `to` query parameters. The month should fall within the last six months.
+ **Scopes:** `dashboard_meetings:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ **Prerequisites:**
+ * Business or a higher plan.
+ operationId: dashboardMeetingParticipantsQOS
+ parameters:
+ - description: |-
+ The meeting ID or the meeting UUID. If a meeting ID is provided in the request instead of a UUID, the response will be for the latest meeting instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ - description: "The meeting types: `past` - Past meetings. `live` - Live Meetings."
+ in: query
+ name: type
+ schema:
+ default: live
+ enum:
+ - past
+ - pastOne
+ - live
+ type: string
+ x-enum-descriptions:
+ - past meeting
+ - single past user meetings
+ - live meeting
+ - description: The number of items returned per page.
+ in: query
+ name: page_size
+ schema:
+ default: 1
+ maximum: 10
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ next_page_token: string
+ page_count: integer [int64]
+ page_size: integer
+ participants:
+ - device: string
+ domain: string
+ harddisk_id: string
+ ip_address: string
+ join_time: string [date-time]
+ leave_time: string [date-time]
+ location: string
+ mac_addr: string
+ pc_name: string
+ user_id: string [uuid]
+ user_name: string
+ user_qos:
+ - as_input:
+ avg_loss: string
+ bitrate: string
+ frame_rate: string
+ jitter: string
+ latency: string
+ max_loss: string
+ resolution: string
+ as_output:
+ avg_loss: string
+ bitrate: string
+ frame_rate: string
+ jitter: string
+ latency: string
+ max_loss: string
+ resolution: string
+ audio_input:
+ avg_loss: string
+ bitrate: string
+ jitter: string
+ latency: string
+ max_loss: string
+ audio_output:
+ avg_loss: string
+ bitrate: string
+ jitter: string
+ latency: string
+ max_loss: string
+ cpu_usage:
+ system_max_cpu_usage: string
+ zoom_avg_cpu_usage: string
+ zoom_max_cpu_usage: string
+ zoom_min_cpu_usage: string
+ date_time: string [date-time]
+ video_input:
+ avg_loss: string
+ bitrate: string
+ frame_rate: string
+ jitter: string
+ latency: string
+ max_loss: string
+ resolution: string
+ video_output:
+ avg_loss: string
+ bitrate: string
+ frame_rate: string
+ jitter: string
+ latency: string
+ max_loss: string
+ resolution: string
+ version: string
+ total_records: integer [int64]
+ schema:
+ allOf:
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ format: int64
+ type: integer
+ page_size:
+ default: 1
+ description: The number of items per page.
+ maximum: 10
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ format: int64
+ type: integer
+ type: object
+ - properties:
+ participants:
+ description: Array of user objects.
+ items:
+ description: Participant QOS.
+ properties:
+ device:
+ description: The type of device using which the participant joined the meeting.
+ type: string
+ domain:
+ description: Participant's PC domain.
+ type: string
+ harddisk_id:
+ description: Participant's hard disk ID.
+ type: string
+ ip_address:
+ description: Participant's IP address.
+ type: string
+ join_time:
+ description: The time at which participant joined the meeting.
+ format: date-time
+ type: string
+ leave_time:
+ description: The time at which participant left the meeting.
+ format: date-time
+ type: string
+ location:
+ description: Participant's location.
+ type: string
+ mac_addr:
+ description: Participant's MAC address.
+ type: string
+ pc_name:
+ description: Participant's PC name.
+ type: string
+ user_id:
+ description: Participant ID.
+ format: uuid
+ type: string
+ user_name:
+ description: Participant display name.
+ type: string
+ user_qos:
+ description: Quality of service provided to the user.
+ items:
+ properties:
+ as_device_from_crc:
+ description: QoS metrics on screen shares by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ as_device_to_crc:
+ description: QoS metrics on screen shares output being received by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ as_input:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ as_output:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ audio_device_from_crc:
+ description: QoS metrics on audio being sent by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ audio_device_to_crc:
+ description: QoS metrics on audio received by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ audio_input:
+ description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ audio_output:
+ description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ cpu_usage:
+ properties:
+ system_max_cpu_usage:
+ description: System Maximum CPU Usage
+ type: string
+ zoom_avg_cpu_usage:
+ description: Zoom Average CPU Usage
+ type: string
+ zoom_max_cpu_usage:
+ description: Zoom Maximum CPU Usage
+ type: string
+ zoom_min_cpu_usage:
+ description: Zoom Minimum CPU Usage
+ type: string
+ type: object
+ date_time:
+ description: Date-time of QOS
+ format: date-time
+ type: string
+ video_device_from_crc:
+ description: QoS metrics on video input being sent from a Cloud Room Connector used by the participant to join the meeting.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ video_device_to_crc:
+ description: QoS metrics on video output received by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ video_input:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ video_output:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ type: object
+ type: array
+ version:
+ description: Participant's Zoom Client version.
+ type: string
+ title: Participant QOS
+ type: object
+ type: array
+ description: Participant QOS list.
+ title: Participant QOS List
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ format: int64
+ type: integer
+ page_size:
+ default: 1
+ description: The number of items per page.
+ maximum: 10
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ format: int64
+ type: integer
+ type: object
+ - properties:
+ participants:
+ description: Array of user objects.
+ items:
+ description: Participant QOS.
+ properties:
+ device:
+ description: The type of device using which the participant joined the meeting.
+ type: string
+ domain:
+ description: Participant's PC domain.
+ type: string
+ harddisk_id:
+ description: Participant's hard disk ID.
+ type: string
+ ip_address:
+ description: Participant's IP address.
+ type: string
+ join_time:
+ description: The time at which participant joined the meeting.
+ format: date-time
+ type: string
+ leave_time:
+ description: The time at which participant left the meeting.
+ format: date-time
+ type: string
+ location:
+ description: Participant's location.
+ type: string
+ mac_addr:
+ description: Participant's MAC address.
+ type: string
+ pc_name:
+ description: Participant's PC name.
+ type: string
+ user_id:
+ description: Participant ID.
+ format: uuid
+ type: string
+ user_name:
+ description: Participant display name.
+ type: string
+ user_qos:
+ description: Quality of service provided to the user.
+ items:
+ properties:
+ as_device_from_crc:
+ description: QoS metrics on screen shares by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ as_device_to_crc:
+ description: QoS metrics on screen shares output being received by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ as_input:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ as_output:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ audio_device_from_crc:
+ description: QoS metrics on audio being sent by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ audio_device_to_crc:
+ description: QoS metrics on audio received by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ audio_input:
+ description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ audio_output:
+ description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ cpu_usage:
+ properties:
+ system_max_cpu_usage:
+ description: System Maximum CPU Usage
+ type: string
+ zoom_avg_cpu_usage:
+ description: Zoom Average CPU Usage
+ type: string
+ zoom_max_cpu_usage:
+ description: Zoom Maximum CPU Usage
+ type: string
+ zoom_min_cpu_usage:
+ description: Zoom Minimum CPU Usage
+ type: string
+ type: object
+ date_time:
+ description: Date-time of QOS
+ format: date-time
+ type: string
+ video_device_from_crc:
+ description: QoS metrics on video input being sent from a Cloud Room Connector used by the participant to join the meeting.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ video_device_to_crc:
+ description: QoS metrics on video output received by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ video_input:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ video_output:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ type: object
+ type: array
+ version:
+ description: Participant's Zoom Client version.
+ type: string
+ title: Participant QOS
+ type: object
+ type: array
+ description: Participant QOS list.
+ title: Participant QOS List
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Meeting participants returned.
+ Only available for paid accounts that have enabled the dashboard feature.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ Can not access webinar info, {meetingId}.
+ The next page token is either invalid or expired.
+ "404":
+ description: |
+ **HTTP Status Code:** `404`
+ **Error Code:** `3001`
+ This meeting's detail info is not available.
+ The Meeting ID is not valid or the meeting has not ended yet.
+ security:
+ - OAuth: []
+ summary: List meeting participants QoS
+ tags:
+ - Dashboards
+ "/metrics/meetings/{meetingId}/participants/satisfaction":
+ get:
+ description: |-
+ When a meeting ends, each attendee will be prompted to share their meeting experience by clicking either thumbs up or thumbs down. Use this API to retrieve the feedback submitted for a specific meeting. Note that this API only works for meetings scheduled after December 20, 2020.
+
+ **Prerequisites:**
+ * [Feedback to Zoom](https://support.zoom.us/hc/en-us/articles/115005838023) setting must be enabled by the participant prior to the meeting.
+ * The user making the API request must be enrolled in a Business or a higher plan.
+
+ **Scope:** `dashboard_meetings:read:admiin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ operationId: participantFeedback
+ parameters:
+ - description: |-
+ The meeting ID or the meeting UUID. If a meeting ID is provided in the request instead of a UUID, the response will be for the latest meeting instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ - description: |-
+ Specify a value to get the response for the corresponding meeting type. The value of this field can be one of the following:
`past` - Meeting that already occurred in the specified date range. `pastOne` - Past meetings that were attended by only one user. `live` - Live meetings.
+
+ If you do not provide this field, the default value will be `live` and thus, the API will only query responses for live meetings.
+ in: query
+ name: type
+ schema:
+ default: live
+ enum:
+ - past
+ - pastOne
+ - live
+ type: string
+ x-enum-descriptions:
+ - past meetings
+ - past one user meetings
+ - live meetings
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ next_page_token: ""
+ page_size: 1
+ participants:
+ - date_time: 2021-02-21T18:48:06.423Z
+ email: RB6iBb@aWlMmuZFPVjptyOCzNgpi.mx
+ quality: GOOD
+ user_id: aegr46312rum
+ schema:
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: The number of records returned within a single API call.
+ type: integer
+ participants:
+ items:
+ properties:
+ date_time:
+ description: Date and time at which the feedback was submitted.
+ format: date-time
+ type: string
+ email:
+ description: Email address of the participant.
+ format: email
+ type: string
+ quality:
+ description: |-
+ Feedback submitted by the participant.
+
+ * `GOOD`: Thumbs up.
+ * `NOT GOOD`: Thumbs down.
+ enum:
+ - GOOD
+ - NOT GOOD
+ type: string
+ user_id:
+ description: User ID of the participant.
+ type: string
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: The number of records returned within a single API call.
+ type: integer
+ participants:
+ items:
+ properties:
+ date_time:
+ description: Date and time at which the feedback was submitted.
+ format: date-time
+ type: string
+ email:
+ description: Email address of the participant.
+ format: email
+ type: string
+ quality:
+ description: |-
+ Feedback submitted by the participant.
+
+ * `GOOD`: Thumbs up.
+ * `NOT GOOD`: Thumbs down.
+ enum:
+ - GOOD
+ - NOT GOOD
+ type: string
+ user_id:
+ description: User ID of the participant.
+ type: string
+ type: object
+ type: array
+ type: object
+ description: |+
+ **HTTP Status Code:** `200`
+
+ "400":
+ description: |
+ **HTTP Status Code:** `400`
+ **Error Code:** `200`
+ Only available for paid accounts that have dashboard feature enabled.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code:** `3001`
+ Meeting ID is invalid or not end.
+ summary: Get post meeting feedback
+ tags:
+ - Dashboards
+ parameters:
+ - in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ "/metrics/meetings/{meetingId}/participants/sharing":
+ get:
+ description: |-
+ Retrieve the sharing and recording details of participants from live or past meetings.
+ **Scopes:** `dashboard_meetings:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ **Prerequisites:**
+ * Business or a higher plan.
+ operationId: dashboardMeetingParticipantShare
+ parameters:
+ - description: |-
+ The meeting ID or the meeting UUID. If a meeting ID is provided in the request instead of a UUID, the response will be for the latest meeting instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ - description: "The meeting types: `past` - Past meetings. `live` - Live Meetings."
+ in: query
+ name: type
+ schema:
+ default: live
+ enum:
+ - past
+ - pastOne
+ - live
+ type: string
+ x-enum-descriptions:
+ - past meeting
+ - single past user meetings
+ - live meeting
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ next_page_token: string
+ page_count: integer
+ page_size: integer
+ participants:
+ - details:
+ - content: string
+ end_time: string
+ start_time: string
+ id: string
+ user_id: string
+ user_name: string
+ total_records: integer
+ schema:
+ allOf:
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ type: integer
+ type: object
+ - properties:
+ participants:
+ description: Array of participants.
+ items:
+ properties:
+ details:
+ description: Array of sharing and recording details.
+ items:
+ properties:
+ content:
+ description: Type of content shared.
+ type: string
+ end_time:
+ description: End time of sharing.
+ type: string
+ start_time:
+ description: Start time of sharing.
+ type: string
+ type: object
+ type: array
+ id:
+ description: Universally unique identifier of the Participant. It is the same as the User ID of the participant if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging in, the value of this field will be blank.
+ type: string
+ user_id:
+ description: Participant ID. This is a unique ID assigned to the participant joining a meeting and is valid for that meeting only.
+ type: string
+ user_name:
+ description: Participant display name.
+ type: string
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ type: integer
+ type: object
+ - properties:
+ participants:
+ description: Array of participants.
+ items:
+ properties:
+ details:
+ description: Array of sharing and recording details.
+ items:
+ properties:
+ content:
+ description: Type of content shared.
+ type: string
+ end_time:
+ description: End time of sharing.
+ type: string
+ start_time:
+ description: Start time of sharing.
+ type: string
+ type: object
+ type: array
+ id:
+ description: Universally unique identifier of the Participant. It is the same as the User ID of the participant if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging in, the value of this field will be blank.
+ type: string
+ user_id:
+ description: Participant ID. This is a unique ID assigned to the participant joining a meeting and is valid for that meeting only.
+ type: string
+ user_name:
+ description: Participant display name.
+ type: string
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Meeting participants returned.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ Can not access webinar info, {meetingId}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code:** `3001`
+ This meeting's detail info is not available or ID is not valid.
+ security:
+ - OAuth: []
+ summary: Get sharing/recording details
+ tags:
+ - Dashboards
+ "/metrics/meetings/{meetingId}/participants/{participantId}/qos":
+ get:
+ description: |-
+ Retrieve the quality of service for participants from live or past meetings. This data indicates the connection quality for sending/receiving video, audio, and shared content. If nothing is being sent or received at that time, no information will be shown in the fields.
+ **Scopes:** `dashboard_meetings:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ operationId: dashboardMeetingParticipantQOS
+ parameters:
+ - description: |-
+ The meeting ID or the meeting UUID. If a meeting ID is provided in the request instead of a UUID, the response will be for the latest meeting instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ - description: Participant ID.
+ in: path
+ name: participantId
+ required: true
+ schema:
+ type: string
+ - description: "The meeting types: `past` - Past meetings. `live` - Live Meetings."
+ in: query
+ name: type
+ schema:
+ default: live
+ enum:
+ - past
+ - pastOne
+ - live
+ type: string
+ x-enum-descriptions:
+ - past meeting
+ - single past user meetings
+ - live meeting
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ device: string
+ domain: string
+ harddisk_id: string
+ ip_address: string
+ join_time: string [date-time]
+ leave_time: string [date-time]
+ location: string
+ mac_addr: string
+ pc_name: string
+ user_id: string [uuid]
+ user_name: string
+ user_qos:
+ - as_input:
+ avg_loss: string
+ bitrate: string
+ frame_rate: string
+ jitter: string
+ latency: string
+ max_loss: string
+ resolution: string
+ as_output:
+ avg_loss: string
+ bitrate: string
+ frame_rate: string
+ jitter: string
+ latency: string
+ max_loss: string
+ resolution: string
+ audio_input:
+ avg_loss: string
+ bitrate: string
+ jitter: string
+ latency: string
+ max_loss: string
+ audio_output:
+ avg_loss: string
+ bitrate: string
+ jitter: string
+ latency: string
+ max_loss: string
+ cpu_usage:
+ system_max_cpu_usage: string
+ zoom_avg_cpu_usage: string
+ zoom_max_cpu_usage: string
+ zoom_min_cpu_usage: string
+ date_time: string [date-time]
+ video_input:
+ avg_loss: string
+ bitrate: string
+ frame_rate: string
+ jitter: string
+ latency: string
+ max_loss: string
+ resolution: string
+ video_output:
+ avg_loss: string
+ bitrate: string
+ frame_rate: string
+ jitter: string
+ latency: string
+ max_loss: string
+ resolution: string
+ version: string
+ schema:
+ description: Participant QOS.
+ properties:
+ device:
+ description: The type of device using which the participant joined the meeting.
+ type: string
+ domain:
+ description: Participant's PC domain.
+ type: string
+ harddisk_id:
+ description: Participant's hard disk ID.
+ type: string
+ ip_address:
+ description: Participant's IP address.
+ type: string
+ join_time:
+ description: The time at which participant joined the meeting.
+ format: date-time
+ type: string
+ leave_time:
+ description: The time at which participant left the meeting.
+ format: date-time
+ type: string
+ location:
+ description: Participant's location.
+ type: string
+ mac_addr:
+ description: Participant's MAC address.
+ type: string
+ pc_name:
+ description: Participant's PC name.
+ type: string
+ user_id:
+ description: Participant ID.
+ format: uuid
+ type: string
+ user_name:
+ description: Participant display name.
+ type: string
+ user_qos:
+ description: Quality of service provided to the user.
+ items:
+ properties:
+ as_device_from_crc:
+ description: QoS metrics on screen shares by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ as_device_to_crc:
+ description: QoS metrics on screen shares output being received by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ as_input:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ as_output:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ audio_device_from_crc:
+ description: QoS metrics on audio being sent by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ audio_device_to_crc:
+ description: QoS metrics on audio received by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ audio_input:
+ description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ audio_output:
+ description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ cpu_usage:
+ properties:
+ system_max_cpu_usage:
+ description: System Maximum CPU Usage
+ type: string
+ zoom_avg_cpu_usage:
+ description: Zoom Average CPU Usage
+ type: string
+ zoom_max_cpu_usage:
+ description: Zoom Maximum CPU Usage
+ type: string
+ zoom_min_cpu_usage:
+ description: Zoom Minimum CPU Usage
+ type: string
+ type: object
+ date_time:
+ description: Date-time of QOS
+ format: date-time
+ type: string
+ video_device_from_crc:
+ description: QoS metrics on video input being sent from a Cloud Room Connector used by the participant to join the meeting.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ video_device_to_crc:
+ description: QoS metrics on video output received by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ video_input:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ video_output:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ type: object
+ type: array
+ version:
+ description: Participant's Zoom Client version.
+ type: string
+ title: Participant QOS
+ type: object
+ application/xml:
+ schema:
+ description: Participant QOS.
+ properties:
+ device:
+ description: The type of device using which the participant joined the meeting.
+ type: string
+ domain:
+ description: Participant's PC domain.
+ type: string
+ harddisk_id:
+ description: Participant's hard disk ID.
+ type: string
+ ip_address:
+ description: Participant's IP address.
+ type: string
+ join_time:
+ description: The time at which participant joined the meeting.
+ format: date-time
+ type: string
+ leave_time:
+ description: The time at which participant left the meeting.
+ format: date-time
+ type: string
+ location:
+ description: Participant's location.
+ type: string
+ mac_addr:
+ description: Participant's MAC address.
+ type: string
+ pc_name:
+ description: Participant's PC name.
+ type: string
+ user_id:
+ description: Participant ID.
+ format: uuid
+ type: string
+ user_name:
+ description: Participant display name.
+ type: string
+ user_qos:
+ description: Quality of service provided to the user.
+ items:
+ properties:
+ as_device_from_crc:
+ description: QoS metrics on screen shares by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ as_device_to_crc:
+ description: QoS metrics on screen shares output being received by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ as_input:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ as_output:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ audio_device_from_crc:
+ description: QoS metrics on audio being sent by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ audio_device_to_crc:
+ description: QoS metrics on audio received by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ audio_input:
+ description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ audio_output:
+ description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ cpu_usage:
+ properties:
+ system_max_cpu_usage:
+ description: System Maximum CPU Usage
+ type: string
+ zoom_avg_cpu_usage:
+ description: Zoom Average CPU Usage
+ type: string
+ zoom_max_cpu_usage:
+ description: Zoom Maximum CPU Usage
+ type: string
+ zoom_min_cpu_usage:
+ description: Zoom Minimum CPU Usage
+ type: string
+ type: object
+ date_time:
+ description: Date-time of QOS
+ format: date-time
+ type: string
+ video_device_from_crc:
+ description: QoS metrics on video input being sent from a Cloud Room Connector used by the participant to join the meeting.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ video_device_to_crc:
+ description: QoS metrics on video output received by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ video_input:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ video_output:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ type: object
+ type: array
+ version:
+ description: Participant's Zoom Client version.
+ type: string
+ title: Participant QOS
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Meeting participant QOS returned.
+ Only available for paid account that have enabled the dashboard feature.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ Can not access webinar info, {meetingId}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code:** `3001`
+ This meeting's detail info is not available.
+ This meeting has not ended yet or the Meeting ID is invalid.
+ security:
+ - OAuth: []
+ summary: Get meeting participant QoS
+ tags:
+ - Dashboards
+ /metrics/quality: {}
+ /metrics/webinars:
+ get:
+ description: |+
+ List all the live or past webinars from a specified period of time.
+ **Scopes:** `dashboard_webinars:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Resource-intensive`
+ **Prerequisites:**
+ * Business, Education or API Plan with Webinar add-on.
+
+
+ operationId: dashboardWebinars
+ parameters:
+ - description: The webinar type.
+ in: query
+ name: type
+ schema:
+ default: live
+ enum:
+ - past
+ - live
+ type: string
+ x-enum-descriptions:
+ - past webinars
+ - live webinars
+ - description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
+ in: query
+ name: from
+ required: true
+ schema:
+ format: date
+ type: string
+ - description: End date.
+ in: query
+ name: to
+ required: true
+ schema:
+ format: date
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ from: string [date]
+ next_page_token: string
+ page_count: integer
+ page_size: integer
+ to: string [date]
+ total_records: integer
+ webinars:
+ - duration: string
+ email: string
+ end_time: string [date-time]
+ has_3rd_party_audio: boolean
+ has_pstn: boolean
+ has_recording: boolean
+ has_screen_share: boolean
+ has_sip: boolean
+ has_video: boolean
+ has_voip: boolean
+ host: string
+ id: integer
+ participants: integer
+ start_time: string [date-time]
+ topic: string
+ user_type: string
+ uuid: string [uuid]
+ schema:
+ allOf:
+ - properties:
+ from:
+ description: Start date for this report in 'yyyy-mm-dd' format.
+ format: date
+ type: string
+ to:
+ description: End date for this report in 'yyyy-mm-dd' format.
+ format: date
+ type: string
+ type: object
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ type: integer
+ type: object
+ - properties:
+ webinars:
+ description: Array of webinar objects.
+ items:
+ description: Webinar metric details.
+ properties:
+ custom_keys:
+ description: Custom keys and values assigned to the Webinar.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the Webinar.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the Webinar.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ dept:
+ description: Department of the host.
+ type: string
+ duration:
+ description: "Webinar duration, formatted as hh:mm:ss, for example: `10:00` for ten minutes."
+ type: string
+ email:
+ description: User email.
+ type: string
+ end_time:
+ description: Webinar end time.
+ format: date-time
+ type: string
+ has_3rd_party_audio:
+ description: Indicates whether or not TSP was used for the Webinar.
+ type: boolean
+ has_pstn:
+ description: Indicates whether or not PSTN was used for the Webinar.
+ type: boolean
+ has_recording:
+ description: Indicates whether or not recording was used for the Webinar.
+ type: boolean
+ has_screen_share:
+ description: Indicates whether or not screen sharing was used for the Webinar.
+ type: boolean
+ has_sip:
+ description: Indicates whether or not SIP was used for the Webinar.
+ type: boolean
+ has_video:
+ description: Indicates whether or not video was used for the Webinar.
+ type: boolean
+ has_voip:
+ description: Indicates whether or not VoIP was used for the Webinar.
+ type: boolean
+ host:
+ description: User display name.
+ type: string
+ id:
+ description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
+ format: int64
+ type: integer
+ participants:
+ description: Webinar participant count.
+ type: integer
+ start_time:
+ description: Webinar start time.
+ format: date-time
+ type: string
+ topic:
+ description: Webinar topic.
+ type: string
+ user_type:
+ description: User type.
+ type: string
+ uuid:
+ description: Webinar UUID.
+ format: uuid
+ type: string
+ title: Webinar Metrics
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ from:
+ description: Start date for this report in 'yyyy-mm-dd' format.
+ format: date
+ type: string
+ to:
+ description: End date for this report in 'yyyy-mm-dd' format.
+ format: date
+ type: string
+ type: object
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ type: integer
+ type: object
+ - properties:
+ webinars:
+ description: Array of webinar objects.
+ items:
+ description: Webinar metric details.
+ properties:
+ custom_keys:
+ description: Custom keys and values assigned to the Webinar.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the Webinar.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the Webinar.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ dept:
+ description: Department of the host.
+ type: string
+ duration:
+ description: "Webinar duration, formatted as hh:mm:ss, for example: `10:00` for ten minutes."
+ type: string
+ email:
+ description: User email.
+ type: string
+ end_time:
+ description: Webinar end time.
+ format: date-time
+ type: string
+ has_3rd_party_audio:
+ description: Indicates whether or not TSP was used for the Webinar.
+ type: boolean
+ has_pstn:
+ description: Indicates whether or not PSTN was used for the Webinar.
+ type: boolean
+ has_recording:
+ description: Indicates whether or not recording was used for the Webinar.
+ type: boolean
+ has_screen_share:
+ description: Indicates whether or not screen sharing was used for the Webinar.
+ type: boolean
+ has_sip:
+ description: Indicates whether or not SIP was used for the Webinar.
+ type: boolean
+ has_video:
+ description: Indicates whether or not video was used for the Webinar.
+ type: boolean
+ has_voip:
+ description: Indicates whether or not VoIP was used for the Webinar.
+ type: boolean
+ host:
+ description: User display name.
+ type: string
+ id:
+ description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
+ format: int64
+ type: integer
+ participants:
+ description: Webinar participant count.
+ type: integer
+ start_time:
+ description: Webinar start time.
+ format: date-time
+ type: string
+ topic:
+ description: Webinar topic.
+ type: string
+ user_type:
+ description: User type.
+ type: string
+ uuid:
+ description: Webinar UUID.
+ format: uuid
+ type: string
+ title: Webinar Metrics
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Meetings returned.
+ Only available for paid accounts that have enabled the Dashboard feature.
+ "300":
+ description: |-
+ **Error Code:** `200`
+ The next page token is invalid or has expired.
+ security:
+ - OAuth: []
+ summary: List webinars
+ tags:
+ - Dashboards
+ "/metrics/webinars/{webinarId}":
+ get:
+ description: |+
+ Retrieve details from live or past webinars.
+ **Scopes:** `dashboard_webinars:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ **Prerequisites:**
+ * Business, Education or API Plan with Webinar add-on.
+
+ operationId: dashboardWebinarDetail
+ parameters:
+ - description: |-
+ The webinar ID or the webinar UUID. If a webinar ID is provided in the request instead of a UUID, the response will be for the latest webinar instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ type: string
+ - description: The webinar type.
+ in: query
+ name: type
+ schema:
+ default: live
+ enum:
+ - past
+ - live
+ type: string
+ x-enum-descriptions:
+ - past webinar
+ - live webinar
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value: |-
+ {
+ "uuid": "CJaaaaaaaEV6A==",
+ "id": 00001,
+ "topic": "MyTestWebinar",
+ "host": "Henry Chao",
+ "email": "hc@sdfdfdsfdfsdf.com",
+ "user_type": "Pro|Webinar1000",
+ "start_time": "2019-07-16T17:14:39Z",
+ "end_time": "2019-07-16T17:26:20Z",
+ "duration": 12,
+ "participants": 1,
+ "has_pstn": false,
+ "has_voip": false,
+ "has_3rd_party_audio": false,
+ "has_video": false,
+ "has_screen_share": false,
+ "has_recording": false,
+ "has_sip": false
+ }
+ schema:
+ description: Webinar metric details.
+ properties:
+ custom_keys:
+ description: Custom keys and values assigned to the Webinar.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the Webinar.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the Webinar.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ dept:
+ description: Department of the host.
+ type: string
+ duration:
+ description: "Webinar duration, formatted as hh:mm:ss, for example: `10:00` for ten minutes."
+ type: string
+ email:
+ description: User email.
+ type: string
+ end_time:
+ description: Webinar end time.
+ format: date-time
+ type: string
+ has_3rd_party_audio:
+ description: Indicates whether or not TSP was used for the Webinar.
+ type: boolean
+ has_pstn:
+ description: Indicates whether or not PSTN was used for the Webinar.
+ type: boolean
+ has_recording:
+ description: Indicates whether or not recording was used for the Webinar.
+ type: boolean
+ has_screen_share:
+ description: Indicates whether or not screen sharing was used for the Webinar.
+ type: boolean
+ has_sip:
+ description: Indicates whether or not SIP was used for the Webinar.
+ type: boolean
+ has_video:
+ description: Indicates whether or not video was used for the Webinar.
+ type: boolean
+ has_voip:
+ description: Indicates whether or not VoIP was used for the Webinar.
+ type: boolean
+ host:
+ description: User display name.
+ type: string
+ id:
+ description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
+ format: int64
+ type: integer
+ participants:
+ description: Webinar participant count.
+ type: integer
+ start_time:
+ description: Webinar start time.
+ format: date-time
+ type: string
+ topic:
+ description: Webinar topic.
+ type: string
+ user_type:
+ description: User type.
+ type: string
+ uuid:
+ description: Webinar UUID.
+ format: uuid
+ type: string
+ title: Webinar Metrics
+ type: object
+ application/xml:
+ schema:
+ description: Webinar metric details.
+ properties:
+ custom_keys:
+ description: Custom keys and values assigned to the Webinar.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the Webinar.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the Webinar.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ dept:
+ description: Department of the host.
+ type: string
+ duration:
+ description: "Webinar duration, formatted as hh:mm:ss, for example: `10:00` for ten minutes."
+ type: string
+ email:
+ description: User email.
+ type: string
+ end_time:
+ description: Webinar end time.
+ format: date-time
+ type: string
+ has_3rd_party_audio:
+ description: Indicates whether or not TSP was used for the Webinar.
+ type: boolean
+ has_pstn:
+ description: Indicates whether or not PSTN was used for the Webinar.
+ type: boolean
+ has_recording:
+ description: Indicates whether or not recording was used for the Webinar.
+ type: boolean
+ has_screen_share:
+ description: Indicates whether or not screen sharing was used for the Webinar.
+ type: boolean
+ has_sip:
+ description: Indicates whether or not SIP was used for the Webinar.
+ type: boolean
+ has_video:
+ description: Indicates whether or not video was used for the Webinar.
+ type: boolean
+ has_voip:
+ description: Indicates whether or not VoIP was used for the Webinar.
+ type: boolean
+ host:
+ description: User display name.
+ type: string
+ id:
+ description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
+ format: int64
+ type: integer
+ participants:
+ description: Webinar participant count.
+ type: integer
+ start_time:
+ description: Webinar start time.
+ format: date-time
+ type: string
+ topic:
+ description: Webinar topic.
+ type: string
+ user_type:
+ description: User type.
+ type: string
+ uuid:
+ description: Webinar UUID.
+ format: uuid
+ type: string
+ title: Webinar Metrics
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Webinar details returned.
+ Only available for paid accounts that have enabled the Dashboard feature.
+ "300":
+ description: |-
+ **Error Code:** `200`
+ Can not access webinar info, {webinarId}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code:** `3001`
+ The webinar has not ended yet or the Webinar ID is not valid.
+ This webinar's detail is not available.
+ security:
+ - OAuth: []
+ summary: Get webinar details
+ tags:
+ - Dashboards
+ "/metrics/webinars/{webinarId}/participants":
+ get:
+ description: |+
+ Retrieve details on participants from live or past webinars.
+ **Scopes:** `dashboard_webinars:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ **Prerequisites:**
+ * Business, Education or API Plan with Webinar add-on.
+
+ operationId: dashboardWebinarParticipants
+ parameters:
+ - description: |-
+ The webinar ID or the webinar UUID. If a webinar ID is provided in the request instead of a UUID, the response will be for the latest webinar instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ type: string
+ - description: The webinar type.
+ in: query
+ name: type
+ schema:
+ default: live
+ enum:
+ - past
+ - live
+ type: string
+ x-enum-descriptions:
+ - past webinar
+ - live webinar
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: |+
+ Provide 'registrant_id' as the value for this field if you would like to see the registrant ID attribute in the response of this API call. A registrant ID is a unique identifier of a [webinar registrant](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinarregistrants).
+
+ in: query
+ name: include_fields
+ schema:
+ enum:
+ - registrant_id
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ next_page_token: string
+ page_count: integer
+ page_size: integer
+ participants:
+ - connection_type: string
+ data_center: string
+ device: string
+ domain: string
+ harddisk_id: string
+ id: string [uuid]
+ ip_address: string
+ join_time: string [date-time]
+ leave_reason: string
+ leave_time: string [date-time]
+ location: string
+ mac_addr: string
+ microphone: string
+ network_type: string
+ pc_name: string
+ recording: boolean
+ share_application: boolean
+ share_desktop: boolean
+ share_whiteboard: boolean
+ speaker: string
+ user_id: string
+ user_name: string
+ version: string
+ total_records: integer
+ schema:
+ allOf:
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ type: integer
+ type: object
+ - properties:
+ participants:
+ description: Array of user objects.
+ items:
+ properties:
+ audio_quality:
+ description: Audio quality of the participant.
+ enum:
+ - " "
+ - good
+ - fair
+ - poor
+ - bad
+ type: string
+ connection_type:
+ description: Participant connection type.
+ type: string
+ customer_key:
+ description: "Another identifier for the participant. Can be a number or characters, maximum length of 15 characters. "
+ maxLength: 15
+ type: string
+ data_center:
+ description: Participant data center.
+ type: string
+ device:
+ description: |-
+
+
+ The type of device using which the participant joined the webinar. The possible values for this field are:
+ * `Phone`: Participant joined via PSTN.
+ * `H.323/SIP`: Participant joined via an H.323 or SIP device.
+ * `Windows`: Participant joined via VoIP using a Windows device.
+ * `Mac`: Participant joined via VoIP using a Mac device.
+ * `iOS`: Participant joined via VoIP using an iOS device.
+ * `Android`: Participant joined via VoIP using an Android device.
+ type: string
+ domain:
+ description: Participant domain.
+ type: string
+ email:
+ description: Email address of the participant.
+ type: string
+ harddisk_id:
+ description: Participant hard disk ID.
+ type: string
+ id:
+ description: Universally unique identifier of the Participant. It is the same as the User ID of the participant if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging in, the value of this field will be blank.
+ format: uuid
+ type: string
+ ip_address:
+ description: Participant IP address.
+ type: string
+ join_time:
+ description: Participant join time.
+ format: date-time
+ type: string
+ leave_reason:
+ description: |
+ Possible reasons for why a participant left the Webinar.
+ type: string
+ leave_time:
+ description: Participant leave time.
+ format: date-time
+ type: string
+ location:
+ description: Participant location.
+ type: string
+ mac_addr:
+ description: Participant MAC address.
+ type: string
+ microphone:
+ description: Participant microphone.
+ type: string
+ network_type:
+ description: Participant network type.
+ type: string
+ pc_name:
+ description: Participant PC name.
+ type: string
+ recording:
+ description: Participant record?
+ type: boolean
+ registrant_id:
+ description: Unique identifier of the registrant. This field is only returned if you entered "registrant_id" as the value of `include_fields` query parameter.
+ type: string
+ screen_share_quality:
+ description: Screen share quality of the participant.
+ enum:
+ - " "
+ - good
+ - fair
+ - poor
+ - bad
+ type: string
+ share_application:
+ description: Did the participant share an application?
+ type: boolean
+ share_desktop:
+ description: Did the participant share their desktop?
+ type: boolean
+ share_whiteboard:
+ description: Did the participant share their whiteboard?
+ type: boolean
+ speaker:
+ description: Participant speaker.
+ type: string
+ user_id:
+ description: Participant ID. This is a unique ID assigned to the participant joining a meeting and is valid for that meeting only.
+ type: string
+ user_name:
+ description: Participant display name.
+ type: string
+ version:
+ description: Participant version.
+ type: string
+ video_quality:
+ description: Video quality of the participant.
+ enum:
+ - " "
+ - good
+ - fair
+ - poor
+ - bad
+ type: string
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ type: integer
+ type: object
+ - properties:
+ participants:
+ description: Array of user objects.
+ items:
+ properties:
+ audio_quality:
+ description: Audio quality of the participant.
+ enum:
+ - " "
+ - good
+ - fair
+ - poor
+ - bad
+ type: string
+ connection_type:
+ description: Participant connection type.
+ type: string
+ customer_key:
+ description: "Another identifier for the participant. Can be a number or characters, maximum length of 15 characters. "
+ maxLength: 15
+ type: string
+ data_center:
+ description: Participant data center.
+ type: string
+ device:
+ description: |-
+
+
+ The type of device using which the participant joined the webinar. The possible values for this field are:
+ * `Phone`: Participant joined via PSTN.
+ * `H.323/SIP`: Participant joined via an H.323 or SIP device.
+ * `Windows`: Participant joined via VoIP using a Windows device.
+ * `Mac`: Participant joined via VoIP using a Mac device.
+ * `iOS`: Participant joined via VoIP using an iOS device.
+ * `Android`: Participant joined via VoIP using an Android device.
+ type: string
+ domain:
+ description: Participant domain.
+ type: string
+ email:
+ description: Email address of the participant.
+ type: string
+ harddisk_id:
+ description: Participant hard disk ID.
+ type: string
+ id:
+ description: Universally unique identifier of the Participant. It is the same as the User ID of the participant if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging in, the value of this field will be blank.
+ format: uuid
+ type: string
+ ip_address:
+ description: Participant IP address.
+ type: string
+ join_time:
+ description: Participant join time.
+ format: date-time
+ type: string
+ leave_reason:
+ description: |
+ Possible reasons for why a participant left the Webinar.
+ type: string
+ leave_time:
+ description: Participant leave time.
+ format: date-time
+ type: string
+ location:
+ description: Participant location.
+ type: string
+ mac_addr:
+ description: Participant MAC address.
+ type: string
+ microphone:
+ description: Participant microphone.
+ type: string
+ network_type:
+ description: Participant network type.
+ type: string
+ pc_name:
+ description: Participant PC name.
+ type: string
+ recording:
+ description: Participant record?
+ type: boolean
+ registrant_id:
+ description: Unique identifier of the registrant. This field is only returned if you entered "registrant_id" as the value of `include_fields` query parameter.
+ type: string
+ screen_share_quality:
+ description: Screen share quality of the participant.
+ enum:
+ - " "
+ - good
+ - fair
+ - poor
+ - bad
+ type: string
+ share_application:
+ description: Did the participant share an application?
+ type: boolean
+ share_desktop:
+ description: Did the participant share their desktop?
+ type: boolean
+ share_whiteboard:
+ description: Did the participant share their whiteboard?
+ type: boolean
+ speaker:
+ description: Participant speaker.
+ type: string
+ user_id:
+ description: Participant ID. This is a unique ID assigned to the participant joining a meeting and is valid for that meeting only.
+ type: string
+ user_name:
+ description: Participant display name.
+ type: string
+ version:
+ description: Participant version.
+ type: string
+ video_quality:
+ description: Video quality of the participant.
+ enum:
+ - " "
+ - good
+ - fair
+ - poor
+ - bad
+ type: string
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Webinar participants returned.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ Can not access webinar info, {webinarId}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code:** `3001`
+ This webinar's detail info is not available or ID is not valid.
+ security:
+ - OAuth: []
+ summary: Get webinar participants
+ tags:
+ - Dashboards
+ "/metrics/webinars/{webinarId}/participants/qos":
+ get:
+ description: |+
+ Retrieve a list of participants from live or past webinars and the quality of service they received. This data indicates the connection quality for sending/receiving video, audio, and shared content. If nothing is being sent or received at that time, no information will be shown in the fields.
+ **Scopes:** `dashboard_webinars:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ **Prerequisites:**
+ * Business, Education or API Plan with Webinar add-on.
+
+ operationId: dashboardWebinarParticipantsQOS
+ parameters:
+ - description: |-
+ The webinar ID or the webinar UUID. If a webinar ID is provided in the request instead of a UUID, the response will be for the latest webinar instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ type: string
+ - description: The webinar type.
+ in: query
+ name: type
+ schema:
+ default: live
+ enum:
+ - past
+ - live
+ type: string
+ x-enum-descriptions:
+ - past webinar
+ - live webinar
+ - description: The number of items returned per page.
+ in: query
+ name: page_size
+ schema:
+ default: 1
+ maximum: 10
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ next_page_token: string
+ page_count: integer [int64]
+ page_size: integer
+ participants:
+ - device: string
+ domain: string
+ harddisk_id: string
+ ip_address: string
+ join_time: string [date-time]
+ leave_time: string [date-time]
+ location: string
+ mac_addr: string
+ pc_name: string
+ user_id: string [uuid]
+ user_name: string
+ user_qos:
+ - as_input:
+ avg_loss: string
+ bitrate: string
+ frame_rate: string
+ jitter: string
+ latency: string
+ max_loss: string
+ resolution: string
+ as_output:
+ avg_loss: string
+ bitrate: string
+ frame_rate: string
+ jitter: string
+ latency: string
+ max_loss: string
+ resolution: string
+ audio_input:
+ avg_loss: string
+ bitrate: string
+ jitter: string
+ latency: string
+ max_loss: string
+ audio_output:
+ avg_loss: string
+ bitrate: string
+ jitter: string
+ latency: string
+ max_loss: string
+ cpu_usage:
+ system_max_cpu_usage: string
+ zoom_avg_cpu_usage: string
+ zoom_max_cpu_usage: string
+ zoom_min_cpu_usage: string
+ date_time: string [date-time]
+ video_input:
+ avg_loss: string
+ bitrate: string
+ frame_rate: string
+ jitter: string
+ latency: string
+ max_loss: string
+ resolution: string
+ video_output:
+ avg_loss: string
+ bitrate: string
+ frame_rate: string
+ jitter: string
+ latency: string
+ max_loss: string
+ resolution: string
+ version: string
+ total_records: integer [int64]
+ schema:
+ allOf:
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ format: int64
+ type: integer
+ page_size:
+ default: 1
+ description: The number of items per page.
+ maximum: 10
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ format: int64
+ type: integer
+ type: object
+ - properties:
+ participants:
+ description: Array of user objects.
+ items:
+ description: Participant QOS.
+ properties:
+ device:
+ description: The type of device using which the participant joined the meeting.
+ type: string
+ domain:
+ description: Participant's PC domain.
+ type: string
+ harddisk_id:
+ description: Participant's hard disk ID.
+ type: string
+ ip_address:
+ description: Participant's IP address.
+ type: string
+ join_time:
+ description: The time at which participant joined the meeting.
+ format: date-time
+ type: string
+ leave_time:
+ description: The time at which participant left the meeting.
+ format: date-time
+ type: string
+ location:
+ description: Participant's location.
+ type: string
+ mac_addr:
+ description: Participant's MAC address.
+ type: string
+ pc_name:
+ description: Participant's PC name.
+ type: string
+ user_id:
+ description: Participant ID.
+ format: uuid
+ type: string
+ user_name:
+ description: Participant display name.
+ type: string
+ user_qos:
+ description: Quality of service provided to the user.
+ items:
+ properties:
+ as_device_from_crc:
+ description: QoS metrics on screen shares by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ as_device_to_crc:
+ description: QoS metrics on screen shares output being received by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ as_input:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ as_output:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ audio_device_from_crc:
+ description: QoS metrics on audio being sent by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ audio_device_to_crc:
+ description: QoS metrics on audio received by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ audio_input:
+ description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ audio_output:
+ description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ cpu_usage:
+ properties:
+ system_max_cpu_usage:
+ description: System Maximum CPU Usage
+ type: string
+ zoom_avg_cpu_usage:
+ description: Zoom Average CPU Usage
+ type: string
+ zoom_max_cpu_usage:
+ description: Zoom Maximum CPU Usage
+ type: string
+ zoom_min_cpu_usage:
+ description: Zoom Minimum CPU Usage
+ type: string
+ type: object
+ date_time:
+ description: Date-time of QOS
+ format: date-time
+ type: string
+ video_device_from_crc:
+ description: QoS metrics on video input being sent from a Cloud Room Connector used by the participant to join the meeting.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ video_device_to_crc:
+ description: QoS metrics on video output received by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ video_input:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ video_output:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ type: object
+ type: array
+ version:
+ description: Participant's Zoom Client version.
+ type: string
+ title: Participant QOS
+ type: object
+ type: array
+ description: Participant QOS list.
+ title: Participant QOS List
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ format: int64
+ type: integer
+ page_size:
+ default: 1
+ description: The number of items per page.
+ maximum: 10
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ format: int64
+ type: integer
+ type: object
+ - properties:
+ participants:
+ description: Array of user objects.
+ items:
+ description: Participant QOS.
+ properties:
+ device:
+ description: The type of device using which the participant joined the meeting.
+ type: string
+ domain:
+ description: Participant's PC domain.
+ type: string
+ harddisk_id:
+ description: Participant's hard disk ID.
+ type: string
+ ip_address:
+ description: Participant's IP address.
+ type: string
+ join_time:
+ description: The time at which participant joined the meeting.
+ format: date-time
+ type: string
+ leave_time:
+ description: The time at which participant left the meeting.
+ format: date-time
+ type: string
+ location:
+ description: Participant's location.
+ type: string
+ mac_addr:
+ description: Participant's MAC address.
+ type: string
+ pc_name:
+ description: Participant's PC name.
+ type: string
+ user_id:
+ description: Participant ID.
+ format: uuid
+ type: string
+ user_name:
+ description: Participant display name.
+ type: string
+ user_qos:
+ description: Quality of service provided to the user.
+ items:
+ properties:
+ as_device_from_crc:
+ description: QoS metrics on screen shares by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ as_device_to_crc:
+ description: QoS metrics on screen shares output being received by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ as_input:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ as_output:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ audio_device_from_crc:
+ description: QoS metrics on audio being sent by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ audio_device_to_crc:
+ description: QoS metrics on audio received by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ audio_input:
+ description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ audio_output:
+ description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ cpu_usage:
+ properties:
+ system_max_cpu_usage:
+ description: System Maximum CPU Usage
+ type: string
+ zoom_avg_cpu_usage:
+ description: Zoom Average CPU Usage
+ type: string
+ zoom_max_cpu_usage:
+ description: Zoom Maximum CPU Usage
+ type: string
+ zoom_min_cpu_usage:
+ description: Zoom Minimum CPU Usage
+ type: string
+ type: object
+ date_time:
+ description: Date-time of QOS
+ format: date-time
+ type: string
+ video_device_from_crc:
+ description: QoS metrics on video input being sent from a Cloud Room Connector used by the participant to join the meeting.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ video_device_to_crc:
+ description: QoS metrics on video output received by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ video_input:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ video_output:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ type: object
+ type: array
+ version:
+ description: Participant's Zoom Client version.
+ type: string
+ title: Participant QOS
+ type: object
+ type: array
+ description: Participant QOS list.
+ title: Participant QOS List
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Webinar participants returned.
+ Only available for paid accounts that have enabled the Dashboard feature.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ Can not access webinar info, {webinarId}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code:** `3001`
+ This webinar's detail is not available or the Webinar ID is not valid.
+ This webinar has not ended yet.
+ security:
+ - OAuth: []
+ summary: List webinar participant QoS
+ tags:
+ - Dashboards
+ "/metrics/webinars/{webinarId}/participants/satisfaction":
+ get:
+ description: |-
+ When a Webinar ends, each attendee will be prompted to share their Webinar experience by clicking either thumbs up or thumbs down. Use this API to retrieve the feedback submitted for a specific webinar. Note that this API only works for meetings scheduled after December 20, 2020.
+
+ **Prerequisites:**
+ * [Feedback to Zoom](https://support.zoom.us/hc/en-us/articles/115005838023) setting must be enabled by the participant prior to the meeting.
+ * The user making the API request must be enrolled in a Business or a higher plan.
+
+
+ **Scope:** `dashboard_webinars:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ operationId: participantWebinarFeedback
+ parameters:
+ - description: |-
+ Specify a value to get the response for the corresponding meeting type. The value of this field can be one of the following:
`past` - Meeting that already occurred in the specified date range. `pastOne` - Past meetings that were attended by only one user. `live` - Live meetings.
+
+ If you do not provide this field, the default value will be `live` and thus, the API will only query responses for live meetings.
+ in: query
+ name: type
+ schema:
+ default: live
+ enum:
+ - past
+ - pastOne
+ - live
+ type: string
+ x-enum-descriptions:
+ - past meetings
+ - past one user meetings
+ - live meetings
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: |-
+ The webinar ID or the webinar UUID. If a webinar ID is provided in the request instead of a UUID, the response will be for the latest webinar instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ next_page_token: ""
+ page_size: 1
+ participants:
+ - date_time: 2021-02-21T18:48:06.423Z
+ email: RB6iBb@aWlMmuZFPVjptyOCzNgpi.mx
+ quality: GOOD
+ user_id: aegr46312rum
+ schema:
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: The number of records returned within a single API call.
+ type: integer
+ participants:
+ items:
+ properties:
+ date_time:
+ description: Date and time at which the feedback was submitted.
+ format: date-time
+ type: string
+ email:
+ description: Email address of the participant.
+ format: email
+ type: string
+ quality:
+ description: |-
+ Feedback submitted by the participant.
+
+ * `GOOD`: Thumbs up.
+ * `NOT GOOD`: Thumbs down.
+ enum:
+ - GOOD
+ - NOT GOOD
+ type: string
+ user_id:
+ description: User ID of the participant.
+ type: string
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: The number of records returned within a single API call.
+ type: integer
+ participants:
+ items:
+ properties:
+ date_time:
+ description: Date and time at which the feedback was submitted.
+ format: date-time
+ type: string
+ email:
+ description: Email address of the participant.
+ format: email
+ type: string
+ quality:
+ description: |-
+ Feedback submitted by the participant.
+
+ * `GOOD`: Thumbs up.
+ * `NOT GOOD`: Thumbs down.
+ enum:
+ - GOOD
+ - NOT GOOD
+ type: string
+ user_id:
+ description: User ID of the participant.
+ type: string
+ type: object
+ type: array
+ type: object
+ description: |+
+ **HTTP Status Code:** `200`
+
+ "400":
+ description: |
+ **HTTP Status Code:** `400`
+ **Error Code:** `200`
+ Only available for paid accounts that have dashboard feature enabled.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code:** `3001`
+ Webinar ID is invalid or not end.
+ summary: Get post webinar feedback
+ tags:
+ - Dashboards
+ "/metrics/webinars/{webinarId}/participants/sharing":
+ get:
+ description: |+
+ Retrieve the sharing and recording details of participants from live or past webinars.
+ **Scopes:** `dashboard_webinars:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ **Prerequisites:**
+ * Business, Education or API Plan with Webinar add-on.
+
+ operationId: dashboardWebinarParticipantShare
+ parameters:
+ - description: |-
+ The webinar ID or the webinar UUID. If a webinar ID is provided in the request instead of a UUID, the response will be for the latest webinar instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ type: string
+ - description: The webinar type.
+ in: query
+ name: type
+ schema:
+ default: live
+ enum:
+ - past
+ - live
+ type: string
+ x-enum-descriptions:
+ - past webinar
+ - live webinar
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ next_page_token: string
+ page_count: integer
+ page_size: integer
+ participants:
+ - details:
+ - content: string
+ end_time: string
+ start_time: string
+ id: string
+ user_id: string
+ user_name: string
+ total_records: integer
+ schema:
+ allOf:
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ type: integer
+ type: object
+ - properties:
+ participants:
+ description: Array of participants.
+ items:
+ properties:
+ details:
+ description: Array of sharing and recording details.
+ items:
+ properties:
+ content:
+ description: Type of content shared.
+ type: string
+ end_time:
+ description: End time of sharing.
+ type: string
+ start_time:
+ description: Start time of sharing.
+ type: string
+ type: object
+ type: array
+ id:
+ description: Universally unique identifier of the Participant. It is the same as the User ID of the participant if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging in, the value of this field will be blank.
+ type: string
+ user_id:
+ description: Participant ID. This is a unique ID assigned to the participant joining a meeting and is valid for that meeting only.
+ type: string
+ user_name:
+ description: Participant display name.
+ type: string
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ type: integer
+ type: object
+ - properties:
+ participants:
+ description: Array of participants.
+ items:
+ properties:
+ details:
+ description: Array of sharing and recording details.
+ items:
+ properties:
+ content:
+ description: Type of content shared.
+ type: string
+ end_time:
+ description: End time of sharing.
+ type: string
+ start_time:
+ description: Start time of sharing.
+ type: string
+ type: object
+ type: array
+ id:
+ description: Universally unique identifier of the Participant. It is the same as the User ID of the participant if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging in, the value of this field will be blank.
+ type: string
+ user_id:
+ description: Participant ID. This is a unique ID assigned to the participant joining a meeting and is valid for that meeting only.
+ type: string
+ user_name:
+ description: Participant display name.
+ type: string
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Webinar participants returned.
+ Only available for paid accounts that have enabled the Dashboard feature.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ Can not access webinar info, {webinarId}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code:** `3001`
+ This webinar's detail info is not available or ID is not valid.
+ This webinar has not ended yet.
+ security:
+ - OAuth: []
+ summary: Get sharing/recording details
+ tags:
+ - Dashboards
+ "/metrics/webinars/{webinarId}/participants/{participantId}/qos":
+ get:
+ description: |
+ Retrieve details on the quality of service that participants from live or past webinars recieved. This data indicates the connection quality for sending/receiving video, audio, and shared content. If nothing is being sent or received at that time, no information will be shown in the fields.
+ **Scopes:** `dashboard_webinars:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ **Prerequisites:**
+ * Business, Education or API Plan with Zoom Rooms set up.
+ operationId: dashboardWebinarParticipantQOS
+ parameters:
+ - description: |-
+ The webinar ID or the webinar UUID. If a webinar ID is provided in the request instead of a UUID, the response will be for the latest webinar instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ type: string
+ - description: Participant ID.
+ in: path
+ name: participantId
+ required: true
+ schema:
+ type: string
+ - description: The webinar type.
+ in: query
+ name: type
+ schema:
+ default: live
+ enum:
+ - past
+ - live
+ type: string
+ x-enum-descriptions:
+ - past webinar
+ - live webinar
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ device: string
+ domain: string
+ harddisk_id: string
+ ip_address: string
+ join_time: string [date-time]
+ leave_time: string [date-time]
+ location: string
+ mac_addr: string
+ pc_name: string
+ user_id: string [uuid]
+ user_name: string
+ user_qos:
+ - as_input:
+ avg_loss: string
+ bitrate: string
+ frame_rate: string
+ jitter: string
+ latency: string
+ max_loss: string
+ resolution: string
+ as_output:
+ avg_loss: string
+ bitrate: string
+ frame_rate: string
+ jitter: string
+ latency: string
+ max_loss: string
+ resolution: string
+ audio_input:
+ avg_loss: string
+ bitrate: string
+ jitter: string
+ latency: string
+ max_loss: string
+ audio_output:
+ avg_loss: string
+ bitrate: string
+ jitter: string
+ latency: string
+ max_loss: string
+ cpu_usage:
+ system_max_cpu_usage: string
+ zoom_avg_cpu_usage: string
+ zoom_max_cpu_usage: string
+ zoom_min_cpu_usage: string
+ date_time: string [date-time]
+ video_input:
+ avg_loss: string
+ bitrate: string
+ frame_rate: string
+ jitter: string
+ latency: string
+ max_loss: string
+ resolution: string
+ video_output:
+ avg_loss: string
+ bitrate: string
+ frame_rate: string
+ jitter: string
+ latency: string
+ max_loss: string
+ resolution: string
+ version: string
+ schema:
+ description: Participant QOS.
+ properties:
+ device:
+ description: The type of device using which the participant joined the meeting.
+ type: string
+ domain:
+ description: Participant's PC domain.
+ type: string
+ harddisk_id:
+ description: Participant's hard disk ID.
+ type: string
+ ip_address:
+ description: Participant's IP address.
+ type: string
+ join_time:
+ description: The time at which participant joined the meeting.
+ format: date-time
+ type: string
+ leave_time:
+ description: The time at which participant left the meeting.
+ format: date-time
+ type: string
+ location:
+ description: Participant's location.
+ type: string
+ mac_addr:
+ description: Participant's MAC address.
+ type: string
+ pc_name:
+ description: Participant's PC name.
+ type: string
+ user_id:
+ description: Participant ID.
+ format: uuid
+ type: string
+ user_name:
+ description: Participant display name.
+ type: string
+ user_qos:
+ description: Quality of service provided to the user.
+ items:
+ properties:
+ as_device_from_crc:
+ description: QoS metrics on screen shares by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ as_device_to_crc:
+ description: QoS metrics on screen shares output being received by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ as_input:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ as_output:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ audio_device_from_crc:
+ description: QoS metrics on audio being sent by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ audio_device_to_crc:
+ description: QoS metrics on audio received by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ audio_input:
+ description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ audio_output:
+ description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ cpu_usage:
+ properties:
+ system_max_cpu_usage:
+ description: System Maximum CPU Usage
+ type: string
+ zoom_avg_cpu_usage:
+ description: Zoom Average CPU Usage
+ type: string
+ zoom_max_cpu_usage:
+ description: Zoom Maximum CPU Usage
+ type: string
+ zoom_min_cpu_usage:
+ description: Zoom Minimum CPU Usage
+ type: string
+ type: object
+ date_time:
+ description: Date-time of QOS
+ format: date-time
+ type: string
+ video_device_from_crc:
+ description: QoS metrics on video input being sent from a Cloud Room Connector used by the participant to join the meeting.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ video_device_to_crc:
+ description: QoS metrics on video output received by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ video_input:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ video_output:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ type: object
+ type: array
+ version:
+ description: Participant's Zoom Client version.
+ type: string
+ title: Participant QOS
+ type: object
+ application/xml:
+ schema:
+ description: Participant QOS.
+ properties:
+ device:
+ description: The type of device using which the participant joined the meeting.
+ type: string
+ domain:
+ description: Participant's PC domain.
+ type: string
+ harddisk_id:
+ description: Participant's hard disk ID.
+ type: string
+ ip_address:
+ description: Participant's IP address.
+ type: string
+ join_time:
+ description: The time at which participant joined the meeting.
+ format: date-time
+ type: string
+ leave_time:
+ description: The time at which participant left the meeting.
+ format: date-time
+ type: string
+ location:
+ description: Participant's location.
+ type: string
+ mac_addr:
+ description: Participant's MAC address.
+ type: string
+ pc_name:
+ description: Participant's PC name.
+ type: string
+ user_id:
+ description: Participant ID.
+ format: uuid
+ type: string
+ user_name:
+ description: Participant display name.
+ type: string
+ user_qos:
+ description: Quality of service provided to the user.
+ items:
+ properties:
+ as_device_from_crc:
+ description: QoS metrics on screen shares by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ as_device_to_crc:
+ description: QoS metrics on screen shares output being received by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ as_input:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ as_output:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ audio_device_from_crc:
+ description: QoS metrics on audio being sent by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ audio_device_to_crc:
+ description: QoS metrics on audio received by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ audio_input:
+ description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ audio_output:
+ description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ cpu_usage:
+ properties:
+ system_max_cpu_usage:
+ description: System Maximum CPU Usage
+ type: string
+ zoom_avg_cpu_usage:
+ description: Zoom Average CPU Usage
+ type: string
+ zoom_max_cpu_usage:
+ description: Zoom Maximum CPU Usage
+ type: string
+ zoom_min_cpu_usage:
+ description: Zoom Minimum CPU Usage
+ type: string
+ type: object
+ date_time:
+ description: Date-time of QOS
+ format: date-time
+ type: string
+ video_device_from_crc:
+ description: QoS metrics on video input being sent from a Cloud Room Connector used by the participant to join the meeting.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ video_device_to_crc:
+ description: QoS metrics on video output received by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ video_input:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ video_output:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ type: object
+ type: array
+ version:
+ description: Participant's Zoom Client version.
+ type: string
+ title: Participant QOS
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Webinar participant QOS returned.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ Can not access webinar info, {webinarId}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code:** `3001`
+ This webinar's detail info is not available or ID is not valid.
+ security:
+ - OAuth: []
+ summary: Get webinar participant QoS
+ tags:
+ - Dashboards
+ /metrics/zoomrooms:
+ get:
+ description: |+
+ List information on all Zoom Rooms in an account.
+ **Scopes:** `dashboard_zr:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Resource-intensive`
+ **Prerequisites:**
+ * Business, Education or API Plan with Zoom Rooms set up.
+
+
+ operationId: dashboardZoomRooms
+ parameters:
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The page number of the current page in the returned records.
+ in: query
+ name: page_number
+ schema:
+ default: 1
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ page_count: 1
+ page_number: 1
+ page_size: 30
+ total_records: 1
+ zoom_rooms:
+ - account_type: Work Email
+ calendar_name: ghjghdjd@sjdfhjdf.gjgg
+ camera: Integrated Webcam
+ device_ip: "Computer : 10.10.26.49"
+ email: ghjghdjd@sjdfhjdf.gjgg
+ health: critical
+ id: EbgjgjhghZY9wh0A
+ issues:
+ - Zoom room is offline
+ last_start_time: 2019-08-29T16:37:07Z
+ microphone: Microphone Array (Realtek Audio)
+ room_name: testZoomRoom
+ speaker: Speakers / Headphones (Realtek Audio)
+ status: Offline
+ schema:
+ allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ - properties:
+ zoom_rooms:
+ description: Array of Zoom Rooms
+ items:
+ description: Zoom room.
+ properties:
+ account_type:
+ description: Zoom room email type.
+ type: string
+ calender_name:
+ description: Zoom calendar name.
+ type: string
+ camera:
+ description: Zoom room camera.
+ type: string
+ device_ip:
+ description: Zoom room device IP.
+ type: string
+ email:
+ description: Zoom room email.
+ type: string
+ health:
+ type: string
+ id:
+ description: Zoom room ID.
+ type: string
+ issues:
+ description: Zoom Room issues.
+ items:
+ type: string
+ type: array
+ last_start_time:
+ description: Zoom room last start time.
+ type: string
+ location:
+ description: Zoom room location.
+ type: string
+ microphone:
+ description: Zoom room microphone.
+ type: string
+ room_name:
+ description: Zoom room name.
+ type: string
+ speaker:
+ description: Zoom room speaker.
+ type: string
+ status:
+ description: Zoom room status.
+ type: string
+ title: Zoom Room
+ type: object
+ type: array
+ description: Zoom Room List
+ title: Zoom Room List
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ - properties:
+ zoom_rooms:
+ description: Array of Zoom Rooms
+ items:
+ description: Zoom room.
+ properties:
+ account_type:
+ description: Zoom room email type.
+ type: string
+ calender_name:
+ description: Zoom calendar name.
+ type: string
+ camera:
+ description: Zoom room camera.
+ type: string
+ device_ip:
+ description: Zoom room device IP.
+ type: string
+ email:
+ description: Zoom room email.
+ type: string
+ health:
+ type: string
+ id:
+ description: Zoom room ID.
+ type: string
+ issues:
+ description: Zoom Room issues.
+ items:
+ type: string
+ type: array
+ last_start_time:
+ description: Zoom room last start time.
+ type: string
+ location:
+ description: Zoom room location.
+ type: string
+ microphone:
+ description: Zoom room microphone.
+ type: string
+ room_name:
+ description: Zoom room name.
+ type: string
+ speaker:
+ description: Zoom room speaker.
+ type: string
+ status:
+ description: Zoom room status.
+ type: string
+ title: Zoom Room
+ type: object
+ type: array
+ description: Zoom Room List
+ title: Zoom Room List
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ List of Zoom rooms returned.
+ Only available for paid accounts that have enabled the Dashboard feature.
+ security:
+ - OAuth: []
+ summary: List Zoom Rooms
+ tags:
+ - Dashboards
+ /metrics/zoomrooms/issues:
+ get:
+ description: |+
+ Get top 25 issues of Zoom Rooms.
+ **Scopes:** `dashboard_zr:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ **Prerequisites:**
+ * Business, Education or API Plan with Zoom Rooms set up.
+
+ operationId: dashboardZoomRoomIssue
+ parameters:
+ - description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
+ in: query
+ name: from
+ required: true
+ schema:
+ format: date
+ type: string
+ - description: End date.
+ in: query
+ name: to
+ required: true
+ schema:
+ format: date
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ from: 2019-08-15
+ room_issues:
+ - issue_name: Controller disconnected
+ zoom_rooms_count: 1
+ - issue_name: Controller is not charging
+ zoom_rooms_count: 1
+ to: 2019-09-15
+ total_records: 2
+ schema:
+ allOf:
+ - properties:
+ from:
+ description: Start date for this report
+ format: date
+ type: string
+ to:
+ description: End date for this report
+ format: date
+ type: string
+ total_records:
+ description: The number of all records available across pages
+ type: integer
+ - properties:
+ issues:
+ items:
+ properties:
+ issue_name:
+ description: |-
+ Issue Name. The value of the this field could be one of the following:
+ * `Room Controller disconnected`
+ * `Room Controller connected`
+ * `Selected camera has disconnected`
+ * `Selected camera is reconnected`
+ * `Selected microphone has disconnected`
+ * `Selected microphone is reconnected`
+ * `Selected speaker has disconnected`
+ * `Selected speaker is reconnected`
+ * `Zoom room is offline`
+ * `Zoom room is online`
+ * `High CPU usage is detected`
+ * `Low bandwidth network is detected`
+ * `{name} battery is low`
+ * `{name} battery is normal`
+ * `{name} disconnected`
+ * `{name} connected`
+ * `{name} is not charging`
+
+ Possible values for {name}:
+ * Zoom Rooms Computer
+ * Controller
+ * Scheduling Display
+ type: string
+ zoom_rooms_count:
+ description: Zoom Room Count of Issue
+ type: integer
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ from:
+ description: Start date for this report
+ format: date
+ type: string
+ to:
+ description: End date for this report
+ format: date
+ type: string
+ total_records:
+ description: The number of all records available across pages
+ type: integer
+ - properties:
+ issues:
+ items:
+ properties:
+ issue_name:
+ description: |-
+ Issue Name. The value of the this field could be one of the following:
+ * `Room Controller disconnected`
+ * `Room Controller connected`
+ * `Selected camera has disconnected`
+ * `Selected camera is reconnected`
+ * `Selected microphone has disconnected`
+ * `Selected microphone is reconnected`
+ * `Selected speaker has disconnected`
+ * `Selected speaker is reconnected`
+ * `Zoom room is offline`
+ * `Zoom room is online`
+ * `High CPU usage is detected`
+ * `Low bandwidth network is detected`
+ * `{name} battery is low`
+ * `{name} battery is normal`
+ * `{name} disconnected`
+ * `{name} connected`
+ * `{name} is not charging`
+
+ Possible values for {name}:
+ * Zoom Rooms Computer
+ * Controller
+ * Scheduling Display
+ type: string
+ zoom_rooms_count:
+ description: Zoom Room Count of Issue
+ type: integer
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Zoom Room Issue details returned
+ security:
+ - OAuth: []
+ summary: Get top 25 issues of Zoom Rooms
+ tags:
+ - Dashboards
+ "/metrics/zoomrooms/{zoomroomId}":
+ get:
+ description: |
+ The Zoom Rooms dashboard metrics lets you know the type of configuration a Zoom room has and details on the meetings held in that room.
+
+ Use this API to retrieve information on a specific room.
+ **Scopes:** `dashboard_zr:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`**Prerequisites:**
+ * Business, Education or API Plan with Zoom Rooms set up.
+ operationId: dashboardZoomRoom
+ parameters:
+ - description: The Zoom room ID.
+ in: path
+ name: zoomroomId
+ required: true
+ schema:
+ type: string
+ - description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
+ in: query
+ name: from
+ required: true
+ schema:
+ format: date
+ type: string
+ - description: End date.
+ in: query
+ name: to
+ required: true
+ schema:
+ format: date
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ account_type: Work Email
+ calendar_name: testZoomRoom
+ camera: Integrated Webcam
+ device_ip: "Computer : 10.10.10.10; Controller : 11.11.11.11"
+ email: hdfjdfs@someemail.dhfdhfd
+ health: critical
+ id: fdjdsfdYYYYY
+ issues:
+ - Zoom room is offline
+ last_start_time: 2020-01-30T17:47:47Z
+ live_meeting: {}
+ microphone: Microphone Array (Realtek Audio)
+ past_meetings:
+ from: 2020-03-01
+ meetings: []
+ next_page_token: ""
+ page_count: 0
+ page_size: 30
+ to: 2020-03-02
+ total_records: 0
+ room_name: testZoomRoom
+ speaker: Speakers / Headphones (Realtek Audio)
+ status: Offline
+ schema:
+ allOf:
+ - description: Zoom room.
+ properties:
+ account_type:
+ description: Zoom room email type.
+ type: string
+ calender_name:
+ description: Zoom calendar name.
+ type: string
+ camera:
+ description: Zoom room camera.
+ type: string
+ device_ip:
+ description: Zoom room device IP.
+ type: string
+ email:
+ description: Zoom room email.
+ type: string
+ health:
+ description: Health of the Zoom Room.
+ type: string
+ id:
+ description: Zoom room ID.
+ type: string
+ issues:
+ description: Issues encountered by the Zoom Room.
+ items:
+ type: string
+ type: array
+ last_start_time:
+ description: Zoom room last start time.
+ type: string
+ location:
+ description: Zoom room location.
+ type: string
+ microphone:
+ description: Zoom room microphone.
+ type: string
+ room_name:
+ description: Zoom room name.
+ type: string
+ speaker:
+ description: Zoom room speaker.
+ type: string
+ status:
+ description: Zoom room status.
+ type: string
+ title: Zoom Room
+ - properties:
+ live_meeting:
+ description: Meeting metric details.
+ properties:
+ custom_keys:
+ description: Custom keys and values assigned to the meeting.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the meetinh.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the meeting.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ dept:
+ description: Department of the host.
+ type: string
+ duration:
+ description: Meeting duration.
+ type: string
+ email:
+ description: Email address of the host.
+ type: string
+ end_time:
+ description: Meeting end time.
+ format: date-time
+ type: string
+ has_3rd_party_audio:
+ description: Indicates whether or not [third party audio](https://support.zoom.us/hc/en-us/articles/202470795-3rd-Party-Audio-Conference) was used in the meeting.
+ type: boolean
+ has_pstn:
+ description: Indicates whether or not the PSTN was used in the meeting.
+ type: boolean
+ has_recording:
+ description: "Indicates whether or not the recording feature was used in the meeting. "
+ type: boolean
+ has_screen_share:
+ description: Indicates whether or not screenshare feature was used in the meeting.
+ type: boolean
+ has_sip:
+ description: Indicates whether or not someone joined the meeting using SIP.
+ type: boolean
+ has_video:
+ description: Indicates whether or not video was used in the meeting.
+ type: boolean
+ has_voip:
+ description: Indicates whether or not VoIP was used in the meeting.
+ type: boolean
+ host:
+ description: Host display name.
+ type: string
+ id:
+ description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
+ format: int64
+ type: integer
+ in_room_participants:
+ description: The number of Zoom Room participants in the meeting.
+ type: integer
+ participants:
+ description: Meeting participant count.
+ type: integer
+ start_time:
+ description: Meeting start time.
+ format: date-time
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ user_type:
+ description: License type of the user.
+ type: string
+ uuid:
+ description: Meeting UUID. Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
+ format: uuid
+ type: string
+ title: Meeting Metrics
+ type: object
+ past_meetings:
+ allOf:
+ - properties:
+ from:
+ description: Start date for this report in 'yyyy-mm-dd' format.
+ format: date
+ type: string
+ to:
+ description: End date for this report in 'yyyy-mm-dd' format.
+ format: date
+ type: string
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ type: integer
+ type: object
+ - properties:
+ meetings:
+ description: Array of meeting objects.
+ items:
+ description: Meeting metric details.
+ properties:
+ custom_keys:
+ description: Custom keys and values assigned to the meeting.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the meetinh.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the meeting.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ dept:
+ description: Department of the host.
+ type: string
+ duration:
+ description: Meeting duration.
+ type: string
+ email:
+ description: Email address of the host.
+ type: string
+ end_time:
+ description: Meeting end time.
+ format: date-time
+ type: string
+ has_3rd_party_audio:
+ description: Indicates whether or not [third party audio](https://support.zoom.us/hc/en-us/articles/202470795-3rd-Party-Audio-Conference) was used in the meeting.
+ type: boolean
+ has_pstn:
+ description: Indicates whether or not the PSTN was used in the meeting.
+ type: boolean
+ has_recording:
+ description: "Indicates whether or not the recording feature was used in the meeting. "
+ type: boolean
+ has_screen_share:
+ description: Indicates whether or not screenshare feature was used in the meeting.
+ type: boolean
+ has_sip:
+ description: Indicates whether or not someone joined the meeting using SIP.
+ type: boolean
+ has_video:
+ description: Indicates whether or not video was used in the meeting.
+ type: boolean
+ has_voip:
+ description: Indicates whether or not VoIP was used in the meeting.
+ type: boolean
+ host:
+ description: Host display name.
+ type: string
+ id:
+ description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
+ format: int64
+ type: integer
+ in_room_participants:
+ description: The number of Zoom Room participants in the meeting.
+ type: integer
+ participants:
+ description: Meeting participant count.
+ type: integer
+ start_time:
+ description: Meeting start time.
+ format: date-time
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ user_type:
+ description: License type of the user.
+ type: string
+ uuid:
+ description: Meeting UUID. Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
+ format: uuid
+ type: string
+ title: Meeting Metrics
+ type: object
+ type: array
+ type: object
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - description: Zoom room.
+ properties:
+ account_type:
+ description: Zoom room email type.
+ type: string
+ calender_name:
+ description: Zoom calendar name.
+ type: string
+ camera:
+ description: Zoom room camera.
+ type: string
+ device_ip:
+ description: Zoom room device IP.
+ type: string
+ email:
+ description: Zoom room email.
+ type: string
+ health:
+ description: Health of the Zoom Room.
+ type: string
+ id:
+ description: Zoom room ID.
+ type: string
+ issues:
+ description: Issues encountered by the Zoom Room.
+ items:
+ type: string
+ type: array
+ last_start_time:
+ description: Zoom room last start time.
+ type: string
+ location:
+ description: Zoom room location.
+ type: string
+ microphone:
+ description: Zoom room microphone.
+ type: string
+ room_name:
+ description: Zoom room name.
+ type: string
+ speaker:
+ description: Zoom room speaker.
+ type: string
+ status:
+ description: Zoom room status.
+ type: string
+ title: Zoom Room
+ - properties:
+ live_meeting:
+ description: Meeting metric details.
+ properties:
+ custom_keys:
+ description: Custom keys and values assigned to the meeting.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the meetinh.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the meeting.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ dept:
+ description: Department of the host.
+ type: string
+ duration:
+ description: Meeting duration.
+ type: string
+ email:
+ description: Email address of the host.
+ type: string
+ end_time:
+ description: Meeting end time.
+ format: date-time
+ type: string
+ has_3rd_party_audio:
+ description: Indicates whether or not [third party audio](https://support.zoom.us/hc/en-us/articles/202470795-3rd-Party-Audio-Conference) was used in the meeting.
+ type: boolean
+ has_pstn:
+ description: Indicates whether or not the PSTN was used in the meeting.
+ type: boolean
+ has_recording:
+ description: "Indicates whether or not the recording feature was used in the meeting. "
+ type: boolean
+ has_screen_share:
+ description: Indicates whether or not screenshare feature was used in the meeting.
+ type: boolean
+ has_sip:
+ description: Indicates whether or not someone joined the meeting using SIP.
+ type: boolean
+ has_video:
+ description: Indicates whether or not video was used in the meeting.
+ type: boolean
+ has_voip:
+ description: Indicates whether or not VoIP was used in the meeting.
+ type: boolean
+ host:
+ description: Host display name.
+ type: string
+ id:
+ description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
+ format: int64
+ type: integer
+ in_room_participants:
+ description: The number of Zoom Room participants in the meeting.
+ type: integer
+ participants:
+ description: Meeting participant count.
+ type: integer
+ start_time:
+ description: Meeting start time.
+ format: date-time
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ user_type:
+ description: License type of the user.
+ type: string
+ uuid:
+ description: Meeting UUID. Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
+ format: uuid
+ type: string
+ title: Meeting Metrics
+ type: object
+ past_meetings:
+ allOf:
+ - properties:
+ from:
+ description: Start date for this report in 'yyyy-mm-dd' format.
+ format: date
+ type: string
+ to:
+ description: End date for this report in 'yyyy-mm-dd' format.
+ format: date
+ type: string
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ type: integer
+ type: object
+ - properties:
+ meetings:
+ description: Array of meeting objects.
+ items:
+ description: Meeting metric details.
+ properties:
+ custom_keys:
+ description: Custom keys and values assigned to the meeting.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the meetinh.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the meeting.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ dept:
+ description: Department of the host.
+ type: string
+ duration:
+ description: Meeting duration.
+ type: string
+ email:
+ description: Email address of the host.
+ type: string
+ end_time:
+ description: Meeting end time.
+ format: date-time
+ type: string
+ has_3rd_party_audio:
+ description: Indicates whether or not [third party audio](https://support.zoom.us/hc/en-us/articles/202470795-3rd-Party-Audio-Conference) was used in the meeting.
+ type: boolean
+ has_pstn:
+ description: Indicates whether or not the PSTN was used in the meeting.
+ type: boolean
+ has_recording:
+ description: "Indicates whether or not the recording feature was used in the meeting. "
+ type: boolean
+ has_screen_share:
+ description: Indicates whether or not screenshare feature was used in the meeting.
+ type: boolean
+ has_sip:
+ description: Indicates whether or not someone joined the meeting using SIP.
+ type: boolean
+ has_video:
+ description: Indicates whether or not video was used in the meeting.
+ type: boolean
+ has_voip:
+ description: Indicates whether or not VoIP was used in the meeting.
+ type: boolean
+ host:
+ description: Host display name.
+ type: string
+ id:
+ description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
+ format: int64
+ type: integer
+ in_room_participants:
+ description: The number of Zoom Room participants in the meeting.
+ type: integer
+ participants:
+ description: Meeting participant count.
+ type: integer
+ start_time:
+ description: Meeting start time.
+ format: date-time
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ user_type:
+ description: License type of the user.
+ type: string
+ uuid:
+ description: Meeting UUID. Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
+ format: uuid
+ type: string
+ title: Meeting Metrics
+ type: object
+ type: array
+ type: object
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Zoom room returned.
+ Only available for paid accounts that have enabled the Dashboard feature.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ The next page token is either invalid or has expired.
+ security:
+ - OAuth: []
+ summary: Get Zoom Rooms details
+ tags:
+ - Dashboards
+ "/past_meetings/{meetingId}/archive_files": {}
+ "/past_meetings/{meetingId}/files":
+ get:
+ description: |-
+ **Note: This API has been deprecated and is no longer supported due to GCM encryption updates for security purposes.** To learn about saving the in-meeting chat files via Zoom Client, refer to the [Saving in-meeting chat](https://support.zoom.us/hc/en-us/articles/115004792763-Saving-in-meeting-chat) guide.
+
+ List files sent via in-meeting chat during a meeting. The in-meeting files are deleted after 24 hours of the meeting completion time.
+
+ **Scope:** `meeting:read`, `meeting:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: listPastMeetingFiles
+ parameters:
+ - description: |-
+ The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
+
+ While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ in_meeting_files:
+ - download_url: somefile.txt/randomurl
+ file_name: somefile.txt
+ file_size: 300
+ total_records: 1
+ schema:
+ properties:
+ in_meeting_files:
+ items:
+ properties:
+ download_url:
+ description: URL to download the file.
+ type: string
+ file_name:
+ description: Name of the file.
+ type: string
+ file_size:
+ description: Size of the file in bytes.
+ type: integer
+ type: object
+ type: array
+ total_records:
+ description: The total number of files found.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ in_meeting_files:
+ items:
+ properties:
+ download_url:
+ description: URL to download the file.
+ type: string
+ file_name:
+ description: Name of the file.
+ type: string
+ file_size:
+ description: Size of the file in bytes.
+ type: integer
+ type: object
+ type: array
+ total_records:
+ description: The total number of files found.
+ type: integer
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ Files retrieved successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ **Error Code:** `1010`
+ User does not belong to this account: {accountId}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `3001`
+ Meeting ID is invalid or not end.
+ security:
+ - OAuth: []
+ summary: List past meeting's files
+ tags:
+ - Deprecated API Endpoints
+ parameters:
+ - in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ "/past_meetings/{meetingId}/instances":
+ get:
+ description: |-
+ Get a list of ended meeting instances
+ **Scopes:** `meeting:read:admin` `meeting:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: pastMeetings
+ parameters:
+ - description: |-
+ The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
+
+ While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ allOf:
+ - properties:
+ meetings:
+ description: List of ended meeting instances.
+ items:
+ allOf:
+ - properties:
+ start_time:
+ description: Start time
+ format: date-time
+ type: string
+ uuid:
+ description: |+
+ Meeting UUID. Unique meeting ID. Each meeting instance will generate its own Meeting UUID (i.e., after a meeting ends, a new UUID will be generated for the next instance of the meeting). Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
+
+ type: string
+ type: object
+ type: array
+ description: List of Meetings
+ title: Meeting instances
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ meetings:
+ description: List of ended meeting instances.
+ items:
+ allOf:
+ - properties:
+ start_time:
+ description: Start time
+ format: date-time
+ type: string
+ uuid:
+ description: |+
+ Meeting UUID. Unique meeting ID. Each meeting instance will generate its own Meeting UUID (i.e., after a meeting ends, a new UUID will be generated for the next instance of the meeting). Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
+
+ type: string
+ type: object
+ type: array
+ description: List of Meetings
+ title: Meeting instances
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ List of ended meeting instances returned.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Meeting not found.
+ security:
+ - OAuth: []
+ summary: List ended meeting instances
+ tags:
+ - Meetings
+ "/past_meetings/{meetingId}/polls":
+ get:
+ description: |-
+ [Polls](https://support.zoom.us/hc/en-us/articles/213756303-Polling-for-Meetings) allow the meeting host to survey attendees. Use this API to list poll results of a meeting.
+
+ **Scopes**: `meeting:read:admin`, `meeting:read`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ **Prerequisites**:
+ * Host user type must be **Pro**.
+ * Meeting must be a scheduled meeting. Instant meetings do not have polling features enabled.
+ operationId: listPastMeetingPolls
+ parameters:
+ - description: |-
+ The meeting ID or the meeting UUID. If a meeting ID is provided in the request instead of a UUID, the response will be for the latest meeting instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ id: 123456
+ questions:
+ - email: myemail@jksdlfkjdf.djfk
+ name: Sam S
+ question_details:
+ - answer: I am wonderful.
+ question: How are you?
+ start_time: 2019-02-01T12:34:12.660Z
+ title: Learn something new
+ uuid: gsdjfhsdfkhjdsf
+ schema:
+ properties:
+ id:
+ description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
+ format: int64
+ type: integer
+ questions:
+ items:
+ properties:
+ email:
+ description: Email address of the user who submitted answers to the poll.
+ type: string
+ name:
+ description: Name of the user who submitted answers to the poll. If "anonymous" option is enabled for a poll, the participant's polling information will be kept anonymous and the value of `name` field will be "Anonymous Attendee".
+ type: string
+ question_details:
+ items:
+ properties:
+ answer:
+ description: Answer submitted by the user.
+ type: string
+ date_time:
+ description: Date and time at which the answer to the poll was submitted.
+ format: date-time
+ type: string
+ polling_id:
+ description: Unique identifier of the poll.
+ type: string
+ question:
+ description: Question asked during the poll.
+ type: string
+ type: object
+ type: array
+ type: object
+ type: array
+ start_time:
+ description: The start time of the meeting.
+ format: date-time
+ type: string
+ uuid:
+ description: Meeting UUID.
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ id:
+ description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
+ format: int64
+ type: integer
+ questions:
+ items:
+ properties:
+ email:
+ description: Email address of the user who submitted answers to the poll.
+ type: string
+ name:
+ description: Name of the user who submitted answers to the poll. If "anonymous" option is enabled for a poll, the participant's polling information will be kept anonymous and the value of `name` field will be "Anonymous Attendee".
+ type: string
+ question_details:
+ items:
+ properties:
+ answer:
+ description: Answer submitted by the user.
+ type: string
+ date_time:
+ description: Date and time at which the answer to the poll was submitted.
+ format: date-time
+ type: string
+ polling_id:
+ description: Unique identifier of the poll.
+ type: string
+ question:
+ description: Question asked during the poll.
+ type: string
+ type: object
+ type: array
+ type: object
+ type: array
+ start_time:
+ description: The start time of the meeting.
+ format: date-time
+ type: string
+ uuid:
+ description: Meeting UUID.
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ Polls returned successfully.
+ security:
+ - OAuth: []
+ summary: List past meeting's poll results
+ tags:
+ - Meetings
+ parameters:
+ - in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ "/past_meetings/{meetingUUID}":
+ get:
+ description: |-
+ Get details on a past meeting.
+ **Scopes:** `meeting:read:admin` `meeting:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ > **Note**: Please double encode your UUID when using this API if the UUID begins with a '/'or contains '//' in it.
+ operationId: pastMeetingDetails
+ parameters:
+ - description: The meeting UUID. Each meeting instance will generate its own Meeting UUID (i.e., after a meeting ends, a new UUID will be generated for the next instance of the meeting). Please double encode your UUID when using it for other API calls if the UUID begins with a '/'or contains '//' in it.
+ in: path
+ name: meetingUUID
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ duration: integer
+ end_time: string [date-time]
+ host_id: integer
+ id: integer
+ participants_count: integer
+ start_time: string [date-time]
+ topic: string
+ total_minutes: integer
+ type: integer
+ user_email: string
+ user_name: string
+ uuid: string [uuid]
+ schema:
+ properties:
+ duration:
+ description: Meeting duration.
+ type: integer
+ end_time:
+ description: Meeting end time (GMT).
+ format: date-time
+ type: string
+ host_id:
+ description: Host ID.
+ type: string
+ id:
+ description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
+ format: int64
+ type: integer
+ participants_count:
+ description: Number of meeting participants.
+ type: integer
+ start_time:
+ description: Meeting start time (GMT).
+ format: date-time
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ total_minutes:
+ description: Sum of meeting minutes from all participants in the meeting.
+ type: integer
+ type:
+ description: Meeting type.
+ type: integer
+ user_email:
+ description: User email.
+ type: string
+ user_name:
+ description: User display name.
+ type: string
+ uuid:
+ description: Meeting UUID.
+ format: uuid
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ duration:
+ description: Meeting duration.
+ type: integer
+ end_time:
+ description: Meeting end time (GMT).
+ format: date-time
+ type: string
+ host_id:
+ description: Host ID.
+ type: string
+ id:
+ description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
+ format: int64
+ type: integer
+ participants_count:
+ description: Number of meeting participants.
+ type: integer
+ start_time:
+ description: Meeting start time (GMT).
+ format: date-time
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ total_minutes:
+ description: Sum of meeting minutes from all participants in the meeting.
+ type: integer
+ type:
+ description: Meeting type.
+ type: integer
+ user_email:
+ description: User email.
+ type: string
+ user_name:
+ description: User display name.
+ type: string
+ uuid:
+ description: Meeting UUID.
+ format: uuid
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Meeting details returned.
+ "400":
+ description: |
+ **HTTP Status Code:** `400`
+ Meeting not found
+ **Error Code:** `1010`
+ User not exist: {userId}
+ User {userId} not exist or not belong to this account.
+ **Error Code:** `200`
+ Only available for paid account: {accountId}
+ "404":
+ description: |
+ **HTTP Status Code:** `404`
+ Meeting not found
+ **Error Code:** `3001`
+ This meeting is not available or ID is not valid.
+ Meeting ID is invalid or not end.
+ security:
+ - OAuth: []
+ summary: Get past meeting details
+ tags:
+ - Meetings
+ "/past_meetings/{meetingUUID}/participants":
+ get:
+ description: |
+ Retrieve information on participants from a past meeting.
+ **Scopes:** `meeting:read:admin` `meeting:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ **Prerequisites:**
+ * Paid account on a Pro or higher plan.
+
+
**Note**: Please double encode your UUID when using this API if the UUID begins with a '/'or contains '//' in it.
+ operationId: pastMeetingParticipants
+ parameters:
+ - description: The meeting UUID. Each meeting instance will generate its own Meeting UUID (i.e., after a meeting ends, a new UUID will be generated for the next instance of the meeting). Please double encode your UUID when using it for other API calls if the UUID begins with a '/'or contains '//' in it.
+ in: path
+ name: meetingUUID
+ required: true
+ schema:
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ next_page_token: aliqua
+ page_count: 1
+ page_size: 30
+ participants:
+ - id: 8b29rgg4bb
+ name: Ram Shekhar
+ user_email: ram.shekhar.123@fkdngfjg.fdghdfgj
+ total_records: 1
+ schema:
+ allOf:
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ type: integer
+ type: object
+ - properties:
+ participants:
+ description: Array of meeting participant objects.
+ items:
+ properties:
+ id:
+ description: Universally unique identifier of the Participant. It is the same as the User ID of the participant if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging in, the value of this field will be blank.
+ format: uuid
+ type: string
+ name:
+ description: Participant display name.
+ type: string
+ user_email:
+ description: Email address of the user. This field will be returned if the user logged into Zoom to join the meeting.
+ type: string
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ type: integer
+ type: object
+ - properties:
+ participants:
+ description: Array of meeting participant objects.
+ items:
+ properties:
+ id:
+ description: Universally unique identifier of the Participant. It is the same as the User ID of the participant if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging in, the value of this field will be blank.
+ format: uuid
+ type: string
+ name:
+ description: Participant display name.
+ type: string
+ user_email:
+ description: Email address of the user. This field will be returned if the user logged into Zoom to join the meeting.
+ type: string
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Meeting participants' report returned.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400`
+ **Error Code:** `1010`
+ User {userId} not exist or not belong to this account.
+ **Error Code:** `200`
+ Only available for paid account: {accountId}
+
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Meeting not found
+ **Error Code:** `1001`
+ User {userId} not exist or not belong to this account.
+ User not exist: {userId}
+ **Error Code:** `3001`
+ This meeting is not available or ID is not valid.
+ Meeting ID is invalid or not end.
+ security:
+ - OAuth: []
+ summary: Get past meeting participants
+ tags:
+ - Meetings
+ "/past_webinars/{WebinarUUID}/absentees":
+ get:
+ description: |-
+ List absentees of a webinar.
+ **Scopes:** `webinar:read:admin` `webinar:read`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ operationId: webinarAbsentees
+ parameters:
+ - description: The meeting occurrence ID.
+ in: query
+ name: occurrence_id
+ schema:
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: The Webinar UUID. Each Webinar instance will generate its own Webinar UUID (i.e., after a Webinar ends, a new UUID will be generated for the next instance of the Webinar). Please double encode your UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it.
+ in: path
+ name: WebinarUUID
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ page_count: 1
+ page_number: 1
+ page_size: 30
+ registrants:
+ - address: dsfhkdjsfh st
+ city: jackson heights
+ comments: Looking forward to the Webinar
+ country: USA
+ create_time: 2019-02-26T23:01:16.899Z
+ custom_questions:
+ - title: What do you hope to learn from this Webinar?
+ value: Look forward to learning how you come up with new recipes and what other services you offer.
+ email: sjfkghdsg@someemail.dfgjd
+ first_name: Jill
+ id: "24000002122"
+ industry: Food
+ job_title: Chef
+ join_url: https://zoom.us/webinar/mywebinarissocooldighdghodghodg
+ last_name: Chill
+ no_of_employees: "10"
+ org: Cooking Org
+ phone: "00000000"
+ purchasing_time_frame: 1-3 months
+ role_in_purchase_process: Influencer
+ state: NY
+ status: approved
+ zip: "11371"
+ total_records: 1
+ schema:
+ allOf:
+ - allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: |-
+ **Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
+
+ The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ - properties:
+ registrants:
+ description: List of registrant objects.
+ items:
+ allOf:
+ - properties:
+ id:
+ description: Registrant ID.
+ type: string
+ type: object
+ - allOf:
+ - description: Registrant base object.
+ properties:
+ address:
+ description: Registrant's address.
+ type: string
+ city:
+ description: Registrant's city.
+ type: string
+ comments:
+ description: A field that allows registrants to provide any questions or comments that they might have.
+ type: string
+ country:
+ description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
+ type: string
+ custom_questions:
+ description: Custom questions.
+ items:
+ description: Custom Question.
+ properties:
+ title:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ email:
+ description: A valid email address of the registrant.
+ maxLength: 128
+ type: string
+ first_name:
+ description: Registrant's first name.
+ maxLength: 64
+ type: string
+ industry:
+ description: Registrant's Industry.
+ type: string
+ job_title:
+ description: Registrant's job title.
+ type: string
+ last_name:
+ description: Registrant's last name.
+ maxLength: 64
+ type: string
+ no_of_employees:
+ description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
+ type: string
+ org:
+ description: Registrant's Organization.
+ type: string
+ phone:
+ description: Registrant's Phone number.
+ type: string
+ purchasing_time_frame:
+ description: |-
+ This field can be included to gauge interest of webinar attendees towards buying your product or service.
+
+ Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
+ type: string
+ role_in_purchase_process:
+ description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
+ type: string
+ state:
+ description: Registrant's State/Province.
+ type: string
+ zip:
+ description: Registrant's Zip/Postal Code.
+ type: string
+ required:
+ - email
+ - first_name
+ type: object
+ description: " Registrant."
+ type: object
+ - properties:
+ create_time:
+ description: The time at which the registrant registered.
+ format: date-time
+ type: string
+ join_url:
+ description: The URL using which an approved registrant can join the webinar.
+ format: string
+ type: string
+ status:
+ description: "The status of the registrant's registration. `approved`: User has been successfully approved for the webinar. `pending`: The registration is still pending. `denied`: User has been denied from joining the webinar."
+ type: string
+ type: object
+ type: array
+ description: List of users.
+ title: Registration List
+ type: object
+ description: List of users.
+ title: Registration List
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: |-
+ **Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
+
+ The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ - properties:
+ registrants:
+ description: List of registrant objects.
+ items:
+ allOf:
+ - properties:
+ id:
+ description: Registrant ID.
+ type: string
+ type: object
+ - allOf:
+ - description: Registrant base object.
+ properties:
+ address:
+ description: Registrant's address.
+ type: string
+ city:
+ description: Registrant's city.
+ type: string
+ comments:
+ description: A field that allows registrants to provide any questions or comments that they might have.
+ type: string
+ country:
+ description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
+ type: string
+ custom_questions:
+ description: Custom questions.
+ items:
+ description: Custom Question.
+ properties:
+ title:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ email:
+ description: A valid email address of the registrant.
+ maxLength: 128
+ type: string
+ first_name:
+ description: Registrant's first name.
+ maxLength: 64
+ type: string
+ industry:
+ description: Registrant's Industry.
+ type: string
+ job_title:
+ description: Registrant's job title.
+ type: string
+ last_name:
+ description: Registrant's last name.
+ maxLength: 64
+ type: string
+ no_of_employees:
+ description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
+ type: string
+ org:
+ description: Registrant's Organization.
+ type: string
+ phone:
+ description: Registrant's Phone number.
+ type: string
+ purchasing_time_frame:
+ description: |-
+ This field can be included to gauge interest of webinar attendees towards buying your product or service.
+
+ Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
+ type: string
+ role_in_purchase_process:
+ description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
+ type: string
+ state:
+ description: Registrant's State/Province.
+ type: string
+ zip:
+ description: Registrant's Zip/Postal Code.
+ type: string
+ required:
+ - email
+ - first_name
+ type: object
+ description: " Registrant."
+ type: object
+ - properties:
+ create_time:
+ description: The time at which the registrant registered.
+ format: date-time
+ type: string
+ join_url:
+ description: The URL using which an approved registrant can join the webinar.
+ format: string
+ type: string
+ status:
+ description: "The status of the registrant's registration. `approved`: User has been successfully approved for the webinar. `pending`: The registration is still pending. `denied`: User has been denied from joining the webinar."
+ type: string
+ type: object
+ type: array
+ description: List of users.
+ title: Registration List
+ type: object
+ description: List of users.
+ title: Registration List
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Success. **Error Code:** `200`
+ Webinar plan subscription is missing. Enable webinar for this user once the subscription is added:{userId}.
+ "300":
+ description: "**Error Code:** `300` Invalid webinar UUID."
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ **Error Code:** `300`
+ The request could not be completed because you have provided an invalid occurence ID: {occurenceId}
+ **Error Code:** `1010`
+ User does not belong to this account:{accountId}.
+ **Error Code:** `3000`
+ This Webinar has not registration required: {webinarUUID}
+ "404":
+ description: |+
+ **HTTP Status Code:** `404`
+ **Error Code:** `1001`
+ User {userId} does not exist or does not belong to this account.
+ **Error Code:** `3001` Meeting ID is invalid or not end.
+
+ security:
+ - OAuth: []
+ summary: Get webinar absentees
+ tags:
+ - Webinars
+ "/past_webinars/{webinarId}/files":
+ get:
+ description: |+
+ **Note: This API has been deprecated and is no longer supported due to GCM encryption updates for security purposes.**
+
+ List files sent via in-meeting chat during a meeting. The in-meeting files are deleted after 24 hours of the meeting completion time.
+
+ **Scope:** `webinar:read`, `webinar:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+
+ operationId: listPastWebinarFiles
+ parameters:
+ - in: path
+ name: webinarId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ in_meeting_files:
+ - download_url: somefile.txt/randomurl
+ file_name: somefile.txt
+ file_size: 300
+ total_records: 1
+ schema:
+ properties:
+ in_meeting_files:
+ items:
+ properties:
+ download_url:
+ description: URL to download the file.
+ type: string
+ file_name:
+ description: Name of the file.
+ type: string
+ file_size:
+ description: Size of the file in bytes.
+ type: integer
+ type: object
+ type: array
+ total_records:
+ description: The total number of files found.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ in_meeting_files:
+ items:
+ properties:
+ download_url:
+ description: URL to download the file.
+ type: string
+ file_name:
+ description: Name of the file.
+ type: string
+ file_size:
+ description: Size of the file in bytes.
+ type: integer
+ type: object
+ type: array
+ total_records:
+ description: The total number of files found.
+ type: integer
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ Files retrieved successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ **Error Code:** `1010`
+ User does not belong to this account: {accountId}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `3001`
+ Webinar ID is invalid or not end.
+ security:
+ - OAuth: []
+ summary: List past webinar files
+ tags:
+ - Deprecated API Endpoints
+ parameters:
+ - in: path
+ name: webinarId
+ required: true
+ schema:
+ type: string
+ "/past_webinars/{webinarId}/instances":
+ get:
+ description: |+
+ List past webinar instances.
+ **Scopes:** `webinar:read:admin` `webinar:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: pastWebinars
+ parameters:
+ - description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ webinars:
+ - start_time: 2019-06-07T03:42:34.548Z
+ uuid: ut44544gisi
+ schema:
+ allOf:
+ - properties:
+ webinars:
+ description: List of ended webinar instances.
+ items:
+ allOf:
+ - properties:
+ start_time:
+ description: Start time.
+ format: date-time
+ type: string
+ uuid:
+ description: Webinar UUID.
+ type: string
+ type: object
+ type: array
+ description: List of webinars.
+ title: Webinar instances
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ webinars:
+ description: List of ended webinar instances.
+ items:
+ allOf:
+ - properties:
+ start_time:
+ description: Start time.
+ format: date-time
+ type: string
+ uuid:
+ description: Webinar UUID.
+ type: string
+ type: object
+ type: array
+ description: List of webinars.
+ title: Webinar instances
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ List of past webinar instances returned.
+ "300":
+ description: |-
+ **HTTP Status Code:** `300`
+ Invalid webinar ID.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Webinar not found.
+ security:
+ - OAuth: []
+ summary: List past webinar instances
+ tags:
+ - Webinars
+ "/past_webinars/{webinarId}/participants":
+ get:
+ description: |+
+ Use this API to list all the participants who attended a webinar hosted in the past.
+
+ **Prerequisites:**
+ * Pro or higher plan with a Webinar Add-on.
+ **Scopes:** `webinar:read:admin` `webinar:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+
+
+
+ operationId: listWebinarParticipants
+ parameters:
+ - description: Unique identifier of the webinar. You can retrieve the value of this field by calling the [list webinars](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinars) API.
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ next_page_token: mdnf23qbsf4wr
+ page_count: 1
+ page_size: 1
+ participants:
+ - id: sdjhf3ui
+ name: Matt
+ user_email: matt@123.jhdyuerys
+ total_records: 1
+ schema:
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for this request.
+ type: integer
+ page_size:
+ default: 30
+ description: The total number of records returned from a single API call.
+ maximum: 300
+ type: integer
+ participants:
+ items:
+ properties:
+ id:
+ description: Unique identifier of the participant.
+ type: string
+ name:
+ description: Name of the participant.
+ type: string
+ user_email:
+ description: Email address of the participant.
+ format: email
+ type: string
+ type: object
+ type: array
+ total_records:
+ description: The total number of records available across all pages.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for this request.
+ type: integer
+ page_size:
+ default: 30
+ description: The total number of records returned from a single API call.
+ maximum: 300
+ type: integer
+ participants:
+ items:
+ properties:
+ id:
+ description: Unique identifier of the participant.
+ type: string
+ name:
+ description: Name of the participant.
+ type: string
+ user_email:
+ description: Email address of the participant.
+ format: email
+ type: string
+ type: object
+ type: array
+ total_records:
+ description: The total number of records available across all pages.
+ type: integer
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ Participants list returned.
+ "400":
+ description: |
+ **HTTP Status Code:** `400` **Bad request**
+
+ **Error Code:** `200`
+ No permission.
+ Only available for paid account: {accountId}.
+ **Error Code:** `300`
+ The next page token is invalid or expired.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code:**`3001`
+ Webinar does not exist.
+ summary: List webinar participants
+ tags:
+ - Webinars
+ parameters:
+ - in: path
+ name: webinarId
+ required: true
+ schema:
+ type: string
+ "/past_webinars/{webinarId}/polls":
+ get:
+ description: |+
+ The polling feature for webinar allows you to create single choice or multiple choice polling questions for your webinars. Use this API to retrieve the results for Webinar Polls of a specific Webinar.
+
+ **Prerequisites:**
+ * [Webinar license](https://zoom.us/webinar)
+ **Scopes**: `webinar:read:admin`, `webinar:read`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+
+ operationId: listPastWebinarPollResults
+ parameters:
+ - description: |-
+ The webinar ID or the webinar UUID. If a webinar ID is provided in the request instead of a UUID, the response will be for the latest webinar instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ id: 123456
+ questions:
+ - email: myemail@jksdlfkjdf.djfk
+ name: Sam S
+ question_details:
+ - answer: I am wonderful.
+ question: How are you?
+ start_time: 2019-02-01T12:34:12.660Z
+ title: Learn something new
+ uuid: gsdjfhsdfkhjdsf
+ schema:
+ properties:
+ id:
+ description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
+ format: int64
+ type: integer
+ questions:
+ items:
+ properties:
+ email:
+ description: Email address of the user who submitted answers to the poll.
+ type: string
+ name:
+ description: Name of the user who submitted answers to the poll. If "anonymous" option is enabled for a poll, the participant's polling information will be kept anonymous and the value of `name` field will be "Anonymous Attendee".
+ type: string
+ question_details:
+ items:
+ properties:
+ answer:
+ description: Answer submitted by the user.
+ type: string
+ date_time:
+ description: Date and time at which the answer to the poll was submitted.
+ format: date-time
+ type: string
+ polling_id:
+ description: Unique identifier of the poll.
+ type: string
+ question:
+ description: Question asked during the poll.
+ type: string
+ type: object
+ type: array
+ type: object
+ type: array
+ start_time:
+ description: The start time of the Webinar.
+ format: date-time
+ type: string
+ uuid:
+ description: Webinar UUID.
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ id:
+ description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
+ format: int64
+ type: integer
+ questions:
+ items:
+ properties:
+ email:
+ description: Email address of the user who submitted answers to the poll.
+ type: string
+ name:
+ description: Name of the user who submitted answers to the poll. If "anonymous" option is enabled for a poll, the participant's polling information will be kept anonymous and the value of `name` field will be "Anonymous Attendee".
+ type: string
+ question_details:
+ items:
+ properties:
+ answer:
+ description: Answer submitted by the user.
+ type: string
+ date_time:
+ description: Date and time at which the answer to the poll was submitted.
+ format: date-time
+ type: string
+ polling_id:
+ description: Unique identifier of the poll.
+ type: string
+ question:
+ description: Question asked during the poll.
+ type: string
+ type: object
+ type: array
+ type: object
+ type: array
+ start_time:
+ description: The start time of the Webinar.
+ format: date-time
+ type: string
+ uuid:
+ description: Webinar UUID.
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ Polls returned successfully.
+ "401":
+ description: |
+ **HTTP Status Code:** `401` **Unauthorized**
+ **Error Code:** `1010` User does not belong to this account:{accountId}.
+ "404":
+ description: |
+ **HTTP Status Code:** `404` **Not found**
+ Webinar not found.
+
+ **Error Code:** `3001`
+ Webinar ID is invalid or not end.
+ This webinar id does not belong to you:{webinarId}.
+ security:
+ - OAuth: []
+ summary: List past webinar poll results
+ tags:
+ - Webinars
+ parameters:
+ - in: path
+ name: webinarId
+ required: true
+ schema:
+ type: string
+ "/past_webinars/{webinarId}/qa":
+ get:
+ description: |-
+ The [Question & Answer (Q&A)](https://support.zoom.us/hc/en-us/articles/203686015-Getting-Started-with-Question-Answer) feature for Webinars allows attendees to ask questions during the Webinar and for the panelists, co-hosts and host to answer their questions.
+ Use this API to list Q&A of a specific Webinar.
+
+ **Prerequisites:**
+ * [Webinar license](https://zoom.us/webinar)
+ **Scopes**: `webinar:read:admin`, `webinar:read`
+
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: listPastWebinarQA
+ parameters:
+ - description: |-
+ The webinar ID or the webinar UUID. If a webinar ID is provided in the request instead of a UUID, the response will be for the latest webinar instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ id: 123456
+ questions:
+ - email: myemail@jksdlfkjdf.djfk
+ name: Sam S
+ question_details:
+ - answer: I am wonderful.
+ question: How are you?
+ start_time: 2019-02-01T12:34:12.660Z
+ title: Learn something new
+ uuid: gsdjfhsdfkhjdsf
+ schema:
+ properties:
+ id:
+ description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
+ format: int64
+ type: integer
+ questions:
+ items:
+ properties:
+ email:
+ description: Email address of the user.
+ type: string
+ name:
+ description: Name of the user. If "anonymous" option is enabled for the Q&A, the participant's information will be kept anonymous and the value of `name` field will be "Anonymous Attendee".
+ type: string
+ question_details:
+ items:
+ properties:
+ answer:
+ description: Answer submitted for the question.
+ type: string
+ question:
+ description: Question asked during the Q&A.
+ type: string
+ type: object
+ type: array
+ type: object
+ type: array
+ start_time:
+ description: The start time of the Webinar.
+ format: date-time
+ type: string
+ uuid:
+ description: Webinar UUID.
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ id:
+ description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
+ format: int64
+ type: integer
+ questions:
+ items:
+ properties:
+ email:
+ description: Email address of the user.
+ type: string
+ name:
+ description: Name of the user. If "anonymous" option is enabled for the Q&A, the participant's information will be kept anonymous and the value of `name` field will be "Anonymous Attendee".
+ type: string
+ question_details:
+ items:
+ properties:
+ answer:
+ description: Answer submitted for the question.
+ type: string
+ question:
+ description: Question asked during the Q&A.
+ type: string
+ type: object
+ type: array
+ type: object
+ type: array
+ start_time:
+ description: The start time of the Webinar.
+ format: date-time
+ type: string
+ uuid:
+ description: Webinar UUID.
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ Q&A returned successfully.
+ "401":
+ description: |
+ **HTTP Status Code:** `401` **Unauthorized**
+ **Error Code:** `1010` User does not belong to this account:{accountId}.
+ "404":
+ description: |
+ **HTTP Status Code:** `404` **Not found**
+ Webinar not found.
+
+ **Error Code:** `3001`
+ Webinar ID is invalid or not end.
+ This webinar id does not belong to you:{webinarId}.
+ security:
+ - OAuth: []
+ summary: List Q&A of past webinar
+ tags:
+ - Webinars
+ parameters:
+ - in: path
+ name: webinarId
+ required: true
+ schema:
+ type: string
+ /phone/auto_receptionists:
+ post:
+ description: |+
+ Auto receptionists answer calls with a personalized recording and routes calls to a phone user, call queue, common area phone, voicemail or an IVR system. Use this API to add an [auto receptionist](https://support.zoom.us/hc/en-us/articles/360021121312-Managing-Auto-Receptionists-and-Interactive-Voice-Response-IVR-) to a Zoom Phone.
+
+ **Prerequisites:**
+ * Pro or higher account with Zoom Phone license.
+ **Scopes:** `phone:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: addAutoReceptionist
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ name:
+ description: Provide a name to help identify the auto receptionist.
+ type: string
+ site_id:
+ description: Unique identifier of the site where the auto receptionist is to be assigned. This field is required only if you have [multiple sites](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) enabled.
+ type: string
+ required:
+ - name
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ name:
+ description: Provide a name to help identify the auto receptionist.
+ type: string
+ site_id:
+ description: Unique identifier of the site where the auto receptionist is to be assigned. This field is required only if you have [multiple sites](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) enabled.
+ type: string
+ required:
+ - name
+ type: object
+ x-examples:
+ application/json:
+ name: HQ Auto Receptionist
+ site_id: dorfdg67on
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ extension_number: 123
+ id: officdt76ydatat
+ name: HQ Auto Receptionist
+ schema:
+ properties:
+ extension_number:
+ description: " Extension number assigned to the auto receptionist."
+ type: integer
+ id:
+ description: Auto receptionist ID. Unique Identifier of the auto receptionist.
+ type: string
+ name:
+ description: " Name of the auto receptionist."
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ extension_number:
+ description: " Extension number assigned to the auto receptionist."
+ type: integer
+ id:
+ description: Auto receptionist ID. Unique Identifier of the auto receptionist.
+ type: string
+ name:
+ description: " Name of the auto receptionist."
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `201` **Created**
+
+ Auto receptionist added successfully.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300` **Validation failed.**
+ * Multiple Site is disabled.
+ * Site does not exist.
+
+
+ summary: Add an auto receptionist
+ tags:
+ - Phone Auto Receptionists
+ "/phone/auto_receptionists/{autoReceptionistId}":
+ parameters:
+ - in: path
+ name: autoReceptionistId
+ required: true
+ schema:
+ type: string
+ patch:
+ description: |-
+ An auto receptionist answers calls with a personalized recording and routes calls to a phone user, call queue, common area phone, or voicemail. An auto receptionist can also be set up so that it routes calls to an interactive voice response (IVR) system to allow callers to select the routing options.
+ Use this API to [change information](https://support.zoom.us/hc/en-us/articles/360021121312-Managing-Auto-Receptionists-and-Interactive-Voice-Response-IVR-#h_1d5ffc56-6ba3-4ce5-9d86-4a1a1ee743f3) such as display name and extension number assigned to the main auto receptionist.
+ **Prerequisites:**
+ * Pro or higher account with Zoom Phone license.
+ **Scopes:** `phone:write:admin`
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: updateAutoReceptionist
+ parameters:
+ - description: Unique Identifier of the Auto Receptionist. It can be retrieved from the [List Sites API](https://marketplace.zoom.us/docs/api-reference/zoom-api/phone-site/listphonesites).
+ in: path
+ name: autoReceptionistId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ extension_number:
+ description: Extension number to be assigned to the auto receptionist. If site code is enabled, provide the short extension number instead.
+ type: integer
+ name:
+ description: Display name of the auto receptionist.
+ maxLength: 32
+ type: string
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ extension_number:
+ description: Extension number to be assigned to the auto receptionist. If site code is enabled, provide the short extension number instead.
+ type: integer
+ name:
+ description: Display name of the auto receptionist.
+ maxLength: 32
+ type: string
+ type: object
+ x-examples:
+ application/json: |-
+ {
+ "name": "dfdsff",
+ "extension_number": 08
+ }
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Auto Receptionist details updated sucessfully.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300`
+ Extension Number must be {min} to {max} digits
+ Validation Failed. AutoReceptionist does not exist, AutoReceptionistId: {autoReceptionistId}
+ **Error Code:** `400`
+ Invalid short number length.
+ Invalid full extension number length.
+ **Error Code:** `10001`
+ Number {extensionNumber} is a reserved extension number.
+ Extension number {extensionNumber} is already used.
+
+ security:
+ - OAuth: []
+ summary: Update auto receptionist details
+ tags:
+ - Phone Auto Receptionists
+ "/phone/auto_receptionists/{autoReceptionistId}/phone_numbers":
+ delete:
+ description: |
+ Unassign all phone numbers that were previously assigned to an [auto receptionist](https://support.zoom.us/hc/en-us/articles/360021121312-Managing-Auto-Receptionists-and-Interactive-Voice-Response-IVR-).
+
+ **Prerequisites:**
+ * Pro or higher account plan with Zoom Phone License
+ * Account owner or admin permissions
+ **Scopes:** `phone:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: unassignAllPhoneNumsAutoReceptionist
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Phone numbers unassigned successfully.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `404`
+ AutoReceptionist does not exist, AutoReceptionistId: {autoReceptionId}
+ security:
+ - OAuth: []
+ summary: Unassign all phone numbers
+ tags:
+ - Phone Auto Receptionists
+ parameters:
+ - in: path
+ name: autoReceptionistId
+ required: true
+ schema:
+ type: string
+ post:
+ description: |-
+ Assign available phone numbers to an [auto receptionist](https://support.zoom.us/hc/en-us/articles/360021121312-Managing-Auto-Receptionists-and-Interactive-Voice-Response-IVR-). The available numbers can be retrieved using the List Phone Numbers API with `type` query parameter set to "unassigned".
+
+ **Prerequisites:**
+ * Pro or higher account plan with Zoom Phone License
+ * Account owner or admin permissions
+ **Scopes:** `phone:write:admin`
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: assignPhoneNumbersAutoReceptionist
+ parameters:
+ - description: Unique Identifier of the Auto Receptionist. It can be retrieved from the [List Sites API](https://marketplace.zoom.us/docs/api-reference/zoom-api/phone-site/listphonesites).
+ in: path
+ name: autoReceptionistId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ phone_numbers:
+ description: Provide either the unique identifier of the Phone Number in the `id` field or provide the phone number in the `number` field.
+ items:
+ properties:
+ id:
+ description: Unique Identifier of the Phone number.
+ type: string
+ number:
+ description: Phone number in e164 format.
+ type: string
+ type: object
+ type: array
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ phone_numbers:
+ description: Provide either the unique identifier of the Phone Number in the `id` field or provide the phone number in the `number` field.
+ items:
+ properties:
+ id:
+ description: Unique Identifier of the Phone number.
+ type: string
+ number:
+ description: Phone number in e164 format.
+ type: string
+ type: object
+ type: array
+ type: object
+ x-examples:
+ application/json: |-
+ {
+ "phone_numbers": [
+ {
+ "id": "cyjoruyk",
+ },
+ {
+ "number": "+11000110011"
+ }
+ ]
+ }
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Phone numbers assigned successfully.
+ "400":
+ description: |-
+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `400`
+ Unable to update this number as it is used for outbound caller ID to public safety answering point.
+ Phone number does not exist, phonenumberId:{phonenumberId}
+ phoneNumber is used, phonenumberId:{phonenumberId}
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `404`
+ AutoReceptionist does not exist, AutoReceptionistId: {autoReceptionId}.
+ security:
+ - OAuth: []
+ summary: Assign phone numbers
+ tags:
+ - Phone Auto Receptionists
+ "/phone/auto_receptionists/{autoReceptionistId}/phone_numbers/{phoneNumberId}":
+ delete:
+ description: |-
+ Unassign a specific phone number that was previously assigned to an [auto receptionist](https://support.zoom.us/hc/en-us/articles/360021121312-Managing-Auto-Receptionists-and-Interactive-Voice-Response-IVR-).
+
+ **Prerequisites:**
+ * Pro or higher account plan with Zoom Phone License
+ * Account owner or admin permissions
+ **Scopes:** `phone:write:admin`
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: unassignAPhoneNumAutoReceptionist
+ parameters:
+ - description: Unique identifier of the auto receptionist. This can be retrieved from the List Phone Sites API.
+ in: path
+ name: autoReceptionistId
+ required: true
+ schema:
+ type: string
+ - description: "Unique Identifier of the phone number or provide the actual phone number in e164 format (example: +19995550123)."
+ in: path
+ name: phoneNumberId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Phone number unassigned successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `400`
+ Phone number does not belong to auto receptionist.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Bad Request**
+ **Error Code:** `404`
+ AutoReceptionist does not exist, AutoReceptionistId: {autoReceptionId}.
+ security:
+ - OAuth: []
+ summary: Unassign a phone number
+ tags:
+ - Phone Auto Receptionists
+ parameters:
+ - in: path
+ name: autoReceptionistId
+ required: true
+ schema:
+ type: string
+ - in: path
+ name: phoneNumberId
+ required: true
+ schema:
+ type: string
+ /phone/blocked_list:
+ get:
+ description: |-
+ A Zoom account owner or a user with admin privilege can block phone numbers for phone users in an account. Blocked numbers can be inbound (numbers will be blocked from calling in) and outbound (phone users in your account won't be able to dial those numbers). Blocked callers will hear a generic message stating that the person they are calling is not available. Use this API to list all the blocked lists in an acccount.
+ **Prerequisites:**
+ * Pro or higher account plan with Zoom phone license
+ **Scope:** `phone:read:admin`
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: listBlockedList
+ parameters:
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: The total number of records returned from a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 100
+ type: integer
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ blocked_list:
+ - block_type: inbound
+ comment: Blocked numbers starting with 777
+ id: 7buyurtKc0Zw
+ match_type: prefix
+ phone_number: "1777"
+ status: active
+ - block_type: inbound
+ comment: Blocked an unknown caller
+ id: cYDtrtyrgyQw
+ match_type: phoneNumber
+ phone_number: "600040404"
+ status: active
+ next_page_token: ""
+ page_size: 30
+ total_records: 2
+ schema:
+ properties:
+ blocked_list:
+ items:
+ properties:
+ block_type:
+ description: |-
+ Block type.
+ `inbound`: The blocked number or numbers with the specifie prefix are prevented from calling in to phone users.
+ `outbound`: The phone users are prevented from calling the blocked number or numbers with the specified prefix.
+ enum:
+ - inbound
+ - outbound
+ type: string
+ comment:
+ description: Provide a comment to help you identify the blocked number or prefix.
+ maxLength: 255
+ type: string
+ id:
+ description: Unique identifier of the blocked list.
+ type: string
+ match_type:
+ description: |-
+ Indicates the match type for the blocked list. The values can be one of the following:
+ `phoneNumber`: Indicates that only a specific phone number that is shown in the `phone_number` field is blocked.
+ `prefix`: Indicates that all numbers starting with prefix that is shown in the `phone_number` field are blocked.
+ enum:
+ - phoneNumber
+ - prefix
+ type: string
+ phone_number:
+ description: 'The phone number to be blocked if you passed "phoneNumber" as the value for the `match_type` field. If you passed "prefix" as the value for the `match_type` field, provide the prefix of the phone number here including the country code. For example, entering 1905 blocks numbers with country code 1 and area code 905. '
+ maxLength: 50
+ type: string
+ status:
+ description: |-
+ Indicates whether the blocking is active or inactive.
+ `active`: The blocked list is active.
+ `inactive`: The blocked list is inactive.
+ enum:
+ - active
+ - inactive
+ type: string
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ default: 30
+ description: The total number of records returned from a single API call.
+ maximum: 100
+ type: integer
+ total_records:
+ description: The total number of records found for this query.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ blocked_list:
+ items:
+ properties:
+ block_type:
+ description: |-
+ Block type.
+ `inbound`: The blocked number or numbers with the specifie prefix are prevented from calling in to phone users.
+ `outbound`: The phone users are prevented from calling the blocked number or numbers with the specified prefix.
+ enum:
+ - inbound
+ - outbound
+ type: string
+ comment:
+ description: Provide a comment to help you identify the blocked number or prefix.
+ maxLength: 255
+ type: string
+ id:
+ description: Unique identifier of the blocked list.
+ type: string
+ match_type:
+ description: |-
+ Indicates the match type for the blocked list. The values can be one of the following:
+ `phoneNumber`: Indicates that only a specific phone number that is shown in the `phone_number` field is blocked.
+ `prefix`: Indicates that all numbers starting with prefix that is shown in the `phone_number` field are blocked.
+ enum:
+ - phoneNumber
+ - prefix
+ type: string
+ phone_number:
+ description: 'The phone number to be blocked if you passed "phoneNumber" as the value for the `match_type` field. If you passed "prefix" as the value for the `match_type` field, provide the prefix of the phone number here including the country code. For example, entering 1905 blocks numbers with country code 1 and area code 905. '
+ maxLength: 50
+ type: string
+ status:
+ description: |-
+ Indicates whether the blocking is active or inactive.
+ `active`: The blocked list is active.
+ `inactive`: The blocked list is inactive.
+ enum:
+ - active
+ - inactive
+ type: string
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ default: 30
+ description: The total number of records returned from a single API call.
+ maximum: 100
+ type: integer
+ total_records:
+ description: The total number of records found for this query.
+ type: integer
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ Blocked list returned successfully.
+ security:
+ - OAuth: []
+ summary: List blocked lists
+ tags:
+ - Phone Blocked List
+ post:
+ description: |-
+ A Zoom account owner or a user with admin privilege can block phone numbers for phone users in an account. Blocked numbers can be inbound (numbers will be blocked from calling in) and outbound (phone users in your account won't be able to dial those numbers). Blocked callers will hear a generic message stating that the person they are calling is not available. Use this API to create a blocked list and add a number to that blocked list.
+ **Prerequisites:**
+ * Pro or higher account plan with Zoom phone license
+ **Scope:** `phone:write:admin`
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: addAnumberToBlockedList
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ block_type:
+ description: |-
+ State whether you want the block type to be inbound or outbound.
+ `inbound`: Pass this value to prevent the blocked number or prefix from calling in to phone users.
+ `outbound`: Pass this value to prevent phone users from calling the blocked number or prefix.
+ enum:
+ - inbound
+ - outbound
+ type: string
+ comment:
+ description: Provide a comment to help you identify the blocked number or prefix.
+ maxLength: 255
+ type: string
+ match_type:
+ description: |-
+ Specify the match type for the blocked list. The values can be one of the following:
+ `phoneNumber`: Choose this option (Phone Number Match) if you want to block a specific phone number. Then, in the `phone_number` field, provide the phone number along with the country code.
+ `prefix`: Choose this option (Prefix Match) if you want to block all numbers with a specific country code and area code. Next, in the `phone_number` field, enter a country code as part of the prefix. For example, entering 1907 blocks numbers with country code 1 and area code 907.
+ enum:
+ - phoneNumber
+ - prefix
+ type: string
+ phone_number:
+ description: 'The phone number to be blocked if you passed "phoneNumber" as the value for the `match_type` field. If you passed "prefix" as the value for the `match_type` field, provide the prefix of the phone number here including the country code. For example, entering 1905 blocks numbers with country code 1 and area code 905. '
+ maxLength: 50
+ type: string
+ status:
+ description: |-
+ Enable or disable the blocking. One of the following values are allowed:
+ `active`: Keep the blocking active.
+ `inactive`: Disable the blocking.
+ enum:
+ - active
+ - inactive
+ type: string
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ block_type:
+ description: |-
+ State whether you want the block type to be inbound or outbound.
+ `inbound`: Pass this value to prevent the blocked number or prefix from calling in to phone users.
+ `outbound`: Pass this value to prevent phone users from calling the blocked number or prefix.
+ enum:
+ - inbound
+ - outbound
+ type: string
+ comment:
+ description: Provide a comment to help you identify the blocked number or prefix.
+ maxLength: 255
+ type: string
+ match_type:
+ description: |-
+ Specify the match type for the blocked list. The values can be one of the following:
+ `phoneNumber`: Choose this option (Phone Number Match) if you want to block a specific phone number. Then, in the `phone_number` field, provide the phone number along with the country code.
+ `prefix`: Choose this option (Prefix Match) if you want to block all numbers with a specific country code and area code. Next, in the `phone_number` field, enter a country code as part of the prefix. For example, entering 1907 blocks numbers with country code 1 and area code 907.
+ enum:
+ - phoneNumber
+ - prefix
+ type: string
+ phone_number:
+ description: 'The phone number to be blocked if you passed "phoneNumber" as the value for the `match_type` field. If you passed "prefix" as the value for the `match_type` field, provide the prefix of the phone number here including the country code. For example, entering 1905 blocks numbers with country code 1 and area code 905. '
+ maxLength: 50
+ type: string
+ status:
+ description: |-
+ Enable or disable the blocking. One of the following values are allowed:
+ `active`: Keep the blocking active.
+ `inactive`: Disable the blocking.
+ enum:
+ - active
+ - inactive
+ type: string
+ type: object
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ id: dhfhfhnim
+ schema:
+ properties:
+ id:
+ description: Unique identifier of the blocked list.
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ id:
+ description: Unique identifier of the blocked list.
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `201` **Created**
+ Number added to the blocked list successfully.
+ "409":
+ description: |-
+ **HTTP Status Code:** `409` **Conflict**
+ Blocked number already exists.
+ security:
+ - OAuth: []
+ summary: Create a blocked list
+ tags:
+ - Phone Blocked List
+ "/phone/blocked_list/{blockedListId}":
+ delete:
+ description: |-
+ A Zoom account owner or a user with admin privilege can block phone numbers for phone users in an account. Blocked numbers can be inbound (numbers will be blocked from calling in) and outbound (phone users in your account won't be able to dial those numbers).
+ Use this API to delete a blocked list and therefore removing the associated number from the blocked list. The number will be unblocked after the deletion.
+ **Prerequisites:**
+ * Pro or higher account plan with Zoom phone license
+ **Scope:** `phone:write:admin`
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: deleteABlockedList
+ parameters:
+ - description: Unique Identifier of the blocked list. This can be retrieved from the List Blocked List API.
+ in: path
+ name: blockedListId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Blocked list deleted successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300`
+ Validation Failed. Blocked number (Id: {blockedListId}) does not exist.
+ security:
+ - OAuth: []
+ summary: Delete a blocked list
+ tags:
+ - Phone Blocked List
+ get:
+ description: |-
+ A Zoom account owner or a user with admin privilege can block phone numbers for phone users in an account. Blocked numbers can be inbound (numbers will be blocked from calling in) and outbound (phone users in your account won't be able to dial those numbers). Blocked callers will hear a generic message stating that the person they are calling is not available. Use this API to get information about a specific blocked list.
+ **Prerequisites:**
+ * Pro or higher account plan with Zoom phone license
+ **Scope:** `phone:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: getABlockedList
+ parameters:
+ - description: Unique Identifier of the blocked list.
+ in: path
+ name: blockedListId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ block_type: inbound
+ comment: Blocked all numbers starting with 0001
+ id: 7bR_Ix4KSJS_heuPPKc0Zw
+ match_type: prefix
+ phone_number: "0001"
+ status: active
+ schema:
+ properties:
+ block_type:
+ description: |-
+ Block type.
+ `inbound`: The blocked number or numbers with the specifie prefix are prevented from calling in to phone users.
+ `outbound`: The phone users are prevented from calling the blocked number or numbers with the specified prefix.
+ enum:
+ - inbound
+ - outbound
+ type: string
+ comment:
+ description: Provide a comment to help you identify the blocked number or prefix.
+ maxLength: 255
+ type: string
+ id:
+ description: Unique identifier of the blocked list.
+ type: string
+ match_type:
+ description: |-
+ Indicates the match type for the blocked list. The values can be one of the following:
+ `phoneNumber`: Indicates that only a specific phone number that is shown in the `phone_number` field is blocked.
+ `prefix`: Indicates that all numbers starting with prefix that is shown in the `phone_number` field are blocked.
+ enum:
+ - phoneNumber
+ - prefix
+ type: string
+ phone_number:
+ description: The phone number or the prefix number that is blocked based on the `match_type`.
+ maxLength: 50
+ type: string
+ status:
+ description: |-
+ Indicates whether the blocking is active or inactive.
+ `active`: The blocked list is active.
+ `inactive`: The blocked list is inactive.
+ enum:
+ - active
+ - inactive
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ block_type:
+ description: |-
+ Block type.
+ `inbound`: The blocked number or numbers with the specifie prefix are prevented from calling in to phone users.
+ `outbound`: The phone users are prevented from calling the blocked number or numbers with the specified prefix.
+ enum:
+ - inbound
+ - outbound
+ type: string
+ comment:
+ description: Provide a comment to help you identify the blocked number or prefix.
+ maxLength: 255
+ type: string
+ id:
+ description: Unique identifier of the blocked list.
+ type: string
+ match_type:
+ description: |-
+ Indicates the match type for the blocked list. The values can be one of the following:
+ `phoneNumber`: Indicates that only a specific phone number that is shown in the `phone_number` field is blocked.
+ `prefix`: Indicates that all numbers starting with prefix that is shown in the `phone_number` field are blocked.
+ enum:
+ - phoneNumber
+ - prefix
+ type: string
+ phone_number:
+ description: The phone number or the prefix number that is blocked based on the `match_type`.
+ maxLength: 50
+ type: string
+ status:
+ description: |-
+ Indicates whether the blocking is active or inactive.
+ `active`: The blocked list is active.
+ `inactive`: The blocked list is inactive.
+ enum:
+ - active
+ - inactive
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ Blocked list retrieved successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `400`
+ Blocked number (Id: {blockedListId}) does not exist.
+ security:
+ - OAuth: []
+ summary: Get blocked list details
+ tags:
+ - Phone Blocked List
+ parameters:
+ - in: path
+ name: blockedListId
+ required: true
+ schema:
+ type: string
+ patch:
+ description: |+
+ A Zoom account owner or a user with admin privilege can block phone numbers for phone users in an account. Blocked numbers can be inbound (numbers will be blocked from calling in) and outbound (phone users in your account won't be able to dial those numbers). Blocked callers will hear a generic message stating that the person they are calling is not available. Use this API to update information on the blocked list.
+ **Prerequisites:**
+ * Pro or higher account plan with Zoom phone license
+ **Scope:** `phone:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: updateBlockedList
+ parameters:
+ - description: Unique Identifier of the blocked list.
+ in: path
+ name: blockedListId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ block_type:
+ description: |-
+ State whether you want the block type to be inbound or outbound.
+ `inbound`: Pass this value to prevent the blocked number or prefix from calling in to phone users.
+ `outbound`: Pass this value to prevent phone users from calling the blocked number or prefix.
+ enum:
+ - inbound
+ - outbound
+ type: string
+ comment:
+ description: Provide a comment to help you identify the blocked number or prefix.
+ maxLength: 255
+ type: string
+ match_type:
+ description: |-
+ Specify the match type for the blocked list. The values can be one of the following:
+ `phoneNumber`: Choose this option (Phone Number Match) if you want to block a specific phone number. Then, in the `phone_number` field, provide the phone number along with the country code.
+ `prefix`: Choose this option (Prefix Match) if you want to block all numbers with a specific country code and area code. Next, in the `phone_number` field, enter a country code as part of the prefix. For example, entering 1907 blocks numbers with country code 1 and area code 907.
+ enum:
+ - phoneNumber
+ - prefix
+ type: string
+ phone_number:
+ description: 'The phone number to be blocked if you passed "phoneNumber" as the value for the `match_type` field. If you passed "prefix" as the value for the `match_type` field, provide the prefix of the phone number here including the country code. For example, entering 1905 blocks numbers with country code 1 and area code 905. '
+ maxLength: 50
+ type: string
+ status:
+ description: |-
+ Enable or disable the blocking. One of the following values are allowed:
+ `active`: Keep the blocking active.
+ `inactive`: Disable the blocking.
+ enum:
+ - active
+ - inactive
+ type: string
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ block_type:
+ description: |-
+ State whether you want the block type to be inbound or outbound.
+ `inbound`: Pass this value to prevent the blocked number or prefix from calling in to phone users.
+ `outbound`: Pass this value to prevent phone users from calling the blocked number or prefix.
+ enum:
+ - inbound
+ - outbound
+ type: string
+ comment:
+ description: Provide a comment to help you identify the blocked number or prefix.
+ maxLength: 255
+ type: string
+ match_type:
+ description: |-
+ Specify the match type for the blocked list. The values can be one of the following:
+ `phoneNumber`: Choose this option (Phone Number Match) if you want to block a specific phone number. Then, in the `phone_number` field, provide the phone number along with the country code.
+ `prefix`: Choose this option (Prefix Match) if you want to block all numbers with a specific country code and area code. Next, in the `phone_number` field, enter a country code as part of the prefix. For example, entering 1907 blocks numbers with country code 1 and area code 907.
+ enum:
+ - phoneNumber
+ - prefix
+ type: string
+ phone_number:
+ description: 'The phone number to be blocked if you passed "phoneNumber" as the value for the `match_type` field. If you passed "prefix" as the value for the `match_type` field, provide the prefix of the phone number here including the country code. For example, entering 1905 blocks numbers with country code 1 and area code 905. '
+ maxLength: 50
+ type: string
+ status:
+ description: |-
+ Enable or disable the blocking. One of the following values are allowed:
+ `active`: Keep the blocking active.
+ `inactive`: Disable the blocking.
+ enum:
+ - active
+ - inactive
+ type: string
+ type: object
+ x-examples:
+ application/json:
+ block_type: inbound
+ comment: Blocking a spam caller
+ match_type: phoneNumber
+ phone_number: "16460000000"
+ status: active
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |
+ **HTTP Status Code:** `204` **No Content**
+ Blocked list updated successfully.
+ "400":
+ description: |
+ **HTTP Status Code:** `400` **Bad Request**
+ Blocked number (Id: {blockedListId}) does not exist.
+ "409":
+ description: |-
+ **HTTP Status Code:** `409` **Conflict**
+ Blocked number already exists.
+ security:
+ - OAuth: []
+ summary: Update a blocked list
+ tags:
+ - Phone Blocked List
+ /phone/byoc_numbers:
+ post:
+ description: |+
+ Use this API to add BYOC phone numbers(provided to you by your carrier) to Zoom.
+
+ **Scope:** `phone:write:admin` or `phone:write` or `phone:master`
+
+ **Prerequisites:**
+ * The account must hold a business or enterprise plan and Zoom Phone license.
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+
+ operationId: addBYOCNumber
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ carrier:
+ description: Name of the carrier.
+ type: string
+ phone_numbers:
+ description: Phone number(s) to be added to Zoom. The value should be in e164 format.
+ items:
+ type: string
+ type: array
+ site_id:
+ description: Unique identifier of the site. This field is only required if you have enabled multiple sites in the account. See [Managing multiple sites](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites) or [Adding a site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites#h_05c88e35-1593-491f-b1a8-b7139a75dc15) for details.
+ type: string
+ required:
+ - carrier
+ - phone_numbers
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ carrier:
+ description: Name of the carrier.
+ type: string
+ phone_numbers:
+ description: Phone number(s) to be added to Zoom. The value should be in e164 format.
+ items:
+ type: string
+ type: array
+ site_id:
+ description: Unique identifier of the site. This field is only required if you have enabled multiple sites in the account. See [Managing multiple sites](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites) or [Adding a site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites#h_05c88e35-1593-491f-b1a8-b7139a75dc15) for details.
+ type: string
+ required:
+ - carrier
+ - phone_numbers
+ type: object
+ x-examples:
+ application/json:
+ carrier: Lorem qui voluptate Ut
+ phone_numbers:
+ - "+123456789"
+ site_id: dfmb3yor7w4yu
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ phone_numbers:
+ - id: incididunt
+ number: "+123456789"
+ schema:
+ properties:
+ phone_numbers:
+ items:
+ properties:
+ id:
+ description: Unique identifier of the phone number.
+ type: string
+ number:
+ description: Phone number in e164 format.
+ type: string
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ properties:
+ phone_numbers:
+ items:
+ properties:
+ id:
+ description: Unique identifier of the phone number.
+ type: string
+ number:
+ description: Phone number in e164 format.
+ type: string
+ type: object
+ type: array
+ type: object
+ description: "**HTTP Status Code:** `201` **Created**"
+ "300":
+ description: |+
+ **HTTP Status Code:** `300`
+
+ Validation failed. Adding batch phone numbers are limited to 50 per request.
+
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad request**
+
+ BYOC phone numbers are not enabled for this account.
+ "401":
+ description: |-
+ **HTTP Status Code:** `401` **Unauthorized**
+
+ **Error Code:** `124` Account does not exist: {accountId}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+
+ The following account carrier does not exist: {0}.
+ "429":
+ description: |-
+ **HTTP Status Code:** `429` **Too Many Requests**
+
+ You have reached the maximum number of concurrent requests for this account’s BYOC phone numbers.
+ summary: Add BYOC phone numbers
+ tags:
+ - Phone
+ /phone/call_logs:
+ get:
+ description: |-
+ Retrieve [call logs](https://support.zoom.us/hc/en-us/articles/360021114452-Viewing-Call-Logs) for an account.
+
+ **Scopes**: `phone:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ **Prerequisite:**
+ 1. Business or Enterprise account
+ 2. A Zoom Phone license
+ 3. Account Owner and a [role](https://support.zoom.us/hc/en-us/articles/115001078646-Role-Based-Access-Control) with Zoom Phone Management
+ operationId: accountCallLogs
+ parameters:
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: |-
+ Start date from which you would like to get the call logs. The start date should be within past six months.
+
+ The API only returns data pertaining to a month. Thus, the date range(defined using "from" and "to" fields) for which the call logs are to be returned must not exceed a month.
+ in: query
+ name: from
+ schema:
+ type: string
+ - description: The end date upto which you would like to get the call logs for. The end date should be within past six months.
+ in: query
+ name: to
+ schema:
+ type: string
+ - description: The type of the call logs. The value can be either "all" or "missed".
+ in: query
+ name: type
+ schema:
+ type: string
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: |-
+ Filter the API response by [path](https://support.zoom.us/hc/en-us/articles/360021114452-Viewing-and-identifying-logs#h_646b46c6-0623-4ab1-8b8b-ea5b8bcef679) of the call. The value of this field can be one of the following: `voiceMail`, `message`, `forward`, `extension`, `callQueue`, `ivrMenu`, `companyDirectory`, `autoReceptionist`, `contactCenter`, `disconnected`, `commonAreaPhone`,
+ `pstn`, `transfer`, `sharedLines`, `sharedLineGroup`, `tollFreeBilling`, `meetingService`, `parkPickup`,
+ `parkTimeout`, `monitor`, `takeover`, `sipGroup`
+ in: query
+ name: path
+ schema:
+ type: string
+ - description: Enables you to sort call logs by start or end time. Choose the sort time value. Values include `startTime` or `endTime`.
+ in: query
+ name: time_type
+ schema:
+ default: startTime
+ enum:
+ - startTime
+ - endTime
+ type: string
+ - description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites). Use this query parameter if you have enabled multiple sites and would like to filter the response of this API call by call logs of a specific phone site.
+ in: query
+ name: site_id
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ call_logs:
+ - call_type: voip
+ callee_name: somename
+ callee_number: "34567889"
+ callee_number_type: "2"
+ caller_name: ullamconame
+ caller_number: "12345678"
+ caller_number_type: "1"
+ date_time: 2019-05-19T20:00:00Z
+ direction: inbound
+ duration: 18677470
+ id: sjbkfdsbfsdf
+ owner:
+ extension_number: 1009
+ id: 29QVgYBGRmOM5VlC0DmLgg
+ name: Not_Delete_CallQueue_Recording
+ type: callQueue
+ result: no_answer
+ from: 2019-05-19
+ page_count: 0
+ page_number: 1
+ page_size: 30
+ to: 2019-05-20
+ total_records: 0
+ schema:
+ description: Account Call Logs
+ properties:
+ call_logs:
+ description: Call Log
+ items:
+ properties:
+ answer_start_time:
+ description: "GMT date and time at which the inbound call was answered. The value of this field is in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.
+
+ \t\t"
+ format: date-time
+ type: string
+ call_id:
+ description: Unique identifier of the phone call.
+ type: string
+ call_type:
+ description: |-
+ The type of call:
+ *`voip` (Voice over IP)
+ *`pstn` (Public Switched Telephone Network)
+ *`tollfree`
+ *`international`
+ *`contactCenter`
+ enum:
+ - voip
+ - pstn
+ - tollfree
+ - international
+ - contactCenter
+ type: string
+ callee_name:
+ description: Contact name of callee
+ type: string
+ callee_number:
+ description: Number of callee
+ type: string
+ callee_number_type:
+ description: Type of callee's number. 1 - internal | 2 - external
+ type: string
+ caller_name:
+ description: Contact name of caller
+ type: string
+ caller_number:
+ description: Number of caller
+ type: string
+ caller_number_type:
+ description: Type of caller's number. 1 - internal | 2 - external
+ type: string
+ charge:
+ description: Billing charge for the call.
+ type: string
+ client_code:
+ description: Client code.
+ type: string
+ date_time:
+ description: Start time of the call
+ type: string
+ direction:
+ description: Direction of the call. "inbound" | "outbound"
+ type: string
+ duration:
+ description: Duration of the call in seconds.
+ type: integer
+ id:
+ description: Call Log ID
+ type: string
+ owner:
+ properties:
+ extension_number:
+ description: The owner's extension number.
+ type: integer
+ id:
+ description: The owner ID.
+ type: string
+ name:
+ description: The owner name.
+ type: string
+ type:
+ description: |-
+ The owner type:
+ *`user`
+ *`callQueue`
+ *`autoReceptionist`
+ *`commonAreaPhone`
+ *`sharedLineGroup`
+ enum:
+ - user
+ - callQueue
+ - autoReceptionist
+ - commonAreaPhone
+ - sharedLineGroup
+ type: string
+ type: object
+ path:
+ description: "Path of the call. "
+ type: string
+ rate:
+ description: Billing rate for the call.
+ type: string
+ recording_id:
+ description: Unique identifier of the call recording.
+ type: string
+ recording_type:
+ description: |-
+ Type of call recording:
+ `1` OnDemand
+ `2` Automatic
+ enum:
+ - 1
+ - 2
+ type: string
+ result:
+ description: Result of the call. "call_connected" | "recorded" | "no_answer"
+ type: string
+ site:
+ properties:
+ id:
+ description: Target [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) in which the phone number was assigned. Sites allow you to organize the phone users in your organization. For example, you sites could be created based on different office locations.
+ type: string
+ name:
+ description: Name of the site where the phone number is assigned.
+ type: string
+ type: object
+ user_id:
+ description: User ID of the call log owner.
+ type: string
+ waiting_time:
+ description: "Duration that a **call queue member** takes to answer a call from the time it started ringing. The value of the duration is in seconds.
+
+ \t\t\t"
+ type: string
+ type: object
+ type: array
+ from:
+ description: Date from which you would like to view the logs.
+ type: string
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: Total number of pages
+ type: integer
+ page_size:
+ description: The number of records returned within a single API call for each page.
+ type: integer
+ to:
+ description: Date up to which you would like to view the phone log.
+ type: string
+ total_records:
+ description: The total number of records returned.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ description: Account Call Logs
+ properties:
+ call_logs:
+ description: Call Log
+ items:
+ properties:
+ answer_start_time:
+ description: "GMT date and time at which the inbound call was answered. The value of this field is in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.
+
+ \t\t"
+ format: date-time
+ type: string
+ call_id:
+ description: Unique identifier of the phone call.
+ type: string
+ call_type:
+ description: |-
+ The type of call:
+ *`voip` (Voice over IP)
+ *`pstn` (Public Switched Telephone Network)
+ *`tollfree`
+ *`international`
+ *`contactCenter`
+ enum:
+ - voip
+ - pstn
+ - tollfree
+ - international
+ - contactCenter
+ type: string
+ callee_name:
+ description: Contact name of callee
+ type: string
+ callee_number:
+ description: Number of callee
+ type: string
+ callee_number_type:
+ description: Type of callee's number. 1 - internal | 2 - external
+ type: string
+ caller_name:
+ description: Contact name of caller
+ type: string
+ caller_number:
+ description: Number of caller
+ type: string
+ caller_number_type:
+ description: Type of caller's number. 1 - internal | 2 - external
+ type: string
+ charge:
+ description: Billing charge for the call.
+ type: string
+ client_code:
+ description: Client code.
+ type: string
+ date_time:
+ description: Start time of the call
+ type: string
+ direction:
+ description: Direction of the call. "inbound" | "outbound"
+ type: string
+ duration:
+ description: Duration of the call in seconds.
+ type: integer
+ id:
+ description: Call Log ID
+ type: string
+ owner:
+ properties:
+ extension_number:
+ description: The owner's extension number.
+ type: integer
+ id:
+ description: The owner ID.
+ type: string
+ name:
+ description: The owner name.
+ type: string
+ type:
+ description: |-
+ The owner type:
+ *`user`
+ *`callQueue`
+ *`autoReceptionist`
+ *`commonAreaPhone`
+ *`sharedLineGroup`
+ enum:
+ - user
+ - callQueue
+ - autoReceptionist
+ - commonAreaPhone
+ - sharedLineGroup
+ type: string
+ type: object
+ path:
+ description: "Path of the call. "
+ type: string
+ rate:
+ description: Billing rate for the call.
+ type: string
+ recording_id:
+ description: Unique identifier of the call recording.
+ type: string
+ recording_type:
+ description: |-
+ Type of call recording:
+ `1` OnDemand
+ `2` Automatic
+ enum:
+ - 1
+ - 2
+ type: string
+ result:
+ description: Result of the call. "call_connected" | "recorded" | "no_answer"
+ type: string
+ site:
+ properties:
+ id:
+ description: Target [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) in which the phone number was assigned. Sites allow you to organize the phone users in your organization. For example, you sites could be created based on different office locations.
+ type: string
+ name:
+ description: Name of the site where the phone number is assigned.
+ type: string
+ type: object
+ user_id:
+ description: User ID of the call log owner.
+ type: string
+ waiting_time:
+ description: "Duration that a **call queue member** takes to answer a call from the time it started ringing. The value of the duration is in seconds.
+
+ \t\t\t"
+ type: string
+ type: object
+ type: array
+ from:
+ description: Date from which you would like to view the logs.
+ type: string
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: Total number of pages
+ type: integer
+ page_size:
+ description: The number of records returned within a single API call for each page.
+ type: integer
+ to:
+ description: Date up to which you would like to view the phone log.
+ type: string
+ total_records:
+ description: The total number of records returned.
+ type: integer
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Account's call logs returned.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code:** `3001`
+ Error retrieving call logs.
+ security:
+ - OAuth: []
+ summary: Get account's call logs
+ tags:
+ - Phone
+ "/phone/call_logs/{callLogId}":
+ parameters:
+ - in: path
+ name: callLogId
+ required: true
+ schema:
+ type: string
+ /phone/call_queues:
+ get:
+ description: |
+ Call queues allow you to route incoming calls to a group of users. For instance, you can use call queues to route calls to various departments in your organization such as sales, engineering, billing, customer service etc. Use this API to list Call queues.
+ **Prerequisites:**
+ * Pro, Business, or Education account
+ * Account owner or admin permissions
+ * Zoom Phone license
+ **Scopes:** `phone:read:admin`
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: listCallQueues
+ parameters:
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: The number of records returned from a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 100
+ type: integer
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ call_queues:
+ - extension_number: 1011
+ id: gdfgd4fg
+ name: My test call queue
+ phone_numbers:
+ - id: "01"
+ number: "875489"
+ source: internal
+ site:
+ id: vCESddfg_ixWA
+ name: Main Site
+ status: active
+ next_page_token: nisidfyolore
+ page_size: 1
+ total_records: 1
+ schema:
+ properties:
+ call_queues:
+ items:
+ properties:
+ extension_number:
+ description: Extension number assigned to the queue.
+ type: integer
+ id:
+ description: Unique Identifier of the Call Queue.
+ type: string
+ name:
+ description: Name of the Call Queue.
+ type: string
+ phone_numbers:
+ description: Phone number(s) assigned to the call queue.
+ items:
+ properties:
+ id:
+ description: Unique Identifier of the Phone number assigned.
+ type: string
+ number:
+ description: Phone number.
+ type: string
+ source:
+ description: Source
+ enum:
+ - internal
+ - external
+ type: string
+ type: object
+ type: array
+ site:
+ properties:
+ id:
+ description: "Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) where the Call Queue is assigned. "
+ type: string
+ name:
+ description: Name of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites).
+ type: string
+ type: object
+ status:
+ description: "Status of the Call Queue. `active`: Call queue is enabled and active. `inactive`: Call queue is inactive. Inactive call queues cannot be called but will retain its settings and appear in the [Call Queues](https://zoom.us/pbx/page/telephone/groups#/groups) page."
+ enum:
+ - active
+ - inactive
+ type: string
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: The number of records returned from a single API call.
+ maximum: 100
+ type: integer
+ total_records:
+ description: The total number of records found for this query.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ call_queues:
+ items:
+ properties:
+ extension_number:
+ description: Extension number assigned to the queue.
+ type: integer
+ id:
+ description: Unique Identifier of the Call Queue.
+ type: string
+ name:
+ description: Name of the Call Queue.
+ type: string
+ phone_numbers:
+ description: Phone number(s) assigned to the call queue.
+ items:
+ properties:
+ id:
+ description: Unique Identifier of the Phone number assigned.
+ type: string
+ number:
+ description: Phone number.
+ type: string
+ source:
+ description: Source
+ enum:
+ - internal
+ - external
+ type: string
+ type: object
+ type: array
+ site:
+ properties:
+ id:
+ description: "Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) where the Call Queue is assigned. "
+ type: string
+ name:
+ description: Name of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites).
+ type: string
+ type: object
+ status:
+ description: "Status of the Call Queue. `active`: Call queue is enabled and active. `inactive`: Call queue is inactive. Inactive call queues cannot be called but will retain its settings and appear in the [Call Queues](https://zoom.us/pbx/page/telephone/groups#/groups) page."
+ enum:
+ - active
+ - inactive
+ type: string
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: The number of records returned from a single API call.
+ maximum: 100
+ type: integer
+ total_records:
+ description: The total number of records found for this query.
+ type: integer
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ Call Queues listed successfully.
+ security:
+ - OAuth: []
+ summary: List call queues
+ tags:
+ - Phone Call Queues
+ post:
+ description: |-
+ Call queues allow you to route incoming calls to a group of users. For instance, you can use call queues to route calls to various departments in your organization such as sales, engineering, billing, customer service etc. Use this API to [create a call queue](https://support.zoom.us/hc/en-us/articles/360021524831-Managing-Call-Queues#h_e81faeeb-9184-429a-aaea-df49ff5ff413). You can add phone users or common area phones to call queues.
+
+ **Prerequisites:**
+ * Pro, Business, or Education account
+ * Account owner or admin permissions
+ * Zoom Phone license
+ **Scopes:** `phone:write:admin`
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: createCallQueue
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ description:
+ description: Description for the Call Queue.
+ maxLength: 32
+ type: string
+ extension_number:
+ description: |-
+ Phone extension number for the site.
+
+ If a site code has been [assigned](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites#h_79ca9c8f-c97b-4486-aa59-d0d9d31a525b) to the site, provide the short extension number instead of the original extension number..
+ type: integer
+ members:
+ description: A list of one or more phone users to be included in the call queue. Provide either users or common area phone(s). Provide at least one user in the users object.
+ properties:
+ common_area_phone_ids:
+ description: |-
+ **Optional**
+ Unique identifier of the [Common Area Phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones). This can be retrieved from the List Common Area Phones API.
+ items:
+ type: string
+ type: array
+ users:
+ description: Users object. Provide either the id (userId) field or the email address of the user.
+ items:
+ properties:
+ email:
+ description: Email address of the user. This can be retrieved from the [List Users](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/users) API.
+ format: email
+ type: string
+ id:
+ description: User Id of the user. This can be retrieved from the [List Users](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/users) API.
+ type: string
+ type: object
+ type: array
+ type: object
+ name:
+ description: Name of the Call Queue.
+ maxLength: 32
+ minLength: 1
+ type: string
+ site_id:
+ description: Unique identifier of the site. Required only if [multiple sites](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) have been enabled. This can be retrieved from the [List Phone Sites](https://marketplace.zoom.us/docs/api-reference/zoom-api/phone-site/listphonesites) API.
+ type: string
+ required:
+ - site_id
+ - name
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ description:
+ description: Description for the Call Queue.
+ maxLength: 32
+ type: string
+ extension_number:
+ description: |-
+ Phone extension number for the site.
+
+ If a site code has been [assigned](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites#h_79ca9c8f-c97b-4486-aa59-d0d9d31a525b) to the site, provide the short extension number instead of the original extension number..
+ type: integer
+ members:
+ description: A list of one or more phone users to be included in the call queue. Provide either users or common area phone(s). Provide at least one user in the users object.
+ properties:
+ common_area_phone_ids:
+ description: |-
+ **Optional**
+ Unique identifier of the [Common Area Phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones). This can be retrieved from the List Common Area Phones API.
+ items:
+ type: string
+ type: array
+ users:
+ description: Users object. Provide either the id (userId) field or the email address of the user.
+ items:
+ properties:
+ email:
+ description: Email address of the user. This can be retrieved from the [List Users](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/users) API.
+ format: email
+ type: string
+ id:
+ description: User Id of the user. This can be retrieved from the [List Users](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/users) API.
+ type: string
+ type: object
+ type: array
+ type: object
+ name:
+ description: Name of the Call Queue.
+ maxLength: 32
+ minLength: 1
+ type: string
+ site_id:
+ description: Unique identifier of the site. Required only if [multiple sites](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) have been enabled. This can be retrieved from the [List Phone Sites](https://marketplace.zoom.us/docs/api-reference/zoom-api/phone-site/listphonesites) API.
+ type: string
+ required:
+ - site_id
+ - name
+ type: object
+ x-examples:
+ application/json:
+ description: testtest
+ extension_number: 201
+ members:
+ users:
+ - email: sdksfbdg@enker.m
+ name: testing123
+ site_id: CESEpjWwT-upVH7kt_ixWA
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ extension_number: 10201
+ id: SujgNzKq-w
+ name: testing123
+ status: active
+ schema:
+ properties:
+ extension_number:
+ description: Extension number assigned for the Call Queue.
+ type: integer
+ id:
+ description: Unique Identifier of the Call Queue.
+ type: string
+ name:
+ description: Name of the Call Queue.
+ type: string
+ status:
+ description: |-
+ Status of the Call Queue.
+ `active`: Call queue is enabled and active.
+ `inactive`: Call queue is inactive. Inactive call queues cannot be called but will retain its settings and appear in the [Call Queues](https://zoom.us/pbx/page/telephone/groups#/groups) page.
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ extension_number:
+ description: Extension number assigned for the Call Queue.
+ type: integer
+ id:
+ description: Unique Identifier of the Call Queue.
+ type: string
+ name:
+ description: Name of the Call Queue.
+ type: string
+ status:
+ description: |-
+ Status of the Call Queue.
+ `active`: Call queue is enabled and active.
+ `inactive`: Call queue is inactive. Inactive call queues cannot be called but will retain its settings and appear in the [Call Queues](https://zoom.us/pbx/page/telephone/groups#/groups) page.
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `201` **Created**
+ Call Queue created successfully.
+ "400":
+ description: |+
+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300`
+ Validation Failed.
+ Multiple Site is disabled.
+ Site does not exist. {extensionNumber} is out of range Exceeded the maximum number to add members per time
+ **Error Code:** `400` Invalid short number length. Extension number {extensionNumber} is already used.
+ **Error Code:** `412` The maximum number of Call Queue members is up to {maxSize}.
+
+
+ "404":
+ description: |
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User not found: {userId}
+ security:
+ - OAuth: []
+ summary: Create a call queue
+ tags:
+ - Phone Call Queues
+ "/phone/call_queues/{callQueueId}":
+ delete:
+ description: |+
+ Call queues allow you to route incoming calls to a group of users. For instance, you can use call queues to route calls to various departments in your organization such as sales, engineering, billing, customer service etc. Use this API to delete a Call Queue.
+ **Prerequisites:**
+ * Pro, Business, or Education account
+ * Account owner or admin permissions
+ * Zoom Phone license
+ **Scopes:** `phone:write:admin`
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: deleteACallQueue
+ parameters:
+ - description: Unique Identifier of the call queue.
+ in: path
+ name: callQueueId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Call Queue deleted successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `400`
+ The group does not exist, groupId:{callQueueId}.
+ security:
+ - OAuth: []
+ summary: Delete a call queue
+ tags:
+ - Phone Call Queues
+ get:
+ description: |-
+ Call queues allow you to route incoming calls to a group of users. For instance, you can use call queues to route calls to various departments in your organization such as sales, engineering, billing, customer service etc. Use this API to get information on a specific Call Queue.
+ **Prerequisites:**
+ * Pro, Business, or Education account
+ * Account owner or admin permissions
+ * Zoom Phone license
+ **Scopes:** `phone:read:admin`
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: getACallQueue
+ parameters:
+ - description: Unique Identifier of the Call Queue. This can be retrieved from [List Call Queues API](https://marketplace.zoom.us/docs/api-reference/zoom-api/phone-call-queues/listcallqueues).
+ in: path
+ name: callQueueId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ extension_number: 10001
+ id: jIfhghXFA
+ members:
+ users:
+ - id: z8hfgh8uQ
+ level: manager
+ name: Lisa Yankowski
+ receive_call: true
+ name: Test-Callqueue
+ site:
+ id: CcvcvnWA
+ name: Main Site
+ status: active
+ schema:
+ properties:
+ extension_number:
+ description: Extension number assigned to the Call Queue.
+ type: integer
+ id:
+ description: Unique Identifier of the Call Queue.
+ type: string
+ members:
+ properties:
+ common_area_phones:
+ items:
+ properties:
+ id:
+ description: Unique Identifier of the [Common Area Phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones).
+ type: string
+ name:
+ description: Name of the [Common Area Phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones).
+ type: string
+ type: object
+ type: array
+ users:
+ items:
+ properties:
+ id:
+ description: "User ID: Unique Identifier of the user."
+ type: string
+ level:
+ description: |-
+ Level of the user. The value can be one of the following:
+ `manager`: A call queue manager has the privilege to change call queue settings, policy settings and manage recordings and voicemail inbox. There can only be one manager for each call queue.
+ `user`: Regular user without the privileges of a manager.
+ enum:
+ - manager
+ - user
+ type: string
+ name:
+ description: Name of the user.
+ type: string
+ receive_call:
+ description: Determines whether the user can receive calls or not.
+ type: boolean
+ type: object
+ type: array
+ type: object
+ name:
+ description: Name of the Call Queue.
+ type: string
+ phone_numbers:
+ items:
+ properties:
+ id:
+ description: Unique Identifier of the number.
+ type: string
+ number:
+ description: Phone number.
+ type: string
+ source:
+ description: Source
+ enum:
+ - internal
+ - external
+ type: string
+ type: object
+ type: array
+ site:
+ properties:
+ id:
+ description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) where the Call Queue is assigned.
+ type: string
+ name:
+ description: Name of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites).
+ type: string
+ type: object
+ status:
+ description: Status of the Call Queue.
+ enum:
+ - active
+ - inactive
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ extension_number:
+ description: Extension number assigned to the Call Queue.
+ type: integer
+ id:
+ description: Unique Identifier of the Call Queue.
+ type: string
+ members:
+ properties:
+ common_area_phones:
+ items:
+ properties:
+ id:
+ description: Unique Identifier of the [Common Area Phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones).
+ type: string
+ name:
+ description: Name of the [Common Area Phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones).
+ type: string
+ type: object
+ type: array
+ users:
+ items:
+ properties:
+ id:
+ description: "User ID: Unique Identifier of the user."
+ type: string
+ level:
+ description: |-
+ Level of the user. The value can be one of the following:
+ `manager`: A call queue manager has the privilege to change call queue settings, policy settings and manage recordings and voicemail inbox. There can only be one manager for each call queue.
+ `user`: Regular user without the privileges of a manager.
+ enum:
+ - manager
+ - user
+ type: string
+ name:
+ description: Name of the user.
+ type: string
+ receive_call:
+ description: Determines whether the user can receive calls or not.
+ type: boolean
+ type: object
+ type: array
+ type: object
+ name:
+ description: Name of the Call Queue.
+ type: string
+ phone_numbers:
+ items:
+ properties:
+ id:
+ description: Unique Identifier of the number.
+ type: string
+ number:
+ description: Phone number.
+ type: string
+ source:
+ description: Source
+ enum:
+ - internal
+ - external
+ type: string
+ type: object
+ type: array
+ site:
+ properties:
+ id:
+ description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) where the Call Queue is assigned.
+ type: string
+ name:
+ description: Name of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites).
+ type: string
+ type: object
+ status:
+ description: Status of the Call Queue.
+ enum:
+ - active
+ - inactive
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ Call Queue details retrieved successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `400`
+ The group does not exist, groupId:{callQueueId}.
+ security:
+ - OAuth: []
+ summary: Get call queue details
+ tags:
+ - Phone Call Queues
+ parameters:
+ - in: path
+ name: callQueueId
+ required: true
+ schema:
+ type: string
+ patch:
+ description: |
+ Call queues allow you to route incoming calls to a group of users. For instance, you can use call queues to route calls to various departments in your organization such as sales, engineering, billing, customer service etc. Use this API to update information of a specific Call Queue.
+ **Prerequisites:**
+ * Pro, Business, or Education account
+ * Account owner or admin permissions
+ * Zoom Phone license
+ **Scopes:** `phone:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: updateCallQueue
+ parameters:
+ - description: Unique Identifier of the Call Queue.
+ in: path
+ name: callQueueId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ description:
+ description: Description for the Call Queue.
+ maxLength: 32
+ type: string
+ extension_number:
+ description: |-
+ Phone extension number for the site.
+
+ If a site code has been [assigned](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites#h_79ca9c8f-c97b-4486-aa59-d0d9d31a525b) to the site, provide the short extension number instead of the original extension number.
+ type: integer
+ name:
+ description: Name of the Call Queue.
+ maxLength: 32
+ type: string
+ site_id:
+ description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) where the Call Queue is assigned.
+ type: string
+ status:
+ description: |-
+ Status of the Call Queue. Allowed values:
+ `active`
+ `inactive`
+ enum:
+ - active
+ - inactive
+ type: string
+ timezone:
+ description: "[Timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) of the Call Queue."
+ type: string
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ description:
+ description: Description for the Call Queue.
+ maxLength: 32
+ type: string
+ extension_number:
+ description: |-
+ Phone extension number for the site.
+
+ If a site code has been [assigned](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites#h_79ca9c8f-c97b-4486-aa59-d0d9d31a525b) to the site, provide the short extension number instead of the original extension number.
+ type: integer
+ name:
+ description: Name of the Call Queue.
+ maxLength: 32
+ type: string
+ site_id:
+ description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) where the Call Queue is assigned.
+ type: string
+ status:
+ description: |-
+ Status of the Call Queue. Allowed values:
+ `active`
+ `inactive`
+ enum:
+ - active
+ - inactive
+ type: string
+ timezone:
+ description: "[Timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) of the Call Queue."
+ type: string
+ type: object
+ x-examples:
+ application/json:
+ description: Sales Call Queue
+ extension_number: 72860194
+ name: Sales
+ site_id: gdfgfdg11m
+ status: active
+ timezone: America/New_York
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Call Queue details updated successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300`
+ Validation Failed. The group does not exist, groupId:{groupId}
+ Timezone not found in the system.
+ **Error Code:** `400`
+ Unable to update this call queue as it is used for internal safety response team.
+ security:
+ - OAuth: []
+ summary: Update call queue details
+ tags:
+ - Phone Call Queues
+ "/phone/call_queues/{callQueueId}/manager":
+ parameters:
+ - in: path
+ name: callQueueId
+ required: true
+ schema:
+ type: string
+ put:
+ description: |+
+ A call queue manager has the privileges to maanage the call queue's voicemail inbox and recordings, change all call queue settings and call queue policy settings.
Use this API to to set another phone user as the [call queue manager](https://support.zoom.us/hc/en-us/articles/360021524831-Managing-Call-Queues#h_db06854b-e6a3-4afe-ba15-baf58f31f90c).
+ **Prerequisites:**
+ * Pro or higher account plan.
+ * Account owner or admin permissions
+ * Zoom Phone license
+ **Scopes:** `phone:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: changeCallQueueManager
+ parameters:
+ - description: Unique Identifier of the Call Queue.
+ in: path
+ name: callQueueId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ member_id:
+ description: Unique Identifier (userId) or email address of the user who will be the new call queue manager.
+ type: string
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ member_id:
+ description: Unique Identifier (userId) or email address of the user who will be the new call queue manager.
+ type: string
+ type: object
+ x-examples:
+ application/json:
+ member_id: dfjdsf@sdjdf.dfhjdf
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Call queue manager changed successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300`
+ Validation Failed. The group does not exist, groupId:{callQueueId}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User not found: {userId}
+ security:
+ - OAuth: []
+ summary: Change call queue manager
+ tags:
+ - Phone Call Queues
+ "/phone/call_queues/{callQueueId}/members":
+ delete:
+ description: |-
+ Use this API to remove all members from a Call Queue who were previously assigned to that Call Queue. The members could be phone users or [common area phones](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones).
+ **Prerequisites:**
+ * Pro or higher account plan.
+ * Zoom Phone license
+ **Scopes:** `phone:write:admin`
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: unassignAllMembers
+ parameters:
+ - in: path
+ name: callQueueId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Member unassigned successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300`
+ Validation Failed. The group does not exist, groupId:{callQueueId}.
+ security:
+ - OAuth: []
+ summary: Unassign all members
+ tags:
+ - Phone Call Queues
+ parameters:
+ - in: path
+ name: callQueueId
+ required: true
+ schema:
+ type: string
+ post:
+ description: |-
+ Add phone users and/or [common area phones](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones) as members to a specific Call Queue.
+ **Prerequisites:**
+ * Pro or higher account plan.
+ * Zoom Phone license
+ **Scopes:** `phone:write:admin`
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: addMembersToCallQueue
+ parameters:
+ - description: Unique Identifier of the Call Queue.
+ in: path
+ name: callQueueId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ members:
+ description: A maximum of 10 members can be added at a time.
+ properties:
+ common_area_phone_ids:
+ description: Array of one or more Common Area Phone Ids of the Common Area Phone(s) that you would like to add to the Call Queue.
+ items:
+ type: string
+ type: array
+ users:
+ items:
+ properties:
+ email:
+ description: Email address of the user.
+ format: email
+ type: string
+ id:
+ description: "User ID: Unique Identifier of the user."
+ type: string
+ type: object
+ type: array
+ type: object
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ members:
+ description: A maximum of 10 members can be added at a time.
+ properties:
+ common_area_phone_ids:
+ description: Array of one or more Common Area Phone Ids of the Common Area Phone(s) that you would like to add to the Call Queue.
+ items:
+ type: string
+ type: array
+ users:
+ items:
+ properties:
+ email:
+ description: Email address of the user.
+ format: email
+ type: string
+ id:
+ description: "User ID: Unique Identifier of the user."
+ type: string
+ type: object
+ type: array
+ type: object
+ type: object
+ x-examples:
+ application/json: |-
+ {
+ "members": {
+ "users": [
+ {
+ "id": "dkjfdjghdfg",
+ "email": "ge9ru@fghdf.fdg"
+ }
+ ],
+ "common_area_phone_ids": "["1234455", "13232434"]"
+ }
+ }
+ responses:
+ "201":
+ content:
+ application/json:
+ schema:
+ properties: {}
+ type: object
+ application/xml:
+ schema:
+ properties: {}
+ type: object
+ description: |-
+ **HTTP Status Code:** `201` **Created**
+ Members added successfully.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300`
+ Validation Failed. The group does not exist, groupId:{callQueueId}.
+ Exceeded the maximum number to add members per time.
+ **Error Code:** `412`
+ The maximum number of Call Queue members is up to {maxSize}.
+
+
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User not found: {userId}.
+ security:
+ - OAuth: []
+ summary: Add members to a call queue
+ tags:
+ - Phone Call Queues
+ "/phone/call_queues/{callQueueId}/members/{memberId}":
+ delete:
+ description: |+
+ Use this API to remove a member from a Call Queue who was previously added to that Call Queue. The member could be a phone user or a [common area phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones). A member who is a Call Queue Manager cannot be unassigned from the Call Queue using this API.
+ **Prerequisites:**
+ * Pro or higher account plan.
+ * Zoom Phone license
+ **Scopes:** `phone:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: unassignMemberFromCallQueue
+ parameters:
+ - description: Unique Identifier of the Call Queue from which the member needs to be unassigned.
+ in: path
+ name: callQueueId
+ required: true
+ schema:
+ type: string
+ - description: Unique Identifier of the member who needs to be unassigned.
+ in: path
+ name: memberId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Member unassigned successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300`
+ Validation Failed. The group does not exist, groupId:{callQueueId}.
+ **Error Code:** `400` Unable to delete manager
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ Unable to find group member
+ security:
+ - OAuth: []
+ summary: Unassign a member
+ tags:
+ - Phone Call Queues
+ parameters:
+ - in: path
+ name: callQueueId
+ required: true
+ schema:
+ type: string
+ - in: path
+ name: memberId
+ required: true
+ schema:
+ type: string
+ "/phone/call_queues/{callQueueId}/phone_numbers":
+ delete:
+ description: |+
+ Use this API to unbind all phone numbers that are assigned to a [Call Queue](https://support.zoom.us/hc/en-us/articles/360021524831-Managing-Call-Queues) After successful unbinding, the numbers will appear in the [Unassigned tab](https://zoom.us/signin#/numbers/unassigned). If you only need to unassign a specific phone number, use the Unassign a Phone Number API instead.
+ **Prerequisites:**
+ * Pro or higher account palan
+ * Account owner or admin permissions
+ * Zoom Phone license **Scopes:** `phone:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: unassignAPhoneNumCallQueue
+ parameters:
+ - description: Unique Identifier of the Call Queue. This can be retrieved from List Call Queues API.
+ in: path
+ name: callQueueId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ schema:
+ properties: {}
+ type: object
+ application/xml:
+ schema:
+ properties: {}
+ type: object
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Phone numbers unassigned successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300`
+ Validation Failed. The group does not exist, groupId:{callQueueId}
+ security:
+ - OAuth: []
+ summary: Unassign all phone numbers
+ tags:
+ - Phone Call Queues
+ parameters:
+ - in: path
+ name: callQueueId
+ required: true
+ schema:
+ type: string
+ post:
+ description: |+
+ After [buying phone number(s)](https://support.zoom.us/hc/en-us/articles/360020808292#h_007ec8c2-0914-4265-8351-96ab23efa3ad), you can assign it, allowing callers to directly dial a number to reach a [call queue](https://support.zoom.us/hc/en-us/articles/360021524831-Managing-Call-Queues).
+ **Prerequisites:**
+ * Pro or higher account plan.
+ * Account owner or admin permissions
+ * Zoom Phone license
+ **Scopes:** `phone:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: assignPhoneToCallQueue
+ parameters:
+ - description: Unique Identifier of the Call Queue.
+ in: path
+ name: callQueueId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ phone_numbers:
+ description: Provide either the `id` or the `number` field. Only a max of 5 numbers can be assigned to a call queue at a time.
+ items:
+ properties:
+ id:
+ description: Unique Identifier of the phone number.
+ type: string
+ number:
+ description: Phone number.
+ type: string
+ type: object
+ type: array
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ phone_numbers:
+ description: Provide either the `id` or the `number` field. Only a max of 5 numbers can be assigned to a call queue at a time.
+ items:
+ properties:
+ id:
+ description: Unique Identifier of the phone number.
+ type: string
+ number:
+ description: Phone number.
+ type: string
+ type: object
+ type: array
+ type: object
+ x-examples:
+ application/json:
+ phone_numbers:
+ - id: lgdfgrdg
+ number: "12234556"
+ responses:
+ "204":
+ content:
+ application/json:
+ schema:
+ properties: {}
+ type: object
+ application/xml:
+ schema:
+ properties: {}
+ type: object
+ description: |
+ **HTTP Status Code:** `204` **No Content**
+ security:
+ - OAuth: []
+ summary: Assign numbers to a call queue
+ tags:
+ - Phone Call Queues
+ "/phone/call_queues/{callQueueId}/phone_numbers/{phoneNumberId}":
+ delete:
+ description: |+
+ After assigning a phone number, you can unbind it if you don't want it to be assigned to a [Call Queue](https://support.zoom.us/hc/en-us/articles/360021524831-Managing-Call-Queues). Use this API to unbind a phone number from a Call Queue. After successful unbinding, the number will appear in the [Unassigned tab](https://zoom.us/signin#/numbers/unassigned).
+ **Prerequisites:**
+ * Pro or higher account palan
+ * Account owner or admin permissions
+ * Zoom Phone license **Scopes:** `phone:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: unAssignPhoneNumCallQueue
+ parameters:
+ - description: Unique Identifier of the Call Queue. This can be retrieved from the List Call Queues API.
+ in: path
+ name: callQueueId
+ required: true
+ schema:
+ type: string
+ - description: "Unique Identifier of the Phone Number. "
+ in: path
+ name: phoneNumberId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ schema:
+ properties: {}
+ type: object
+ application/xml:
+ schema:
+ properties: {}
+ type: object
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Phone Number unassigned successfuly.
+ "400":
+ description: |
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300`
+ Validation failed. The group does not exist, groupId:{callQueueId}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `404`
+ Phone number not belong to call queue.
+ security:
+ - OAuth: []
+ summary: Unassign a phone number
+ tags:
+ - Phone Call Queues
+ parameters:
+ - in: path
+ name: callQueueId
+ required: true
+ schema:
+ type: string
+ - in: path
+ name: phoneNumberId
+ required: true
+ schema:
+ type: string
+ "/phone/call_queues/{callQueueId}/recordings":
+ get:
+ description: |+
+ Use this API to view [call recordings](https://support.zoom.us/hc/en-us/articles/360038521091#h_cbc9f2a3-e06c-4daa-83d4-ddbceef9c77b) from the call queue.
+ **Prerequisites:**
+ * Pro or higher account with Zoom Phone license.
+ * [Automatic call recordings](https://support.zoom.us/hc/en-us/articles/360033511872#h_fcb297bb-14e8-4094-91ca-dc61e1a18734) must be enabled in the Policy Settings for call queues. **Scope:** `phone:read:admin` **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+
+
+
+ operationId: getCallQueueRecordings
+ parameters:
+ - description: Unique Identifier of the Call Queue.
+ in: path
+ name: callQueueId
+ required: true
+ schema:
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: Start date (within a 6 month range).
+ in: query
+ name: from
+ schema:
+ format: date
+ type: string
+ - description: End date (within a 6 month range).
+ in: query
+ name: to
+ schema:
+ format: date
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ next_page_token: fg4t65hy
+ page_size: 1
+ recordings:
+ - callee_name: dfhjdvf
+ callee_number: "900138752313210"
+ callee_number_type: internal
+ caller_name: idvdfdf
+ caller_number: "+900138732313213"
+ caller_number_type: internal
+ date_time: 2026-08-11
+ direction: outbound
+ download_url: sjhgkdfg.fdghfb/fdgfdg
+ duration: 20
+ id: dvfv5gg
+ total_records: 1
+ schema:
+ properties:
+ from:
+ description: Start date.
+ type: string
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: The number of records returned within a single API call.
+ type: integer
+ recordings:
+ items:
+ properties:
+ callee_name:
+ description: Contact name of the callee.
+ type: string
+ callee_number:
+ description: Name of the callee.
+ type: string
+ callee_number_type:
+ description: Phone number type of the callee. `1`- Internal `2`- External
+ type: string
+ caller_name:
+ description: Name of the caller.
+ type: string
+ caller_number:
+ description: Phone number of the caller.
+ type: string
+ caller_number_type:
+ description: Phone number type of the caller. `1`- Internal `2`- External
+ type: string
+ date_time:
+ description: Date of the recording.
+ format: date
+ type: string
+ direction:
+ description: Direction of call. The value of this field can be either `outbound` or `inbound`.
+ type: string
+ download_url:
+ description: URL using which the recording can be downloaded.
+ type: string
+ duration:
+ description: Duration of the call.
+ type: integer
+ id:
+ description: Unique Identifier of the recording.
+ type: string
+ type: object
+ type: array
+ to:
+ description: End date.
+ type: string
+ total_records:
+ description: The total number of records returned for this API call.
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ from:
+ description: Start date.
+ type: string
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: The number of records returned within a single API call.
+ type: integer
+ recordings:
+ items:
+ properties:
+ callee_name:
+ description: Contact name of the callee.
+ type: string
+ callee_number:
+ description: Name of the callee.
+ type: string
+ callee_number_type:
+ description: Phone number type of the callee. `1`- Internal `2`- External
+ type: string
+ caller_name:
+ description: Name of the caller.
+ type: string
+ caller_number:
+ description: Phone number of the caller.
+ type: string
+ caller_number_type:
+ description: Phone number type of the caller. `1`- Internal `2`- External
+ type: string
+ date_time:
+ description: Date of the recording.
+ format: date
+ type: string
+ direction:
+ description: Direction of call. The value of this field can be either `outbound` or `inbound`.
+ type: string
+ download_url:
+ description: URL using which the recording can be downloaded.
+ type: string
+ duration:
+ description: Duration of the call.
+ type: integer
+ id:
+ description: Unique Identifier of the recording.
+ type: string
+ type: object
+ type: array
+ to:
+ description: End date.
+ type: string
+ total_records:
+ description: The total number of records returned for this API call.
+ type: string
+ type: object
+ description: ""
+ summary: Get call queue recordings
+ tags:
+ - Phone Call Queues
+ parameters:
+ - in: path
+ name: callQueueId
+ required: true
+ schema:
+ type: string
+ /phone/calling_plans:
+ get:
+ description: |-
+ List all Zoom Phone [calling plans](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans) that are enabled for a Zoom account.
+ **Prerequisites:**
+ * Pro or a higher account with Zoom phone license.
+ **Scope:** `phone:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: listCallingPlans
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ calling_plans:
+ - assigned: 1
+ available: 9
+ name: US/Canada metered calling plan
+ subscribed: 10
+ type: 100
+ - assigned: 2
+ available: 2
+ name: Australia/New Zealand metered calling plan
+ subscribed: 4
+ type: 101
+ schema:
+ properties:
+ calling_plans:
+ items:
+ properties:
+ assigned:
+ description: Total number of plan used.
+ type: integer
+ available:
+ description: Remaining number of calling plans that can be assigned.
+ type: integer
+ name:
+ description: Name of the plan.
+ type: string
+ subscribed:
+ description: Total number of plan subscriptions bought.
+ type: integer
+ type:
+ description: Plan type. Refer to the Plan Number section [here](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans).
+ type: integer
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ properties:
+ calling_plans:
+ items:
+ properties:
+ assigned:
+ description: Total number of plan used.
+ type: integer
+ available:
+ description: Remaining number of calling plans that can be assigned.
+ type: integer
+ name:
+ description: Name of the plan.
+ type: string
+ subscribed:
+ description: Total number of plan subscriptions bought.
+ type: integer
+ type:
+ description: Plan type. Refer to the Plan Number section [here](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans).
+ type: integer
+ type: object
+ type: array
+ type: object
+ description: |
+ **HTTP Status Code:** `200` **OK**
+ Calling plans listed successfully.
+ security:
+ - OAuth: []
+ summary: List calling plans
+ tags:
+ - Phone
+ /phone/common_area_phones:
+ get:
+ description: |-
+ A common area phone can be provisioned by a Zoom account owner or a Zoom admin so that anyone in an organization can use it. For example, if your office has shared desks that don't belong to a specific employees, you could add a common area phone so that any person can use it. Use this API to [list all common area phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones) in an account.
**Prerequisites:**
+ * Pro or a higher account with Zoom Phone license.
+ * Account owner or admin permissions.
+ * [Supported device](https://support.zoom.us/hc/en-us/articles/360001299063-Zoom-Voice-Supported-Devices)
+ **Scope:** `phone:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: listCommonAreaPhones
+ parameters:
+ - description: The total number of records returned from a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 100
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ common_area_phones:
+ - calling_plans:
+ - name: string
+ type: string
+ device_type: string
+ display_name: string
+ id: string
+ mac_address: string
+ phone_numbers:
+ - id: string
+ number: string
+ source: string
+ site:
+ id: string
+ name: string
+ status: string
+ next_page_token: string
+ page_size: integer
+ total_records: integer
+ schema:
+ properties:
+ common_area_phones:
+ items:
+ properties:
+ calling_plans:
+ items:
+ properties:
+ name:
+ description: Plan name.
+ type: string
+ type:
+ description: "[Plan Number](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans)."
+ type: string
+ type: object
+ type: array
+ device_type:
+ description: Type of device (manufacturer name + model name). Refer to the table here for a list of [supported devices](https://marketplace.zoom.us/docs/api-reference/other-references/zoomphone-supporteddevice).
+ type: string
+ display_name:
+ description: Display name of the common area phone.
+ type: string
+ id:
+ description: Unique Identifier of the common area phone.
+ type: string
+ mac_address:
+ description: " Mac address or serial number."
+ type: string
+ phone_numbers:
+ items:
+ properties:
+ id:
+ description: Unique Identifier of the Phone number.
+ type: string
+ number:
+ description: Phone number.
+ type: string
+ source:
+ description: Phone number source. The value can be either `internal` or `external`.
+ enum:
+ - internal
+ - external
+ type: string
+ type: object
+ type: array
+ site:
+ properties:
+ id:
+ description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) to which the common area desk phone is assigned.
+ type: string
+ name:
+ description: Name of the site.
+ type: string
+ type: object
+ status:
+ description: Status of the common area phone. It can be either `online` or `offline`.
+ type: string
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: Total number of records returned from a single API call.
+ type: integer
+ total_records:
+ default: 30
+ description: Total number of records found for this query.
+ maximum: 100
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ common_area_phones:
+ items:
+ properties:
+ calling_plans:
+ items:
+ properties:
+ name:
+ description: Plan name.
+ type: string
+ type:
+ description: "[Plan Number](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans)."
+ type: string
+ type: object
+ type: array
+ device_type:
+ description: Type of device (manufacturer name + model name). Refer to the table here for a list of [supported devices](https://marketplace.zoom.us/docs/api-reference/other-references/zoomphone-supporteddevice).
+ type: string
+ display_name:
+ description: Display name of the common area phone.
+ type: string
+ id:
+ description: Unique Identifier of the common area phone.
+ type: string
+ mac_address:
+ description: " Mac address or serial number."
+ type: string
+ phone_numbers:
+ items:
+ properties:
+ id:
+ description: Unique Identifier of the Phone number.
+ type: string
+ number:
+ description: Phone number.
+ type: string
+ source:
+ description: Phone number source. The value can be either `internal` or `external`.
+ enum:
+ - internal
+ - external
+ type: string
+ type: object
+ type: array
+ site:
+ properties:
+ id:
+ description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) to which the common area desk phone is assigned.
+ type: string
+ name:
+ description: Name of the site.
+ type: string
+ type: object
+ status:
+ description: Status of the common area phone. It can be either `online` or `offline`.
+ type: string
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: Total number of records returned from a single API call.
+ type: integer
+ total_records:
+ default: 30
+ description: Total number of records found for this query.
+ maximum: 100
+ type: integer
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ List of Common Area Phones retrieved successfully.
+ security:
+ - OAuth: []
+ summary: List common area phones
+ tags:
+ - Common Area Phones
+ post:
+ description: |-
+ A common area phone can be provisioned by a Zoom account owner or a Zoom admin so that anyone in an organization can use it. For example, if your office has shared desks that don't belong to a specific employees, you could add a common area phone so that any person can use it. Use this API to [add a common area phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones#h_2d0da347-c35a-4993-9771-e21aaa568deb).
+ **Prerequisites:**
+ * Pro or a higher account with Zoom Phone license.
+ * Account owner or admin permissions.
+ * [Supported device](https://support.zoom.us/hc/en-us/articles/360001299063-Zoom-Voice-Supported-Devices)
+ **Scope:** `phone:write:admin`
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: addCommonAreaPhone
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ description:
+ description: Description for the common area phone.
+ type: string
+ display_name:
+ description: Display name of the Common area phone.
+ type: string
+ extension_number:
+ description: Extension number assigned to the common area phone. If site code is enabled, provide the short extension number instead.
+ type: integer
+ mac_address:
+ description: "Mac Address (serial number) of the common area desk phone. These examples show the formats supported: `64-16-7f-37-90-92` or `64167f379092`"
+ type: string
+ model:
+ description: Device Model name. Refer to the "Model Name" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/zoomphone-supporteddevice) table.
+ maxLength: 50
+ minLength: 1
+ type: string
+ site_id:
+ description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672). This can be retrieved from the [List Phone Sites](https://marketplace.zoom.us/docs/api-reference/zoom-api/phone-site/listphonesites) API.
+ type: string
+ time_zone:
+ description: "[Timezone ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists) for the common area phone."
+ type: string
+ type:
+ description: Phone device manufacturer name. Refer to the "Manufacturer Name" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/zoomphone-supporteddevice) table.
+ maxLength: 50
+ minLength: 1
+ type: string
+ required:
+ - display_name
+ - extension_number
+ - mac_address
+ - type
+ type: object
+ x-examples:
+ application/json: |-
+ {
+ "extension_number": 50978119,
+ "mac_address": "64-16-7f-37-90-92",
+ "type": "Cisco",
+ "site_id": "occaecat",
+ "display_name": "nulla cillum nisi ",
+ "description": "proident laborum",
+ "model": "cp8861",
+ "time_zone": "Pacific/Midway "
+ }
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ display_name: Common Area Phone - lobby
+ id: comfgfd45um
+ schema:
+ properties:
+ display_name:
+ description: Display name of the common area phone.
+ type: string
+ id:
+ description: Unique Identifier of the common area phone.
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ display_name:
+ description: Display name of the common area phone.
+ type: string
+ id:
+ description: Unique Identifier of the common area phone.
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `201` **Created**
+
+ Common area phone added successfully.
+ "400":
+ description: |
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300`
+ Validation failed.
+ * Phone manufacturer does not exist.
+ * Phone model does not exist.
+ * Phone manufacturer is not supported.
+ **Error Code:** `400`
+ The MAC Address is invalid.
+ "409":
+ description: |-
+ **HTTP Status Code:** `409`
+ **Error Code:** `409`
+ The MAC Address already exists in the system.
+ security:
+ - OAuth: []
+ summary: Add a common area phone
+ tags:
+ - Common Area Phones
+ "/phone/common_area_phones/{commonAreaPhoneId}":
+ delete:
+ description: |-
+ A common area phone can be provisioned by a Zoom account owner or a Zoom admin so that anyone in an organization can use it. For example, if your office has shared desks that don't belong to a specific employees, you could add a common area phone so that any person can use it. Use this API to remove the [common area phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones) from Zoom Phone System in an account.
**Prerequisites:**
+ * Pro or a higher account with Zoom Phone license.
+ * Account owner or admin permissions.
+ * [Supported device](https://support.zoom.us/hc/en-us/articles/360001299063-Zoom-Voice-Supported-Devices)
+ **Scopes:** `phone:write:admin`
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: deleteCommonAreaPhone
+ parameters:
+ - description: Unique Identifier of the common area phone.
+ in: path
+ name: commonAreaPhoneId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Common Area Phone deleted successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300`
+ Validation Failed
+ Device does not exist in the system.
+ security:
+ - OAuth: []
+ summary: Delete a common area phone
+ tags:
+ - Common Area Phones
+ get:
+ description: |-
+ A common area phone can be provisioned by a Zoom account owner or a Zoom admin so that anyone in an organization can use it. For example, if your office has shared desks that don't belong to a specific employees, you could add a common area phone so that any person can use it. Use this API to get details on a specific [common area phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones) in an account. For the `commonAreaPhoneId`, use the unique identifier or the Mac address of the common area phone. The Mac address can be hyphenated (00-04-f2-5e-ec-3c) or not hyphenated (0004f25eec3c).
**Prerequisites:**
+ * Pro or a higher account with Zoom Phone license.
+ * Account owner or admin permissions.
+ * [Supported device](https://support.zoom.us/hc/en-us/articles/360001299063-Zoom-Voice-Supported-Devices)
+ **Scopes:** `phone:read:admin`
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: getACommonAreaPhone
+ parameters:
+ - description: Unique Identifier of the Common Area Phone. Use the unique identifier or the Mac address of the common area phone. The Mac address can be hyphenated (00-04-f2-5e-ec-3c) or not hyphenated (0004f25eec3c). You can retrieved this from the [List Common Area Phones API](https://marketplace.zoom.us/docs/api-reference/zoom-api/common-area-phones/listcommonareaphones).
+ in: path
+ name: commonAreaPhoneId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ device_type: Cisco cp7821
+ display_name: testcommonareaphone
+ id: d6dfgdfgfdgiglw
+ mac_address: 105f11123456
+ provision:
+ sip_accounts:
+ - authorization_id: "1234567894"
+ outbound_proxy: abcd.zoom.us:1001
+ password: SomeRandomPasswordValue
+ sip_domain: abc.zoomcloudpbx.com
+ user_name: "71600000002730"
+ type: manual
+ site:
+ id: CEdfdfgdgixWA
+ name: Main Site
+ status: offline
+ schema:
+ properties:
+ device_type:
+ description: Type of device (manufacturer name + model name).
+ type: string
+ id:
+ description: Unique Identifier of the common area phone.
+ type: string
+ mac_address:
+ description: " Mac address or serial number."
+ type: string
+ name:
+ description: Display name of the common area phone.
+ type: string
+ provision:
+ description: Provisioning information of the common area phone.
+ properties:
+ sip_accounts:
+ description: "SIP Account details registered during the device provisioning process. This object will only be returned if manual provisioning was used for the device. "
+ items:
+ properties:
+ authorization_id:
+ description: Authorization ID of the SIP account provided in the provisioning process.
+ type: string
+ outbound_proxy:
+ description: Outbound proxy provided in the provisioning process.
+ type: string
+ password:
+ description: "Password entered during the provisioning process. "
+ type: string
+ sip_domain:
+ description: "SIP Domain provided in the provisioning process. \
+
+ \ "
+ type: string
+ user_name:
+ description: User name of the SIP account provided in the provisioning process.
+ type: string
+ type: object
+ type: array
+ type:
+ description: |+
+ [Provisioning type](https://support.zoom.us/hc/en-us/articles/360033223411). The value can be one of the following:
+
+ * `ztp` : Zero touch provisioning.
+ * `assisted`: Assisted provisioning.
+ * `manual`: Manual provisioning.
+
+ enum:
+ - assisted
+ - ztp
+ - manual
+ type: string
+ url:
+ description: Provisioning URL. This field will only be returned for devices that were provisioned via `assisted` provisioning type.
+ type: string
+ type: object
+ site:
+ properties:
+ id:
+ description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) to which the common area desk phone is assigned.
+ type: string
+ name:
+ description: Name of the site.
+ type: string
+ type: object
+ status:
+ description: Status of the common area phone. It can be either `online` or `offline`.
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ device_type:
+ description: Type of device (manufacturer name + model name).
+ type: string
+ id:
+ description: Unique Identifier of the common area phone.
+ type: string
+ mac_address:
+ description: " Mac address or serial number."
+ type: string
+ name:
+ description: Display name of the common area phone.
+ type: string
+ provision:
+ description: Provisioning information of the common area phone.
+ properties:
+ sip_accounts:
+ description: "SIP Account details registered during the device provisioning process. This object will only be returned if manual provisioning was used for the device. "
+ items:
+ properties:
+ authorization_id:
+ description: Authorization ID of the SIP account provided in the provisioning process.
+ type: string
+ outbound_proxy:
+ description: Outbound proxy provided in the provisioning process.
+ type: string
+ password:
+ description: "Password entered during the provisioning process. "
+ type: string
+ sip_domain:
+ description: "SIP Domain provided in the provisioning process. \
+
+ \ "
+ type: string
+ user_name:
+ description: User name of the SIP account provided in the provisioning process.
+ type: string
+ type: object
+ type: array
+ type:
+ description: |+
+ [Provisioning type](https://support.zoom.us/hc/en-us/articles/360033223411). The value can be one of the following:
+
+ * `ztp` : Zero touch provisioning.
+ * `assisted`: Assisted provisioning.
+ * `manual`: Manual provisioning.
+
+ enum:
+ - assisted
+ - ztp
+ - manual
+ type: string
+ url:
+ description: Provisioning URL. This field will only be returned for devices that were provisioned via `assisted` provisioning type.
+ type: string
+ type: object
+ site:
+ properties:
+ id:
+ description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) to which the common area desk phone is assigned.
+ type: string
+ name:
+ description: Name of the site.
+ type: string
+ type: object
+ status:
+ description: Status of the common area phone. It can be either `online` or `offline`.
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ Common Area Phone details returned successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `400`
+ Device does not exist in the system.
+ security:
+ - OAuth: []
+ summary: Get common area phone details
+ tags:
+ - Common Area Phones
+ parameters:
+ - in: path
+ name: commonAreaPhoneId
+ required: true
+ schema:
+ type: string
+ patch:
+ description: |-
+ A common area phone can be provisioned by a Zoom account owner or a Zoom admin so that anyone in an organization can use it. For example, if your office has shared desks that don't belong to a specific employees, you could add a common area phone so that any person can use it. Use this API to update details on a specific [common area phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones) in an account.
**Prerequisites:**
+ * Pro or a higher account with Zoom Phone license.
+ * Account owner or admin permissions.
+ * [Supported device](https://support.zoom.us/hc/en-us/articles/360001299063-Zoom-Voice-Supported-Devices)
+ **Scopes:** `phone:write:admin`
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: updateCommonAreaPhone
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ display_name:
+ description: Display name of the common area phone.
+ type: string
+ extension_number:
+ description: Extension number of the phone. If site code is enabled, provide short extension number instead.
+ type: integer
+ mac_address:
+ description: ' Mac address or serial number of the device. Examples of supported format: "64-16-7f-37-90-92" or "64167f379092".'
+ type: string
+ site_id:
+ description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) to which the common area desk phone is assigned.
+ type: string
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ display_name:
+ description: Display name of the common area phone.
+ type: string
+ extension_number:
+ description: Extension number of the phone. If site code is enabled, provide short extension number instead.
+ type: integer
+ mac_address:
+ description: ' Mac address or serial number of the device. Examples of supported format: "64-16-7f-37-90-92" or "64167f379092".'
+ type: string
+ site_id:
+ description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) to which the common area desk phone is assigned.
+ type: string
+ type: object
+ x-examples:
+ application/json:
+ display_name: Kitchen Phone
+ extension_number: 12345
+ mac_address: 641123f9092
+ site_id: Lodhhoyrn
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Common Area Phone information updated successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300`
+ Validation Failed. Device does not exist in the system.
+ security:
+ - OAuth: []
+ summary: Update common area phone
+ tags:
+ - Common Area Phones
+ /phone/company_number:
+ put:
+ description: |-
+ The [main company number](https://support.zoom.us/hc/en-us/articles/360028553691) can be used by external callers to reach your phone users (by dialing the main company number and the user's extension). It can also be used by phone users in your account as their caller ID while making calls.
Use this API to [change the main company number](https://support.zoom.us/hc/en-us/articles/360028553691#h_82414c34-9df2-428a-85a4-efcf7f9e0d72) of an account.
+ **Prerequisites:**
+ * Pro or higher account plan.
+ * Account owner or admin permissions
+ **Scopes:** `phone:write:admin`
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: changeMainCompanyNumber
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ phone_number:
+ description: "Provide either the unique identifier of the phone number (id) or the phone number itself in e164 format (e.g: +199955500123)."
+ type: string
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ phone_number:
+ description: "Provide either the unique identifier of the phone number (id) or the phone number itself in e164 format (e.g: +199955500123)."
+ type: string
+ type: object
+ x-examples:
+ application/json:
+ phone_number: "+1999555000123"
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Main company number updated successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `400`
+ Target phone number can not be set as main company number.
+ Unable to update this number as it is used for outbound caller ID to public safety answering point.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `404`
+ phoneNumber does not exist, phonenumberId:{phonenumberId}.
+ security:
+ - OAuth: []
+ summary: Change main company number
+ tags:
+ - Phone
+ /phone/devices:
+ get:
+ description: |-
+ List all the [desk phone devices](https://support.zoom.us/hc/en-us/articles/360021119092) that are configured with Zoom Phone on an account. To view devices that have not yet been assigned to a user, set the value of the `type` query parameter as `unassigned` and to view devices that have been assigned, set the value as `assigned`.
+ **Scopes:** `phone:read:admin`
+
+ **Prerequisites:**
+ * Pro or a higher account with Zoom Phone license
+ * Account owner or admin permissions
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: listPhoneDevices
+ parameters:
+ - description: State of the device. The value should be either `assigned` to list devices that have been assigned to user(s) or `unassigned` to list devices that have not yet been assigned to any user in the Zoom account.
+ in: query
+ name: type
+ required: true
+ schema:
+ enum:
+ - assigned
+ - unassigned
+ type: string
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ devices:
+ - assignee:
+ extension_number: 123
+ id: i242djsgrg
+ name: Pooja
+ device_type: AudioCodes405
+ display_name: Pooja's Phone
+ id: "1234324"
+ mac_address: 203a07240534
+ site:
+ id: sdfdgdg32
+ name: HQ site
+ status: online
+ next_page_token: proident in o
+ page_size: 80839828
+ total_records: qui sunt esse
+ schema:
+ properties:
+ devices:
+ items:
+ properties:
+ assignee:
+ properties:
+ extension_number:
+ description: Extension number of the Zoom Phone used by the user.
+ type: integer
+ id:
+ description: User ID of the user to whom the device has been assigned.
+ type: string
+ name:
+ description: Name of the user.
+ type: string
+ type: object
+ device_type:
+ description: Includes manufacturer name and the model name.
+ type: string
+ display_name:
+ description: Display name of the device.
+ type: string
+ id:
+ description: Device ID - Unique Identifier of the Device.
+ type: string
+ mac_address:
+ description: MAC address or serial number of the device.
+ type: string
+ site:
+ properties:
+ id:
+ description: The [site](https://support.zoom.us/hc/en-us/articles/360020809672) of the phone user.
+ type: string
+ name:
+ description: Name of the [site](https://support.zoom.us/hc/en-us/articles/360020809672).
+ type: string
+ type: object
+ status:
+ description: Status of the device. The value is either `online` or `offline`.
+ enum:
+ - online
+ - offline
+ type: string
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: The number of records returned with a single API call.
+ type: integer
+ total_records:
+ description: The total number of records found for the query across all pages.
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ devices:
+ items:
+ properties:
+ assignee:
+ properties:
+ extension_number:
+ description: Extension number of the Zoom Phone used by the user.
+ type: integer
+ id:
+ description: User ID of the user to whom the device has been assigned.
+ type: string
+ name:
+ description: Name of the user.
+ type: string
+ type: object
+ device_type:
+ description: Includes manufacturer name and the model name.
+ type: string
+ display_name:
+ description: Display name of the device.
+ type: string
+ id:
+ description: Device ID - Unique Identifier of the Device.
+ type: string
+ mac_address:
+ description: MAC address or serial number of the device.
+ type: string
+ site:
+ properties:
+ id:
+ description: The [site](https://support.zoom.us/hc/en-us/articles/360020809672) of the phone user.
+ type: string
+ name:
+ description: Name of the [site](https://support.zoom.us/hc/en-us/articles/360020809672).
+ type: string
+ type: object
+ status:
+ description: Status of the device. The value is either `online` or `offline`.
+ enum:
+ - online
+ - offline
+ type: string
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: The number of records returned with a single API call.
+ type: integer
+ total_records:
+ description: The total number of records found for the query across all pages.
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Devices listed successfully.
+ security:
+ - OAuth: []
+ summary: List devices
+ tags:
+ - Phone Devices
+ post:
+ description: |-
+ By default, all Zoom Phone users can make and receive calls using the Zoom desktop and mobile applications. Additionally, if a desk phone is required, use this API to [add a desk phone and assign it](https://support.zoom.us/hc/en-us/articles/360021119092#h_5ca07504-68a8-4c3d-ad0e-c1d3594436da) to a user.
+
+ **Prerequisites:**
+ * Pro or a higher account with Zoom Phone license
+ * Account owner or admin permissions
+ * [Supported device](https://support.zoom.us/hc/en-us/articles/360001299063-Zoom-Voice-Supported-Devices)
+ **Scopes:** `phone:write:admin`
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: addPhoneDevice
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ assigned_to:
+ description: User ID or email address of the user to whom this device is to be assigned. The User ID and the email of the user can be retrieved using the [List Users](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/users) API.
+ type: string
+ display_name:
+ description: Display name of the desk phone.
+ maxLength: 255
+ type: string
+ mac_address:
+ description: |-
+ The MAC address of the desk phone.
+ Note: If you're using a wireless phone, enter the wired MAC address, not the wireless MAC address.
+ pattern: ^([0-9A-Fa-f]{2}[:-]?){5}([0-9A-Fa-f]{2})$
+ type: string
+ model:
+ description: Model name of the device.
+ maxLength: 50
+ type: string
+ type:
+ description: Manufacturer (brand) name of the device.
+ maxLength: 50
+ type: string
+ required:
+ - mac_address
+ - display_name
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ assigned_to:
+ description: User ID or email address of the user to whom this device is to be assigned. The User ID and the email of the user can be retrieved using the [List Users](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/users) API.
+ type: string
+ display_name:
+ description: Display name of the desk phone.
+ maxLength: 255
+ type: string
+ mac_address:
+ description: |-
+ The MAC address of the desk phone.
+ Note: If you're using a wireless phone, enter the wired MAC address, not the wireless MAC address.
+ pattern: ^([0-9A-Fa-f]{2}[:-]?){5}([0-9A-Fa-f]{2})$
+ type: string
+ model:
+ description: Model name of the device.
+ maxLength: 50
+ type: string
+ type:
+ description: Manufacturer (brand) name of the device.
+ maxLength: 50
+ type: string
+ required:
+ - mac_address
+ - display_name
+ type: object
+ x-examples:
+ application/json:
+ assigned_to: fjdsfgsd@edkfjd.fhjdf
+ display_name: Sita's Phone
+ mac_address: 64-16-7f-37-90-92
+ model: soundpoint335
+ type: Polycom
+ responses:
+ "201":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `201` **Created**
+ Device added successfully.
+ "400":
+ description: |
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300` **Validation failed.**
+ Phone manufacturer does not exist.
+ Phone model does not exist.
+ Phone manufacturer is not supported.
+ **Error Code:** `400`
+ The MAC Address is invalid.
+ The MAC Address already exists in the system.
+ Each user can be assigned up to three desk phones.
+ "404":
+ description: |
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User not found: {userId}
+ security:
+ - OAuth: []
+ summary: Add a device
+ tags:
+ - Phone Devices
+ "/phone/devices/{deviceId}":
+ delete:
+ description: |-
+ Remove a [desk phone device](https://support.zoom.us/hc/en-us/articles/360021119092) from the Zoom Phone System Management.
+ **Prerequisites:**
+ * Pro or a higher account with Zoom Phone license
+ * Account owner or admin permissions
+ * Device must not have been assigned to a user.
+ **Scopes:** `phone:write:admin`
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: deleteADevice
+ parameters:
+ - description: Unique Identifier of the device.
+ in: path
+ name: deviceId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Device deleted successfully.
+ "400":
+ description: |
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300` **Vaidation Failed.**
+ Device does not exist in the system.
+ Only unassigned device can be deleted.
+ security:
+ - OAuth: []
+ summary: Delete a device
+ tags:
+ - Phone Devices
+ get:
+ description: |-
+ Get detailed information about a specific [desk phone device](https://support.zoom.us/hc/en-us/articles/360021119092).
+ **Prerequisites:**
+ * Pro or a higher account with Zoom Phone license
+ * Account owner or admin permissions
+ **Scopes:** `phone:write:admin`
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: getADevice
+ parameters:
+ - description: Unique Identifier of the device.
+ in: path
+ name: deviceId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ assignee:
+ extension_number: 123
+ id: i242djsgrg
+ name: Pooja
+ device_type: Ribbon EdgeMarc302
+ display_name: Pooja's Phone
+ id: "1234324"
+ mac_address: 203a07240534
+ provision:
+ sip_accounts:
+ - authorization_id: "123123"
+ outbound_proxy: "123123"
+ password: "1123"
+ shared_line:
+ line_subscription:
+ display_name: Pooja
+ extension_number: 123123
+ outbound_caller_id: "+123123123"
+ sip_domain: 123.zoom.us
+ user_name: "123123"
+ type: manual
+ site:
+ id: "123123"
+ name: Main Site
+ status: offline
+ schema:
+ properties:
+ assignee:
+ description: User to whom the device has been assigned.
+ properties:
+ extension_number:
+ description: Extension number of the Zoom Phone used by the user.
+ type: integer
+ id:
+ description: User ID of the user to whom the device has been assigned.
+ type: string
+ name:
+ description: Name of the user.
+ type: string
+ type: object
+ device_type:
+ description: Includes manufacturer name and the model name.
+ type: string
+ display_name:
+ description: Display name of the device.
+ type: string
+ id:
+ description: Device ID - Unique Identifier of the Device.
+ type: string
+ mac_address:
+ description: MAC address or serial number of the device.
+ type: string
+ provision:
+ description: Provisioning information of a device.
+ properties:
+ sip_accounts:
+ description: "SIP Account details registered during the device provisioning process. This object will only be returned if manual provisioning was used for the device. "
+ items:
+ properties:
+ authorization_id:
+ description: Authorization ID of the SIP account provided in the provisioning process.
+ type: string
+ outbound_proxy:
+ description: Outbound proxy provided in the provisioning process.
+ type: string
+ password:
+ description: "Password entered during the provisioning process. "
+ type: string
+ shared_line:
+ description: Return additional provisioning information with generic device SIP credentials.
+ properties:
+ alias:
+ description: Alias.
+ type: string
+ line_subscription:
+ description: Line subscription.
+ properties:
+ display_name:
+ description: Display name.
+ type: string
+ extension_number:
+ description: Extension number.
+ type: integer
+ phone_number:
+ description: Phone number.
+ type: string
+ type: object
+ outbound_caller_id:
+ description: Outbound caller ID.
+ type: string
+ type: object
+ sip_domain:
+ description: "SIP Domain provided in the provisioning process. \
+
+ \ "
+ type: string
+ user_name:
+ description: User name of the SIP account provided in the provisioning process.
+ type: string
+ type: object
+ type: array
+ type:
+ description: |+
+ [Provisioning type](https://support.zoom.us/hc/en-us/articles/360033223411). The value can be one of the following:
+
+ * `ztp` : Zero touch provisioning.
+ * `assisted`: Assisted provisioning.
+ * `manual`: Manual provisioning.
+
+ enum:
+ - assisted
+ - ztp
+ - manual
+ type: string
+ url:
+ description: Provisioning URL. This field will only be returned for devices that were provisioned via `assisted` provisioning type.
+ type: string
+ type: object
+ site:
+ properties:
+ id:
+ description: The [site](https://support.zoom.us/hc/en-us/articles/360020809672) of the phone user.
+ type: string
+ name:
+ description: Name of the [site](https://support.zoom.us/hc/en-us/articles/360020809672).
+ type: string
+ type: object
+ status:
+ description: Status of the device. The value is either `online` or `offline`.
+ enum:
+ - online
+ - offline
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ assignee:
+ description: User to whom the device has been assigned.
+ properties:
+ extension_number:
+ description: Extension number of the Zoom Phone used by the user.
+ type: integer
+ id:
+ description: User ID of the user to whom the device has been assigned.
+ type: string
+ name:
+ description: Name of the user.
+ type: string
+ type: object
+ device_type:
+ description: Includes manufacturer name and the model name.
+ type: string
+ display_name:
+ description: Display name of the device.
+ type: string
+ id:
+ description: Device ID - Unique Identifier of the Device.
+ type: string
+ mac_address:
+ description: MAC address or serial number of the device.
+ type: string
+ provision:
+ description: Provisioning information of a device.
+ properties:
+ sip_accounts:
+ description: "SIP Account details registered during the device provisioning process. This object will only be returned if manual provisioning was used for the device. "
+ items:
+ properties:
+ authorization_id:
+ description: Authorization ID of the SIP account provided in the provisioning process.
+ type: string
+ outbound_proxy:
+ description: Outbound proxy provided in the provisioning process.
+ type: string
+ password:
+ description: "Password entered during the provisioning process. "
+ type: string
+ shared_line:
+ description: Return additional provisioning information with generic device SIP credentials.
+ properties:
+ alias:
+ description: Alias.
+ type: string
+ line_subscription:
+ description: Line subscription.
+ properties:
+ display_name:
+ description: Display name.
+ type: string
+ extension_number:
+ description: Extension number.
+ type: integer
+ phone_number:
+ description: Phone number.
+ type: string
+ type: object
+ outbound_caller_id:
+ description: Outbound caller ID.
+ type: string
+ type: object
+ sip_domain:
+ description: "SIP Domain provided in the provisioning process. \
+
+ \ "
+ type: string
+ user_name:
+ description: User name of the SIP account provided in the provisioning process.
+ type: string
+ type: object
+ type: array
+ type:
+ description: |+
+ [Provisioning type](https://support.zoom.us/hc/en-us/articles/360033223411). The value can be one of the following:
+
+ * `ztp` : Zero touch provisioning.
+ * `assisted`: Assisted provisioning.
+ * `manual`: Manual provisioning.
+
+ enum:
+ - assisted
+ - ztp
+ - manual
+ type: string
+ url:
+ description: Provisioning URL. This field will only be returned for devices that were provisioned via `assisted` provisioning type.
+ type: string
+ type: object
+ site:
+ properties:
+ id:
+ description: The [site](https://support.zoom.us/hc/en-us/articles/360020809672) of the phone user.
+ type: string
+ name:
+ description: Name of the [site](https://support.zoom.us/hc/en-us/articles/360020809672).
+ type: string
+ type: object
+ status:
+ description: Status of the device. The value is either `online` or `offline`.
+ enum:
+ - online
+ - offline
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ Device information retrieved successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `400`
+ Device does not exist in the system.
+ security:
+ - OAuth: []
+ summary: Get device details
+ tags:
+ - Phone Devices
+ parameters:
+ - in: path
+ name: deviceId
+ required: true
+ schema:
+ type: string
+ patch:
+ description: |-
+ Update information of a [desk phone device](https://support.zoom.us/hc/en-us/articles/360021119092).
+ **Prerequisites:**
+ * Pro or a higher account with Zoom Phone license
+ * Account owner or admin permissions
+ **Scopes:** `phone:write:admin`
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: updateADevice
+ parameters:
+ - description: Unique Identifier of the Device.
+ in: path
+ name: deviceId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ assigned_to:
+ description: User ID or email address of the user to whom this device is to be assigned. The User ID and the email of the user can be retrieved using the [List Users](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/users) API.
+ type: string
+ display_name:
+ description: Display name of the desk phone.
+ maxLength: 255
+ type: string
+ mac_address:
+ description: |-
+ The MAC address of the desk phone.
+ Note: If you're using a wireless phone, enter the wired MAC address, not the wireless MAC address.
+ pattern: ^([0-9A-Fa-f]{2}[:-]?){5}([0-9A-Fa-f]{2})$
+ type: string
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ assigned_to:
+ description: User ID or email address of the user to whom this device is to be assigned. The User ID and the email of the user can be retrieved using the [List Users](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/users) API.
+ type: string
+ display_name:
+ description: Display name of the desk phone.
+ maxLength: 255
+ type: string
+ mac_address:
+ description: |-
+ The MAC address of the desk phone.
+ Note: If you're using a wireless phone, enter the wired MAC address, not the wireless MAC address.
+ pattern: ^([0-9A-Fa-f]{2}[:-]?){5}([0-9A-Fa-f]{2})$
+ type: string
+ type: object
+ x-examples:
+ application/json:
+ assigned_to: adkjfgj211
+ display_name: "anim "
+ mac_address: E6-12F6-eA6cB3
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Device updated successfully.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300`
+ Validation failed. Device does not exist in the system.
+ Invalid userId.
+
+ "404":
+ description: |
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User not found: {userId}
+ The user extension does not exist, extensionId: {extensionId}.
+ "429":
+ description: |-
+ **HTTP Status Code:** `429` **Too Many Requests**
+ **Error Code:** `429`
+ Each user can be assigned up to three desk phones.
+ security:
+ - OAuth: []
+ summary: Update a device
+ tags:
+ - Phone Devices
+ /phone/metrics/call_logs:
+ get:
+ description: |-
+ Call logs provide a record of all incoming and outgoing calls over Zoom Phone in an account.
+
+ Use this API to list monthly call logs metrics. You can use query parameters to filter the response by date, site and MOS(Mean Opinion Score) of the call.
+
+ **Prerequisites:**
+ * Business, or Education account
+ * Zoom Phone license
+
+ **Scopes:** `phone:read:admin`, `phone:write:admin`
+ **Rate Limit Label:** `Heavy`
+ operationId: listCallLogsMetrics
+ parameters:
+ - description: Start date for the report in `yyyy-mm-dd` format. Specify a 30 day range using the `from` and `to` parameters as the response provides a maximum of a month worth of data per API request.
+ in: query
+ name: from
+ schema:
+ type: string
+ - description: End date for the report in `yyyy-mm-dd` format.
+ in: query
+ name: to
+ schema:
+ type: string
+ - description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites). Use this query parameter if you have enabled multiple sites and would like to filter the response of this API call by call logs of a specific phone site.
+ in: query
+ name: site_id
+ schema:
+ type: string
+ - description: |+
+ Filter call logs by voice quality. Zoom uses MOS of 3.5 as a general baseline to categorize calls by call quality. A MOS greater than or equal to 3.5 means good quality, while below 3.5 means poor quality.
The value of this field can be one of the following:
+ * `good`: Retrieve call logs of the call(s) with good quality of voice.
+ * `bad`: Retrieve call logs of the call(s) with good quality of voice.
+ * `all`: Retrieve all call logs without filtering by voice quality.
+
+
+
+ in: query
+ name: quality_type
+ schema:
+ type: string
+ - description: The number of records returned within a single call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 100
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ call_logs:
+ - call_id: "600097"
+ callee:
+ codec: opus
+ device_type: Windows_Client 5.2.42619.0804
+ extension_number: "1003"
+ headset: Logitech USB Headset H340
+ isp: other
+ microphone: Logitech USB Headset H340
+ phone_number: "+1200009995"
+ site_id: 8f71O86ghjIFAdQ
+ caller:
+ codec: opus
+ device_type: Windows_Client 5.2.42619.0804
+ extension_number: "1021"
+ headset: Logitech USB Headset H340
+ isp: other
+ microphone: Logitech USB Headset H340
+ phone_number: "+100006180"
+ site_id: 8f71O6rWT8KFUGQmJIFAdQ
+ date_time: 2020-09-11T05:38:53Z
+ direction: internal
+ duration: 75
+ mos: "1.0"
+ - call_id: "687000062"
+ callee:
+ codec: opus
+ device_type: Windows_Client 5.2.42619.0804
+ extension_number: "1003"
+ headset: Logitech USB Headset H340
+ isp: other
+ microphone: Logitech USB Headset H340
+ phone_number: "+120123435"
+ site_id: 8f87cgmJIFAdQ
+ caller:
+ codec: opus
+ device_type: Windows_Client 5.2.42619.0804
+ extension_number: "1021"
+ headset: Logitech USB Headset H340
+ isp: other
+ microphone: Logitech USB Headset H340
+ phone_number: "+100003330"
+ site_id: 8f9586mJIFAdQ
+ date_time: 2020-09-11T05:35:41Z
+ direction: internal
+ duration: 71
+ mos: "1.0"
+ - call_id: "68798685701826"
+ callee:
+ extension_number: "10006"
+ site_id: DS8YB6B6TYSN8BKo0P-5ug
+ caller:
+ codec: opus
+ device_type: Windows_Client 5.2.42619.0804
+ extension_number: "1021"
+ headset: Logitech USB Headset H340
+ isp: other
+ microphone: Logitech USB Headset H340
+ phone_number: "+12099990"
+ site_id: 8f71O6rWT8KFUGQmJIFAdQ
+ date_time: 2020-09-11T05:30:49Z
+ direction: internal
+ duration: 67
+ mos: "1.0"
+ from: 2020-03-11
+ next_page_token: Dhgnfxcnxzerz
+ page_size: 10
+ to: 2020-09-11
+ total_records: 3
+ schema:
+ properties:
+ call_logs:
+ description: Call logs.
+ items:
+ properties:
+ call_id:
+ description: Unique identifier of the phone call.
+ type: string
+ callee:
+ description: Callee object contains information of the calee.
+ properties:
+ codec:
+ description: Audio codec.
+ type: string
+ device_type:
+ description: Device type.
+ type: string
+ extension_number:
+ description: Full extension number of the callee.
+ type: string
+ headset:
+ description: Headset used for the call by the callee.
+ type: string
+ isp:
+ description: ISP.
+ type: string
+ microphone:
+ description: Microphone used for the call by the callee.
+ type: string
+ phone_number:
+ description: Phone number of the callee in E164 format.
+ type: string
+ site_id:
+ description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites).
+ type: string
+ type: object
+ caller:
+ description: Caller object contains information of the caller.
+ properties:
+ codec:
+ description: Audio codec.
+ type: string
+ device_type:
+ description: Device type.
+ type: string
+ extension_number:
+ description: Full extension number of the caller.
+ type: string
+ headset:
+ description: Headset used for the call by the caller.
+ type: string
+ isp:
+ description: ISP.
+ type: string
+ microphone:
+ description: Microphone used for the call by the caller.
+ type: string
+ phone_number:
+ description: Phone number of the caller in E164 format.
+ type: string
+ site_id:
+ description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites).
+ type: string
+ type: object
+ date_time:
+ description: Date and time at which the call started.
+ type: string
+ direction:
+ description: Direction of the call. The value of this field can be either `internal` or `outbound`.
+ type: string
+ duration:
+ description: Duration of the call in seconds.
+ type: integer
+ mos:
+ description: Zoom uses Mean Opinion Score (MOS) as the main measurement to report on voice quality. MOS measures voice quality on a scale of 1 to 5. A score of 1 indicates unacceptable voice quality for all users. A score of 5 is the best voice quality.
+ type: string
+ type: object
+ type: array
+ from:
+ description: Start date for the report in `yyyy-mm-dd` format.
+ type: string
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: The number of records returned within a single call.
+ type: integer
+ to:
+ description: End date for the report in `yyyy-mm-dd` format.
+ type: string
+ total_records:
+ description: The total number of records available across all pages.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ call_logs:
+ description: Call logs.
+ items:
+ properties:
+ call_id:
+ description: Unique identifier of the phone call.
+ type: string
+ callee:
+ description: Callee object contains information of the calee.
+ properties:
+ codec:
+ description: Audio codec.
+ type: string
+ device_type:
+ description: Device type.
+ type: string
+ extension_number:
+ description: Full extension number of the callee.
+ type: string
+ headset:
+ description: Headset used for the call by the callee.
+ type: string
+ isp:
+ description: ISP.
+ type: string
+ microphone:
+ description: Microphone used for the call by the callee.
+ type: string
+ phone_number:
+ description: Phone number of the callee in E164 format.
+ type: string
+ site_id:
+ description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites).
+ type: string
+ type: object
+ caller:
+ description: Caller object contains information of the caller.
+ properties:
+ codec:
+ description: Audio codec.
+ type: string
+ device_type:
+ description: Device type.
+ type: string
+ extension_number:
+ description: Full extension number of the caller.
+ type: string
+ headset:
+ description: Headset used for the call by the caller.
+ type: string
+ isp:
+ description: ISP.
+ type: string
+ microphone:
+ description: Microphone used for the call by the caller.
+ type: string
+ phone_number:
+ description: Phone number of the caller in E164 format.
+ type: string
+ site_id:
+ description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites).
+ type: string
+ type: object
+ date_time:
+ description: Date and time at which the call started.
+ type: string
+ direction:
+ description: Direction of the call. The value of this field can be either `internal` or `outbound`.
+ type: string
+ duration:
+ description: Duration of the call in seconds.
+ type: integer
+ mos:
+ description: Zoom uses Mean Opinion Score (MOS) as the main measurement to report on voice quality. MOS measures voice quality on a scale of 1 to 5. A score of 1 indicates unacceptable voice quality for all users. A score of 5 is the best voice quality.
+ type: string
+ type: object
+ type: array
+ from:
+ description: Start date for the report in `yyyy-mm-dd` format.
+ type: string
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: The number of records returned within a single call.
+ type: integer
+ to:
+ description: End date for the report in `yyyy-mm-dd` format.
+ type: string
+ total_records:
+ description: The total number of records available across all pages.
+ type: integer
+ type: object
+ description: ""
+ summary: List call logs
+ tags:
+ - Dashboards
+ "/phone/metrics/call_logs/{callId}/qos":
+ get:
+ description: |-
+ Get call quality of service(QoS) data for a call made or received by a Zoom phone user in the account.
+
+ **Prerequisites:**
+ * Business, or Education account
+ * Zoom Phone license
+ **Scopes:** `phone:read:admin`, `phone:write:admin`
+ **Rate Limit Label:** `Light`
+ operationId: getCallQoS
+ parameters:
+ - description: Unique identifier of the call.
+ in: path
+ name: callId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ call_id: "6738888828"
+ callee_qos:
+ receiving:
+ - date_time: 2019-09-05T02:22:35Z
+ qos:
+ avg_loss: 1.8%
+ bitrate: 26.25kbps
+ jitter: 1.0ms
+ max_loss: ""
+ mos: "3.9"
+ network_delay: "248"
+ - date_time: 2019-09-05T02:23:40Z
+ qos:
+ avg_loss: 1.1%
+ bitrate: 26.14kbps
+ jitter: 1.0ms
+ max_loss: ""
+ mos: "3.9"
+ network_delay: "252"
+ - date_time: 2019-09-05T02:24:40Z
+ qos:
+ avg_loss: 1.3%
+ bitrate: 26.66kbps
+ jitter: 1.0ms
+ max_loss: ""
+ mos: "3.9"
+ network_delay: "248"
+ sending:
+ - date_time: 2019-09-05T02:22:33Z
+ qos:
+ avg_loss: 0.03%
+ bitrate: 18.23kbps
+ jitter: 0ms
+ max_loss: 0.55%
+ mos: "4.5"
+ network_delay: "0"
+ - date_time: 2019-09-05T02:23:34Z
+ qos:
+ avg_loss: 0%
+ bitrate: 18.28kbps
+ jitter: 2.52ms
+ max_loss: 0%
+ mos: "4.5"
+ network_delay: "0"
+ - date_time: 2019-09-05T02:24:34Z
+ qos:
+ avg_loss: 0%
+ bitrate: 19.16kbps
+ jitter: 0.48ms
+ max_loss: 0%
+ mos: "4.5"
+ network_delay: "0"
+ caller_qos:
+ receiving:
+ - date_time: 2019-09-05T02:22:35Z
+ qos:
+ avg_loss: 1.8%
+ bitrate: 26.25kbps
+ jitter: 1.0ms
+ max_loss: ""
+ mos: "3.9"
+ network_delay: "248"
+ - date_time: 2019-09-05T02:23:40Z
+ qos:
+ avg_loss: 1.1%
+ bitrate: 26.14kbps
+ jitter: 1.0ms
+ max_loss: ""
+ mos: "3.9"
+ network_delay: "252"
+ - date_time: 2019-09-05T02:24:40Z
+ qos:
+ avg_loss: 1.3%
+ bitrate: 26.66kbps
+ jitter: 1.0ms
+ max_loss: ""
+ mos: "3.9"
+ network_delay: "248"
+ sending:
+ - date_time: 2019-09-05T02:22:27Z
+ qos:
+ avg_loss: 0.03%
+ bitrate: 28.4kbps
+ jitter: 0ms
+ max_loss: 0.4%
+ mos: "4.0"
+ network_delay: "252"
+ - date_time: 2019-09-05T02:23:27Z
+ qos:
+ avg_loss: 0.03%
+ bitrate: 27.15kbps
+ jitter: 0ms
+ max_loss: 0.4%
+ mos: "4.0"
+ network_delay: "251"
+ - date_time: 2019-09-05T02:24:27Z
+ qos:
+ avg_loss: 0%
+ bitrate: 37.25kbps
+ jitter: 0.55ms
+ max_loss: 0%
+ mos: "4.0"
+ network_delay: "249"
+ schema:
+ properties:
+ call_id:
+ description: Unique identifier of the phone call.
+ type: string
+ callee_qos:
+ properties:
+ receiving:
+ description: QoS received by the callee.
+ items:
+ properties:
+ date_time:
+ description: Date and time at which the QoS was received.
+ format: date-time
+ type: string
+ qos:
+ properties:
+ avg_loss:
+ description: The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination.
+ type: string
+ bitrate:
+ description: The number of bits per second in kbps that can be transmitted along a digital network.
+ type: string
+ jitter:
+ description: The variation in the delay of received packets. The value of this field is expressed in milliseconds.
+ type: string
+ max_loss:
+ description: The max amount of packet loss, i.e., the max percentage of packets that fail to arrive at their destination.
+ type: string
+ mos:
+ description: Mean Opinion Score(MOS) measures voice quality on a scale of 1 to 5. A MOS greater than or equal to 3.5 means good quality, while below 3.5 means poor quality.
+ type: string
+ network_delay:
+ description: The amount of time(in milliseconds) it takes for a VoIP packet to travel from one point to another.
+ type: string
+ type: object
+ type: object
+ type: array
+ sending:
+ description: QoS sent by the callee.
+ items:
+ properties:
+ date_time:
+ description: Date and time at which the QoS was delivered.
+ format: date-time
+ type: string
+ qos:
+ properties:
+ avg_loss:
+ description: The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination.
+ type: string
+ bitrate:
+ description: The number of bits per second expressed in kbps that can be transmitted along a digital network.
+ type: string
+ jitter:
+ description: The variation in the delay of received packets. The value of this field is expressed in milliseconds.
+ type: string
+ max_loss:
+ description: The max amount of packet loss, i.e., the max percentage of packets that fail to arrive at their destination.
+ type: string
+ mos:
+ description: Mean Opinion Score(MOS) measures voice quality on a scale of 1 to 5. A MOS greater than or equal to 3.5 means good quality, while below 3.5 means poor quality.
+ type: string
+ network_delay:
+ description: The amount of time(in milliseconds) it takes for a VoIP packet to travel from one point to another.
+ type: string
+ type: object
+ type: object
+ type: array
+ type: object
+ caller_qos:
+ description: Quality of Service object that represents the call quality data of the caller.
+ properties:
+ receiving:
+ description: QoS received by the caller.
+ items:
+ properties:
+ date_time:
+ description: Date and time at which the QoS was received.
+ format: date-time
+ type: string
+ qos:
+ properties:
+ avg_loss:
+ description: The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination.
+ type: string
+ bitrate:
+ description: The number of bits per second in kbps that can be transmitted along a digital network.
+ type: string
+ jitter:
+ description: The variation in the delay of received packets. The value of this field is expressed in milliseconds.
+ type: string
+ max_loss:
+ description: The max amount of packet loss, i.e., the max percentage of packets that fail to arrive at their destination.
+ type: string
+ mos:
+ description: Mean Opinion Score(MOS) measures voice quality on a scale of 1 to 5. A MOS greater than or equal to 3.5 means good quality, while below 3.5 means poor quality.
+ type: string
+ network_delay:
+ description: The amount of time(in milliseconds) it takes for a VoIP packet to travel from one point to another.
+ type: string
+ type: object
+ type: object
+ type: array
+ sending:
+ description: QoS sent by the caller.
+ items:
+ properties:
+ date_time:
+ description: Date and time at which the QoS was delivered.
+ format: date-time
+ type: string
+ qos:
+ properties:
+ avg_loss:
+ description: The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination.
+ type: string
+ bitrate:
+ description: The number of bits per second in kbps that can be transmitted along a digital network.
+ type: string
+ jitter:
+ description: The variation in the delay of received packets. The value of this field is expressed in milliseconds.
+ type: string
+ max_loss:
+ description: The max amount of packet loss, i.e., the max percentage of packets that fail to arrive at their destination.
+ type: string
+ mos:
+ description: Mean Opinion Score(MOS) measures voice quality on a scale of 1 to 5. A MOS greater than or equal to 3.5 means good quality, while below 3.5 means poor quality.
+ type: string
+ network_delay:
+ description: The amount of time(in milliseconds) it takes for a VoIP packet to travel from one point to another.
+ type: string
+ type: object
+ type: object
+ type: array
+ type: object
+ type: object
+ application/xml:
+ schema:
+ properties:
+ call_id:
+ description: Unique identifier of the phone call.
+ type: string
+ callee_qos:
+ properties:
+ receiving:
+ description: QoS received by the callee.
+ items:
+ properties:
+ date_time:
+ description: Date and time at which the QoS was received.
+ format: date-time
+ type: string
+ qos:
+ properties:
+ avg_loss:
+ description: The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination.
+ type: string
+ bitrate:
+ description: The number of bits per second in kbps that can be transmitted along a digital network.
+ type: string
+ jitter:
+ description: The variation in the delay of received packets. The value of this field is expressed in milliseconds.
+ type: string
+ max_loss:
+ description: The max amount of packet loss, i.e., the max percentage of packets that fail to arrive at their destination.
+ type: string
+ mos:
+ description: Mean Opinion Score(MOS) measures voice quality on a scale of 1 to 5. A MOS greater than or equal to 3.5 means good quality, while below 3.5 means poor quality.
+ type: string
+ network_delay:
+ description: The amount of time(in milliseconds) it takes for a VoIP packet to travel from one point to another.
+ type: string
+ type: object
+ type: object
+ type: array
+ sending:
+ description: QoS sent by the callee.
+ items:
+ properties:
+ date_time:
+ description: Date and time at which the QoS was delivered.
+ format: date-time
+ type: string
+ qos:
+ properties:
+ avg_loss:
+ description: The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination.
+ type: string
+ bitrate:
+ description: The number of bits per second expressed in kbps that can be transmitted along a digital network.
+ type: string
+ jitter:
+ description: The variation in the delay of received packets. The value of this field is expressed in milliseconds.
+ type: string
+ max_loss:
+ description: The max amount of packet loss, i.e., the max percentage of packets that fail to arrive at their destination.
+ type: string
+ mos:
+ description: Mean Opinion Score(MOS) measures voice quality on a scale of 1 to 5. A MOS greater than or equal to 3.5 means good quality, while below 3.5 means poor quality.
+ type: string
+ network_delay:
+ description: The amount of time(in milliseconds) it takes for a VoIP packet to travel from one point to another.
+ type: string
+ type: object
+ type: object
+ type: array
+ type: object
+ caller_qos:
+ description: Quality of Service object that represents the call quality data of the caller.
+ properties:
+ receiving:
+ description: QoS received by the caller.
+ items:
+ properties:
+ date_time:
+ description: Date and time at which the QoS was received.
+ format: date-time
+ type: string
+ qos:
+ properties:
+ avg_loss:
+ description: The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination.
+ type: string
+ bitrate:
+ description: The number of bits per second in kbps that can be transmitted along a digital network.
+ type: string
+ jitter:
+ description: The variation in the delay of received packets. The value of this field is expressed in milliseconds.
+ type: string
+ max_loss:
+ description: The max amount of packet loss, i.e., the max percentage of packets that fail to arrive at their destination.
+ type: string
+ mos:
+ description: Mean Opinion Score(MOS) measures voice quality on a scale of 1 to 5. A MOS greater than or equal to 3.5 means good quality, while below 3.5 means poor quality.
+ type: string
+ network_delay:
+ description: The amount of time(in milliseconds) it takes for a VoIP packet to travel from one point to another.
+ type: string
+ type: object
+ type: object
+ type: array
+ sending:
+ description: QoS sent by the caller.
+ items:
+ properties:
+ date_time:
+ description: Date and time at which the QoS was delivered.
+ format: date-time
+ type: string
+ qos:
+ properties:
+ avg_loss:
+ description: The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination.
+ type: string
+ bitrate:
+ description: The number of bits per second in kbps that can be transmitted along a digital network.
+ type: string
+ jitter:
+ description: The variation in the delay of received packets. The value of this field is expressed in milliseconds.
+ type: string
+ max_loss:
+ description: The max amount of packet loss, i.e., the max percentage of packets that fail to arrive at their destination.
+ type: string
+ mos:
+ description: Mean Opinion Score(MOS) measures voice quality on a scale of 1 to 5. A MOS greater than or equal to 3.5 means good quality, while below 3.5 means poor quality.
+ type: string
+ network_delay:
+ description: The amount of time(in milliseconds) it takes for a VoIP packet to travel from one point to another.
+ type: string
+ type: object
+ type: object
+ type: array
+ type: object
+ type: object
+ description: ""
+ summary: Get call QoS
+ tags:
+ - Dashboards
+ parameters:
+ - in: path
+ name: callId
+ required: true
+ schema:
+ type: string
+ "/phone/metrics/call_logs/{call_id}":
+ get:
+ description: |
+ Call logs provide a record of all incoming and outgoing calls over Zoom Phone in an account.
+
+ Use this API to list call log details of a specific call.
+
+ **Prerequisites:**
+ * Business, or Education account
+ * Zoom Phone license
+
+ **Scopes:** `phone:read:admin`, `phone:write:admin`
+ **Rate Limit Label:** `Light`
+ operationId: getCallLogMetricsDetails
+ parameters:
+ - description: Unique identifier of the phone call. The value of this field can be retrieved from [List Call Logs]() API.
+ in: path
+ name: call_id
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ call_id: "687100000600397"
+ callee:
+ codec: opus
+ device_type: Windows_Client 5.2.42619.0804
+ display_name: Shrijana
+ extension_number: "1003"
+ extension_type: user
+ headset: Logitech USB Headset H340
+ id: DnE46573vvzjgojw
+ isp: other
+ microphone: Logitech USB Headset H340
+ phone_number: "+12066753735"
+ route:
+ - display_name: asfdfsdg3_214
+ extension_number: "10006"
+ extension_type: callQueue
+ id: 8M756763533A
+ site_id: 8f71O66543IFAdQ
+ caller:
+ codec: opus
+ device_type: Windows_Client 5.2.42619.0804
+ display_name: Abcde
+ extension_number: "1021"
+ extension_type: user
+ headset: Logitech USB Headset H340
+ id: Y40bbbbgGh0V1Ul_Q
+ isp: other
+ microphone: Logitech USB Headset H340
+ phone_number: "+120997086780"
+ site_id: 8f71986768JIFAdQ
+ date_time: 2020-09-11T05:38:53Z
+ direction: internal
+ duration: 75
+ mos: "1.0"
+ schema:
+ properties:
+ call_id:
+ description: Unique identifier of the phone call.
+ type: string
+ callee:
+ description: Callee object contains information of the calee.
+ properties:
+ codec:
+ description: Audio codec.
+ type: string
+ device_type:
+ description: Device type.
+ type: string
+ extension_number:
+ description: Full extension number of the callee.
+ type: string
+ headset:
+ description: Headset used for the call by the callee.
+ type: string
+ isp:
+ description: ISP.
+ type: string
+ microphone:
+ description: Microphone used for the call by the callee.
+ type: string
+ phone_number:
+ description: Phone number of the callee in E164 format.
+ type: string
+ site_id:
+ description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites).
+ type: string
+ type: object
+ caller:
+ description: Caller object contains information of the caller.
+ properties:
+ codec:
+ description: Audio codec.
+ type: string
+ device_type:
+ description: Device type.
+ type: string
+ extension_number:
+ description: Full extension number of the caller.
+ type: string
+ headset:
+ description: Headset used for the call by the caller.
+ type: string
+ isp:
+ description: ISP.
+ type: string
+ microphone:
+ description: Microphone used for the call by the caller.
+ type: string
+ phone_number:
+ description: Phone number of the caller in E164 format.
+ type: string
+ site_id:
+ description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites).
+ type: string
+ type: object
+ date_time:
+ description: Date and time at which the call started.
+ type: string
+ direction:
+ description: Direction of the call. The value of this field can be either `internal` or `outbound`.
+ type: string
+ duration:
+ description: Duration of the call in seconds.
+ type: integer
+ mos:
+ description: Zoom uses Mean Opinion Score (MOS) as the main measurement to report on voice quality. MOS measures voice quality on a scale of 1 to 5. A score of 1 indicates unacceptable voice quality for all users. A score of 5 is the best voice quality.
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ call_id:
+ description: Unique identifier of the phone call.
+ type: string
+ callee:
+ description: Callee object contains information of the calee.
+ properties:
+ codec:
+ description: Audio codec.
+ type: string
+ device_type:
+ description: Device type.
+ type: string
+ extension_number:
+ description: Full extension number of the callee.
+ type: string
+ headset:
+ description: Headset used for the call by the callee.
+ type: string
+ isp:
+ description: ISP.
+ type: string
+ microphone:
+ description: Microphone used for the call by the callee.
+ type: string
+ phone_number:
+ description: Phone number of the callee in E164 format.
+ type: string
+ site_id:
+ description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites).
+ type: string
+ type: object
+ caller:
+ description: Caller object contains information of the caller.
+ properties:
+ codec:
+ description: Audio codec.
+ type: string
+ device_type:
+ description: Device type.
+ type: string
+ extension_number:
+ description: Full extension number of the caller.
+ type: string
+ headset:
+ description: Headset used for the call by the caller.
+ type: string
+ isp:
+ description: ISP.
+ type: string
+ microphone:
+ description: Microphone used for the call by the caller.
+ type: string
+ phone_number:
+ description: Phone number of the caller in E164 format.
+ type: string
+ site_id:
+ description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites).
+ type: string
+ type: object
+ date_time:
+ description: Date and time at which the call started.
+ type: string
+ direction:
+ description: Direction of the call. The value of this field can be either `internal` or `outbound`.
+ type: string
+ duration:
+ description: Duration of the call in seconds.
+ type: integer
+ mos:
+ description: Zoom uses Mean Opinion Score (MOS) as the main measurement to report on voice quality. MOS measures voice quality on a scale of 1 to 5. A score of 1 indicates unacceptable voice quality for all users. A score of 5 is the best voice quality.
+ type: string
+ type: object
+ description: ""
+ summary: Get call details from call log
+ tags:
+ - Dashboards
+ parameters:
+ - in: path
+ name: call_id
+ required: true
+ schema:
+ type: string
+ /phone/numbers:
+ get:
+ description: |-
+ A Zoom account owner or admin can purchase phone numbers and assign them to Zoom phone users. Use this API to list all Zoom Phone numbers in a Zoom account. You can filter the response based on your needs by using query parameters.
+
+ **Prerequisites:**
+ * Pro or higher plan with Zoom phone license
+ **Scope:** `phone:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: listAccountPhoneNumbers
+ parameters:
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: |-
+ Query response by number assignment. The value can be one of the following:
+
+ `assigned`: The number has been assigned to either a user, a call queue, an auto-receptionist or a common area phone in an account. `unassigned`: The number is not assigned to anyone.
+ `all`: Include both assigned and unassigned numbers in the response.
+ `byoc`: Include Bring Your Own Carrier (BYOC) numbers only in the response.
+ in: query
+ name: type
+ schema:
+ enum:
+ - assigned
+ - unassigned
+ - all
+ type: string
+ - description: |-
+ The type of assignee to whom the number is assigned. The value can be one of the following:
+ `user` `callQueue` `autoReceptionist`
+ `commonAreaPhone`
+ in: query
+ name: extension_type
+ schema:
+ enum:
+ - user
+ - callQueue
+ - autoReceptionist
+ - commonAreaPhone
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 100
+ type: integer
+ - description: The type of phone number. The value can be either `toll` or `tollfree`.
+ in: query
+ name: number_type
+ schema:
+ enum:
+ - toll
+ - tollfree
+ type: string
+ - description: Include or exclude pending numbers in the response. The value can be either `true` or `false`.
+ in: query
+ name: pending_numbers
+ schema:
+ type: boolean
+ - description: Unique identifier of the site. Use this query parameter if you have enabled multiple sites and would like to filter the response of this API call by a specific phone site. See [Managing multiple sites](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites) or [Adding a site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites#h_05c88e35-1593-491f-b1a8-b7139a75dc15) for details.
+ in: query
+ name: site_id
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ next_page_token: ""
+ page_size: 30
+ phone_numbers:
+ - assignee:
+ extension_number: 12
+ id: cgfdgfghghim
+ name: Peter Jenner
+ type: user
+ capability:
+ - incoming
+ - outgoing
+ display_name: abc
+ id: execvbfgbgr
+ location: Milpitas,California,United States
+ number: "0000111100"
+ number_type: tollfree
+ site:
+ id: sdfsdfgrg
+ name: SF office
+ source: internal
+ status: pending
+ - assignee:
+ extension_number: 1
+ id: dfgdfghdfhgh
+ name: Receptionist
+ type: autoReceptionist
+ id: fdgfdgfdh
+ location: San Jose,California,United States
+ number: "111111111"
+ number_type: toll
+ site:
+ id: jhdfsdghfdg
+ name: San Jose office
+ source: external
+ status: available
+ total_records: 2
+ schema:
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.)
+ type: string
+ page_size:
+ description: The number of records returned within a single API call.
+ type: integer
+ phone_numbers:
+ items:
+ properties:
+ assignee:
+ properties:
+ extension_number:
+ description: Extension number of the Phone.
+ type: integer
+ id:
+ description: Unique Identifier of the user to whom the number has been assigned.
+ type: string
+ name:
+ description: Name of the user to whom the number has been assigned.
+ type: string
+ type:
+ description: |-
+ Indicates who the phone number belongs to.
+ `user`: Number has been assigned to an existing phone user allowing them to receive calls through their extension number or direct phone number. `callQueue`: Phone number has been assigned to a [call queue](https://support.zoom.us/hc/en-us/articles/360021524831-Managing-Call-Queues). `commonAreaPhone`: Phone number has been assigned to a [ provisioned common area desk phone](https://support.zoom.us/hc/en-us/articles/360021119092-Provisioning-Phones-and-Devices).
+ `autoReceptionist`: Phone number has been assigned to an [auto receptionist](https://support.zoom.us/hc/en-us/articles/360021121312-Managing-Auto-Receptionists-and-Integrated-Voice-Response-IVR-).
+ enum:
+ - user
+ - callQueue
+ - autoReceptionist
+ - commonAreaPhone
+ type: string
+ type: object
+ capability:
+ description: The capability for the phone number, whether it can take incoming calls, make outgoing calls, or both. Values include `incoming`, `outgoing`, or both of these values.
+ items:
+ type: string
+ type: array
+ carrier:
+ description: Displayed when the `type` request parameter is `byoc`.
+ properties:
+ code:
+ description: The carrier code.
+ type: string
+ name:
+ description: Name of the carrier to which the phone number is assigned.
+ type: string
+ type: object
+ display_name:
+ description: The display name for the phone number.
+ type: string
+ id:
+ description: Unique Identifier of the Phone Number.
+ type: string
+ location:
+ description: Location (city, state and country) where the Phone number is assigned.
+ type: string
+ number:
+ description: Phone number in E164 format.
+ type: string
+ number_type:
+ description: |-
+ The type of number. Values can be one of the following:
+ `toll`, `tollfree`
+ enum:
+ - toll
+ - tollfree
+ type: string
+ sip_group:
+ description: Displayed when the `type` request parameter is `byoc`.
+ properties:
+ id:
+ description: The ID of the SIP group. See the **Creating SIP groups** section in [Creating a shared directory of external contacts](https://support.zoom.us/hc/en-us/articles/360037050092-Creating-a-shared-directory-of-external-contacts) for details.
+ type: string
+ name:
+ description: Name of the SIP group for which the phone number is assigned.
+ type: string
+ type: object
+ site:
+ properties:
+ id:
+ description: Target [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) in which the phone number was assigned. Sites allow you to organize the phone users in your organization. For example, you sites could be created based on different office locations.
+ type: string
+ name:
+ description: Name of the site where the phone number is assigned.
+ type: string
+ type: object
+ source:
+ description: Source of phone number.
+ enum:
+ - internal
+ - external
+ type: string
+ status:
+ description: Status of the number.
+ enum:
+ - pending
+ - available
+ type: string
+ type: object
+ type: array
+ total_records:
+ description: The total number of records returned.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.)
+ type: string
+ page_size:
+ description: The number of records returned within a single API call.
+ type: integer
+ phone_numbers:
+ items:
+ properties:
+ assignee:
+ properties:
+ extension_number:
+ description: Extension number of the Phone.
+ type: integer
+ id:
+ description: Unique Identifier of the user to whom the number has been assigned.
+ type: string
+ name:
+ description: Name of the user to whom the number has been assigned.
+ type: string
+ type:
+ description: |-
+ Indicates who the phone number belongs to.
+ `user`: Number has been assigned to an existing phone user allowing them to receive calls through their extension number or direct phone number. `callQueue`: Phone number has been assigned to a [call queue](https://support.zoom.us/hc/en-us/articles/360021524831-Managing-Call-Queues). `commonAreaPhone`: Phone number has been assigned to a [ provisioned common area desk phone](https://support.zoom.us/hc/en-us/articles/360021119092-Provisioning-Phones-and-Devices).
+ `autoReceptionist`: Phone number has been assigned to an [auto receptionist](https://support.zoom.us/hc/en-us/articles/360021121312-Managing-Auto-Receptionists-and-Integrated-Voice-Response-IVR-).
+ enum:
+ - user
+ - callQueue
+ - autoReceptionist
+ - commonAreaPhone
+ type: string
+ type: object
+ capability:
+ description: The capability for the phone number, whether it can take incoming calls, make outgoing calls, or both. Values include `incoming`, `outgoing`, or both of these values.
+ items:
+ type: string
+ type: array
+ carrier:
+ description: Displayed when the `type` request parameter is `byoc`.
+ properties:
+ code:
+ description: The carrier code.
+ type: string
+ name:
+ description: Name of the carrier to which the phone number is assigned.
+ type: string
+ type: object
+ display_name:
+ description: The display name for the phone number.
+ type: string
+ id:
+ description: Unique Identifier of the Phone Number.
+ type: string
+ location:
+ description: Location (city, state and country) where the Phone number is assigned.
+ type: string
+ number:
+ description: Phone number in E164 format.
+ type: string
+ number_type:
+ description: |-
+ The type of number. Values can be one of the following:
+ `toll`, `tollfree`
+ enum:
+ - toll
+ - tollfree
+ type: string
+ sip_group:
+ description: Displayed when the `type` request parameter is `byoc`.
+ properties:
+ id:
+ description: The ID of the SIP group. See the **Creating SIP groups** section in [Creating a shared directory of external contacts](https://support.zoom.us/hc/en-us/articles/360037050092-Creating-a-shared-directory-of-external-contacts) for details.
+ type: string
+ name:
+ description: Name of the SIP group for which the phone number is assigned.
+ type: string
+ type: object
+ site:
+ properties:
+ id:
+ description: Target [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) in which the phone number was assigned. Sites allow you to organize the phone users in your organization. For example, you sites could be created based on different office locations.
+ type: string
+ name:
+ description: Name of the site where the phone number is assigned.
+ type: string
+ type: object
+ source:
+ description: Source of phone number.
+ enum:
+ - internal
+ - external
+ type: string
+ status:
+ description: Status of the number.
+ enum:
+ - pending
+ - available
+ type: string
+ type: object
+ type: array
+ total_records:
+ description: The total number of records returned.
+ type: integer
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ Phone numbers listed successfully.
+ security:
+ - OAuth: []
+ summary: List phone numbers
+ tags:
+ - Phone
+ "/phone/numbers/{numberId}":
+ get:
+ description: |-
+ A Zoom account owner or admin can purchase phone numbers and assign them to Zoom phone users. Use this API to get details on a specific Phone number in a Zoom account.
+ **Prerequisites:**
+ * Pro or higher plan with Zoom phone license
+ **Scope:** `phone:read:admin`
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: getPhoneNumberDetails
+ parameters:
+ - description: Unique Identifier of the Phone Number. This can be retrieved from the List Phone Numbers API.
+ in: path
+ name: numberId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ assignee:
+ extension_number: 10000
+ name: Main Auto Receptionist
+ type: autoReceptionist
+ capability:
+ - incoming
+ - outgoing
+ display_name: abc
+ id: Hfdgdfgdfg1ew
+ location: Milpitas,California,United States
+ number: "+140000007"
+ number_type: toll
+ site:
+ id: CEfdfdfgA
+ name: Main Site
+ source: internal
+ status: available
+ schema:
+ properties:
+ assignee:
+ properties:
+ extension_number:
+ description: Extension number of the Phone.
+ type: integer
+ id:
+ description: Unique Identifier of the user to whom the number has been assigned.
+ type: string
+ name:
+ description: Name of the user to whom the number has been assigned.
+ type: string
+ type:
+ description: |-
+ Indicates who the phone number belongs to.
+ `user`: Number has been assigned to an existing phone user allowing them to receive calls through their extension number or direct phone number. `callQueue`: Phone number has been assigned to a [call queue](https://support.zoom.us/hc/en-us/articles/360021524831-Managing-Call-Queues). `commonAreaPhone`: Phone number has been assigned to a [ provisioned common area desk phone](https://support.zoom.us/hc/en-us/articles/360021119092-Provisioning-Phones-and-Devices).
+ `autoReceptionist`: Phone number has been assigned to an [auto receptionist](https://support.zoom.us/hc/en-us/articles/360021121312-Managing-Auto-Receptionists-and-Integrated-Voice-Response-IVR-).
+ enum:
+ - user
+ - callQueue
+ - autoReceptionist
+ - commonAreaPhone
+ type: string
+ type: object
+ capability:
+ description: The capability for the phone number, whether it can take incoming calls, make outgoing calls, or both. Values include `incoming`, `outgoing`, or both of these values.
+ items:
+ type: string
+ type: array
+ display_name:
+ description: The display name for the phone number.
+ type: string
+ id:
+ description: Unique Identifier of the Phone Number.
+ type: string
+ location:
+ description: Location (city, state and country) where the Phone number is assigned.
+ type: string
+ number:
+ description: Phone number in E164 format.
+ type: string
+ number_type:
+ description: |-
+ The type of number. Values can be one of the following:
+ `toll`, `tollfree`
+ enum:
+ - toll
+ - tollfree
+ type: string
+ site:
+ properties:
+ id:
+ description: Target [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) in which the phone number was assigned. Sites allow you to organize the phone users in your organization. For example, you sites could be created based on different office locations.
+ type: string
+ name:
+ description: Name of the site where the phone number is assigned.
+ type: string
+ type: object
+ source:
+ description: Source of phone number.
+ enum:
+ - internal
+ - external
+ type: string
+ status:
+ description: Status of the number.
+ enum:
+ - pending
+ - available
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ assignee:
+ properties:
+ extension_number:
+ description: Extension number of the Phone.
+ type: integer
+ id:
+ description: Unique Identifier of the user to whom the number has been assigned.
+ type: string
+ name:
+ description: Name of the user to whom the number has been assigned.
+ type: string
+ type:
+ description: |-
+ Indicates who the phone number belongs to.
+ `user`: Number has been assigned to an existing phone user allowing them to receive calls through their extension number or direct phone number. `callQueue`: Phone number has been assigned to a [call queue](https://support.zoom.us/hc/en-us/articles/360021524831-Managing-Call-Queues). `commonAreaPhone`: Phone number has been assigned to a [ provisioned common area desk phone](https://support.zoom.us/hc/en-us/articles/360021119092-Provisioning-Phones-and-Devices).
+ `autoReceptionist`: Phone number has been assigned to an [auto receptionist](https://support.zoom.us/hc/en-us/articles/360021121312-Managing-Auto-Receptionists-and-Integrated-Voice-Response-IVR-).
+ enum:
+ - user
+ - callQueue
+ - autoReceptionist
+ - commonAreaPhone
+ type: string
+ type: object
+ capability:
+ description: The capability for the phone number, whether it can take incoming calls, make outgoing calls, or both. Values include `incoming`, `outgoing`, or both of these values.
+ items:
+ type: string
+ type: array
+ display_name:
+ description: The display name for the phone number.
+ type: string
+ id:
+ description: Unique Identifier of the Phone Number.
+ type: string
+ location:
+ description: Location (city, state and country) where the Phone number is assigned.
+ type: string
+ number:
+ description: Phone number in E164 format.
+ type: string
+ number_type:
+ description: |-
+ The type of number. Values can be one of the following:
+ `toll`, `tollfree`
+ enum:
+ - toll
+ - tollfree
+ type: string
+ site:
+ properties:
+ id:
+ description: Target [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) in which the phone number was assigned. Sites allow you to organize the phone users in your organization. For example, you sites could be created based on different office locations.
+ type: string
+ name:
+ description: Name of the site where the phone number is assigned.
+ type: string
+ type: object
+ source:
+ description: Source of phone number.
+ enum:
+ - internal
+ - external
+ type: string
+ status:
+ description: Status of the number.
+ enum:
+ - pending
+ - available
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ Phone number details retrieved successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `400`
+ Phone number does not exist, phonenumberId:{phoneNumberId}
+ security:
+ - OAuth: []
+ summary: Get phone number details
+ tags:
+ - Phone
+ parameters:
+ - in: path
+ name: numberId
+ required: true
+ schema:
+ type: string
+ patch:
+ description: |-
+ Update phone number details.
+
+ **Scopes:**
+ * `phone:write` `phone:write:admin`
+ * `phone:master`
+
+ **Prerequisite:**
+ * Paid account
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: updatePhoneNumberDetails
+ parameters:
+ - description: Phone number ID.
+ in: path
+ name: numberId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ capability:
+ description: "Phone number capability. Values: `outgoing` or `incoming`. Add one or both."
+ items:
+ type: string
+ type: array
+ display_name:
+ description: Phone number display name.
+ type: string
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ capability:
+ description: "Phone number capability. Values: `outgoing` or `incoming`. Add one or both."
+ items:
+ type: string
+ type: array
+ display_name:
+ description: Phone number display name.
+ type: string
+ type: object
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204`
+ No Content
+ "400":
+ description: |-
+ **HTTP Response Code:** `400`
+
+ **Error Code:** `300`
+ The value of capability is invalid. Provide a valid capability and try again.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Phone number does not exist: {numberId}.
+ security:
+ - OAuth: []
+ summary: Update phone number details
+ tags:
+ - Phone
+ /phone/recordings:
+ get:
+ description: |+
+ List [call recordings](https://support.zoom.us/hc/en-us/articles/360038521091-Accessing-and-sharing-call-recordings) of an account.
+
+ **Scopes:**
+ * `phone:read:admin` `phone:write:admin`
+
+ **Prerequisties:**
+ * Pro or higher account with Zoom Phone license.
+ * Account owner or admin privileges.
+
+ operationId: getPhoneRecordings
+ parameters:
+ - description: The number of records returned within a single API call. The default is **30**, and the maximum is **100**.
+ in: query
+ name: page_size
+ schema:
+ type: integer
+ - description: The current page number of returned records.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: |
+ Start date and time in **yyyy-mm-dd** format or **yyyy-MM-dd’T’HH:mm:ss’Z’** format. The date range defined by the from and to parameters should only be one month as the report includes only one month worth of data at once.
+ in: query
+ name: from
+ schema:
+ type: string
+ - description: |+
+ End date and time in **yyyy-mm-dd** format or **yyyy-MM-dd’T’HH:mm:ss’Z’** format, the same formats supported by the `from` parameter.
+
+ in: query
+ name: to
+ schema:
+ type: string
+ - description: |
+ The owner type. The allowed values are null, `user`, or `callQueue`. The default is null. If null, returns all owner types.
+ in: query
+ name: owner_type
+ schema:
+ default: all
+ type: string
+ - description: |
+ The recording type. The allowed values are null, `OnDemand`, or `Automatic`. The default is null. If null, returns all recording types.
+ in: query
+ name: recording_type
+ schema:
+ type: string
+ - description: The site ID. The default is `All sites`.
+ in: query
+ name: site_id
+ schema:
+ default: All sites
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ next_page_token: "3"
+ page_size: "2"
+ recordings:
+ - callee_name: johndoe
+ callee_number: "4087778888"
+ callee_number_type: external
+ caller_name: janedoe
+ caller_number: "4085552222"
+ caller_number_type: internal
+ date_time: 2020-11-03T14:31:41Z
+ direction: inbound
+ download_url: https://zoom.us/v2/phone/recording/download/6FHBshghfd3t7-45476zKrw
+ duration: 50
+ id: test
+ owner:
+ extension_number: "43765674"
+ id: "123"
+ name: Tracy
+ type: user
+ recording_type: OnDemand
+ site:
+ id: dfhg35273d
+ name: string
+ total_records: "1"
+ schema:
+ properties:
+ next_page_token:
+ description: The current page number of returned records.
+ type: string
+ page_size:
+ description: The number of records returned within a single API call. The default is **30**, and the maximum is **100**.
+ type: integer
+ recordings:
+ items:
+ properties:
+ callee_name:
+ description: The contact name of the callee.
+ type: string
+ callee_number:
+ description: The phone number of the callee.
+ type: string
+ callee_number_type:
+ description: |-
+ Specifies the callee' number type.
+ `1` - internal
+ `2` - external
+ enum:
+ - 1
+ - 2
+ type: string
+ caller_name:
+ description: The contact name of the caller.
+ type: string
+ caller_number:
+ description: The phone number associated to the caller.
+ type: string
+ caller_number_type:
+ description: |-
+ Specifies the type of the caller number.
+
+ `1` - internal
+ `2` - external
+ enum:
+ - 1
+ - 2
+ type: string
+ date_time:
+ description: The date and time when the recording was received.
+ format: date-time
+ type: string
+ direction:
+ description: "The direction of the call. Values: `inbound` or `outbound`."
+ enum:
+ - inbound
+ - outbound
+ type: string
+ download_url:
+ description: The download URL for the recording.
+ type: string
+ duration:
+ description: The duration of the recording.
+ type: integer
+ id:
+ description: Unique identifier of the recording.
+ type: string
+ owner:
+ description: The owner of the recording.
+ properties:
+ extension_number:
+ description: The extension number associated to the call number.
+ type: string
+ id:
+ description: The owner's ID.
+ type: string
+ name:
+ description: Name of the owner.
+ type: string
+ type:
+ description: "The owner type: `user` or `call queue`."
+ enum:
+ - user
+ - call queue
+ type: string
+ type: object
+ recording_type:
+ description: The recording type. The allowed values are `OnDemand` or `Automatic`.
+ type: string
+ site:
+ properties:
+ id:
+ description: The site ID.
+ type: string
+ name:
+ description: The site name.
+ type: string
+ type: object
+ type: object
+ type: array
+ total_records:
+ description: Total number of records returned.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ next_page_token:
+ description: The current page number of returned records.
+ type: string
+ page_size:
+ description: The number of records returned within a single API call. The default is **30**, and the maximum is **100**.
+ type: integer
+ recordings:
+ items:
+ properties:
+ callee_name:
+ description: The contact name of the callee.
+ type: string
+ callee_number:
+ description: The phone number of the callee.
+ type: string
+ callee_number_type:
+ description: |-
+ Specifies the callee' number type.
+ `1` - internal
+ `2` - external
+ enum:
+ - 1
+ - 2
+ type: string
+ caller_name:
+ description: The contact name of the caller.
+ type: string
+ caller_number:
+ description: The phone number associated to the caller.
+ type: string
+ caller_number_type:
+ description: |-
+ Specifies the type of the caller number.
+
+ `1` - internal
+ `2` - external
+ enum:
+ - 1
+ - 2
+ type: string
+ date_time:
+ description: The date and time when the recording was received.
+ format: date-time
+ type: string
+ direction:
+ description: "The direction of the call. Values: `inbound` or `outbound`."
+ enum:
+ - inbound
+ - outbound
+ type: string
+ download_url:
+ description: The download URL for the recording.
+ type: string
+ duration:
+ description: The duration of the recording.
+ type: integer
+ id:
+ description: Unique identifier of the recording.
+ type: string
+ owner:
+ description: The owner of the recording.
+ properties:
+ extension_number:
+ description: The extension number associated to the call number.
+ type: string
+ id:
+ description: The owner's ID.
+ type: string
+ name:
+ description: Name of the owner.
+ type: string
+ type:
+ description: "The owner type: `user` or `call queue`."
+ enum:
+ - user
+ - call queue
+ type: string
+ type: object
+ recording_type:
+ description: The recording type. The allowed values are `OnDemand` or `Automatic`.
+ type: string
+ site:
+ properties:
+ id:
+ description: The site ID.
+ type: string
+ name:
+ description: The site name.
+ type: string
+ type: object
+ type: object
+ type: array
+ total_records:
+ description: Total number of records returned.
+ type: integer
+ type: object
+ description: |-
+ **HTTP Status Code** `200`
+ OK.
+ "400":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Response Code:** `400`
+ The template name you entered already exists. Provide a new name for the template and try again.
+
+ **Error Code:** `300`
+ Validation failed. You provided an incorrect value for the template type. Provide a valid value and try again.
+ "401":
+ description: |
+ **HTTP Status Code:** `401`
+
+ **Error Code:** `124`
+ Account does not exist: {accountId}.
+ security:
+ - OAuth: []
+ summary: Get call recordings
+ tags:
+ - Phone
+ /phone/reports/operationlogs:
+ get:
+ description: |+
+ The **Phone System operation logs report** allows account owners and admins to view monthly Zoom phone related admin operation details.
+
+ Use this API to retrieve the **Phone System Operation Logs Report**. Account owners and admins can also access this information by logging into their Zoom accounts and navigating to [Phone System Operation Logs](https://zoom.us/pbx/page/report/operations#/report/operation-logs).
**Scopes:** `phone:read:admin`, `phone:write:admin` **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ **Prerequisites:**
+ * Account must be enrollled in Pro or a higher plan
+ * Account must be enrolled in a [Zoom Phone](https://zoom.us/pricing/zoom-phone) plan
+
+ operationId: getPSOperationLogs
+ parameters:
+ - description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report provides only one month worth of data per API request.
+ in: query
+ name: from
+ schema:
+ type: string
+ - description: End date in 'yyyy-mm-dd' format.
+ in: query
+ name: to
+ schema:
+ type: string
+ - description: Filter the response by the category of the action performed. By default, the value of this field is "all" and thus, the response will include log of all operations for the defined period.
To only include response for a specific category type, provide a value for `category_type` from this [table](http://marketplace.zoom.us/docs/phone-operation-categories ).
+ in: query
+ name: category_type
+ schema:
+ default: all
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ from: 2020-08-01
+ next_page_token: abcD3944YsoYPB12
+ operation_logs:
+ - action: UPDATE
+ category_type: Phone Number
+ operation_detail: Unbind Phone Number +1112222 From Not_Delete_CallQueue_Recording
+ operator: apbchd@mail123a.com
+ time: 2020-08-24T06:15:12Z
+ - action: DELETE
+ category_type: Phone Number
+ operation_detail: Delete Phone Number +123456 From abc.zoom.us
+ operator: apbchd@mail123a.com
+ time: 2020-08-24T06:13:30Z
+ - action: ADD
+ category_type: Device
+ operation_detail: Add Device testDevice
+ operator: apbcdef@mail123a.com
+ time: 2020-08-11T03:13:17Z
+ - action: UPDATE
+ category_type: Phone Number
+ operation_detail: Assign Phone Number +120000123 to Sam Mendes(abcdaccount@someaccount.com)
+ operator: apapbchd@mail123a.com
+ time: 2020-08-06T08:29:45Z
+ page_size: 15
+ to: 2020-08-30
+ total_records: 16
+ schema:
+ allOf:
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of the available result list exceeds the page size. The expiration period is 15 minutes.
+ type: string
+ page_size:
+ default: 30
+ description: "The amount of records returns within a single API call. "
+ maximum: 300
+ type: integer
+ type: object
+ - properties:
+ operation_logs:
+ description: Array of operation log objects
+ items:
+ properties:
+ action:
+ description: Action that was performed.
+ type: string
+ category_type:
+ description: Category type of the operation.
+ type: string
+ operation_detail:
+ description: Operation detail.
+ type: string
+ operator:
+ description: The user who performed the operation.
+ type: string
+ time:
+ description: The time at which the operation was performed.
+ format: date-time
+ type: string
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of the available result list exceeds the page size. The expiration period is 15 minutes.
+ type: string
+ page_size:
+ default: 30
+ description: "The amount of records returns within a single API call. "
+ maximum: 300
+ type: integer
+ type: object
+ - properties:
+ operation_logs:
+ description: Array of operation log objects
+ items:
+ properties:
+ action:
+ description: Action that was performed.
+ type: string
+ category_type:
+ description: Category type of the operation.
+ type: string
+ operation_detail:
+ description: Operation detail.
+ type: string
+ operator:
+ description: The user who performed the operation.
+ type: string
+ time:
+ description: The time at which the operation was performed.
+ format: date-time
+ type: string
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Report returned.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code**: `124` Account does not exist: {accountId}.
+ summary: Get operation logs report
+ tags:
+ - Phone Reports
+ /phone/setting_templates:
+ get:
+ description: |+
+ This API lets you retrieve a list of all the phone template settings previously created.
+
+ **Scope**:
+ * `phone:read:admin` or `phone:read`
+ **Prerequisites**:
+ 1. Business or enterprise Account
+ 2. A Zoom Phone license
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: listSettingTemplates
+ parameters:
+ - description: Number of records returns within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: Unique identifier of the site. This field is required only if multiple sites have been enabled. of the site. Required only when multiple sites are enabled. See [Managing multiple sites](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites) for details. If this is not provided, the response lists the account level setting templates.
+ in: query
+ name: site_id
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ next_page_token: "3"
+ page_size: "30"
+ templates:
+ - description: string
+ id: "12345"
+ name: namename
+ type: "2"
+ total_records: "200"
+ schema:
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes
+ type: string
+ page_size:
+ description: The number of records returned within a single API call. The default is **30** and the maximum is **300**.
+ type: integer
+ templates:
+ items:
+ properties:
+ description:
+ description: Template description.
+ type: string
+ id:
+ description: Unique identifier of the template.
+ type: string
+ name:
+ description: Template name.
+ type: string
+ type:
+ description: |-
+ Template type.
+ The value of this field can be one of the following:
+ * `user`
+ * `group`
+ * `autReceptionist`
+ * `commonArea`
+ * `zr`
+ * `interop`
+ enum:
+ - user
+ - group
+ - autReceptionist
+ - commonArea
+ - zr
+ - interop
+ type: string
+ type: object
+ type: array
+ total_records:
+ description: The total number of records returned.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes
+ type: string
+ page_size:
+ description: The number of records returned within a single API call. The default is **30** and the maximum is **300**.
+ type: integer
+ templates:
+ items:
+ properties:
+ description:
+ description: Template description.
+ type: string
+ id:
+ description: Unique identifier of the template.
+ type: string
+ name:
+ description: Template name.
+ type: string
+ type:
+ description: |-
+ Template type.
+ The value of this field can be one of the following:
+ * `user`
+ * `group`
+ * `autReceptionist`
+ * `commonArea`
+ * `zr`
+ * `interop`
+ enum:
+ - user
+ - group
+ - autReceptionist
+ - commonArea
+ - zr
+ - interop
+ type: string
+ type: object
+ type: array
+ total_records:
+ description: The total number of records returned.
+ type: integer
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ OK
+ "400":
+ description: |-
+ **HTTP Response Code:** `400`
+
+ **Error Code:** `300`
+ Multiple Sites option has been disabled. Enable it and try again.
+ "401":
+ description: |-
+ **HTTP Status Code:** `401`
+
+ **Error Code:** `124`
+ Account does not exist: {accountId}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Site does not exist.
+ security:
+ - OAuth: []
+ summary: List setting templates
+ tags:
+ - Phone
+ post:
+ description: |-
+ This API lets you create a Zoom Phone setting template for an account. Template type includes **User**, **Auto Receptionist**, or **Call Queue**. Settings include profile, policy and user settings. After creating a phone template, the settings defined via this request will become the default settings for an account.
+
+ **Scope**:
+ * `phone:write:admin` `phone:write`
+
+
+ **Prerequisites**:
+ 1. Business or enterprise Zoom account
+ 2. A Zoom Phone license
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+
+
+ operationId: addSettingTemplate
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ description:
+ description: A description of the template.
+ type: string
+ name:
+ description: The name of the template.
+ type: string
+ site_id:
+ description: Unique identifier of the site. Required only when multiple sites are enabled. See [Managing multiple sites](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites) for details.
+ type: string
+ type:
+ description: The type of template. Values include `user`, `group`, `autoReceptionist`, `commonarea`, or `interop`.
+ enum:
+ - user
+ - group
+ - autoReceptionist
+ - commonarea
+ - interop
+ type: string
+ required:
+ - name
+ - type
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ description:
+ description: A description of the template.
+ type: string
+ name:
+ description: The name of the template.
+ type: string
+ site_id:
+ description: Unique identifier of the site. Required only when multiple sites are enabled. See [Managing multiple sites](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites) for details.
+ type: string
+ type:
+ description: The type of template. Values include `user`, `group`, `autoReceptionist`, `commonarea`, or `interop`.
+ enum:
+ - user
+ - group
+ - autoReceptionist
+ - commonarea
+ - interop
+ type: string
+ required:
+ - name
+ - type
+ type: object
+ x-examples:
+ application/json:
+ description: template description
+ name: user_template111
+ site_id: 2kfjoefejoefoe
+ type: user
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ description: A description here...
+ id: "123456"
+ name: Name name
+ type: user
+ schema:
+ properties:
+ description:
+ description: Template description.
+ type: string
+ id:
+ description: Template ID.
+ type: string
+ name:
+ description: Template name.
+ type: string
+ type:
+ description: "The type of template. Values include: `user`, `group`, `autoReceptionist`, `commonArea`, `zr`, or `interop`."
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ description:
+ description: Template description.
+ type: string
+ id:
+ description: Template ID.
+ type: string
+ name:
+ description: Template name.
+ type: string
+ type:
+ description: "The type of template. Values include: `user`, `group`, `autoReceptionist`, `commonArea`, `zr`, or `interop`."
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `201`
+ Created Successfully.
+ "400":
+ description: |-
+ **HTTP Response Code:** `400`
+ The template name you entered already exists. Provide a new name for the template and try again.
+
+ **Error Code:** `300`
+ Validation failed. You provided an incorrect value for the template type. Provide a valid value and try again.
+ "401":
+ description: |-
+ **HTTP Status Code:** `401`
+
+ **Error Code:** `124`
+ Account does not exist: {accountId}.
+ summary: Add a setting template
+ tags:
+ - Phone
+ "/phone/setting_templates/{templateId}":
+ get:
+ description: |+
+ This API lets you retrieve a specific account phone template previously created.
+
+ **Scope**:
+ * `phone:write:admin` or `phone:write`
+
+ **Prerequisites**:
+ 1. Business or Enterprise Account
+ 2. A Zoom Phone license
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: getSettingTemplate
+ parameters:
+ - description: Unique identifier of the template.
+ in: path
+ name: templateId
+ required: true
+ schema:
+ type: string
+ - description: 'Provide the name of the field to use to filter the response. For example, if you provide "description" as the value of the field, you will get a response similar to the following: {“description”: “template description”}.'
+ in: query
+ name: custom_query_fields
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ description: string
+ id: string
+ name: string
+ policy:
+ ad_hoc_call_recording:
+ enable: boolean
+ recording_start_prompt: boolean
+ recording_transcription: boolean
+ auto_call_recording:
+ enable: boolean
+ recording_calls: string
+ recording_start_prompt: boolean
+ recording_transcription: boolean
+ sms:
+ enable: boolean
+ international_sms: boolean
+ voicemail:
+ allow_transcription: boolean
+ enable: boolean
+ profile:
+ area_code: string
+ country: string
+ type: string
+ user_settings:
+ audio_prompt_language: string
+ block_calls_without_caller_id: boolean
+ call_handling:
+ business_hours:
+ business_hour_action: integer
+ connect_to_operator:
+ enable: boolean
+ id: string
+ type: string
+ custom_hours:
+ - from: string
+ to: string
+ type: integer
+ weekday: integer
+ ring_type: string
+ ringing_duration: string
+ type: integer
+ close_hours:
+ close_hour_action: integer
+ connect_to_operator:
+ enable: boolean
+ id: string
+ type: string
+ max_wait_time: string
+ desk_phone:
+ pin_code: string
+ hold_music: string
+ schema:
+ properties:
+ description:
+ description: The description of the template.
+ type: string
+ id:
+ description: Specify the template ID.
+ type: string
+ name:
+ description: Specify the name of the template.
+ type: string
+ policy:
+ properties:
+ ad_hoc_call_recording:
+ properties:
+ enable:
+ description: Allow current extension to record and save calls in the cloud.
+ type: boolean
+ recording_start_prompt:
+ description: Play a prompt to call participants when the recording has started.
+ type: boolean
+ recording_transcription:
+ description: Allow call recording transcription.
+ type: boolean
+ type: object
+ auto_call_recording:
+ properties:
+ enable:
+ description: Enable automatic call recording.
+ type: boolean
+ recording_calls:
+ description: "Values: inbound, outbound, both."
+ type: string
+ recording_start_prompt:
+ description: Play a prompt to call participants when the recording has started.
+ type: boolean
+ recording_transcription:
+ description: Allow call recording transcription.
+ type: boolean
+ type: object
+ sms:
+ properties:
+ enable:
+ description: Allow user to send and receive messages.
+ type: boolean
+ international_sms:
+ type: boolean
+ type: object
+ voicemail:
+ properties:
+ allow_transcription:
+ description: Allow voicemail transcription.
+ type: boolean
+ enable:
+ description: Allow current extension to access, receive, or share voicemail.
+ type: boolean
+ type: object
+ type: object
+ profile:
+ properties:
+ area_code:
+ description: The area code from which the phone account was created.
+ type: string
+ country:
+ description: Name of the country where the template was created.
+ type: string
+ type: object
+ type:
+ description: "The type of template being queried. Values: `user`, `group`, `auto receptionist` `common area`,`zr`, `interop`."
+ enum:
+ - user
+ - group
+ - autoReceptionist
+ - commonArea
+ - zr
+ - interop
+ type: string
+ user_settings:
+ properties:
+ audio_prompt_language:
+ description: |-
+ Audio prompt language code. American English: `en-US`
+ British English: `en-GB`
+ Español americano: `es-US`
+ Français canadien: `fr-CA`
+ Dansk: `da-DK`
+ Deutsch: `de-DE`
+ Español: `es-ES`
+ Français: `fr-FR`
+ Italiano: `it-IT`
+ Nederlands: `nl-NL`
+ Portugues portugal: `pt-PT`
+ Japanese: `ja-JP`
+ Korean: `ko-KO`
+ Portugues brasil: `pt-BR`
+ Chinese: `zh-CN`
+ Taiwanese: `zh-TW`
+ type: string
+ block_calls_without_caller_id:
+ description: Block Calls without Caller ID.
+ type: boolean
+ call_handling:
+ properties:
+ business_hours:
+ properties:
+ business_hour_action:
+ description: |-
+ When a call is not answered:
+ 0-Forward to voicemail;
+ 1-Play a message, then disconnect;
+ 9-Disconnect;
+ 26-Forward to External Contacts;
+ 50-Forward to another extension
+ enum:
+ - 0
+ - 1
+ - 9
+ - 26
+ - 50
+ type: integer
+ connect_to_operator:
+ description: Allow callers to press Zero to reach an operator or press One to leave a message, or allow neither of these options.
+ properties:
+ enable:
+ description: Enable connect to operator.
+ type: boolean
+ id:
+ description: Phone extension ID of the user, zoomRoom, commonAreaPhone, autoReceptionist, callQueue or sharedLineGroup.
+ type: string
+ type:
+ description: |-
+ Values:
+ 1-user,
+ 2-callQueue,
+ 3-autoReceptionist,
+ 4-commonAreaPhone,
+ 5-zoomRoom,
+ 7-sharedLineGroup
+ enum:
+ - user
+ - zoomRoom
+ - commonAreaPhone
+ - autoReceptionist
+ - callQueue
+ - sharedLineGroup
+ type: string
+ type: object
+ custom_hours:
+ items:
+ properties:
+ from:
+ description: |-
+ Values:
+ hh:mm
+ format: time
+ type: string
+ to:
+ description: |-
+ Values:
+ hh:mm
+ format: time
+ type: string
+ type:
+ description: |-
+ Values:
+ 1-24 Hours,
+ 2-customized hours
+ enum:
+ - 1
+ - 2
+ type: integer
+ weekday:
+ description: "Values: 1-7 sun-sat"
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ type: object
+ type: array
+ ring_type:
+ description: |-
+ Call Handling Ring Mode:
+ 0-Simultaneous,
+ 1-Sequential
+ enum:
+ - 0
+ - 1
+ type: string
+ ringing_duration:
+ description: |-
+ Ringing Duration for Each Device in seconds. Values:
+ 15,20,25,30,35,40,45,50,55,60
+ enum:
+ - 15
+ - 20
+ - 25
+ - 30
+ - 35
+ - 40
+ - 45
+ - 50
+ - 55
+ - 60
+ type: string
+ type:
+ description: |-
+ Values:
+ 1-24 Hours, 7 Days a Week;
+ 2-Custom Hours
+ enum:
+ - 1
+ - 2
+ type: integer
+ type: object
+ close_hours:
+ properties:
+ close_hour_action:
+ description: |
+ Action to take when a call is not answered:
+ 0-Forward to voicemail;
+ 1-Play a message, then disconnect;
+ 9-Disconnect;
+ 26-Forward to External Contacts;
+ 50-Forward to another extension
+ enum:
+ - 0
+ - 1
+ - 9
+ - 26
+ - 50
+ type: integer
+ connect_to_operator:
+ description: Allow callers to press Zero to reach an operator or press One to leave a message, or allow neither of these options.
+ properties:
+ enable:
+ type: boolean
+ id:
+ description: Phone extension ID of the user, zoomRoom, commonAreaPhone, autoReceptionist, callQueue or sharedLineGroup.
+ type: string
+ type:
+ description: |-
+ Values:
+ 1-user,
+ 2-callQueue,
+ 3-autoReceptionist,
+ 4-commonAreaPhone,
+ 5-zoomRoom,
+ 7-sharedLineGroup
+ enum:
+ - user
+ - zoomRoom
+ - commonAreaPhone
+ - autoReceptionist
+ - callQueue
+ - sharedLineGroup
+ type: string
+ type: object
+ max_wait_time:
+ description: |-
+ Max Wait Time in seconds. Values:
+ 15,20,25,30,35,40,45,50,55,60
+ enum:
+ - 15
+ - 20
+ - 25
+ - 30
+ - 35
+ - 40
+ - 45
+ - 50
+ - 55
+ - 60
+ type: string
+ type: object
+ type: object
+ desk_phone:
+ properties:
+ pin_code:
+ description: Pin code.
+ type: string
+ type: object
+ hold_music:
+ description: |-
+ The value of this field can be either `default` or `disable`.
+
+ * `default`: This means that the hold music can be set using the [audio library](https://support.zoom.us/hc/en-us/articles/360028212652-Using-the-audio-library-to-customize-greetings-and-hold-music).
+
+ * `disable`: This means that the hold music is disabled.
+ enum:
+ - default
+ - disable
+ type: string
+ type: object
+ type: object
+ application/xml:
+ schema:
+ properties:
+ description:
+ description: The description of the template.
+ type: string
+ id:
+ description: Specify the template ID.
+ type: string
+ name:
+ description: Specify the name of the template.
+ type: string
+ policy:
+ properties:
+ ad_hoc_call_recording:
+ properties:
+ enable:
+ description: Allow current extension to record and save calls in the cloud.
+ type: boolean
+ recording_start_prompt:
+ description: Play a prompt to call participants when the recording has started.
+ type: boolean
+ recording_transcription:
+ description: Allow call recording transcription.
+ type: boolean
+ type: object
+ auto_call_recording:
+ properties:
+ enable:
+ description: Enable automatic call recording.
+ type: boolean
+ recording_calls:
+ description: "Values: inbound, outbound, both."
+ type: string
+ recording_start_prompt:
+ description: Play a prompt to call participants when the recording has started.
+ type: boolean
+ recording_transcription:
+ description: Allow call recording transcription.
+ type: boolean
+ type: object
+ sms:
+ properties:
+ enable:
+ description: Allow user to send and receive messages.
+ type: boolean
+ international_sms:
+ type: boolean
+ type: object
+ voicemail:
+ properties:
+ allow_transcription:
+ description: Allow voicemail transcription.
+ type: boolean
+ enable:
+ description: Allow current extension to access, receive, or share voicemail.
+ type: boolean
+ type: object
+ type: object
+ profile:
+ properties:
+ area_code:
+ description: The area code from which the phone account was created.
+ type: string
+ country:
+ description: Name of the country where the template was created.
+ type: string
+ type: object
+ type:
+ description: "The type of template being queried. Values: `user`, `group`, `auto receptionist` `common area`,`zr`, `interop`."
+ enum:
+ - user
+ - group
+ - autoReceptionist
+ - commonArea
+ - zr
+ - interop
+ type: string
+ user_settings:
+ properties:
+ audio_prompt_language:
+ description: |-
+ Audio prompt language code. American English: `en-US`
+ British English: `en-GB`
+ Español americano: `es-US`
+ Français canadien: `fr-CA`
+ Dansk: `da-DK`
+ Deutsch: `de-DE`
+ Español: `es-ES`
+ Français: `fr-FR`
+ Italiano: `it-IT`
+ Nederlands: `nl-NL`
+ Portugues portugal: `pt-PT`
+ Japanese: `ja-JP`
+ Korean: `ko-KO`
+ Portugues brasil: `pt-BR`
+ Chinese: `zh-CN`
+ Taiwanese: `zh-TW`
+ type: string
+ block_calls_without_caller_id:
+ description: Block Calls without Caller ID.
+ type: boolean
+ call_handling:
+ properties:
+ business_hours:
+ properties:
+ business_hour_action:
+ description: |-
+ When a call is not answered:
+ 0-Forward to voicemail;
+ 1-Play a message, then disconnect;
+ 9-Disconnect;
+ 26-Forward to External Contacts;
+ 50-Forward to another extension
+ enum:
+ - 0
+ - 1
+ - 9
+ - 26
+ - 50
+ type: integer
+ connect_to_operator:
+ description: Allow callers to press Zero to reach an operator or press One to leave a message, or allow neither of these options.
+ properties:
+ enable:
+ description: Enable connect to operator.
+ type: boolean
+ id:
+ description: Phone extension ID of the user, zoomRoom, commonAreaPhone, autoReceptionist, callQueue or sharedLineGroup.
+ type: string
+ type:
+ description: |-
+ Values:
+ 1-user,
+ 2-callQueue,
+ 3-autoReceptionist,
+ 4-commonAreaPhone,
+ 5-zoomRoom,
+ 7-sharedLineGroup
+ enum:
+ - user
+ - zoomRoom
+ - commonAreaPhone
+ - autoReceptionist
+ - callQueue
+ - sharedLineGroup
+ type: string
+ type: object
+ custom_hours:
+ items:
+ properties:
+ from:
+ description: |-
+ Values:
+ hh:mm
+ format: time
+ type: string
+ to:
+ description: |-
+ Values:
+ hh:mm
+ format: time
+ type: string
+ type:
+ description: |-
+ Values:
+ 1-24 Hours,
+ 2-customized hours
+ enum:
+ - 1
+ - 2
+ type: integer
+ weekday:
+ description: "Values: 1-7 sun-sat"
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ type: object
+ type: array
+ ring_type:
+ description: |-
+ Call Handling Ring Mode:
+ 0-Simultaneous,
+ 1-Sequential
+ enum:
+ - 0
+ - 1
+ type: string
+ ringing_duration:
+ description: |-
+ Ringing Duration for Each Device in seconds. Values:
+ 15,20,25,30,35,40,45,50,55,60
+ enum:
+ - 15
+ - 20
+ - 25
+ - 30
+ - 35
+ - 40
+ - 45
+ - 50
+ - 55
+ - 60
+ type: string
+ type:
+ description: |-
+ Values:
+ 1-24 Hours, 7 Days a Week;
+ 2-Custom Hours
+ enum:
+ - 1
+ - 2
+ type: integer
+ type: object
+ close_hours:
+ properties:
+ close_hour_action:
+ description: |
+ Action to take when a call is not answered:
+ 0-Forward to voicemail;
+ 1-Play a message, then disconnect;
+ 9-Disconnect;
+ 26-Forward to External Contacts;
+ 50-Forward to another extension
+ enum:
+ - 0
+ - 1
+ - 9
+ - 26
+ - 50
+ type: integer
+ connect_to_operator:
+ description: Allow callers to press Zero to reach an operator or press One to leave a message, or allow neither of these options.
+ properties:
+ enable:
+ type: boolean
+ id:
+ description: Phone extension ID of the user, zoomRoom, commonAreaPhone, autoReceptionist, callQueue or sharedLineGroup.
+ type: string
+ type:
+ description: |-
+ Values:
+ 1-user,
+ 2-callQueue,
+ 3-autoReceptionist,
+ 4-commonAreaPhone,
+ 5-zoomRoom,
+ 7-sharedLineGroup
+ enum:
+ - user
+ - zoomRoom
+ - commonAreaPhone
+ - autoReceptionist
+ - callQueue
+ - sharedLineGroup
+ type: string
+ type: object
+ max_wait_time:
+ description: |-
+ Max Wait Time in seconds. Values:
+ 15,20,25,30,35,40,45,50,55,60
+ enum:
+ - 15
+ - 20
+ - 25
+ - 30
+ - 35
+ - 40
+ - 45
+ - 50
+ - 55
+ - 60
+ type: string
+ type: object
+ type: object
+ desk_phone:
+ properties:
+ pin_code:
+ description: Pin code.
+ type: string
+ type: object
+ hold_music:
+ description: |-
+ The value of this field can be either `default` or `disable`.
+
+ * `default`: This means that the hold music can be set using the [audio library](https://support.zoom.us/hc/en-us/articles/360028212652-Using-the-audio-library-to-customize-greetings-and-hold-music).
+
+ * `disable`: This means that the hold music is disabled.
+ enum:
+ - default
+ - disable
+ type: string
+ type: object
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ OK
+ "401":
+ description: |-
+ **HTTP Status Code:** `401`
+
+ **Error Code:** `124`
+ Account does not exist: {accountId}.
+ "404":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |
+ **HTTP Status Code:** `404`
+ Site does not exist. Settings template does not exist: {templateId}.
+ security:
+ - OAuth: []
+ summary: Get setting template details
+ tags:
+ - Phone
+ parameters:
+ - in: path
+ name: templateId
+ required: true
+ schema:
+ type: string
+ patch:
+ description: |+
+ Use this API to update or modify profile settings for the phone template. Template type includes **User**, **Auto Receptionist**, or **Call Queue**. After you've modified a template, click **User Settings** to set up settings for Call Handling, Desk Phone, and Others.
+
+ **Scope**:
+ * `phone:write:admin` or `phone:write`
+
+ **Prerequisites**:
+ 1. Business or Enterprise Account
+ 2. A Zoom Phone license
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: updateSettingTemplate
+ parameters:
+ - description: The Template ID.
+ in: path
+ name: templateId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ description:
+ description: The description of the template.
+ type: string
+ name:
+ description: Specify the name of the template.
+ type: string
+ policy:
+ properties:
+ ad_hoc_call_recording:
+ properties:
+ enable:
+ description: Allow current extension to record and save calls in the cloud.
+ type: boolean
+ recording_start_prompt:
+ description: Play a prompt to call participants when the recording has started.
+ type: boolean
+ recording_transcription:
+ description: Allow call recording transcription.
+ type: boolean
+ type: object
+ auto_call_recording:
+ properties:
+ enable:
+ description: Automatic call recording.
+ type: boolean
+ recording_calls:
+ description: "Values: inbound, outbound, both."
+ enum:
+ - inbound
+ - outbound
+ - both
+ type: string
+ recording_start_prompt:
+ description: Play a prompt to call participants when the recording has started.
+ type: boolean
+ recording_transcription:
+ description: Allow call recording transcription.
+ type: boolean
+ type: object
+ sms:
+ properties:
+ enable:
+ description: Allow user to send and receive messages.
+ type: boolean
+ international_sms:
+ description: Whether or not SMS is international.
+ type: boolean
+ type: object
+ voicemail:
+ properties:
+ allow_transcription:
+ description: Allow voicemail transcription.
+ type: boolean
+ enable:
+ description: Allow current extension to access, receive, or share voicemail.
+ type: boolean
+ type: object
+ type: object
+ profile:
+ properties:
+ area_code:
+ description: The area code from which the phone account was created.
+ type: string
+ country:
+ description: Name of the country where the template was created.
+ type: string
+ type: object
+ user_settings:
+ properties:
+ audio_prompt_language:
+ description: |-
+ Audio prompt language code. American English: `en-US`
+ British English: `en-GB`
+ Español americano: `es-US`
+ Français canadien: `fr-CA`
+ Dansk: `da-DK`
+ Deutsch: `de-DE`
+ Español: `es-ES`
+ Français: `fr-FR`
+ Italiano: `it-IT`
+ Nederlands: `nl-NL`
+ Portugues portugal: `pt-PT`
+ Japanese: `ja-JP`
+ Korean: `ko-KO`
+ Portugues brasil: `pt-BR`
+ Chinese: `zh-CN`
+ Taiwanese: `zh-TW`
+ type: string
+ block_calls_without_caller_id:
+ description: Block Calls without Caller ID.
+ type: boolean
+ call_handling:
+ properties:
+ business_hours:
+ properties:
+ business_hour_action:
+ description: |-
+ When a call is not answered:
+ 0-Forward to voicemail;
+ 1-Play a message, then disconnect;
+ 9-Disconnect;
+ 26-Forward to External Contacts;
+ 50-Forward to another extension
+ enum:
+ - 0
+ - 1
+ - 9
+ - 26
+ - 50
+ type: integer
+ connect_to_operator:
+ description: Allow callers to press Zero to reach an operator or press One to leave a message, or allow neither of these options.
+ properties:
+ enable:
+ description: Enable connect to operator.
+ type: boolean
+ id:
+ description: Extension ID of user, zoomRoom, commonAreaPhone, autoReceptionist, callQueue or sharedLineGroup. This ID is passed along with the `type` if the `close_hour_action` was not set with a value of *26*.
+ type: string
+ type:
+ description: |-
+ Values:
+ 1-user,
+ 2-callQueue,
+ 3-autoReceptionist,
+ 4-commonAreaPhone,
+ 5-zoomRoom,
+ 7-sharedLineGroup
+ enum:
+ - user
+ - zoomRoom
+ - commonAreaPhone
+ - autoReceptionist
+ - callQueue
+ - sharedLineGroup
+ type: string
+ type: object
+ custom_hours:
+ items:
+ properties:
+ from:
+ description: |-
+ Values:
+ hh:mm
+ format: time
+ type: string
+ to:
+ description: |-
+ Values:
+ hh:mm
+ format: time
+ type: string
+ type:
+ description: |-
+ Values:
+ 1-24 Hours,
+ 2-customized hours
+ enum:
+ - 1
+ - 2
+ type: integer
+ weekday:
+ description: "Values: 1-7 sun-sat"
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ type: object
+ type: array
+ ring_type:
+ description: |-
+ Call Handling Ring Mode:
+ 0-Simultaneous,
+ 1-Sequential
+ enum:
+ - 0
+ - 1
+ type: string
+ ringing_duration:
+ description: |-
+ Ringing Duration for Each Device, in seconds. Values:
+ 15,20,25,30,35,40,45,50,55,60
+ enum:
+ - 15
+ - 20
+ - 25
+ - 30
+ - 35
+ - 40
+ - 45
+ - 50
+ - 55
+ - 60
+ type: string
+ type:
+ description: |-
+ Values:
+ 1-24 Hours, 7 Days a Week;
+ 2-Custom Hours
+ enum:
+ - 1
+ - 2
+ type: integer
+ type: object
+ close_hours:
+ properties:
+ close_hour_action:
+ description: |
+ Action to take when a call is not answered:
+ 0-Forward to voicemail;
+ 1-Play a message, then disconnect;
+ 9-Disconnect;
+ 26-Forward to External Contacts;
+ 50-Forward to another extension
+ enum:
+ - 0
+ - 1
+ - 9
+ - 26
+ - 50
+ type: integer
+ connect_to_operator:
+ description: Allow callers to press Zero to reach an operator or press One to leave a message, or allow neither of these options.
+ properties:
+ enable:
+ description: Enable connect to operator.
+ type: boolean
+ id:
+ description: Extension ID of user, zoomRoom, commonAreaPhone, autoReceptionist, callQueue or sharedLineGroup. This ID is passed along with the `type` if the `close_hour_action` was not set with a value of *26*.
+ type: string
+ type:
+ description: |-
+ Values:
+ 1-user,
+ 2-callQueue,
+ 3-autoReceptionist,
+ 4-commonAreaPhone,
+ 5-zoomRoom,
+ 7-sharedLineGroup
+ enum:
+ - user
+ - zoomRoom
+ - commonAreaPhone
+ - autoReceptionist
+ - callQueue
+ - sharedLineGroup
+ type: string
+ type: object
+ max_wait_time:
+ description: |-
+ Maximum wait time, in seconds. Values:
+ 15,20,25,30,35,40,45,50,55,60
+ enum:
+ - 15
+ - 20
+ - 25
+ - 30
+ - 35
+ - 40
+ - 45
+ - 50
+ - 55
+ - 60
+ type: string
+ type: object
+ type: object
+ desk_phone:
+ properties:
+ pin_code:
+ description: Pin code.
+ type: string
+ type: object
+ hold_music:
+ description: |-
+ The value of this field can be either `default` or `disable`.
+
+ * `default`: This means that the hold music can be set using the [audio library](https://support.zoom.us/hc/en-us/articles/360028212652-Using-the-audio-library-to-customize-greetings-and-hold-music).
+
+ * `disable`: This means that the hold music is disabled.
+ enum:
+ - default
+ - disable
+ type: string
+ type: object
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ description:
+ description: The description of the template.
+ type: string
+ name:
+ description: Specify the name of the template.
+ type: string
+ policy:
+ properties:
+ ad_hoc_call_recording:
+ properties:
+ enable:
+ description: Allow current extension to record and save calls in the cloud.
+ type: boolean
+ recording_start_prompt:
+ description: Play a prompt to call participants when the recording has started.
+ type: boolean
+ recording_transcription:
+ description: Allow call recording transcription.
+ type: boolean
+ type: object
+ auto_call_recording:
+ properties:
+ enable:
+ description: Automatic call recording.
+ type: boolean
+ recording_calls:
+ description: "Values: inbound, outbound, both."
+ enum:
+ - inbound
+ - outbound
+ - both
+ type: string
+ recording_start_prompt:
+ description: Play a prompt to call participants when the recording has started.
+ type: boolean
+ recording_transcription:
+ description: Allow call recording transcription.
+ type: boolean
+ type: object
+ sms:
+ properties:
+ enable:
+ description: Allow user to send and receive messages.
+ type: boolean
+ international_sms:
+ description: Whether or not SMS is international.
+ type: boolean
+ type: object
+ voicemail:
+ properties:
+ allow_transcription:
+ description: Allow voicemail transcription.
+ type: boolean
+ enable:
+ description: Allow current extension to access, receive, or share voicemail.
+ type: boolean
+ type: object
+ type: object
+ profile:
+ properties:
+ area_code:
+ description: The area code from which the phone account was created.
+ type: string
+ country:
+ description: Name of the country where the template was created.
+ type: string
+ type: object
+ user_settings:
+ properties:
+ audio_prompt_language:
+ description: |-
+ Audio prompt language code. American English: `en-US`
+ British English: `en-GB`
+ Español americano: `es-US`
+ Français canadien: `fr-CA`
+ Dansk: `da-DK`
+ Deutsch: `de-DE`
+ Español: `es-ES`
+ Français: `fr-FR`
+ Italiano: `it-IT`
+ Nederlands: `nl-NL`
+ Portugues portugal: `pt-PT`
+ Japanese: `ja-JP`
+ Korean: `ko-KO`
+ Portugues brasil: `pt-BR`
+ Chinese: `zh-CN`
+ Taiwanese: `zh-TW`
+ type: string
+ block_calls_without_caller_id:
+ description: Block Calls without Caller ID.
+ type: boolean
+ call_handling:
+ properties:
+ business_hours:
+ properties:
+ business_hour_action:
+ description: |-
+ When a call is not answered:
+ 0-Forward to voicemail;
+ 1-Play a message, then disconnect;
+ 9-Disconnect;
+ 26-Forward to External Contacts;
+ 50-Forward to another extension
+ enum:
+ - 0
+ - 1
+ - 9
+ - 26
+ - 50
+ type: integer
+ connect_to_operator:
+ description: Allow callers to press Zero to reach an operator or press One to leave a message, or allow neither of these options.
+ properties:
+ enable:
+ description: Enable connect to operator.
+ type: boolean
+ id:
+ description: Extension ID of user, zoomRoom, commonAreaPhone, autoReceptionist, callQueue or sharedLineGroup. This ID is passed along with the `type` if the `close_hour_action` was not set with a value of *26*.
+ type: string
+ type:
+ description: |-
+ Values:
+ 1-user,
+ 2-callQueue,
+ 3-autoReceptionist,
+ 4-commonAreaPhone,
+ 5-zoomRoom,
+ 7-sharedLineGroup
+ enum:
+ - user
+ - zoomRoom
+ - commonAreaPhone
+ - autoReceptionist
+ - callQueue
+ - sharedLineGroup
+ type: string
+ type: object
+ custom_hours:
+ items:
+ properties:
+ from:
+ description: |-
+ Values:
+ hh:mm
+ format: time
+ type: string
+ to:
+ description: |-
+ Values:
+ hh:mm
+ format: time
+ type: string
+ type:
+ description: |-
+ Values:
+ 1-24 Hours,
+ 2-customized hours
+ enum:
+ - 1
+ - 2
+ type: integer
+ weekday:
+ description: "Values: 1-7 sun-sat"
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ type: object
+ type: array
+ ring_type:
+ description: |-
+ Call Handling Ring Mode:
+ 0-Simultaneous,
+ 1-Sequential
+ enum:
+ - 0
+ - 1
+ type: string
+ ringing_duration:
+ description: |-
+ Ringing Duration for Each Device, in seconds. Values:
+ 15,20,25,30,35,40,45,50,55,60
+ enum:
+ - 15
+ - 20
+ - 25
+ - 30
+ - 35
+ - 40
+ - 45
+ - 50
+ - 55
+ - 60
+ type: string
+ type:
+ description: |-
+ Values:
+ 1-24 Hours, 7 Days a Week;
+ 2-Custom Hours
+ enum:
+ - 1
+ - 2
+ type: integer
+ type: object
+ close_hours:
+ properties:
+ close_hour_action:
+ description: |
+ Action to take when a call is not answered:
+ 0-Forward to voicemail;
+ 1-Play a message, then disconnect;
+ 9-Disconnect;
+ 26-Forward to External Contacts;
+ 50-Forward to another extension
+ enum:
+ - 0
+ - 1
+ - 9
+ - 26
+ - 50
+ type: integer
+ connect_to_operator:
+ description: Allow callers to press Zero to reach an operator or press One to leave a message, or allow neither of these options.
+ properties:
+ enable:
+ description: Enable connect to operator.
+ type: boolean
+ id:
+ description: Extension ID of user, zoomRoom, commonAreaPhone, autoReceptionist, callQueue or sharedLineGroup. This ID is passed along with the `type` if the `close_hour_action` was not set with a value of *26*.
+ type: string
+ type:
+ description: |-
+ Values:
+ 1-user,
+ 2-callQueue,
+ 3-autoReceptionist,
+ 4-commonAreaPhone,
+ 5-zoomRoom,
+ 7-sharedLineGroup
+ enum:
+ - user
+ - zoomRoom
+ - commonAreaPhone
+ - autoReceptionist
+ - callQueue
+ - sharedLineGroup
+ type: string
+ type: object
+ max_wait_time:
+ description: |-
+ Maximum wait time, in seconds. Values:
+ 15,20,25,30,35,40,45,50,55,60
+ enum:
+ - 15
+ - 20
+ - 25
+ - 30
+ - 35
+ - 40
+ - 45
+ - 50
+ - 55
+ - 60
+ type: string
+ type: object
+ type: object
+ desk_phone:
+ properties:
+ pin_code:
+ description: Pin code.
+ type: string
+ type: object
+ hold_music:
+ description: |-
+ The value of this field can be either `default` or `disable`.
+
+ * `default`: This means that the hold music can be set using the [audio library](https://support.zoom.us/hc/en-us/articles/360028212652-Using-the-audio-library-to-customize-greetings-and-hold-music).
+
+ * `disable`: This means that the hold music is disabled.
+ enum:
+ - default
+ - disable
+ type: string
+ type: object
+ type: object
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204`
+ No Content. Request was successful.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ **Error Code:** `300`
+ The country code you entered is invalid. Provide a valid country code and try again.
+ The area code you entered is invalid. Provide a valid area code with a length between 0 to 6 digits and try again.
+ The value you entered for the audio prompt language code is invalid.
+ PIN code could only include numbers.
+ Invalid PIN code. PIN code must be {0} digits long.
+ Invalid PIN code. PIN code must be {0} to {1} digits long.
+ Invalid PIN code. Your PIN code must not be the same as the extension number.
+ Invalid PIN code. The PIN code must not contain a group of repeated digits.
+ PIN code cannot be an ascending or descending group of digits.
+ Connect to operator type error.
+ You provided an invalid value for call handling ring type. The value of this field must either be “simultaneous” or “sequential”.
+ You provided an invalid value for business hours type field. The value of this field must either be 1 or 2.
+ You provided an invalid value for the business hours action field.
+ You provided an invalid value for the close hours action field.
+ "401":
+ description: |-
+ **HTTP Status Code:** `401`
+
+ **Error Code:** `124`
+ Account does not exist: {accountId}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Site does not exist. Settings template does not exist: {templateId}.
+ Operator was not found for the following id: {0}.
+ External contact was not found for the following id: {0}.
+ security:
+ - OAuth: []
+ summary: Update a setting template
+ tags:
+ - Phone
+ /phone/shared_line_groups:
+ get:
+ description: |-
+ A [shared line group](https://support.zoom.us/hc/en-us/articles/360038850792) allows Zoom Phone admins to share a phone number and extension with a group of phone users or common area phones. This gives members of the shared line group access to the group's direct phone number and voicemail. Use this API to list all the Shared Line Groups.
+
+ **Prerequisties:**
+ * Pro or higher account with Zoom Phone license.
+ * Account owner or admin privileges
+
+ **Scopes:** `phone:read:admin`, `phone:write:admin`
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: listSharedLineGroups
+ parameters:
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ next_page_token: hkdsfghdj3hef
+ page_size: 30
+ shared_line_groups:
+ - display_name: Test Shared Line Group
+ extension_number: 123
+ id: sdgfhdser83velit
+ phone_numbers:
+ - id: min4glt
+ number: "46835635784"
+ status: available
+ site:
+ id: dgfgfgh433
+ name: San Jose Site
+ status: active
+ total_records: 1
+ schema:
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 100
+ type: integer
+ shared_line_groups:
+ items:
+ properties:
+ display_name:
+ description: Display Name of the Shared Line Group.
+ type: string
+ extension_number:
+ description: Extension number assigned to the Shared Line Group.
+ type: integer
+ id:
+ description: Unique Identifier of the Shared Line Group.
+ type: string
+ phone_numbers:
+ description: Phone Numbers Assigned to the Shared Line Group.
+ items:
+ properties:
+ id:
+ description: Unique identifier of the phone number.
+ type: string
+ number:
+ description: Phone number in E164 format.
+ type: string
+ status:
+ description: Status of the number.
+ enum:
+ - pending
+ - available
+ type: string
+ type: object
+ type: array
+ site:
+ properties:
+ id:
+ description: Unique Identifier of the [Site](https://marketplace.zoom.us/docs/api-reference/zoom-api/phone-site/getasite).
+ type: string
+ name:
+ description: Name of the Site.
+ type: string
+ type: object
+ status:
+ description: Status of the Shared Line Group.
+ enum:
+ - active
+ - inactive
+ type: string
+ type: object
+ type: array
+ total_records:
+ description: Total records found in the response for this request.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 100
+ type: integer
+ shared_line_groups:
+ items:
+ properties:
+ display_name:
+ description: Display Name of the Shared Line Group.
+ type: string
+ extension_number:
+ description: Extension number assigned to the Shared Line Group.
+ type: integer
+ id:
+ description: Unique Identifier of the Shared Line Group.
+ type: string
+ phone_numbers:
+ description: Phone Numbers Assigned to the Shared Line Group.
+ items:
+ properties:
+ id:
+ description: Unique identifier of the phone number.
+ type: string
+ number:
+ description: Phone number in E164 format.
+ type: string
+ status:
+ description: Status of the number.
+ enum:
+ - pending
+ - available
+ type: string
+ type: object
+ type: array
+ site:
+ properties:
+ id:
+ description: Unique Identifier of the [Site](https://marketplace.zoom.us/docs/api-reference/zoom-api/phone-site/getasite).
+ type: string
+ name:
+ description: Name of the Site.
+ type: string
+ type: object
+ status:
+ description: Status of the Shared Line Group.
+ enum:
+ - active
+ - inactive
+ type: string
+ type: object
+ type: array
+ total_records:
+ description: Total records found in the response for this request.
+ type: integer
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ Shared Line Groups returned.
+ summary: List shared line groups
+ tags:
+ - Phone Shared Line Groups
+ post:
+ description: |-
+ A [shared line group](https://support.zoom.us/hc/en-us/articles/360038850792) allows Zoom Phone admins to share a phone number and extension with a group of phone users or common area phones. This gives members of the shared line group access to the group's direct phone number and voicemail. Use this API to create a shared line group.
+
+ **Prerequisties:**
+ * Pro or higher account with Zoom Phone license.
+ * Account owner or admin privileges
+
+ **Scopes:** `phone:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: createASharedLineGroup
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ description:
+ description: Provide a description for the shared line group.
+ maxLength: 255
+ type: string
+ display_name:
+ description: Provide a name to help identify the shared line group.
+ maxLength: 200
+ type: string
+ extension_number:
+ description: "Extension number to be assigned to the shared line group. If a [site code has been assigned](https://support.zoom.us/hc/en-us/articles/360020809672#h_79ca9c8f-c97b-4486-aa59-d0d9d31a525b) to the site, provide the short extension number "
+ type: integer
+ site_id:
+ description: |-
+ Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites) that you would like to use for the shared line group. You will only be able to add members that belong to this site to the shared line group.
+
+ This field is required only if the [multiple sites](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites) option has been enabled for the account.
+ type: string
+ required:
+ - display_name
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ description:
+ description: Provide a description for the shared line group.
+ maxLength: 255
+ type: string
+ display_name:
+ description: Provide a name to help identify the shared line group.
+ maxLength: 200
+ type: string
+ extension_number:
+ description: "Extension number to be assigned to the shared line group. If a [site code has been assigned](https://support.zoom.us/hc/en-us/articles/360020809672#h_79ca9c8f-c97b-4486-aa59-d0d9d31a525b) to the site, provide the short extension number "
+ type: integer
+ site_id:
+ description: |-
+ Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites) that you would like to use for the shared line group. You will only be able to add members that belong to this site to the shared line group.
+
+ This field is required only if the [multiple sites](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites) option has been enabled for the account.
+ type: string
+ required:
+ - display_name
+ type: object
+ x-examples:
+ application/json:
+ description: This Shared Line group is for the Comms team based in London.
+ display_name: London Comms Shared Line
+ extension_number: 301
+ site_id: vcdsg7dsghf
+ responses:
+ "200":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |
+ **HTTP Status Code:** `200` **OK**
+ Shared Line Group created successfully.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300` **Validation Failed**
+ * Multiple Site has not been enabled for this account.
+ * Site does not exist.
+ **Error Code:** `400`
+ Extension number {extensionNumber} is already used.
+ **Error Code:** `409`
+ Invalid short number length.
+ Number {extensionNumber} is a reserved extension number.
+
+
+ security:
+ - OAuth: []
+ summary: Create a shared line group
+ tags:
+ - Phone Shared Line Groups
+ "/phone/shared_line_groups/{sharedLineGroupId}":
+ delete:
+ description: |-
+ A [shared line group](https://support.zoom.us/hc/en-us/articles/360038850792) allows Zoom Phone admins to share a phone number and extension with a group of phone users or common area phones. Use this API to delete a Shared Line Group.
+ **Prerequisties:**
+ * Pro or higher account with Zoom Phone license.
+ * Account owner or admin privileges
+
+ **Scopes:** `phone:write:admin`
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: deleteASharedLineGroup
+ parameters:
+ - description: Unique Identifier of the shared line group that you would like to delete.
+ in: path
+ name: sharedLineGroupId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Shared Line Group Deleted.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300` **Validation Failed.**
+ * Shared line group (id: {sharedLingGroupId}) does not exist.
+
+
+ summary: Delete a shared line group
+ tags:
+ - Phone Shared Line Groups
+ get:
+ description: |-
+ A [shared line group](https://support.zoom.us/hc/en-us/articles/360038850792) allows Zoom Phone admins to share a phone number and extension with a group of phone users or common area phones. This gives members of the shared line group access to the group's direct phone number and voicemail. Use this API to list all the Shared Line Groups.
+
+ **Prerequisties:**
+ * Pro or higher account with Zoom Phone license.
+ * Account owner or admin privileges
+
+ **Scopes:** `phone:read:admin` or `phone:write:admin`
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: getASharedLineGroup
+ parameters:
+ - description: Unique Identifier of the Shared Line Group.
+ in: path
+ name: sharedLineGroupId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ display_name: Bay Area Shared Line Group
+ extension_number: 123
+ id: jsehdfrrg4
+ members:
+ common_area_phones:
+ - id: eu34gcogfft5nsectetur
+ name: Lobby Phone
+ users:
+ - id: gdfsx57ytcfgg
+ name: ipsum reprehenderit
+ - id: nisi3t5hgvsed
+ name: dolore sed
+ phone_numbers:
+ - id: dsfdg3r
+ number: "1365435426"
+ - id: hfgdcfhjj
+ number: "5673856375"
+ primary_number: "5673856375"
+ site:
+ id: dhfdhsf4
+ name: Engineering Site
+ status: active
+ timezone: America/Los_Angeles
+ schema:
+ properties:
+ display_name:
+ description: Display Name of the Shared Line Group.
+ type: string
+ extension_number:
+ description: Extension number assigned to the Shared Line Group.
+ type: integer
+ id:
+ description: Unique Identifier of the Shared Line Group.
+ type: string
+ members:
+ description: View current [members](https://support.zoom.us/hc/en-us/articles/360038850792-Setting-up-shared-line-groups#h_3ffbbb77-a009-4c09-91e4-81fc264b61d6) of the shared line group.
+ properties:
+ common_area_phones:
+ description: "[Common Area Phones](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones) that are members of the shared line group."
+ items:
+ properties:
+ id:
+ description: "Unique identifier of the [Common Area Phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones). "
+ type: string
+ name:
+ description: "Name of the [Common Area Phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones). "
+ type: string
+ type: object
+ type: array
+ users:
+ description: Users who are members of the Shared Line Group.
+ items:
+ properties:
+ id:
+ description: Unique identifier of the user.
+ type: string
+ name:
+ description: Name of the user.
+ type: string
+ type: object
+ type: array
+ type: object
+ phone_numbers:
+ description: Object representing information about phone number(s) assigned to the group.
+ items:
+ properties:
+ id:
+ description: Unique identifier of the phone number.
+ type: string
+ number:
+ description: Phone number in E164 format.
+ type: string
+ type: object
+ type: array
+ primary_number:
+ description: If you have multiple direct phone numbers assigned to the shared line group, this is the primary number selected for desk phones. The primary number shares the same line as the extension number. This means if a caller is routed to the shared line group through an auto receptionist, the line associated with the primary number will be used.
+ type: string
+ site:
+ description: Site assigned to the Shared Line Group.
+ properties:
+ id:
+ description: Unique Identifier of the [Site](https://marketplace.zoom.us/docs/api-reference/zoom-api/phone-site/getasite).
+ type: string
+ name:
+ description: Name of the Site.
+ type: string
+ type: object
+ status:
+ description: Status of the Shared Line Group.
+ enum:
+ - active
+ - inactive
+ type: string
+ timezone:
+ description: Timezone used for the Business Hours.
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ display_name:
+ description: Display Name of the Shared Line Group.
+ type: string
+ extension_number:
+ description: Extension number assigned to the Shared Line Group.
+ type: integer
+ id:
+ description: Unique Identifier of the Shared Line Group.
+ type: string
+ members:
+ description: View current [members](https://support.zoom.us/hc/en-us/articles/360038850792-Setting-up-shared-line-groups#h_3ffbbb77-a009-4c09-91e4-81fc264b61d6) of the shared line group.
+ properties:
+ common_area_phones:
+ description: "[Common Area Phones](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones) that are members of the shared line group."
+ items:
+ properties:
+ id:
+ description: "Unique identifier of the [Common Area Phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones). "
+ type: string
+ name:
+ description: "Name of the [Common Area Phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones). "
+ type: string
+ type: object
+ type: array
+ users:
+ description: Users who are members of the Shared Line Group.
+ items:
+ properties:
+ id:
+ description: Unique identifier of the user.
+ type: string
+ name:
+ description: Name of the user.
+ type: string
+ type: object
+ type: array
+ type: object
+ phone_numbers:
+ description: Object representing information about phone number(s) assigned to the group.
+ items:
+ properties:
+ id:
+ description: Unique identifier of the phone number.
+ type: string
+ number:
+ description: Phone number in E164 format.
+ type: string
+ type: object
+ type: array
+ primary_number:
+ description: If you have multiple direct phone numbers assigned to the shared line group, this is the primary number selected for desk phones. The primary number shares the same line as the extension number. This means if a caller is routed to the shared line group through an auto receptionist, the line associated with the primary number will be used.
+ type: string
+ site:
+ description: Site assigned to the Shared Line Group.
+ properties:
+ id:
+ description: Unique Identifier of the [Site](https://marketplace.zoom.us/docs/api-reference/zoom-api/phone-site/getasite).
+ type: string
+ name:
+ description: Name of the Site.
+ type: string
+ type: object
+ status:
+ description: Status of the Shared Line Group.
+ enum:
+ - active
+ - inactive
+ type: string
+ timezone:
+ description: Timezone used for the Business Hours.
+ type: string
+ type: object
+ description: ""
+ summary: Get a shared line group
+ tags:
+ - Phone Shared Line Groups
+ parameters:
+ - in: path
+ name: sharedLineGroupId
+ required: true
+ schema:
+ type: string
+ patch:
+ description: |-
+ A [shared line group](https://support.zoom.us/hc/en-us/articles/360038850792) allows Zoom Phone admins to share a phone number and extension with a group of phone users or common area phones. This gives members of the shared line group access to the group's direct phone number and voicemail. Use this API to update information of a Shared Line Group.
+ **Prerequisties:**
+ * Pro or higher account with Zoom Phone license.
+ * Account owner or admin privileges
+
+ **Scopes:** `phone:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: updateASharedLineGroup
+ parameters:
+ - description: Unique identifier of the shared line group that is to be updated.
+ in: path
+ name: sharedLineGroupId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ display_name:
+ description: Display Name of the Shared Line Group.
+ type: string
+ extension_number:
+ description: Extension number assigned to the Shared Line Group.
+ type: integer
+ primary_number:
+ description: If you have multiple direct phone numbers assigned to the shared line group, select a number from those numbers as the primary number. The primary number shares the same line as the extension number. This means if a caller is routed to the shared line group through an auto receptionist, the line associated with the primary number will be used. A pending number cannot be used as a Primary Number.
+ properties:
+ id:
+ description: Phone Number ID. Unique Identifier of the Phone Number.
+ type: string
+ number:
+ description: Phone Number that you would like to assign as the primary number for this Shared Line Group.
+ type: string
+ type: object
+ status:
+ description: Status of the Shared Line Group.
+ enum:
+ - active
+ - inactive
+ type: string
+ timezone:
+ description: Timezone to be used for the Business Hours. A value should be provided from the IDs listed [here](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).
+ type: string
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ display_name:
+ description: Display Name of the Shared Line Group.
+ type: string
+ extension_number:
+ description: Extension number assigned to the Shared Line Group.
+ type: integer
+ primary_number:
+ description: If you have multiple direct phone numbers assigned to the shared line group, select a number from those numbers as the primary number. The primary number shares the same line as the extension number. This means if a caller is routed to the shared line group through an auto receptionist, the line associated with the primary number will be used. A pending number cannot be used as a Primary Number.
+ properties:
+ id:
+ description: Phone Number ID. Unique Identifier of the Phone Number.
+ type: string
+ number:
+ description: Phone Number that you would like to assign as the primary number for this Shared Line Group.
+ type: string
+ type: object
+ status:
+ description: Status of the Shared Line Group.
+ enum:
+ - active
+ - inactive
+ type: string
+ timezone:
+ description: Timezone to be used for the Business Hours. A value should be provided from the IDs listed [here](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).
+ type: string
+ type: object
+ x-examples:
+ application/json:
+ description: description of the sharedline group
+ display_name: test123
+ extension_number: 298
+ primary_number:
+ number: "1134455"
+ status: inactive
+ timezone: Asia/Tehran
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+
+ Shared Line Group Updated Successfully.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300` **Validation Failed**
+ * Shared line group (id: {sharedLingGroupId}) does not exist.
+ * Timezone not found in the system.
+ **Error Code:** `409`
+ * Invalid short number length.
+ * Number {extensionNumber} is a reserved extension number.
+ **Error Code:** `400`
+ Extension number {extensionNumber} is already used.
+
+
+ "404":
+ description: |+
+ **HTTP Status Code:** `404` **Not Found**
+ * No phone numbers have been assigned to this Shared Line Group.
+ * Primary phone number was not found in the list of numbers assigned to this Shared Line Group.
+
+ summary: Update a shared line group
+ tags:
+ - Phone Shared Line Groups
+ "/phone/shared_line_groups/{sharedLineGroupId}/members":
+ delete:
+ description: |-
+ Members of the [shared line group](https://support.zoom.us/hc/en-us/articles/360038850792) have access to the group's phone number and voicemail. Use this API to unassign **all** the existing members from a Shared Line Group.
+ **Prerequisties:**
+ * Pro or higher account with Zoom Phone license.
+ * A valid Shared Line Group
+ * Account owner or admin privileges
+
+ **Scopes:** `phone:write:admin`
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: deleteMembersOfSLG
+ parameters:
+ - description: Unique identifier of the Shared Line Group that you would like to delete.
+ in: path
+ name: sharedLineGroupId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+
+ Members unassigned successfully.
+ "400":
+ description: |
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300` **Validation Failed**
+ * Shared line group (id: {sharedLingGroupId}) does not exist.
+ summary: Unassign members of a shared line group
+ tags:
+ - Phone Shared Line Groups
+ parameters:
+ - in: path
+ name: sharedLineGroupId
+ required: true
+ schema:
+ type: string
+ post:
+ description: |-
+ A [shared line group](https://support.zoom.us/hc/en-us/articles/360038850792) allows Zoom Phone admins to share a phone number and extension with a group of phone users or common area phones. This gives members of the shared line group access to the group's direct phone number and voicemail. Use this API to [add members](https://support.zoom.us/hc/en-us/articles/360038850792-Setting-up-shared-line-groups#h_7cb42370-48f6-4a8f-84f4-c6eee4d9f0ca) to a Shared Line Group. Note that a member can only be added to one shared line group.
+
+ **Prerequisties:**
+ * Pro or higher account with Zoom Phone license.
+ * A valid Shared Line Group
+ * Account owner or admin privileges
+
+ **Scopes:** `phone:write:admin`
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: addMembersToSharedLineGroup
+ parameters:
+ - description: Unique Identifier of the shared line group.
+ in: path
+ name: sharedLineGroupId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ members:
+ description: Members can comprise of users on the account as well as common area phones. You can add a maximum of 10 members at once.
+ properties:
+ common_area_phone_ids:
+ description: "Unique identifier(s) of the Common Area Phone. "
+ items:
+ type: string
+ type: array
+ users:
+ description: Zoom Phone users on the account.
+ items:
+ properties:
+ email:
+ description: Email address of the user.
+ type: string
+ id:
+ description: Unique identifier of the user.
+ type: string
+ type: object
+ type: array
+ type: object
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ members:
+ description: Members can comprise of users on the account as well as common area phones. You can add a maximum of 10 members at once.
+ properties:
+ common_area_phone_ids:
+ description: "Unique identifier(s) of the Common Area Phone. "
+ items:
+ type: string
+ type: array
+ users:
+ description: Zoom Phone users on the account.
+ items:
+ properties:
+ email:
+ description: Email address of the user.
+ type: string
+ id:
+ description: Unique identifier of the user.
+ type: string
+ type: object
+ type: array
+ type: object
+ type: object
+ x-examples:
+ application/json: |-
+ {
+ "members": {
+ "common_area_phone_ids" : [
+ "12fhdkfh-fdsf62g",
+ "22Ssjhfhgsf-3dSO62g",
+ ],
+ "users" : [
+ {
+ "id" : "92S3fusdf-O62g",
+ "email": "hdsfjhdf@xdjvhv.cghdc"
+ },
+ {
+ "id" : "92S3FySjSB-kZSSe6O62g",
+ "email": "dajhsdh@xdjvhv.cghdc"
+ }
+ ]
+ }
+ }
+ responses:
+ "201":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `201` **Created**
+ Members added successfully.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+ Members of a shared line group should come from same site.
+ A shared line group can only contain {0} members at most.
+ **Error Code:** `300` **Validation Failed**
+ * Shared line group (id: {sharedLingGroupId}) does not exist.
+
+ "404":
+ description: |+
+ **HTTP Status Code:** `404` **Not Found**
+ Device does not exist in the system.
+
+ **Error Code:** `1001`
+ User not found: {userId}.
+
+
+ summary: Add members to a shared line group
+ tags:
+ - Phone Shared Line Groups
+ "/phone/shared_line_groups/{sharedLineGroupId}/members/{memberId}":
+ delete:
+ description: |-
+ Members of the [shared line group](https://support.zoom.us/hc/en-us/articles/360038850792) have access to the group's phone number and voicemail. Use this API to unassign **a specific member** from a Shared Line Group.
+ **Prerequisties:**
+ * Pro or higher account with Zoom Phone license.
+ * A valid Shared Line Group
+ * Account owner or admin privileges
+
+ **Scopes:** `phone:write:admin`
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: deleteAMemberSLG
+ parameters:
+ - description: Unique Identifier of the shared line group from which you would like to remove a member.
+ in: path
+ name: sharedLineGroupId
+ required: true
+ schema:
+ type: string
+ - description: Unique identifier of the member who is to be removed.
+ in: path
+ name: memberId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+
+ Members unassigned successfully.
+ "400":
+ description: |
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300` **Validation Failed**
+ * Shared line group (id: {sharedLingGroupId}) does not exist.
+ summary: Unassign a member from a shared line group
+ tags:
+ - Phone Shared Line Groups
+ parameters:
+ - in: path
+ name: sharedLineGroupId
+ required: true
+ schema:
+ type: string
+ - in: path
+ name: memberId
+ required: true
+ schema:
+ type: string
+ "/phone/shared_line_groups/{sharedLineGroupId}/phone_numbers":
+ parameters:
+ - in: path
+ name: sharedLineGroupId
+ required: true
+ schema:
+ type: string
+ post:
+ description: |-
+ Use this API to assign phone numbers to a shared line groups. These direct phone numbers will be shared among members of the [shared line group](https://support.zoom.us/hc/en-us/articles/360038850792-Setting-up-shared-line-groups).
+ **Prerequisties:**
+ * Pro or higher account with Zoom Phone license.
+ * A valid Shared Line Group
+ * Account owner or admin privileges
+
+ **Scopes:** `phone:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: assignPhoneNumbersSLG
+ parameters:
+ - description: Unique Identifier of the Shared Line Group.
+ in: path
+ name: sharedLineGroupId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ phone_numbers:
+ description: Phone number(s) to be assigned to the Shared Line Group.
+ items:
+ properties:
+ id:
+ description: Unique Identifier of the phone number.
+ type: string
+ number:
+ description: Phone number.
+ type: string
+ type: object
+ type: array
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ phone_numbers:
+ description: Phone number(s) to be assigned to the Shared Line Group.
+ items:
+ properties:
+ id:
+ description: Unique Identifier of the phone number.
+ type: string
+ number:
+ description: Phone number.
+ type: string
+ type: object
+ type: array
+ type: object
+ x-examples:
+ application/json:
+ phone_numbers:
+ - id: "123123"
+ number: "4567890"
+ responses:
+ "201":
+ description: |-
+ **HTTP Status Code:** `201` **Created**
+ Phone number(s) assigned successfully.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `400`
+ Phone number does not exist
+ **Error Code:** `300` **Validation Failed.**
+ Shared line group (id: {sharedLingGroupId}) does not exist.
+
+ "401":
+ description: |-
+ **HTTP Status Code:** `401` **Unauthorized**
+ **Error Code:** `124`
+ Phone number does not belong to this account
+ summary: Assign phone numbers
+ tags:
+ - Phone Shared Line Groups
+ "/phone/shared_line_groups/{sharedLineGroupId}/phone_numbers/{phoneNumberId}":
+ delete:
+ description: |-
+ Use this API to unassign a specific phone number that was assigned to the [shared line group](https://support.zoom.us/hc/en-us/articles/360038850792-Setting-up-shared-line-groups).
+ **Prerequisties:**
+ * Pro or higher account with Zoom Phone license.
+ * A valid Shared Line Group
+ * Account owner or admin privileges
+
+ **Scopes:** `phone:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: deleteAPhoneNumberSLG
+ parameters:
+ - description: Unique identifier of the shared line group from which you would like to unassign a phone number.
+ in: path
+ name: sharedLineGroupId
+ required: true
+ schema:
+ type: string
+ - description: Unique identifier of the phone number which is to be unassigned. This can be retrieved from Get a Shared Line Group API.
+ in: path
+ name: phoneNumberId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Phone Numbers unassigned successfully.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `400`
+ Phone number does not exist
+ **Error Code:** `300` **Validation Failed.**
+ Shared line group (id: {sharedLingGroupId}) does not exist.
+
+ "401":
+ description: |-
+ **HTTP Status Code:** `401` **Unauthorized**
+ **Error Code:** `124`
+ Phone number does not belong to this account
+ summary: Unassign a phone number
+ tags:
+ - Phone Shared Line Groups
+ parameters:
+ - in: path
+ name: sharedLineGroupId
+ required: true
+ schema:
+ type: string
+ - in: path
+ name: phoneNumberId
+ required: true
+ schema:
+ type: string
+ /phone/sip_trunk/trunks:
+ get:
+ description: |+
+ List [BYOC SIP trunks](https://zoom.us/docs/doc/Zoom-Bring%20Your%20Own%20Carrier.pdf) that are assigned to an account.
+
+ **Scopes**:
+ * `phone:write:admin` or `phone:master`
+
+ **Prerequisites**:
+ * Business or Enterprise Account
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: listBYOCSIPTrunk
+ parameters:
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ byoc_sip_trunk:
+ - carrier: my_carrierr
+ carrier_account: dsgf63tt
+ id: con3t6gdt
+ name: Test 12
+ region: US
+ sbc_label: abc-test
+ next_page_token: " "
+ page_size: "30"
+ schema:
+ properties:
+ byoc_sip_trunk:
+ items:
+ properties:
+ carrier:
+ description: Name of the carrier.
+ type: string
+ carrier_account:
+ description: The account associated to the carrier.
+ type: string
+ id:
+ description: The unique SIP Trunk ID.
+ type: string
+ name:
+ description: The display name of the SIP Trunk.
+ type: string
+ region:
+ description: The region of the carrier.
+ type: string
+ sbc_label:
+ description: The Session Border Controller (SBC) routing label.
+ type: string
+ type: object
+ type: array
+ next_page_token:
+ description: Used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is **15 minutes**.
+ type: string
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call. The default is **30**, and the maximum is **100**.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ byoc_sip_trunk:
+ items:
+ properties:
+ carrier:
+ description: Name of the carrier.
+ type: string
+ carrier_account:
+ description: The account associated to the carrier.
+ type: string
+ id:
+ description: The unique SIP Trunk ID.
+ type: string
+ name:
+ description: The display name of the SIP Trunk.
+ type: string
+ region:
+ description: The region of the carrier.
+ type: string
+ sbc_label:
+ description: The Session Border Controller (SBC) routing label.
+ type: string
+ type: object
+ type: array
+ next_page_token:
+ description: Used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is **15 minutes**.
+ type: string
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call. The default is **30**, and the maximum is **100**.
+ type: integer
+ type: object
+ description: |-
+ **HTTP Status Codes**: `200`
+ OK.
+ security:
+ - OAuth: []
+ summary: List BYOC SIP trunks
+ tags:
+ - Phone
+ /phone/sites:
+ get:
+ description: |-
+ Sites allow you to organize Zoom Phone users in your organization. Use this API to list all the [sites](https://support.zoom.us/hc/en-us/articles/360020809672) that have been created for an account.
+ **Prerequisites:**
+ * Multiple Sites must be [enabled](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites#h_05c88e35-1593-491f-b1a8-b7139a75dc15).
+ * Pro or a higher account with Zoom Phone enabled.
+
+ **Scope:** `phone:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: listPhoneSites
+ parameters:
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ page_count: 1
+ page_number: 1
+ page_size: 30
+ sites:
+ - country:
+ code: CA
+ name: Canada
+ id: CESAfgkwporiw3WA
+ main_auto_receptionist:
+ extension_id: E6Khfhfhf4idr8A
+ extension_number: 10801
+ id: NMyfgfgfhdghsVg
+ name: Main Auto Receptionist
+ name: Main Site
+ site_code: 10
+ - id: fwfhfghbghghfgcuw
+ main_auto_receptionist:
+ extension_id: V7AIhaaaaaaaaRyTw
+ extension_number: 12001
+ id: t1s55343ggfg3wwg
+ name: SAC Office Auto Receptionist
+ name: SAC office
+ site_code: 12
+ total_records: 2
+ schema:
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: The number of records returned within a single API call.
+ type: string
+ sites:
+ description: List of site(s).
+ items:
+ properties:
+ country:
+ description: Site country
+ properties:
+ code:
+ description: Two lettered country [code](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries).
+ type: string
+ name:
+ description: Name of the country.
+ type: string
+ type: object
+ id:
+ description: Site ID. Unique Identifier of the site.
+ type: string
+ main_auto_receptionist:
+ description: Auto Receptionist for each site.
+ properties:
+ extension_id:
+ description: Extension ID
+ type: string
+ extension_number:
+ description: Extension number
+ type: string
+ id:
+ description: Identifier of the [auto receptionist](https://support.zoom.us/hc/en-us/articles/360021121312-Managing-Auto-Receptionists-and-Interactive-Voice-Response-IVR-).
+ type: string
+ name:
+ description: Name of the auto receptionist.
+ type: string
+ type: object
+ name:
+ description: Name of the Site.
+ type: string
+ site_code:
+ description: Site Code
+ type: string
+ type: object
+ type: array
+ total_records:
+ description: Total number of records returned.
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: The number of records returned within a single API call.
+ type: string
+ sites:
+ description: List of site(s).
+ items:
+ properties:
+ country:
+ description: Site country
+ properties:
+ code:
+ description: Two lettered country [code](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries).
+ type: string
+ name:
+ description: Name of the country.
+ type: string
+ type: object
+ id:
+ description: Site ID. Unique Identifier of the site.
+ type: string
+ main_auto_receptionist:
+ description: Auto Receptionist for each site.
+ properties:
+ extension_id:
+ description: Extension ID
+ type: string
+ extension_number:
+ description: Extension number
+ type: string
+ id:
+ description: Identifier of the [auto receptionist](https://support.zoom.us/hc/en-us/articles/360021121312-Managing-Auto-Receptionists-and-Interactive-Voice-Response-IVR-).
+ type: string
+ name:
+ description: Name of the auto receptionist.
+ type: string
+ type: object
+ name:
+ description: Name of the Site.
+ type: string
+ site_code:
+ description: Site Code
+ type: string
+ type: object
+ type: array
+ total_records:
+ description: Total number of records returned.
+ type: string
+ type: object
+ description: ""
+ summary: List phone sites
+ tags:
+ - Phone Site
+ post:
+ description: |+
+ Sites allow you to organize Zoom Phone users in your organization. Use this API to create a [Site](https://support.zoom.us/hc/en-us/articles/360020809672).
+ **Prerequisites:**
+ * Multiple Sites must be [enabled](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites#h_05c88e35-1593-491f-b1a8-b7139a75dc15).
+ * Pro or a higher account with Zoom Phone enabled.
+ **Scope:** `phone:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: createPhoneSite
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ auto_receptionist_name:
+ description: Display name of the [auto-receptionist](https://support.zoom.us/hc/en-us/articles/360021121312-Managing-Auto-Receptionists-and-Integrated-Voice-Response-IVR-) for the site.
+ type: string
+ default_emergency_address:
+ properties:
+ address_line1:
+ description: Address Line 1 of the [emergency address](https://support.zoom.us/hc/en-us/articles/360021062871-Setting-an-Emergency-Address) consisting of house number and street name.
+ type: string
+ address_line2:
+ description: Address Line 2 of the [emergency address](https://support.zoom.us/hc/en-us/articles/360021062871-Setting-an-Emergency-Address) consisting of Building number, floor number, unit, etc.
+ type: string
+ city:
+ description: City of the [emergency address](https://support.zoom.us/hc/en-us/articles/360021062871-Setting-an-Emergency-Address).
+ type: string
+ country:
+ description: Two lettered country code (Aplha-2 code in ISO-3166) standard of the Site's [emergency address](https://support.zoom.us/hc/en-us/articles/360021062871-Setting-an-Emergency-Address).
+ maxLength: 2
+ minLength: 2
+ type: string
+ state_code:
+ description: State Code of the [emergency address](https://support.zoom.us/hc/en-us/articles/360021062871-Setting-an-Emergency-Address).
+ type: string
+ zip:
+ description: Zip Code of the [emergency address](https://support.zoom.us/hc/en-us/articles/360021062871-Setting-an-Emergency-Address).
+ type: string
+ required:
+ - country
+ - address_line1
+ - city
+ - zip
+ - state_code
+ type: object
+ name:
+ description: Name of the Site.
+ maxLength: 255
+ minLength: 1
+ type: string
+ short_extension:
+ description: Short extension of the phone site.
+ properties:
+ length:
+ default: 3
+ description: |-
+ Specify the length of short extension numbers for the site.
+
+ Since there is a default 6-digit limit on extensions, the short extension can be 2 to 5 digits and the length of site code added to the length of short extension can not exceed a value of `6` (i.e., length of `site_code`+ length of `short_extension` should always be less than or equal to 6).
+ type: integer
+ type: object
+ site_code:
+ description: |+
+ Identifier for a site. If site code is enabled, this field is required.
+
+ type: integer
+ required:
+ - name
+ - auto_receptionist_name
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ auto_receptionist_name:
+ description: Display name of the [auto-receptionist](https://support.zoom.us/hc/en-us/articles/360021121312-Managing-Auto-Receptionists-and-Integrated-Voice-Response-IVR-) for the site.
+ type: string
+ default_emergency_address:
+ properties:
+ address_line1:
+ description: Address Line 1 of the [emergency address](https://support.zoom.us/hc/en-us/articles/360021062871-Setting-an-Emergency-Address) consisting of house number and street name.
+ type: string
+ address_line2:
+ description: Address Line 2 of the [emergency address](https://support.zoom.us/hc/en-us/articles/360021062871-Setting-an-Emergency-Address) consisting of Building number, floor number, unit, etc.
+ type: string
+ city:
+ description: City of the [emergency address](https://support.zoom.us/hc/en-us/articles/360021062871-Setting-an-Emergency-Address).
+ type: string
+ country:
+ description: Two lettered country code (Aplha-2 code in ISO-3166) standard of the Site's [emergency address](https://support.zoom.us/hc/en-us/articles/360021062871-Setting-an-Emergency-Address).
+ maxLength: 2
+ minLength: 2
+ type: string
+ state_code:
+ description: State Code of the [emergency address](https://support.zoom.us/hc/en-us/articles/360021062871-Setting-an-Emergency-Address).
+ type: string
+ zip:
+ description: Zip Code of the [emergency address](https://support.zoom.us/hc/en-us/articles/360021062871-Setting-an-Emergency-Address).
+ type: string
+ required:
+ - country
+ - address_line1
+ - city
+ - zip
+ - state_code
+ type: object
+ name:
+ description: Name of the Site.
+ maxLength: 255
+ minLength: 1
+ type: string
+ short_extension:
+ description: Short extension of the phone site.
+ properties:
+ length:
+ default: 3
+ description: |-
+ Specify the length of short extension numbers for the site.
+
+ Since there is a default 6-digit limit on extensions, the short extension can be 2 to 5 digits and the length of site code added to the length of short extension can not exceed a value of `6` (i.e., length of `site_code`+ length of `short_extension` should always be less than or equal to 6).
+ type: integer
+ type: object
+ site_code:
+ description: |+
+ Identifier for a site. If site code is enabled, this field is required.
+
+ type: integer
+ required:
+ - name
+ - auto_receptionist_name
+ type: object
+ x-examples:
+ application/json:
+ auto_receptionist_name: Benjamin
+ default_emergency_address:
+ address_line1: 100 Awesome St
+ address_line2: Unit 5
+ city: San Jose
+ country: US
+ state_code: CA
+ zip: "95113"
+ name: San Jose Site
+ site_code: 123
+ responses:
+ "204":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ id: ingjgjfhi
+ name: San Jose Site
+ schema:
+ properties:
+ id:
+ description: "Site ID: Unique Identifier of a site."
+ type: string
+ name:
+ description: Name of the site.
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ id:
+ description: "Site ID: Unique Identifier of a site."
+ type: string
+ name:
+ description: Name of the site.
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Site created successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `400`
+ Invalid site code length.
+ Country information is invalid.
+ This address could not be validated / geocoded.
+ security:
+ - OAuth: []
+ summary: Create a phone site
+ tags:
+ - Phone Site
+ "/phone/sites/{siteId}":
+ delete:
+ description: |+
+ Sites allow you to organize Zoom Phone users in your organization. Use this API to delete a specific [site](https://support.zoom.us/hc/en-us/articles/360020809672) in a Zoom account. To delete a site, in the query parameter, you must provide the Site ID of another site where the assets of current site (users, numbers and phones) can be transferred to. You cannot use this API to delete the main site.
+
+ **Prerequisites:**
+ * Account must have a Pro or a higher plan with Zoom Phone license.
+ * [Multiple Sites](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) must be enabled.
+ **Scope:** `phone:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: deletePhoneSite
+ parameters:
+ - description: Unique Identifier of the Site.
+ in: path
+ name: siteId
+ required: true
+ schema:
+ type: string
+ - description: The Site ID of another site where the assets of the current site (users, numbers and phones) can be transferred to.
+ in: query
+ name: transfer_site_id
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204`
+ Phone Site deleted.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `400`
+ Unable to transfer to the same site.
+ Main company number can not change {phoneNumber}.
+ Site does not exist.
+ "409":
+ description: |-
+ **HTTP Status Code:** `409` **Conflict**
+ **Error Code:** `409`
+ Conflict target extension number, try later.
+ security:
+ - OAuth: []
+ summary: Delete a phone site
+ tags:
+ - Phone Site
+ get:
+ description: |+
+ Sites allow you to organize Zoom Phone users in your organization. Use this API to get information about a specific [site](https://support.zoom.us/hc/en-us/articles/360020809672).
+
+
+ **Prerequisites:**
+ * Account must have a Pro or a higher plan with Zoom Phone license.
+ * Multiple Sites must be [enabled](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites#h_05c88e35-1593-491f-b1a8-b7139a75dc15).
+ **Scope:** `phone:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: getASite
+ parameters:
+ - description: Unique Identifier of the Site.
+ in: path
+ name: siteId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ id: CEfghfghhWA
+ main_auto_receptionist:
+ extension_id: E6Khfghgfr8A
+ extension_number: 10801
+ id: NMyfgfhghhsVg
+ name: Main Auto Receptionist
+ name: Main Site
+ site_code: 10
+ schema:
+ properties:
+ country:
+ description: Site country
+ properties:
+ code:
+ description: Two lettered country [code](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries).
+ type: string
+ name:
+ description: Name of the country.
+ type: string
+ type: object
+ id:
+ description: Site ID. Unique Identifier of the site.
+ type: string
+ main_auto_receptionist:
+ description: "[Main Auto Receptionist](https://support.zoom.us/hc/en-us/articles/360021121312#h_bc7ff1d5-0e6c-40cd-b889-62010cb98c57) for each site."
+ properties:
+ extension_id:
+ description: Extension ID
+ type: string
+ extension_number:
+ description: Extension number
+ type: integer
+ id:
+ description: Unique Identifier of the Auto Receptionist.
+ type: string
+ name:
+ description: Name of the auto receptionist.
+ type: string
+ type: object
+ name:
+ description: Name of the Site.
+ type: string
+ short_extension:
+ description: Short extension of the phone site.
+ properties:
+ length:
+ default: 3
+ description: The length of short extension number for the site.
+ type: integer
+ type: object
+ site_code:
+ description: "[Site Code](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites#h_79ca9c8f-c97b-4486-aa59-d0d9d31a525b)"
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ country:
+ description: Site country
+ properties:
+ code:
+ description: Two lettered country [code](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries).
+ type: string
+ name:
+ description: Name of the country.
+ type: string
+ type: object
+ id:
+ description: Site ID. Unique Identifier of the site.
+ type: string
+ main_auto_receptionist:
+ description: "[Main Auto Receptionist](https://support.zoom.us/hc/en-us/articles/360021121312#h_bc7ff1d5-0e6c-40cd-b889-62010cb98c57) for each site."
+ properties:
+ extension_id:
+ description: Extension ID
+ type: string
+ extension_number:
+ description: Extension number
+ type: integer
+ id:
+ description: Unique Identifier of the Auto Receptionist.
+ type: string
+ name:
+ description: Name of the auto receptionist.
+ type: string
+ type: object
+ name:
+ description: Name of the Site.
+ type: string
+ short_extension:
+ description: Short extension of the phone site.
+ properties:
+ length:
+ default: 3
+ description: The length of short extension number for the site.
+ type: integer
+ type: object
+ site_code:
+ description: "[Site Code](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites#h_79ca9c8f-c97b-4486-aa59-d0d9d31a525b)"
+ type: integer
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Site information retrieved successfully.
+ "400":
+ description: |-
+ **Error Code:** `400`
+ Site does not exist.
+ security:
+ - OAuth: []
+ summary: Get phone site details
+ tags:
+ - Phone Site
+ parameters:
+ - in: path
+ name: siteId
+ required: true
+ schema:
+ type: string
+ patch:
+ description: |+
+ Sites allow you to organize Zoom Phone users in your organization. Use this API to update information about a specific [site](https://support.zoom.us/hc/en-us/articles/360020809672).
+
+
+ **Prerequisites:**
+ * Account must have a Pro or a higher plan with Zoom Phone license.
+ * **Scope:** `phone:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: updateSiteDetails
+ parameters:
+ - description: Unique Identifier of the Site.
+ in: path
+ name: siteId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ name:
+ description: Name of the site.
+ type: string
+ site_code:
+ description: "[Site Code](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites#h_79ca9c8f-c97b-4486-aa59-d0d9d31a525b)."
+ type: integer
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ name:
+ description: Name of the site.
+ type: string
+ site_code:
+ description: "[Site Code](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites#h_79ca9c8f-c97b-4486-aa59-d0d9d31a525b)."
+ type: integer
+ type: object
+ x-examples:
+ application/json:
+ name: SJ-site
+ site_code: 47973154
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Site details updated successfully.
+ "400":
+ description: |-
+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300`
+ Validation Failed. Site does not exist.
+ **Error Code:** `400`
+ Site Code is disabled.
+ Invalid site code length.
+ security:
+ - OAuth: []
+ summary: Update phone site details
+ tags:
+ - Phone Site
+ /phone/sms/messages: {}
+ /phone/sms/sessions: {}
+ "/phone/sms/sessions/{sessionId}": {}
+ "/phone/sms/sessions/{sessionId}/messages/{messageId}": {}
+ /phone/users:
+ get:
+ description: |-
+ List all the users on an account who have been assigned Zoom Phone licenses.
+ **Prerequisites:**
+ * Pro or higher plan with Zoom phone license
+ **Scope:** `phone:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: listPhoneUsers
+ parameters:
+ - description: The number of records returned from a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 100
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: Unique Identifier of the site. This can be retrieved from the [List Phone Sites](https://marketplace.zoom.us/docs/api-reference/zoom-api/phone-site/listphonesites) API.
+ in: query
+ name: site_id
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ next_page_token: ""
+ page_size: 30
+ total_records: 1
+ users:
+ - calling_plans:
+ - name: US/CA Unlimited Calling Plan
+ type: 200
+ email: sghhgghf@ghghmail.com
+ extension_number: 10000
+ id: z8ghgfh8uQ
+ name: Shri Shri
+ phone_user_id: EMhghghg5w
+ site:
+ id: CESEpjWwT-upVH7kt_ixWA
+ name: Main Site
+ status: activate
+ schema:
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ default: 30
+ description: The number of records returned from a single API call.
+ maximum: 100
+ type: integer
+ total_records:
+ description: The total records found for this query.
+ type: integer
+ users:
+ items:
+ properties:
+ calling_plans:
+ items:
+ properties:
+ name:
+ description: Name of the calling plan that user is enrolled in.
+ type: string
+ type:
+ description: Type of calling plan that user is enrolled in.
+ type: string
+ type: object
+ type: array
+ email:
+ description: Email address of the user.
+ format: email
+ type: string
+ extension_number:
+ description: Extension number assigned to the user's Zoom phone number.
+ type: integer
+ id:
+ description: Unique Identifier of the user (userId).
+ type: string
+ name:
+ description: Name of the user.
+ type: string
+ phone_user_id:
+ description: Zoom Phone Identifier of the user.
+ type: string
+ site:
+ properties:
+ id:
+ description: Unique Identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites).
+ type: string
+ name:
+ description: Name of the site.
+ type: string
+ type: object
+ status:
+ description: |-
+ Displays the status of the user's Zoom Phone license. The value can be either of the following:
+ `activate`: Active Zoom phone user.
+ `deactivate`: User with Zoom phone license disabled. This type of user can't make or receive calls.
+ type: string
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ default: 30
+ description: The number of records returned from a single API call.
+ maximum: 100
+ type: integer
+ total_records:
+ description: The total records found for this query.
+ type: integer
+ users:
+ items:
+ properties:
+ calling_plans:
+ items:
+ properties:
+ name:
+ description: Name of the calling plan that user is enrolled in.
+ type: string
+ type:
+ description: Type of calling plan that user is enrolled in.
+ type: string
+ type: object
+ type: array
+ email:
+ description: Email address of the user.
+ format: email
+ type: string
+ extension_number:
+ description: Extension number assigned to the user's Zoom phone number.
+ type: integer
+ id:
+ description: Unique Identifier of the user (userId).
+ type: string
+ name:
+ description: Name of the user.
+ type: string
+ phone_user_id:
+ description: Zoom Phone Identifier of the user.
+ type: string
+ site:
+ properties:
+ id:
+ description: Unique Identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites).
+ type: string
+ name:
+ description: Name of the site.
+ type: string
+ type: object
+ status:
+ description: |-
+ Displays the status of the user's Zoom Phone license. The value can be either of the following:
+ `activate`: Active Zoom phone user.
+ `deactivate`: User with Zoom phone license disabled. This type of user can't make or receive calls.
+ type: string
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ Phone users retrieved successfully.
+ security:
+ - OAuth: []
+ summary: List phone users
+ tags:
+ - Phone
+ "/phone/users/{userId}":
+ get:
+ description: |-
+ Retrieve a user's [zoom phone](https://support.zoom.us/hc/en-us/articles/360001297663-Quickstart-Guide-for-Zoom-Phone-Administrators) profile.
+
+ **Scopes:** `phone:read`, `phone:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+
+ **Prerequisites** :
+ 1. Business or Enterprise account
+ 2. A Zoom Phone license
+ operationId: phoneUser
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ calling_plans:
+ - type: 200
+ email: awesome@amazingemailservice.com
+ extension_number: 100100
+ id: fdjbgdfgkl0-ibkdjfg20913
+ phone_numbers:
+ - id: vigfkjnrtUernketg09
+ number: "+1234567890"
+ phone_user_id: vfjbdlgrwi902_igr
+ site_id: aXb1039sdjhhgdbgj4
+ status: activate
+ schema:
+ description: Zoom User Profile
+ properties:
+ calling_plan:
+ description: Calling Plan of the user
+ items:
+ properties:
+ type:
+ description: "The [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans) of calling plan. "
+ type: integer
+ type: object
+ type: array
+ email:
+ description: Email address of the user.
+ type: string
+ extension_number:
+ description: Extension number
+ type: integer
+ id:
+ description: Zoom User Id.
+ type: string
+ phone_numbers:
+ items:
+ properties:
+ id:
+ description: Phone Number Id
+ type: string
+ number:
+ description: Phone number
+ type: string
+ type: object
+ type: array
+ phone_user_id:
+ description: Zoom Phone User Id.
+ type: string
+ site_admin:
+ description: Indicates whether the user is a [site admin](https://support.zoom.us/hc/en-us/articles/360042099012) or not.
+ type: boolean
+ site_id:
+ description: Unique Identifier of a [site](https://support.zoom.us/hc/en-us/articles/360020809672).
+ type: string
+ status:
+ description: |-
+ The status of the user.
+ `activate`: An active user.
+ `deactivate`: User has been deactivated from the ZoomPhone system.
+ enum:
+ - activate
+ - deactivate
+ type: string
+ type: object
+ application/xml:
+ schema:
+ description: Zoom User Profile
+ properties:
+ calling_plan:
+ description: Calling Plan of the user
+ items:
+ properties:
+ type:
+ description: "The [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans) of calling plan. "
+ type: integer
+ type: object
+ type: array
+ email:
+ description: Email address of the user.
+ type: string
+ extension_number:
+ description: Extension number
+ type: integer
+ id:
+ description: Zoom User Id.
+ type: string
+ phone_numbers:
+ items:
+ properties:
+ id:
+ description: Phone Number Id
+ type: string
+ number:
+ description: Phone number
+ type: string
+ type: object
+ type: array
+ phone_user_id:
+ description: Zoom Phone User Id.
+ type: string
+ site_admin:
+ description: Indicates whether the user is a [site admin](https://support.zoom.us/hc/en-us/articles/360042099012) or not.
+ type: boolean
+ site_id:
+ description: Unique Identifier of a [site](https://support.zoom.us/hc/en-us/articles/360020809672).
+ type: string
+ status:
+ description: |-
+ The status of the user.
+ `activate`: An active user.
+ `deactivate`: User has been deactivated from the ZoomPhone system.
+ enum:
+ - activate
+ - deactivate
+ type: string
+ type: object
+ description: "**HTTP Status Code:** `200` User profile object returned. "
+ "300":
+ description: "**Error code:** `300` User does not belong to this account."
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error code**: `1001` User does not exist: {userId}.
+ security:
+ - OAuth: []
+ summary: Get user's profile
+ tags:
+ - Phone
+ parameters:
+ - in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ patch:
+ description: |-
+ Update a [Zoom Phone](https://support.zoom.us/hc/en-us/categories/360001370051-Zoom-Phone) user's profile.
+
+ **Scopes:** `phone:write` `phone:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ **Prerequisite:**
+ 1. Business or Enterprise account
+ 2. A Zoom Phone license
+ operationId: updateUserProfile
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ extension_number:
+ description: The extension number of the user. The number must be complete (i.e. site number + short extension).
+ type: string
+ site_id:
+ description: "Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672) where the user should be moved or assigned. "
+ type: string
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ extension_number:
+ description: The extension number of the user. The number must be complete (i.e. site number + short extension).
+ type: string
+ site_id:
+ description: "Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672) where the user should be moved or assigned. "
+ type: string
+ type: object
+ x-examples:
+ application/json:
+ extension_number: "101010"
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204`
+ Profile updated.
+ "300":
+ description: |-
+ **Error Code**: `300`
+ User does not belong to this account.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ Extension number {extensionNumber} is already in use.
+ security:
+ - OAuth: []
+ summary: Update user's profile
+ tags:
+ - Phone
+ "/phone/users/{userId}/call_logs":
+ get:
+ description: |-
+ Retrieve a [zoom phone](https://support.zoom.us/hc/en-us/articles/360001297663-Quickstart-Guide-for-Zoom-Phone-Administrators) user's call logs.
+
+ **Scopes:** `phone:read`, `phone:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ **Prerequisite:**
+ 1. Business or Enterprise account
+ 2. A Zoom Phone license
+ operationId: phoneUserCallLogs
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
+ in: query
+ name: from
+ required: true
+ schema:
+ format: date
+ type: string
+ - description: End date.
+ in: query
+ name: to
+ required: true
+ schema:
+ format: date
+ type: string
+ - in: query
+ name: type
+ schema:
+ enum:
+ - all
+ - missed
+ type: string
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: Filter API responses to include call logs of only the phone number defined in this field.
+ in: query
+ name: phone_number
+ schema:
+ type: string
+ - description: Enables you to sort call logs by start or end time. Choose the sort time value. Values include `startTime` or `endTime`.
+ in: query
+ name: time_type
+ schema:
+ default: startTime
+ enum:
+ - startTime
+ - endTime
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ call_logs:
+ - call_type: voip
+ callee_name: somename
+ callee_number: "34567889"
+ callee_number_type: "2"
+ caller_name: ullamconame
+ caller_number: "12345678"
+ caller_number_type: "1"
+ date_time: 2019-05-19T20:00:00Z
+ direction: inbound
+ duration: 18677470
+ id: sjbkfdsbfsdf
+ result: no_answer
+ from: 2019-05-19
+ page_count: 0
+ page_number: 1
+ page_size: 30
+ to: 2019-05-20
+ total_records: 0
+ schema:
+ description: Phone User Call Logs
+ properties:
+ call_logs:
+ description: Call Log
+ items:
+ properties:
+ accepted_by:
+ description: Indicates who accepted the call.
+ properties:
+ extension_number:
+ type: string
+ location:
+ type: string
+ name:
+ type: string
+ number_type:
+ type: string
+ phone_number:
+ type: string
+ type: object
+ call_id:
+ description: Unique identifier of the phone call.
+ type: string
+ callee_name:
+ description: Contact name of callee
+ type: string
+ callee_number:
+ description: Number of callee
+ type: string
+ callee_number_type:
+ description: Type of callee's number. 1 - internal | 2 - external
+ type: string
+ caller_name:
+ description: Contact name of caller
+ type: string
+ caller_number:
+ description: Number of caller
+ type: string
+ caller_number_type:
+ description: Type of caller's number. 1 - internal | 2 - external
+ type: string
+ charge:
+ description: Billing charge for the call.
+ type: string
+ client_code:
+ description: Client code.
+ type: string
+ date_time:
+ description: Start time of the call
+ type: string
+ direction:
+ description: Direction of the call. "inbound" | "outbound"
+ type: string
+ duration:
+ description: Duration of the call in seconds.
+ type: integer
+ forwarded_by:
+ description: Indicates where the call was forwarded from.
+ properties:
+ extension_number:
+ type: string
+ location:
+ type: string
+ name:
+ type: string
+ number_type:
+ type: string
+ phone_number:
+ type: string
+ type: object
+ forwarded_to:
+ description: Indicates who the call was forwarded to.
+ properties:
+ extension_number:
+ type: string
+ location:
+ type: string
+ name:
+ type: string
+ number_type:
+ type: string
+ phone_number:
+ type: string
+ type: object
+ has_recording:
+ description: Whether the call has a recording or not.
+ type: boolean
+ has_voicemail:
+ description: Whether the call has voicemail or not.
+ type: boolean
+ id:
+ description: Call Log ID
+ type: string
+ outgoing_by:
+ properties:
+ extension_number:
+ type: string
+ location:
+ type: string
+ name:
+ type: string
+ number_type:
+ type: string
+ phone_number:
+ type: string
+ type: object
+ path:
+ description: Path of the call log.
+ type: string
+ rate:
+ description: Billing rate for the call.
+ type: string
+ recording_type:
+ description: |-
+ Recording type.
+ * `1` - On-demand recording.
+ * `2` - Automatic recording.
+ type: string
+ result:
+ description: Result of the call. "call_connected" | "recorded" | "no_answer"
+ type: string
+ site:
+ properties:
+ id:
+ description: Target [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) in which the phone number was assigned. Sites allow you to organize the phone users in your organization. For example, you sites could be created based on different office locations.
+ type: string
+ name:
+ description: Name of the site where the phone number is assigned.
+ type: string
+ type: object
+ user_id:
+ description: User ID or user email.
+ type: string
+ waiting_time:
+ description: Waiting time for the call, in seconds.
+ type: integer
+ type: object
+ type: array
+ from:
+ description: Date from which you would like to view the logs.
+ type: string
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: Total number of pages
+ type: integer
+ page_size:
+ description: The number of records returned within a single API call for each page.
+ type: integer
+ to:
+ description: Date up to which you would like to view the phone log.
+ type: string
+ total_records:
+ description: The total number of records returned.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ description: Phone User Call Logs
+ properties:
+ call_logs:
+ description: Call Log
+ items:
+ properties:
+ accepted_by:
+ description: Indicates who accepted the call.
+ properties:
+ extension_number:
+ type: string
+ location:
+ type: string
+ name:
+ type: string
+ number_type:
+ type: string
+ phone_number:
+ type: string
+ type: object
+ call_id:
+ description: Unique identifier of the phone call.
+ type: string
+ callee_name:
+ description: Contact name of callee
+ type: string
+ callee_number:
+ description: Number of callee
+ type: string
+ callee_number_type:
+ description: Type of callee's number. 1 - internal | 2 - external
+ type: string
+ caller_name:
+ description: Contact name of caller
+ type: string
+ caller_number:
+ description: Number of caller
+ type: string
+ caller_number_type:
+ description: Type of caller's number. 1 - internal | 2 - external
+ type: string
+ charge:
+ description: Billing charge for the call.
+ type: string
+ client_code:
+ description: Client code.
+ type: string
+ date_time:
+ description: Start time of the call
+ type: string
+ direction:
+ description: Direction of the call. "inbound" | "outbound"
+ type: string
+ duration:
+ description: Duration of the call in seconds.
+ type: integer
+ forwarded_by:
+ description: Indicates where the call was forwarded from.
+ properties:
+ extension_number:
+ type: string
+ location:
+ type: string
+ name:
+ type: string
+ number_type:
+ type: string
+ phone_number:
+ type: string
+ type: object
+ forwarded_to:
+ description: Indicates who the call was forwarded to.
+ properties:
+ extension_number:
+ type: string
+ location:
+ type: string
+ name:
+ type: string
+ number_type:
+ type: string
+ phone_number:
+ type: string
+ type: object
+ has_recording:
+ description: Whether the call has a recording or not.
+ type: boolean
+ has_voicemail:
+ description: Whether the call has voicemail or not.
+ type: boolean
+ id:
+ description: Call Log ID
+ type: string
+ outgoing_by:
+ properties:
+ extension_number:
+ type: string
+ location:
+ type: string
+ name:
+ type: string
+ number_type:
+ type: string
+ phone_number:
+ type: string
+ type: object
+ path:
+ description: Path of the call log.
+ type: string
+ rate:
+ description: Billing rate for the call.
+ type: string
+ recording_type:
+ description: |-
+ Recording type.
+ * `1` - On-demand recording.
+ * `2` - Automatic recording.
+ type: string
+ result:
+ description: Result of the call. "call_connected" | "recorded" | "no_answer"
+ type: string
+ site:
+ properties:
+ id:
+ description: Target [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) in which the phone number was assigned. Sites allow you to organize the phone users in your organization. For example, you sites could be created based on different office locations.
+ type: string
+ name:
+ description: Name of the site where the phone number is assigned.
+ type: string
+ type: object
+ user_id:
+ description: User ID or user email.
+ type: string
+ waiting_time:
+ description: Waiting time for the call, in seconds.
+ type: integer
+ type: object
+ type: array
+ from:
+ description: Date from which you would like to view the logs.
+ type: string
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: Total number of pages
+ type: integer
+ page_size:
+ description: The number of records returned within a single API call for each page.
+ type: integer
+ to:
+ description: Date up to which you would like to view the phone log.
+ type: string
+ total_records:
+ description: The total number of records returned.
+ type: integer
+ type: object
+ description: |-
+ **HTTP Status code:** `200`
+ User's call logs returned.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ User does not belong to this account.
+ "404":
+ description: |-
+ **HTTP Status code:** `404`
+ **Error Code:** `300`
+ User does not exist: {userId}.
+ security:
+ - OAuth: []
+ summary: Get user's call logs
+ tags:
+ - Phone
+ "/phone/users/{userId}/call_logs/{callLogId}":
+ delete:
+ description: |-
+ Delete a user's [call log](https://support.zoom.us/hc/en-us/articles/360021114452-Viewing-and-identifying-logs).
+
+ **Scopes:** `phone:write`, `phone:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ **Prerequisites:**
+ 1. User must belong to a Business or an Enterprise account.
+ 2. User must hold a Zoom Phone license.
+ operationId: deleteCallLog
+ parameters:
+ - description: The user ID or email address of the user.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ - description: Unique identifier of the call log. The value for this field can be retrieved from [account's call logs](https://marketplace.zoom.us/docs/api-reference/zoom-api/phone/accountcalllogs) or [user's call logs](https://marketplace.zoom.us/docs/api-reference/zoom-api/phone/phoneusercalllogs).
+ in: path
+ name: callLogId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |
+ **HTTP Status Code**: `204`
+ Log deleted.
+ "401":
+ description: |-
+ **HTTP Status Code**: `404`
+ **Error Code**: `124`
+ Account does not exist: {accountId}.
+ "404":
+ description: |+
+ **HTTP Status Code**: `404`
+ Call log information was not found for the following callLogId: {callLogId}.
+
+
+ summary: Delete a user's call log
+ tags:
+ - Phone
+ parameters:
+ - in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ - in: path
+ name: callLogId
+ required: true
+ schema:
+ type: string
+ "/phone/users/{userId}/calling_plans":
+ parameters:
+ - in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ post:
+ description: |+
+ Assign [calling plan](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans) to a [Zoom Phone](https://support.zoom.us/hc/en-us/categories/360001370051-Zoom-Phone) user.
+
+ **Scopes**: `phone:write` `phone:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ **Prerequisite:**
+ 1. Business or Enterprise account
+ 2. A Zoom Phone license
+
+ operationId: assignCallingPlan
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ calling_plans:
+ items:
+ properties:
+ type:
+ description: "[Type](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans) of the calling plan."
+ type: string
+ type: object
+ type: array
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ calling_plans:
+ items:
+ properties:
+ type:
+ description: "[Type](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans) of the calling plan."
+ type: string
+ type: object
+ type: array
+ type: object
+ x-examples:
+ application/json:
+ calling_plans:
+ - type: "100"
+ - type: "200"
+ responses:
+ "200":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status code:** `200`
+ Calling plan assigned successfully.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ User does not belong to this account.
+ "404":
+ description: |-
+ **HTTP Status code:** `404`
+ **Error Code:** `1001`
+ User does not exist:{userId}.
+ security:
+ - OAuth: []
+ summary: Assign calling plan to a user
+ tags:
+ - Phone
+ "/phone/users/{userId}/calling_plans/{type}":
+ delete:
+ description: |-
+ Unassign a [calling plan](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans) that was previously assigned to a [Zoom Phone](https://support.zoom.us/hc/en-us/categories/360001370051) user.
+
+ **Scopes**: `phone:write` `phone:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ **Prerequisite:**
+ 1. Business or Enterprise account
+ 2. A Zoom Phone license
+ operationId: unassignCallingPlan
+ parameters:
+ - description: |
+ The [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans) of the calling plan that was assigned to user. (e.g: The value of type would be "200" for Unlimited US/Canada calling plan.)
+ in: path
+ name: type
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204`
+ Calling plan unassigned successfully.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ User does not belong to this account.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code:** `1001`
+ User does not exist:{userId}.
+ security:
+ - OAuth: []
+ summary: Unassign user's calling plan
+ tags:
+ - Phone
+ parameters:
+ - in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ - in: path
+ name: type
+ required: true
+ schema:
+ type: string
+ "/phone/users/{userId}/phone_numbers":
+ parameters:
+ - in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ post:
+ description: |-
+ Assign a [phone number](https://support.zoom.us/hc/en-us/articles/360020808292-Managing-Phone-Numbers) to a user who has already enabled Zoom Phone.
+
+ **Scopes**: `phone:write` `phone:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ **Prerequisite:**
+ 1. Business or Enterprise account
+ 2. A Zoom Phone license
+ operationId: assignPhoneNumber
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ phone_numbers:
+ items:
+ properties:
+ id:
+ description: ID for phone number
+ type: string
+ number:
+ description: Phone number in E164 format.
+ type: string
+ type: object
+ type: array
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ phone_numbers:
+ items:
+ properties:
+ id:
+ description: ID for phone number
+ type: string
+ number:
+ description: Phone number in E164 format.
+ type: string
+ type: object
+ type: array
+ type: object
+ description: Provide either an id or a number in the request body.
+ x-examples:
+ application/json:
+ phone_numbers:
+ - id: djkfsd13
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ phone_numbers:
+ - id: djkfsd13
+ number: "+123456789"
+ schema:
+ properties:
+ phone_numbers:
+ description: Assigned phone number
+ items:
+ properties:
+ id:
+ description: ID of the phone number
+ type: string
+ number:
+ description: The phone number that is assigned to the user.
+ type: string
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ properties:
+ phone_numbers:
+ description: Assigned phone number
+ items:
+ properties:
+ id:
+ description: ID of the phone number
+ type: string
+ number:
+ description: The phone number that is assigned to the user.
+ type: string
+ type: object
+ type: array
+ type: object
+ description: |
+ **HTTP Status Code:** `200`
+ Phone number assigned successfully.
+ "300":
+ description: |
+ **Error Code:** `300`
+ User does not belong to this account.
+ Validation Failed. Phone number has already been assigned.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ User does not have a calling plan.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code:** `1001` This user does not exist: {userId}.
+ security:
+ - OAuth: []
+ summary: Assign phone number to user
+ tags:
+ - Phone
+ "/phone/users/{userId}/phone_numbers/{phoneNumberId}":
+ delete:
+ description: |-
+ Unassign [phone number](https://support.zoom.us/hc/en-us/articles/360020808292-Managing-Phone-Numbers#h_38ba8b01-26e3-4b1b-a9b5-0717c00a7ca6) of a Zoom phone user.
+
+ After assigning a phone number, you can remove it if you don't want it to be assigned to anyone.
+
+ **Scopes**: `phone:write` `phone:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ **Prerequisite:**
+ 1. Business or Enterprise account
+ 2. A Zoom Phone license
+ 3. User must have been previously assigned a Zoom Phone number.
+ operationId: UnassignPhoneNumber
+ parameters:
+ - description: Provide either userId or email address of the user.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ - description: "Provide either phone number or phoneNumberId of the user. "
+ in: path
+ name: phoneNumberId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204`
+ The phone number has been unassigned successfully.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ User does not belong to this account.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code:** `1001`
+ User does not exist.
+ security:
+ - OAuth: []
+ summary: Unassign phone number
+ tags:
+ - Phone
+ parameters:
+ - in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ - in: path
+ name: phoneNumberId
+ required: true
+ schema:
+ type: string
+ "/phone/users/{userId}/recordings":
+ get:
+ description: |-
+ Retrieve a user's zoom [phone recordings](https://support.zoom.us/hc/en-us/articles/360021336671-Viewing-Call-History-and-Recordings).
+ **Scopes:** `phone:read`, `phone:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ **Prerequisite:**
+ 1. Business or Enterprise account
+ 2. A Zoom Phone license
+ operationId: phoneUserRecordings
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: Start date for the query in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the response includes only one month worth of recording data. The month defined should fall within the last six months.
+ in: query
+ name: from
+ schema:
+ format: date
+ type: string
+ - description: End date.
+ in: query
+ name: to
+ required: true
+ schema:
+ format: date
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ from: 2019-05-19
+ page_count: 0
+ page_number: 1
+ page_size: 30
+ recordings:
+ - callee_name: somename
+ callee_number: "34567889"
+ callee_number_type: "2"
+ caller_name: ullamconame
+ caller_number: "12345678"
+ caller_number_type: "1"
+ date_time: 2019-05-19T20:00:00Z
+ direction: inbound
+ download_url: somerandomdownloadurl.com
+ duration: 12
+ id: magnageUt
+ to: 2019-05-20
+ total_records: 1
+ schema:
+ description: Phone User Recordings
+ properties:
+ from:
+ description: Start date for the query.
+ format: date
+ type: string
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: Total number of pages.
+ type: integer
+ page_size:
+ description: The number of records returned within a single API call for each page.
+ type: integer
+ recordings:
+ description: Recordings
+ items:
+ properties:
+ callee_name:
+ description: Contact name of callee
+ type: string
+ callee_number:
+ description: Number of callee
+ type: string
+ callee_number_type:
+ description: Type of callee's number. 1 - internal | 2 - external
+ type: string
+ caller_name:
+ description: Contact name of caller
+ type: string
+ caller_number:
+ description: Number of caller
+ type: string
+ caller_number_type:
+ description: Type of caller's number. 1 - internal | 2 - external
+ type: string
+ date_time:
+ description: Date and time at which the record is received
+ type: string
+ direction:
+ description: Direction of the call. "inbound" | "outbound"
+ type: string
+ download_url:
+ description: |
+ Download url for the recording. For security purposes, you must provide an OAuth access token in the auth header to download the recording file using this url.
+
+ Example request:
+ ```
+ curl --request GET \
+ --url {download_url} \
+ --header 'authorization: Bearer {access_token} \
+ --header 'content-type: application/json'
+ ```
+ type: string
+ duration:
+ description: "Duration of the call formatted as hh:mm:ss, for example: `05:01` for five minutes and one second."
+ type: string
+ id:
+ description: ID of recording
+ type: string
+ type: object
+ type: array
+ to:
+ description: End date.
+ format: date
+ type: string
+ total_records:
+ description: The total number of records returned.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ description: Phone User Recordings
+ properties:
+ from:
+ description: Start date for the query.
+ format: date
+ type: string
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: Total number of pages.
+ type: integer
+ page_size:
+ description: The number of records returned within a single API call for each page.
+ type: integer
+ recordings:
+ description: Recordings
+ items:
+ properties:
+ callee_name:
+ description: Contact name of callee
+ type: string
+ callee_number:
+ description: Number of callee
+ type: string
+ callee_number_type:
+ description: Type of callee's number. 1 - internal | 2 - external
+ type: string
+ caller_name:
+ description: Contact name of caller
+ type: string
+ caller_number:
+ description: Number of caller
+ type: string
+ caller_number_type:
+ description: Type of caller's number. 1 - internal | 2 - external
+ type: string
+ date_time:
+ description: Date and time at which the record is received
+ type: string
+ direction:
+ description: Direction of the call. "inbound" | "outbound"
+ type: string
+ download_url:
+ description: |
+ Download url for the recording. For security purposes, you must provide an OAuth access token in the auth header to download the recording file using this url.
+
+ Example request:
+ ```
+ curl --request GET \
+ --url {download_url} \
+ --header 'authorization: Bearer {access_token} \
+ --header 'content-type: application/json'
+ ```
+ type: string
+ duration:
+ description: "Duration of the call formatted as hh:mm:ss, for example: `05:01` for five minutes and one second."
+ type: string
+ id:
+ description: ID of recording
+ type: string
+ type: object
+ type: array
+ to:
+ description: End date.
+ format: date
+ type: string
+ total_records:
+ description: The total number of records returned.
+ type: integer
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ User object returned.
+ "300":
+ description: |-
+ **Error code:** `300`
+ User does not belong to this account.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error code:** `1001`
+ User does not exist: {userId}.
+ security:
+ - OAuth: []
+ summary: Get user's recordings
+ tags:
+ - Phone
+ "/phone/users/{userId}/settings":
+ get:
+ description: |-
+ Retrieve a user's zoom phone profile [settings](https://support.zoom.us/hc/en-us/articles/360021325712-Configuring-Settings).
+
+ **Scopes:** `phone:read`, `phone:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ **Prerequisite:**
+ 1. Business or Enterprise account
+ 2. A Zoom Phone license
+ operationId: phoneUserSettings
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ area_code: "+1"
+ desk_phone:
+ keys_positions:
+ primary_number: "+123456789"
+ outbound_caller:
+ number: "+123456789"
+ schema:
+ description: Phone User Setting
+ properties:
+ area_code:
+ description: Area Code of User
+ type: string
+ company_number:
+ description: The [company number](https://support.zoom.us/hc/en-us/articles/360028553691) can be used by external callers to reach your phone users (by dialing the main company number and the user's extension). It can also be used by phone users as their caller ID when making calls.
+ type: string
+ desk_phone:
+ description: Contains information on phones or devices provisioned for the user.
+ properties:
+ keys_positions:
+ properties:
+ primary_number:
+ description: Primary number of the user.
+ type: string
+ type: object
+ type: object
+ outbound_caller:
+ description: Outbound Caller Info
+ properties:
+ number:
+ description: Outbound calling number
+ type: string
+ type: object
+ outbound_caller_ids:
+ properties:
+ is_default:
+ description: Whether the outbound caller ID is the default or not. If `true`, the outbound caller ID is the default caller ID.
+ type: boolean
+ name:
+ description: Outbound caller name.
+ type: string
+ number:
+ description: Outbound caller number.
+ type: string
+ type: object
+ voice_mail:
+ description: "[Shared voicemail access](https://support.zoom.us/hc/en-us/articles/360033863991-Sharing-and-controlling-access-to-a-voicemail-inbox) assigned to user."
+ properties:
+ access_user_id:
+ description: The user that is allowed to access voicemail messages for the extension.
+ type: string
+ delete:
+ description: Specifies whether the user has delete permissions. The default is **false**.
+ type: boolean
+ download:
+ description: Specifies whether the user has download permissions. The default is **false**.
+ type: boolean
+ shared_id:
+ description: Unique identifier of the shared voicemail that the user can access.
+ type: string
+ type: object
+ type: object
+ application/xml:
+ schema:
+ description: Phone User Setting
+ properties:
+ area_code:
+ description: Area Code of User
+ type: string
+ company_number:
+ description: The [company number](https://support.zoom.us/hc/en-us/articles/360028553691) can be used by external callers to reach your phone users (by dialing the main company number and the user's extension). It can also be used by phone users as their caller ID when making calls.
+ type: string
+ desk_phone:
+ description: Contains information on phones or devices provisioned for the user.
+ properties:
+ keys_positions:
+ properties:
+ primary_number:
+ description: Primary number of the user.
+ type: string
+ type: object
+ type: object
+ outbound_caller:
+ description: Outbound Caller Info
+ properties:
+ number:
+ description: Outbound calling number
+ type: string
+ type: object
+ outbound_caller_ids:
+ properties:
+ is_default:
+ description: Whether the outbound caller ID is the default or not. If `true`, the outbound caller ID is the default caller ID.
+ type: boolean
+ name:
+ description: Outbound caller name.
+ type: string
+ number:
+ description: Outbound caller number.
+ type: string
+ type: object
+ voice_mail:
+ description: "[Shared voicemail access](https://support.zoom.us/hc/en-us/articles/360033863991-Sharing-and-controlling-access-to-a-voicemail-inbox) assigned to user."
+ properties:
+ access_user_id:
+ description: The user that is allowed to access voicemail messages for the extension.
+ type: string
+ delete:
+ description: Specifies whether the user has delete permissions. The default is **false**.
+ type: boolean
+ download:
+ description: Specifies whether the user has download permissions. The default is **false**.
+ type: boolean
+ shared_id:
+ description: Unique identifier of the shared voicemail that the user can access.
+ type: string
+ type: object
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ User Setting object returned.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ User does not belong to this account.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code:** `1001`
+ User does not exist: {userId}.
+ security:
+ - OAuth: []
+ summary: Get user's settings
+ tags:
+ - Phone
+ "/phone/users/{userId}/settings/{settingType}":
+ delete:
+ description: |+
+ Remove the shared voicemail access settings that were previously assigned to a user.
+
+ To view these settings in your Zoom web portal, navigate to **Admin >Phone System Management> Users & Rooms**. Click the **Users** tab and select **User Settings**. Scroll down to **Voicemail & Call Recordings**.
+
+ **Scope**: `phone:write:admin`
+ **Prerequisites**:
+ * Business or enterprise Account
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: deleteUserSetting
+ parameters:
+ - description: Unique identifier of the user.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ - description: "Corresponds to the setting item you wish to remove. Allowed values: `voice_mail`"
+ in: path
+ name: settingType
+ required: true
+ schema:
+ type: string
+ - description: Required only for voicemail setting type.
+ in: query
+ name: shared_id
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204`
+ No Content
+ "400":
+ description: |-
+ **HTTP Status Codes** `404`
+ Voicemail option has been disabled.
+
+ **Error Code:** `300`
+ Invalid user sub setting type.
+ "404":
+ description: |-
+ **HTTP Status Codes** `404`
+ Shared voicemail does not exist:{shared_id}
+
+ **Error Code:** `1001`
+ User does not exist: {userId}
+ security:
+ - OAuth: []
+ summary: Remove shared access
+ tags:
+ - Phone
+ patch:
+ description: |-
+ Phone users can access [shared voicemail inboxes](https://support.zoom.us/hc/en-us/articles/360033863991-Sharing-and-controlling-access-to-a-voicemail-inbox) in the Zoom desktop client, web portal, or provisioned desk phone. Use this API to update the voicemail access permissions of a user.
+
+ To view these settings in the Zoom web portal, navigate to **Admin >Phone System Management> Users & Rooms**. Click the **Users** tab and select **User Settings**. Scroll down to **Voicemail & Call Recordings**.
+
+ **Scope**: `phone:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+
+
+ **Prerequisites**:
+ Business or Enterprise Account
+ operationId: updateUserSetting
+ parameters:
+ - description: "Corresponds to the setting item you wish to modify. Allowed values: `voice_mail`"
+ in: path
+ name: settingType
+ required: true
+ schema:
+ type: string
+ - description: Unique identifier of the user.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ voice_mail:
+ description: Update the voicemail setting.
+ properties:
+ access_user_id:
+ description: Specify the user ID of the user whose voicemail permissions need to be updated.
+ type: string
+ delete:
+ description: Specify whether the user has delete permissions. The default is **false**.
+ type: boolean
+ download:
+ description: Specify whether the user has download permissions. The default is **false**.
+ type: boolean
+ shared_id:
+ description: |-
+
+ Specify the ID of the voicemail.
+ type: string
+ type: object
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ voice_mail:
+ description: Update the voicemail setting.
+ properties:
+ access_user_id:
+ description: Specify the user ID of the user whose voicemail permissions need to be updated.
+ type: string
+ delete:
+ description: Specify whether the user has delete permissions. The default is **false**.
+ type: boolean
+ download:
+ description: Specify whether the user has download permissions. The default is **false**.
+ type: boolean
+ shared_id:
+ description: |-
+
+ Specify the ID of the voicemail.
+ type: string
+ type: object
+ type: object
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204`
+ No Content
+ "400":
+ content:
+ application/json:
+ schema:
+ properties: {}
+ type: object
+ application/xml:
+ schema:
+ properties: {}
+ type: object
+ description: |-
+ **HTTP Response Code:** `400`
+ Voicemail option has been disabled.
+
+ **Error Code:** `300`
+ Invalid user setting Type: {settingType}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Shared voicemail does not exist: {shared_id}.
+
+ **Error Code:** `1001`
+ User does not exist: {userId}.
+ security:
+ - OAuth: []
+ summary: Update shared access
+ tags:
+ - Phone
+ post:
+ description: |-
+ Phone users can access [shared voicemail inboxes](https://support.zoom.us/hc/en-us/articles/360033863991-Sharing-and-controlling-access-to-a-voicemail-inbox) in the Zoom desktop client, web portal, or provisioned desk phone. Use this API to define the voicemail access permissions of a user.
+
+ To view these settings in the Zoom web portal, navigate to **Admin >Phone System Management> Users & Rooms**. Click the **Users** tab and select **User Settings**. Scroll down to **Voicemail & Call Recordings**.
+
+ **Scope**:`phone:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+
+
+ **Prerequisites**:
+ Business or Enterprise Account
+ operationId: addUserSetting
+ parameters:
+ - description: Unique identifier of the user.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ - description: "Corresponds to the setting item you wish to modify. Allowed values: `voice_mail`"
+ in: path
+ name: settingType
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ voice_mail:
+ description: Update the voicemail setting.
+ properties:
+ access_user_id:
+ description: "Specify the user ID of a user with whom to share voicemail access permissions. "
+ type: string
+ delete:
+ description: Specifies whether the user has delete permissions. The default is **false**.
+ type: boolean
+ download:
+ description: Specifies whether the user has download permissions. The default is **false**.
+ type: boolean
+ type: object
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ voice_mail:
+ description: Update the voicemail setting.
+ properties:
+ access_user_id:
+ description: "Specify the user ID of a user with whom to share voicemail access permissions. "
+ type: string
+ delete:
+ description: Specifies whether the user has delete permissions. The default is **false**.
+ type: boolean
+ download:
+ description: Specifies whether the user has download permissions. The default is **false**.
+ type: boolean
+ type: object
+ type: object
+ x-examples:
+ application/json:
+ voice_mail:
+ access_user_id: sdfw35sdfd
+ delete: false
+ download: true
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ access_user_id: "12"
+ permission:
+ - delete: "false"
+ download: "false"
+ voice_mail: voicemailtest
+ schema:
+ properties:
+ voice_mail:
+ properties:
+ access_user_id:
+ description: The user that is allowed to access voicemail messages for the extension.
+ type: string
+ delete:
+ description: Specifies whether the user has delete permissions. The default is **false**.
+ type: boolean
+ download:
+ description: Specifies whether the user has download permissions. The default is **false**.
+ type: boolean
+ shared_id:
+ description: Unique identifier of the voicemail that the user can access.
+ type: string
+ type: object
+ type: object
+ application/xml:
+ schema:
+ properties:
+ voice_mail:
+ properties:
+ access_user_id:
+ description: The user that is allowed to access voicemail messages for the extension.
+ type: string
+ delete:
+ description: Specifies whether the user has delete permissions. The default is **false**.
+ type: boolean
+ download:
+ description: Specifies whether the user has download permissions. The default is **false**.
+ type: boolean
+ shared_id:
+ description: Unique identifier of the voicemail that the user can access.
+ type: string
+ type: object
+ type: object
+ description: |-
+ **HTTP Status Code** `201`
+ Created Successfully.
+ "400":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Response Code:** `400`
+ Voicemail option has been disabled.
+
+ **Error Code:** `300`
+ Invalid user sub setting type.
+ Voicemail has already been shared to the user.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+
+ **Error Code:** `1001`
+ User does not exist: {userId}.
+ security:
+ - OAuth: []
+ summary: Set up shared access
+ tags:
+ - Phone
+ "/phone/users/{userId}/sms/sessions": {}
+ "/phone/users/{userId}/voice_mails":
+ get:
+ description: |-
+ Retrieve a user's Zoom Phone voicemails.
+
+ **Scopes:** `phone:read`, `phone:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ **Prerequisite:**
+ 1. Business or Enterprise account
+ 2. A Zoom Phone license
+ operationId: phoneUserVoiceMails
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: Status of the voice mail
+ in: query
+ name: status
+ schema:
+ default: all
+ enum:
+ - all
+ - read
+ - unread
+ type: string
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: Start date for the query in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the response includes only one month worth of voicemail data. The month defined should fall within the last six months.
+ in: query
+ name: from
+ schema:
+ format: date
+ type: string
+ - description: End date.
+ in: query
+ name: to
+ required: true
+ schema:
+ format: date
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ page_count: 0
+ page_number: 1
+ page_size: 30
+ total_records: 1
+ voice_mails:
+ - callee_name: somename
+ callee_number: "34567889"
+ callee_number_type: "2"
+ caller_name: ullamconame
+ caller_number: "12345678"
+ caller_number_type: "1"
+ date_time: 2019-05-19T20:00:00Z
+ download_url: ani_maborumu7labojgde.com
+ duration: 18:07
+ id: Excepteur
+ status: read
+ schema:
+ description: Phone User Voice Mails
+ properties:
+ from:
+ description: Start date for the query.
+ format: date
+ type: string
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: Total number of page
+ type: integer
+ page_size:
+ description: Size of each page
+ type: integer
+ to:
+ description: End date.
+ format: date
+ type: string
+ total_records:
+ description: Total number of records
+ type: integer
+ voice_mails:
+ description: Voice Mails
+ items:
+ properties:
+ callee_name:
+ description: Contact name of callee
+ type: string
+ callee_number:
+ description: Number of callee
+ type: string
+ callee_number_type:
+ description: Type of callee's number. 1 - internal | 2 - external
+ type: string
+ caller_name:
+ description: Contact name of caller
+ type: string
+ caller_number:
+ description: "Number of caller "
+ type: string
+ caller_number_type:
+ description: Type of caller's number. 1 - internal | 2 - external
+ type: string
+ date_time:
+ description: Date the voice mail started
+ type: string
+ download_url:
+ description: Download url of attachment
+ type: string
+ duration:
+ description: "Duration of the voice mail, formatted as hh:mm:ss, for example: `06:30` for six minutes and thirty seconds."
+ type: string
+ id:
+ description: Id of voice mail
+ type: string
+ status:
+ description: Status of the voice mail. Can be either 'read' or 'unread'
+ enum:
+ - read
+ - unread
+ type: string
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ description: Phone User Voice Mails
+ properties:
+ from:
+ description: Start date for the query.
+ format: date
+ type: string
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: Total number of page
+ type: integer
+ page_size:
+ description: Size of each page
+ type: integer
+ to:
+ description: End date.
+ format: date
+ type: string
+ total_records:
+ description: Total number of records
+ type: integer
+ voice_mails:
+ description: Voice Mails
+ items:
+ properties:
+ callee_name:
+ description: Contact name of callee
+ type: string
+ callee_number:
+ description: Number of callee
+ type: string
+ callee_number_type:
+ description: Type of callee's number. 1 - internal | 2 - external
+ type: string
+ caller_name:
+ description: Contact name of caller
+ type: string
+ caller_number:
+ description: "Number of caller "
+ type: string
+ caller_number_type:
+ description: Type of caller's number. 1 - internal | 2 - external
+ type: string
+ date_time:
+ description: Date the voice mail started
+ type: string
+ download_url:
+ description: Download url of attachment
+ type: string
+ duration:
+ description: "Duration of the voice mail, formatted as hh:mm:ss, for example: `06:30` for six minutes and thirty seconds."
+ type: string
+ id:
+ description: Id of voice mail
+ type: string
+ status:
+ description: Status of the voice mail. Can be either 'read' or 'unread'
+ enum:
+ - read
+ - unread
+ type: string
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ User object returned.
+ "300":
+ description: |-
+ **Error Code:** 300
+ User does not belong to account.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code:** 1001
+ User does not exist: {userId}
+ security:
+ - OAuth: []
+ summary: Get user's voicemails
+ tags:
+ - Phone
+ "/phone/voice_mails/{voicemailId}":
+ delete:
+ description: |+
+ Delete a [voicemail message](https://support.zoom.us/hc/en-us/articles/360021400211-Managing-voicemail-messages) from a Zoom account.
+
+ **Scope:** `phone:write:admin` or `phone:write`
+
+
+ **Prerequisite**:
+ * The account must have activted Zoom Phone license.
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+
+ operationId: deleteVoicemail
+ parameters:
+ - description: Unique identifier of the voicemail. Retrieve the value for this field by calling the [Get voicemails](https://marketplace.zoom.us/docs/api-reference/zoom-api/phone/phoneuservoicemails) API.
+ in: path
+ name: voicemailId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+
+ Voicemail deleted.
+ "401":
+ description: |+
+ **HTTP Status Code:** `401` **Unauthorized**
+ **Error Code:** `124`
+ Account does not exist: {accountId}.
+
+
+ "404":
+ description: |+
+ **HTTP Status Code:** `404` **Not Found**
+
+ Voice mail does not exist: {voicemailId}.
+
+ summary: Delete a voicemail
+ tags:
+ - Phone
+ parameters:
+ - in: path
+ name: voicemailId
+ required: true
+ schema:
+ type: string
+ /report/activities:
+ get:
+ description: |-
+ Retrieve a list of sign in / sign out activity logs [report](https://support.zoom.us/hc/en-us/articles/201363213-Getting-Started-with-Reports) of users under a Zoom account.
+ **Prerequisites**
+ * Pro or higher plan.
+ **Scopes:** `report:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ operationId: reportSignInSignOutActivities
+ parameters:
+ - description: Start date for which you would like to view the activity logs report. Using the `from` and `to` parameters, specify a monthly date range for the report as the API only provides one month worth of data in one request. The specified date range should fall within the last six months.
+ in: query
+ name: from
+ schema:
+ format: date
+ type: string
+ - description: End date up to which you would like to view the activity logs report.
+ in: query
+ name: to
+ schema:
+ format: date
+ type: string
+ - description: The number of records to be returned within a single API call
+ in: query
+ name: page_size
+ schema:
+ type: integer
+ - description: Next page token is used to paginate through large result sets
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value: |-
+ {
+ "email": "sfkjsldfhjdsf@dskjflhdsf.com",
+ "time": "2019-09-15T20:56:09Z",
+ "type": "Sign in",
+ "ip_address": "38.99.100.6",
+ "client_type": "Browser",
+ "version": "-"
+ },
+ {
+ "email": "dfdsfdfdf@gidfdfdl.com",
+ "time": "2019-09-15T19:13:41Z",
+ "type": "Sign in",
+ "ip_address": "38.99.100.6",
+ "client_type": "Browser",
+ "version": "-"
+ },
+ {
+ "email": "fdfdfdf@gfdgfdgdsfg.com",
+ "time": "2019-09-15T18:50:15Z",
+ "type": "Sign out",
+ "ip_address": "38.99.100.6",
+ "client_type": "Browser",
+ "version": "-"
+ }
+ schema:
+ description: Report object
+ properties:
+ activity_logs:
+ description: Array of activity logs.
+ items:
+ properties:
+ client_type:
+ description: The client interface type using which the activity was performed.
+ type: string
+ email:
+ description: "Email address of the user used for the activity. "
+ type: string
+ ip_address:
+ description: The IP address of the user's device.
+ type: string
+ time:
+ description: "Time during which the activity occurred. "
+ format: date-time
+ type: string
+ type:
+ description: "The type of activity: `Sign in`: Sign in activity by user. `Sign out`: Sign out activity by user."
+ type: string
+ version:
+ description: Zoom client version of the user.
+ type: string
+ type: object
+ type: array
+ from:
+ description: Start date from which you want the activity logs report to be generated.
+ type: string
+ next_page_token:
+ description: Next page token is used to paginate through large result sets.
+ type: string
+ page_size:
+ description: The number of records returned within a single API call.
+ type: string
+ to:
+ description: End date until which you want the activity logs report to be generated
+ type: string
+ type: object
+ application/xml:
+ schema:
+ description: Report object
+ properties:
+ activity_logs:
+ description: Array of activity logs.
+ items:
+ properties:
+ client_type:
+ description: The client interface type using which the activity was performed.
+ type: string
+ email:
+ description: "Email address of the user used for the activity. "
+ type: string
+ ip_address:
+ description: The IP address of the user's device.
+ type: string
+ time:
+ description: "Time during which the activity occurred. "
+ format: date-time
+ type: string
+ type:
+ description: "The type of activity: `Sign in`: Sign in activity by user. `Sign out`: Sign out activity by user."
+ type: string
+ version:
+ description: Zoom client version of the user.
+ type: string
+ type: object
+ type: array
+ from:
+ description: Start date from which you want the activity logs report to be generated.
+ type: string
+ next_page_token:
+ description: Next page token is used to paginate through large result sets.
+ type: string
+ page_size:
+ description: The number of records returned within a single API call.
+ type: string
+ to:
+ description: End date until which you want the activity logs report to be generated
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Success
+ security:
+ - OAuth: []
+ summary: Get sign In / sign out activity report
+ tags:
+ - Reports
+ /report/billing: {}
+ /report/billing/invoices: {}
+ /report/cloud_recording:
+ get:
+ description: |-
+ Retrieve cloud recording usage report for a specified period. You can only get cloud recording reports that is one day ealier than the current date and for the most recent period of 6 months. The date gap between from and to dates should be smaller or equal to 30 days.
+ **Prerequisites**
+ * Pro or higher plan.
+ **Scopes:** `report:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ operationId: reportCloudRecording
+ parameters:
+ - description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
+ in: query
+ name: from
+ required: true
+ schema:
+ format: date
+ type: string
+ - description: End date.
+ in: query
+ name: to
+ required: true
+ schema:
+ format: date
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ cloud_recording_storage:
+ - date: 2019-09-14
+ free_usage: 1 GB
+ plan_usage: "0"
+ usage: 29 MB
+ from: 2019-09-14
+ to: 2019-09-14
+ schema:
+ allOf:
+ - properties:
+ from:
+ description: Start date for this report
+ format: date
+ type: string
+ to:
+ description: End date for this report
+ format: date
+ type: string
+ - properties:
+ cloud_recording_storage:
+ description: Array of cloud usage objects
+ items:
+ properties:
+ date:
+ description: Date of the usage
+ format: date-time
+ type: string
+ free_usage:
+ description: Free storage
+ type: string
+ plan_usage:
+ description: Paid storage
+ type: string
+ usage:
+ description: Storage used on the date
+ type: string
+ type: array
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ from:
+ description: Start date for this report
+ format: date
+ type: string
+ to:
+ description: End date for this report
+ format: date
+ type: string
+ - properties:
+ cloud_recording_storage:
+ description: Array of cloud usage objects
+ items:
+ properties:
+ date:
+ description: Date of the usage
+ format: date-time
+ type: string
+ free_usage:
+ description: Free storage
+ type: string
+ plan_usage:
+ description: Paid storage
+ type: string
+ usage:
+ description: Storage used on the date
+ type: string
+ type: array
+ description: |-
+ **HTTP Status Code:** `200`
+ Cloud Recording Report Returned
+ "300":
+ description: |-
+ **HTTP Status Code:** `300`
+ Only provide report in recent 6 months
+ security:
+ - OAuth: []
+ summary: Get cloud recording usage report
+ tags:
+ - Reports
+ /report/daily:
+ get:
+ description: |-
+ Retrieve daily report to access the account-wide usage of Zoom services for each day in a given month. It lists the number of new users, meetings, participants, and meeting minutes.
+ **Prerequisites**
+ * Pro or higher plan.
+ **Scopes:** `report:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ operationId: reportDaily
+ parameters:
+ - description: Year for this report
+ in: query
+ name: year
+ schema:
+ type: integer
+ - description: Month for this report
+ in: query
+ name: month
+ schema:
+ type: integer
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ dates:
+ - date: 2019-06-01
+ meeting_minutes: 100
+ meetings: 10
+ new_users: 3
+ participants: 20
+ - date: 2019-06-02
+ meeting_minutes: 200
+ meetings: 20
+ new_users: 0
+ participants: 80
+ - date: 2019-06-03
+ meeting_minutes: 380
+ meetings: 35
+ new_users: 10
+ participants: 100
+ month: 6
+ year: 2019
+ schema:
+ properties:
+ dates:
+ description: Array of date objects.
+ items:
+ properties:
+ date:
+ description: Date for this object.
+ format: date
+ type: string
+ meeting_minutes:
+ description: Number of meeting minutes on this date.
+ type: integer
+ meetings:
+ description: Number of meetings on this date.
+ type: integer
+ new_users:
+ description: Number of new users on this date.
+ type: integer
+ participants:
+ description: Number of participants on this date.
+ type: integer
+ type: object
+ type: array
+ month:
+ description: Month for this report.
+ type: integer
+ year:
+ description: Year for this report.
+ type: integer
+ application/xml:
+ schema:
+ properties:
+ dates:
+ description: Array of date objects.
+ items:
+ properties:
+ date:
+ description: Date for this object.
+ format: date
+ type: string
+ meeting_minutes:
+ description: Number of meeting minutes on this date.
+ type: integer
+ meetings:
+ description: Number of meetings on this date.
+ type: integer
+ new_users:
+ description: Number of new users on this date.
+ type: integer
+ participants:
+ description: Number of participants on this date.
+ type: integer
+ type: object
+ type: array
+ month:
+ description: Month for this report.
+ type: integer
+ year:
+ description: Year for this report.
+ type: integer
+ description: |-
+ **HTTP Status Code:** `200`
+ Daily report retrieved.
+ This is only available for paid accounts:{accountId}.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ **Error Code:** `300`
+ Daily report can only be provided for a month that falls within the recent 6 months.
+ security:
+ - OAuth: []
+ summary: Get daily usage report
+ tags:
+ - Reports
+ "/report/meetings/{meetingId}":
+ get:
+ description: "Get a detailed report for a past meeting.
+
+ **Scopes:** `report:read:admin`
+
+ \\
+
+ \ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+
+ **Prerequisites:**
+
+ * Pro or a higher plan.
+
+ \ "
+ operationId: reportMeetingDetails
+ parameters:
+ - description: |-
+ The meeting ID or the meeting UUID. If a meeting ID is provided in the request instead of a UUID, the response will be for the latest meeting instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ duration: 11
+ end_time: 2019-08-14T09:05:19.754Z
+ id: 1000000
+ participants_count: 4
+ start_time: 2019-07-14T09:05:19.754Z
+ topic: Awesome meeting
+ total_minutes: 11
+ tracking_fields:
+ - field: Meeting Purpose
+ value: Sales
+ type: 2
+ user_email: officia@sdhgdfgh.fsdfs
+ user_name: officia
+ uuid: sfsdfsdfc6122222d
+ schema:
+ properties:
+ custom_keys:
+ description: Custom keys and values assigned to the meeting.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the user.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the user.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ dept:
+ description: Department of the host.
+ type: string
+ duration:
+ description: Meeting duration.
+ type: integer
+ end_time:
+ description: Meeting end time.
+ format: date-time
+ type: string
+ id:
+ description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
+ format: int64
+ type: integer
+ participants_count:
+ description: Number of meeting participants.
+ type: integer
+ start_time:
+ description: Meeting start time.
+ format: date-time
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ total_minutes:
+ description: |-
+ Number of meeting minutes. This represents the total amount of meeting minutes attended by each participant including the host, for meetings hosted by the user. For instance if there were one host(named A) and one participant(named B) in a meeting, the value of total_minutes would be calculated as below:
+
+ **total_minutes** = Total Meeting Attendance Minutes of A + Total Meeting Attendance Minutes of B
+ type: integer
+ tracking_fields:
+ description: Tracking fields.
+ items:
+ properties:
+ field:
+ description: Tracking fields type.
+ type: string
+ value:
+ description: Tracking fields value.
+ type: string
+ type: object
+ type: array
+ type:
+ description: Meeting type.
+ type: integer
+ user_email:
+ description: User email.
+ type: string
+ user_name:
+ description: User display name.
+ type: string
+ uuid:
+ description: Meeting UUID. Each meeting instance will generate its own UUID(i.e., after a meeting ends, a new UUID will be generated for the next instance of the meeting). Please double encode your UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it.
+ format: uuid
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ custom_keys:
+ description: Custom keys and values assigned to the meeting.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the user.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the user.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ dept:
+ description: Department of the host.
+ type: string
+ duration:
+ description: Meeting duration.
+ type: integer
+ end_time:
+ description: Meeting end time.
+ format: date-time
+ type: string
+ id:
+ description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
+ format: int64
+ type: integer
+ participants_count:
+ description: Number of meeting participants.
+ type: integer
+ start_time:
+ description: Meeting start time.
+ format: date-time
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ total_minutes:
+ description: |-
+ Number of meeting minutes. This represents the total amount of meeting minutes attended by each participant including the host, for meetings hosted by the user. For instance if there were one host(named A) and one participant(named B) in a meeting, the value of total_minutes would be calculated as below:
+
+ **total_minutes** = Total Meeting Attendance Minutes of A + Total Meeting Attendance Minutes of B
+ type: integer
+ tracking_fields:
+ description: Tracking fields.
+ items:
+ properties:
+ field:
+ description: Tracking fields type.
+ type: string
+ value:
+ description: Tracking fields value.
+ type: string
+ type: object
+ type: array
+ type:
+ description: Meeting type.
+ type: integer
+ user_email:
+ description: User email.
+ type: string
+ user_name:
+ description: User display name.
+ type: string
+ uuid:
+ description: Meeting UUID. Each meeting instance will generate its own UUID(i.e., after a meeting ends, a new UUID will be generated for the next instance of the meeting). Please double encode your UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it.
+ format: uuid
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Meeting details returned.
+ This is only available for paid account.
+ "300":
+ description: |-
+ **HTTP Status Code:** `300`
+ Can not access meeting information:{meetingId}.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ Bad request
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Meeting ID not found.
+ **Error Code:** `3001`
+ Meeting {meetingId} not found or has expired.
+ security:
+ - OAuth: []
+ summary: Get meeting detail reports
+ tags:
+ - Reports
+ "/report/meetings/{meetingId}/participants":
+ get:
+ description: "Get participant report for a past meeting.
+
+ **Scopes:** `report:read:admin`
+
+ \\
+
+ \ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+
+ **Prerequisites:**
+
+ * Pro or a higher plan.
+
+ \ "
+ operationId: reportMeetingParticipants
+ parameters:
+ - description: |-
+ The meeting ID or the meeting UUID. If a meeting ID is provided in the request instead of a UUID, the response will be for the latest meeting instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: |+
+ Provide `registrant_id` as the value for this field if you would like to see the registrant ID attribute in the response of this API call. A registrant ID is a unique identifier of a [meeting registrant](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingregistrants).
+
+ in: query
+ name: include_fields
+ schema:
+ enum:
+ - registrant_id
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ next_page_token: ""
+ page_count: "1"
+ page_size: "30"
+ participants:
+ - duration: 20:00
+ id: dskfjladjskfl
+ join_time: 2019-02-01T12:34:12.660Z
+ leave_time: 2019-03-01T12:34:12.660Z
+ name: Riya
+ user_email: riya@jdfghsdfgsd.fdjfhdf
+ user_id: sdfjkldsfdfgdfg
+ total_records: "1"
+ schema:
+ allOf:
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ type: integer
+ type: object
+ - properties:
+ participants:
+ description: Array of meeting participant objects.
+ items:
+ properties:
+ customer_key:
+ description: "Another identifier for the participant. Can be a number or characters, maximum length of 15 characters. "
+ maxLength: 15
+ type: string
+ duration:
+ description: Participant duration.
+ type: integer
+ failover:
+ description: Indicates if failover happened during the meeting.
+ type: boolean
+ id:
+ description: Universally unique identifier of the Participant. It is the same as the User ID of the participant if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging in, the value of this field will be blank..
+ format: uuid
+ type: string
+ join_time:
+ description: Participant join time.
+ format: date-time
+ type: string
+ leave_time:
+ description: Participant leave time.
+ format: date-time
+ type: string
+ name:
+ description: Participant display name.
+ type: string
+ registrant_id:
+ description: Unique identifier of the registrant. This field is only returned if you entered "registrant_id" as the value of `include_fields` query parameter.
+ type: string
+ user_email:
+ description: Participant email.
+ type: string
+ user_id:
+ description: Participant ID. This is a unique ID assigned to the participant joining a meeting and is valid for that meeting only.
+ type: string
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ type: integer
+ type: object
+ - properties:
+ participants:
+ description: Array of meeting participant objects.
+ items:
+ properties:
+ customer_key:
+ description: "Another identifier for the participant. Can be a number or characters, maximum length of 15 characters. "
+ maxLength: 15
+ type: string
+ duration:
+ description: Participant duration.
+ type: integer
+ failover:
+ description: Indicates if failover happened during the meeting.
+ type: boolean
+ id:
+ description: Universally unique identifier of the Participant. It is the same as the User ID of the participant if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging in, the value of this field will be blank..
+ format: uuid
+ type: string
+ join_time:
+ description: Participant join time.
+ format: date-time
+ type: string
+ leave_time:
+ description: Participant leave time.
+ format: date-time
+ type: string
+ name:
+ description: Participant display name.
+ type: string
+ registrant_id:
+ description: Unique identifier of the registrant. This field is only returned if you entered "registrant_id" as the value of `include_fields` query parameter.
+ type: string
+ user_email:
+ description: Participant email.
+ type: string
+ user_id:
+ description: Participant ID. This is a unique ID assigned to the participant joining a meeting and is valid for that meeting only.
+ type: string
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Meeting participants report returned.
+ This is only available for paid account.
+ "300":
+ description: |-
+ **HTTP Status Code:** `300` Cannot access meeting information:{meetingId}.
+ The next page token is either invalid or has expired.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ Bad request
+ **Error Code:** `1010`
+ User does not belong to this account:{accountId}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Meeting ID not found.
+ **Error Code:** `3001`
+ Meeting {MeetingId} not found or has expired.
+ security:
+ - OAuth: []
+ summary: Get meeting participant reports
+ tags:
+ - Reports
+ "/report/meetings/{meetingId}/polls":
+ get:
+ description: "Retrieve a report of [poll](https://support.zoom.us/hc/en-us/articles/213756303-Polling-for-Meetings) results for a past meeting.
+
+ **Scopes:** `report:read:admin`
+
+ \\
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+
+ **Prerequisites:**
+
+ * Pro or a higher plan.
+
+ \ "
+ operationId: reportMeetingPolls
+ parameters:
+ - description: |-
+ The meeting ID or the meeting UUID. If a meeting ID is provided in the request instead of a UUID, the response will be for the latest meeting instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ id: 123456
+ questions:
+ - email: myemail@jksdlfkjdf.djfk
+ name: Sam S
+ question_details:
+ - answer: I am wonderful.
+ question: How are you?
+ start_time: 2019-02-01T12:34:12.660Z
+ status: ended
+ title: Learn something new
+ uuid: gsdjfhsdfkhjdsf
+ schema:
+ properties:
+ id:
+ description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
+ format: int64
+ type: integer
+ questions:
+ description: Array of meeting question objects.
+ items:
+ properties:
+ email:
+ description: Participant email.
+ type: string
+ name:
+ description: Participant display name. If "anonymous" option is enabled for a [poll](https://support.zoom.us/hc/en-us/articles/213756303-Polling-for-Meet), the participant's polling information will be kept anonymous and the value of `name` field will be "Anonymous Attendee".
+ type: string
+ question_details:
+ description: Array of questions from user.
+ items:
+ properties:
+ answer:
+ description: Given answer.
+ type: string
+ date_time:
+ description: Date and time at which the answer to the poll was submitted.
+ format: date-time
+ type: string
+ polling_id:
+ description: Unique identifier of the poll.
+ type: string
+ question:
+ description: Asked question.
+ type: string
+ type: object
+ type: array
+ type: object
+ type: array
+ start_time:
+ description: Meeting start time.
+ format: date-time
+ type: string
+ uuid:
+ description: Meeting UUID. Each meeting instance will generate its own UUID(i.e., after a meeting ends, a new UUID will be generated for the next instance of the meeting). Please double encode your UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it.
+ format: uuid
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ id:
+ description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
+ format: int64
+ type: integer
+ questions:
+ description: Array of meeting question objects.
+ items:
+ properties:
+ email:
+ description: Participant email.
+ type: string
+ name:
+ description: Participant display name. If "anonymous" option is enabled for a [poll](https://support.zoom.us/hc/en-us/articles/213756303-Polling-for-Meet), the participant's polling information will be kept anonymous and the value of `name` field will be "Anonymous Attendee".
+ type: string
+ question_details:
+ description: Array of questions from user.
+ items:
+ properties:
+ answer:
+ description: Given answer.
+ type: string
+ date_time:
+ description: Date and time at which the answer to the poll was submitted.
+ format: date-time
+ type: string
+ polling_id:
+ description: Unique identifier of the poll.
+ type: string
+ question:
+ description: Asked question.
+ type: string
+ type: object
+ type: array
+ type: object
+ type: array
+ start_time:
+ description: Meeting start time.
+ format: date-time
+ type: string
+ uuid:
+ description: Meeting UUID. Each meeting instance will generate its own UUID(i.e., after a meeting ends, a new UUID will be generated for the next instance of the meeting). Please double encode your UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it.
+ format: uuid
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Meeting polls report returned.
+ This is only available for paid account:{accountId}.
+ "404":
+ description: |
+ **HTTP Status Code:** `404`
+ Meeting ID not found.
+ **Error Code:** `3001`
+ Meeting {meetingId} not found or has expired.
+ security:
+ - OAuth: []
+ summary: Get meeting poll reports
+ tags:
+ - Reports
+ /report/operationlogs:
+ get:
+ description: |-
+ The [Operations Logs](https://support.zoom.us/hc/en-us/articles/360032748331-Operation-Logs) report allows you to audit admin and user activity, such as adding a new user, changing account settings, and deleting recordings.
+ Use this API to retrieve operation logs report for a specified period of time.
+ **Scopes:** `report:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ **Prerequisites:**
+ * Pro or higher plan.
+ operationId: reportOperationLogs
+ parameters:
+ - description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
+ in: query
+ name: from
+ required: true
+ schema:
+ format: date
+ type: string
+ - description: End date.
+ in: query
+ name: to
+ required: true
+ schema:
+ format: date
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: |-
+ **Optional**
+ Filter your response by a category type to see reports for a specific category.
+ The value for this field can be one of the following: `all` `user` `user_settings` `account` `billing` `im` `recording` `phone_contacts` `webinar` `sub_account` `role` `zoom_rooms`
+ in: query
+ name: category_type
+ schema:
+ enum:
+ - all
+ - user
+ - user_settings
+ - account
+ - billing
+ - im
+ - recording
+ - phone_contacts
+ - webinar
+ - sub_account
+ - role
+ - zoom_rooms
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ from: 2019-08-14
+ next_page_token: czxcxdvxvddc
+ operation_logs:
+ - action: Update
+ category_type: User
+ operation_detail: "Activate User sjkfhdsf@jdfgkhgd.com "
+ operator: someuser@sfksfhksdfsf.com
+ time: 2019-08-20T19:09:01Z
+ - action: Update
+ category_type: User
+ operation_detail: "Deactivate User mynewemail@jdfkdshfhjdsf.ffasdm "
+ operator: anotheruser@sfhidshfidshufds.com
+ time: 2019-08-20T18:59:56Z
+ page_size: 30
+ to: 2019-09-14
+ schema:
+ allOf:
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of the available result list exceeds the page size. The expiration period is 15 minutes.
+ type: string
+ page_size:
+ default: 30
+ description: "The amount of records returns within a single API call. "
+ maximum: 300
+ type: integer
+ type: object
+ - properties:
+ operation_logs:
+ description: Array of operation log objects
+ items:
+ properties:
+ action:
+ description: Action
+ type: string
+ category_type:
+ description: Category type
+ type: string
+ operation_detail:
+ description: Operation detail
+ type: string
+ operator:
+ description: The user who performed the operation.
+ type: string
+ time:
+ description: The time at which the operation was performed.
+ format: date-time
+ type: string
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of the available result list exceeds the page size. The expiration period is 15 minutes.
+ type: string
+ page_size:
+ default: 30
+ description: "The amount of records returns within a single API call. "
+ maximum: 300
+ type: integer
+ type: object
+ - properties:
+ operation_logs:
+ description: Array of operation log objects
+ items:
+ properties:
+ action:
+ description: Action
+ type: string
+ category_type:
+ description: Category type
+ type: string
+ operation_detail:
+ description: Operation detail
+ type: string
+ operator:
+ description: The user who performed the operation.
+ type: string
+ time:
+ description: The time at which the operation was performed.
+ format: date-time
+ type: string
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Operation Logs Report Returned
+ "300":
+ description: "**HTTP Status Code:** `300` Only provide report in recent 6 months"
+ security:
+ - OAuth: []
+ summary: Get operation logs report
+ tags:
+ - Reports
+ /report/telephone:
+ get:
+ description: |-
+ The [telephone report](https://support.zoom.us/hc/en-us/articles/206514816-Telephone-reports) allows you to view who dialed into meetings via phone (Audio Conferencing or SIP Connected Audio) and which number they dialed into and other details. Use this API to get telephone report for a specified period of time.
+
+ **Scopes:** `report:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy` **Prerequisites:**
+ * Pro or higher plan.
+ operationId: reportTelephone
+ parameters:
+ - description: |-
+ Audio types: `1` - Toll-free Call-in & Call-out. `2` - Toll
+ `3` - SIP Connected Audio
+ in: query
+ name: type
+ schema:
+ default: "1"
+ enum:
+ - 1
+ - 3
+ type: string
+ x-enum-descriptions:
+ - Toll-free Call-in & Call-out
+ - description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
+ in: query
+ name: from
+ required: true
+ schema:
+ format: date
+ type: string
+ - description: End date.
+ in: query
+ name: to
+ required: true
+ schema:
+ format: date
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: |-
+
+ **Deprecated** - This field has been deprecated and we will stop supporting it completely in a future release. Please use "next_page_token" for pagination instead of this field.
+
+ The page number of the current page in the returned records.
+ in: query
+ name: page_number
+ schema:
+ default: 1
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value: |-
+ {
+ "from": "2019-06-20",
+ "to": "2019-07-20",
+ "page_count": 1,
+ "page_number": 1,
+ "page_size": 30,
+ "total_records": 1,
+ "telephony_usage": [
+ {
+ "meeting_id": 00000,
+ "phone_number": "000002001",
+ "host_name": "minim c",
+ "host_email": "nadhkasdg@jdskfhdsf.hjhj",
+ "dept": "Billing",
+ "start_time": "2019-07-15T23:24:52Z",
+ "end_time": "2019-07-15T23:30:19Z",
+ "duration": 6,
+ "total": 11,
+ "country_name": "nulla laboris cillum",
+ "meeting_type": "voluptate",
+ "call_in_number": "occaecat et reprehenderit"
+ }
+ ]
+ }
+ schema:
+ allOf:
+ - properties:
+ from:
+ description: Start date for this report.
+ format: date
+ type: string
+ next_page_token:
+ default: 1
+ description: The page number of the current results.
+ type: integer
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ to:
+ description: End date for this report.
+ format: date
+ type: string
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ - properties:
+ telephony_usage:
+ description: Array of telephony objects.
+ items:
+ properties:
+ call_in_number:
+ description: Caller's call-in number.
+ type: string
+ country_name:
+ description: Country name.
+ type: string
+ dept:
+ description: User department.
+ type: string
+ duration:
+ description: Call leg duration
+ type: integer
+ end_time:
+ description: Call leg end time
+ format: date-time
+ type: string
+ host_email:
+ description: User email.
+ type: string
+ host_id:
+ description: The user ID of the meeting host.
+ type: string
+ host_name:
+ description: User display name.
+ type: string
+ meeting_id:
+ description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
+ format: int64
+ type: integer
+ meeting_type:
+ description: Meeting type.
+ type: string
+ phone_number:
+ description: "Toll-free telephone number. "
+ type: string
+ rate:
+ description: Calling rate for the telephone call.
+ type: number
+ signaled_number:
+ description: "The number that is signaled to Zoom. "
+ type: string
+ start_time:
+ description: Call leg start time
+ format: date-time
+ type: string
+ total:
+ description: Total cost (USD) for Call Out. Calculated as plan rate by duration.
+ type: number
+ type:
+ description: Call type.
+ enum:
+ - toll-free
+ - call-out
+ - call-in
+ - US toll-number
+ - global toll-number
+ - premium
+ - premium call-in
+ type: string
+ uuid:
+ description: Meeting UUID.
+ type: string
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ from:
+ description: Start date for this report.
+ format: date
+ type: string
+ next_page_token:
+ default: 1
+ description: The page number of the current results.
+ type: integer
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ to:
+ description: End date for this report.
+ format: date
+ type: string
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ - properties:
+ telephony_usage:
+ description: Array of telephony objects.
+ items:
+ properties:
+ call_in_number:
+ description: Caller's call-in number.
+ type: string
+ country_name:
+ description: Country name.
+ type: string
+ dept:
+ description: User department.
+ type: string
+ duration:
+ description: Call leg duration
+ type: integer
+ end_time:
+ description: Call leg end time
+ format: date-time
+ type: string
+ host_email:
+ description: User email.
+ type: string
+ host_id:
+ description: The user ID of the meeting host.
+ type: string
+ host_name:
+ description: User display name.
+ type: string
+ meeting_id:
+ description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
+ format: int64
+ type: integer
+ meeting_type:
+ description: Meeting type.
+ type: string
+ phone_number:
+ description: "Toll-free telephone number. "
+ type: string
+ rate:
+ description: Calling rate for the telephone call.
+ type: number
+ signaled_number:
+ description: "The number that is signaled to Zoom. "
+ type: string
+ start_time:
+ description: Call leg start time
+ format: date-time
+ type: string
+ total:
+ description: Total cost (USD) for Call Out. Calculated as plan rate by duration.
+ type: number
+ type:
+ description: Call type.
+ enum:
+ - toll-free
+ - call-out
+ - call-in
+ - US toll-number
+ - global toll-number
+ - premium
+ - premium call-in
+ type: string
+ uuid:
+ description: Meeting UUID.
+ type: string
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Telephone report returned.
+ This is only available for paid account:{accountId}.
+ The requested report cannot be generated for this account because this account has not subscribed to toll-free audio conference plan.
+ Toll Report feature must be enabled to perform this action. Contact the Zoom Support team for help.
+ security:
+ - OAuth: []
+ summary: Get telephone reports
+ tags:
+ - Reports
+ /report/users:
+ get:
+ description: |-
+ A user is considered to be an active host during the month specified in the "from" and "to" range, if the user has hosted at least one meeting during this period. If the user didn't host any meetings during this period, the user is considered to be inactive. The Active Hosts report displays a list of meetings, participants, and meeting minutes for a specific time range, up to one month. The month should fall within the last six months. The Inactive Hosts report pulls a list of users who were not active during a specific period of time.
+ Use this API to retrieve an active or inactive host report for a specified period of time. The time range for the report is limited to a month and the month should fall under the past six months. You can specify the type of report and date range using the query parameters.
+ **Scopes:** `report:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ **Prerequisites:**
+ * Pro or higher plan.
+ operationId: reportUsers
+ parameters:
+ - description: Active or inactive hosts. `active` - Active hosts. `inactive` - Inactive hosts.
+ in: query
+ name: type
+ schema:
+ enum:
+ - active
+ - inactive
+ type: string
+ x-enum-descriptions:
+ - Active hosts
+ - Inactive hosts
+ - description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
+ in: query
+ name: from
+ required: true
+ schema:
+ format: date
+ type: string
+ - description: End date.
+ in: query
+ name: to
+ required: true
+ schema:
+ format: date
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The page number of the current page in the returned records.
+ in: query
+ name: page_number
+ schema:
+ default: 1
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ from: 2019-08-14
+ page_count: 1
+ page_number: 1
+ page_size: 30
+ to: 2019-09-14
+ total_meeting_minutes: 10
+ total_meetings: 2
+ total_participants: 10
+ total_records: 3
+ users:
+ - create_time: 2019-09-13T16:20:30Z
+ dept: ""
+ email: reag12343@gmail.com
+ id: BzBAAAAAAAfprg
+ last_client_version: 4.4.1242.0623(win)
+ last_login_time: 2019-09-13T16:21:40Z
+ meeting_minutes: 5
+ meetings: 1
+ participants: 5
+ type: 1
+ user_name: cbcvbvcbvbc
+ - create_time: 2019-07-23T00:27:34Z
+ dept: Business
+ email: mynewemailgoog@gmail.com
+ id: 0CAAAAA6jxcA
+ last_client_version: 4.4.1242.0623(win)
+ last_login_time: 2019-07-23T00:28:00Z
+ meeting_minutes: 0
+ meetings: 0
+ participants: 0
+ type: 1
+ user_name: xgdzgdfg
+ schema:
+ allOf:
+ - properties:
+ from:
+ description: Start date for this report.
+ format: date
+ type: string
+ next_page_token:
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ to:
+ description: End date for this report.
+ format: date
+ type: string
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ - properties:
+ total_meeting_minutes:
+ description: Number of meeting minutes for this range.
+ type: integer
+ total_meetings:
+ description: Number of meetings for this range.
+ type: integer
+ total_participants:
+ description: Number of participants for this range.
+ type: integer
+ users:
+ description: Array of user objects.
+ items:
+ properties:
+ custom_attributes:
+ description: Custom attribute(s) that have been assigned to the user.
+ properties:
+ key:
+ description: Identifier for the custom attribute.
+ type: string
+ name:
+ description: Name of the custom attribute.
+ type: string
+ value:
+ description: Value of the custom attribute.
+ type: string
+ type: object
+ dept:
+ description: User department.
+ type: string
+ email:
+ description: User email.
+ type: string
+ id:
+ description: User ID.
+ format: uuid
+ type: string
+ meeting_minutes:
+ description: Number of meeting minutes for user.
+ type: integer
+ meetings:
+ description: Number of meetings for user.
+ type: integer
+ participants:
+ description: Number of participants in meetings for user.
+ type: integer
+ type:
+ description: User type.
+ type: integer
+ user_name:
+ description: User display name.
+ type: string
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ from:
+ description: Start date for this report.
+ format: date
+ type: string
+ next_page_token:
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ to:
+ description: End date for this report.
+ format: date
+ type: string
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ - properties:
+ total_meeting_minutes:
+ description: Number of meeting minutes for this range.
+ type: integer
+ total_meetings:
+ description: Number of meetings for this range.
+ type: integer
+ total_participants:
+ description: Number of participants for this range.
+ type: integer
+ users:
+ description: Array of user objects.
+ items:
+ properties:
+ custom_attributes:
+ description: Custom attribute(s) that have been assigned to the user.
+ properties:
+ key:
+ description: Identifier for the custom attribute.
+ type: string
+ name:
+ description: Name of the custom attribute.
+ type: string
+ value:
+ description: Value of the custom attribute.
+ type: string
+ type: object
+ dept:
+ description: User department.
+ type: string
+ email:
+ description: User email.
+ type: string
+ id:
+ description: User ID.
+ format: uuid
+ type: string
+ meeting_minutes:
+ description: Number of meeting minutes for user.
+ type: integer
+ meetings:
+ description: Number of meetings for user.
+ type: integer
+ participants:
+ description: Number of participants in meetings for user.
+ type: integer
+ type:
+ description: User type.
+ type: integer
+ user_name:
+ description: User display name.
+ type: string
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Active or inactive hosts report returned.
+ This is only available for paid account: {accountId}.
+ security:
+ - OAuth: []
+ summary: Get active/inactive host reports
+ tags:
+ - Reports
+ "/report/users/{userId}/meetings":
+ get:
+ description: |-
+ Retrieve [report](https://support.zoom.us/hc/en-us/articles/216378603-Meeting-Reporting) on a past meeting for a specified period of time. The time range for the report is limited to a month and the month should fall under the past six months.
+
+ Meetings will only be returned in the response if the meeting has two or more unique participants.
+ **Scopes:** `report:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ **Prerequisites:**
+ * Pro or higher plan.
+ operationId: reportMeetings
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ - description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
+ in: query
+ name: from
+ required: true
+ schema:
+ format: date
+ type: string
+ - description: End date.
+ in: query
+ name: to
+ required: true
+ schema:
+ format: date
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: "The meeting types: `past` - Past meetings. `pastOne` - Past one user meetings. "
+ in: query
+ name: type
+ schema:
+ default: past
+ enum:
+ - past
+ - pastOne
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value: |-
+ {
+ "from": "2019-07-14",
+ "to": "2019-08-14",
+ "page_count": 1,
+ "page_size": 30,
+ "total_records": 9,
+ "next_page_token": "",
+ "meetings": [
+ {
+ "uuid": "/lqsAAAA5VBBBw==",
+ "id": 12345,
+ "host_id": "gdfg3434dsssfss",
+ "type": 2,
+ "topic": "MyTestMeetings",
+ "user_name": "Prashant Bhandari",
+ "user_email": "pb@hjdskfhds.fdskhfhds",
+ "start_time": "2019-07-15T23:24:52Z",
+ "end_time": "2019-07-15T23:30:19Z",
+ "duration": 6,
+ "total_minutes": 11,
+ "participants_count": 2
+ },
+ {
+ "uuid": "411bbbbbbcVyw==",
+ "id": 000000,
+ "host_id": "gdfg3434dsssfss",
+ "type": 2,
+ "topic": "My Meeting",
+ "user_name": "Raju Khanal",
+ "user_email": "srhkdjfh@jh.fsadghjm",
+ "start_time": "2019-07-16T17:14:39Z",
+ "end_time": "2019-07-16T17:26:20Z",
+ "duration": 12,
+ "total_minutes": 17,
+ "participants_count": 2
+ }
+ ]
+ }
+ schema:
+ allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: |-
+ **Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
+
+ The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ - properties:
+ from:
+ description: Start date for this report.
+ format: date
+ type: string
+ meetings:
+ description: Array of meeting objects.
+ items:
+ properties:
+ custom_keys:
+ description: Custom keys and values assigned to the meeting.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the user.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the user.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ duration:
+ description: Meeting duration.
+ type: integer
+ end_time:
+ description: Meeting end time.
+ format: date-time
+ type: string
+ id:
+ description: |
+ [Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64
+ data type in JSON), also known as the meeting number.
+ type: integer
+ participants_count:
+ description: Number of meeting participants.
+ type: integer
+ source:
+ description: Indicates whether the meeting was created directly through Zoom or through an API request.
+ type: string
+ start_time:
+ description: Meeting start time.
+ format: date-time
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ total_minutes:
+ description: Sum of meeting minutes from all participants in the meeting.
+ type: integer
+ type:
+ description: |-
+
+ Meeting Type: `1` - Instant Meeting `2` - Scheduled Meeting `3` - Recurring Meeting with no fixed time.
+ `4` - This value is returned if the meeting was started using a Personal Meeting ID.
+ `8` - Recurring Meeting with a fixed time.
+ type: integer
+ user_email:
+ description: User email.
+ type: string
+ user_name:
+ description: User display name.
+ type: string
+ uuid:
+ description: Meeting UUID. Each meeting instance will generate its own UUID(i.e., after a meeting ends, a new UUID will be generated for the next instance of the meeting). Please double encode your UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it.
+ format: uuid
+ type: string
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ to:
+ description: End date for this report.
+ format: date
+ type: string
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: |-
+ **Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
+
+ The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ - properties:
+ from:
+ description: Start date for this report.
+ format: date
+ type: string
+ meetings:
+ description: Array of meeting objects.
+ items:
+ properties:
+ custom_keys:
+ description: Custom keys and values assigned to the meeting.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the user.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the user.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ duration:
+ description: Meeting duration.
+ type: integer
+ end_time:
+ description: Meeting end time.
+ format: date-time
+ type: string
+ id:
+ description: |
+ [Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64
+ data type in JSON), also known as the meeting number.
+ type: integer
+ participants_count:
+ description: Number of meeting participants.
+ type: integer
+ source:
+ description: Indicates whether the meeting was created directly through Zoom or through an API request.
+ type: string
+ start_time:
+ description: Meeting start time.
+ format: date-time
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ total_minutes:
+ description: Sum of meeting minutes from all participants in the meeting.
+ type: integer
+ type:
+ description: |-
+
+ Meeting Type: `1` - Instant Meeting `2` - Scheduled Meeting `3` - Recurring Meeting with no fixed time.
+ `4` - This value is returned if the meeting was started using a Personal Meeting ID.
+ `8` - Recurring Meeting with a fixed time.
+ type: integer
+ user_email:
+ description: User email.
+ type: string
+ user_name:
+ description: User display name.
+ type: string
+ uuid:
+ description: Meeting UUID. Each meeting instance will generate its own UUID(i.e., after a meeting ends, a new UUID will be generated for the next instance of the meeting). Please double encode your UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it.
+ format: uuid
+ type: string
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ to:
+ description: End date for this report.
+ format: date
+ type: string
+ type: object
+ description: |
+ **HTTP Status Code:** `200`
+ Active or inactive hosts report returned.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+
+ **Error Code:** `200`
+ This is only available for paid account:{accountId}.
+
+ **Error Code:** `300`
+ The next page token is invalid or expired.
+
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User {userId} not exist or not belong to this account.
+ summary: Get meeting reports
+ tags:
+ - Reports
+ "/report/webinars/{webinarId}":
+ get:
+ description: |-
+ Retrieve a [report](https://support.zoom.us/hc/en-us/articles/201393719-Webinar-Reporting) containing past webinar details.
+ **Scopes:** `report:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ **Prerequisites:**
+ * Pro or higher plan with Webinar add-on.
+ operationId: reportWebinarDetails
+ parameters:
+ - description: |-
+ The webinar ID or the webinar UUID. If a webinar ID is provided in the request instead of a UUID, the response will be for the latest webinar instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ duration: 20
+ end_time: 2019-11-18T03:15:20.056Z
+ id: 51788617
+ participants_count: 13
+ start_time: 2019-11-18T03:15:00.056Z
+ topic: My Health Webinar
+ total_minutes: 10
+ tracking_fields:
+ - field: Webinar Purpose
+ value: Health awareness
+ type: 5
+ user_email: fdsjkfhhkd@hkdfhkdf.ghfjd
+ user_name: Utfdfdget
+ uuid: urn4fe6caeb98
+ schema:
+ properties:
+ custom_keys:
+ description: Custom keys and values assigned to the meeting.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the user.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the user.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ dept:
+ description: Department of the host.
+ type: string
+ duration:
+ description: Meeting duration.
+ type: integer
+ end_time:
+ description: Meeting end time.
+ format: date-time
+ type: string
+ id:
+ description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
+ format: int64
+ type: integer
+ participants_count:
+ description: Number of meeting participants.
+ type: integer
+ start_time:
+ description: Meeting start time.
+ format: date-time
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ total_minutes:
+ description: |-
+ Number of Webinar minutes. This represents the total amount of Webinar minutes attended by each participant including the host, for a Webinar hosted by the user. For instance if there were one host(named A) and one participant(named B) in a Webinar, the value of total_minutes would be calculated as below:
+
+ **total_minutes** = Total Webinar Attendance Minutes of A + Total Webinar Attendance Minutes of B
+ type: integer
+ tracking_fields:
+ description: Tracking fields.
+ items:
+ properties:
+ field:
+ description: Tracking fields type.
+ type: string
+ value:
+ description: Tracking fields value.
+ type: string
+ type: object
+ type: array
+ type:
+ description: Meeting type.
+ type: integer
+ user_email:
+ description: User email.
+ type: string
+ user_name:
+ description: User display name.
+ type: string
+ uuid:
+ description: Webinar UUID. Each webinar instance will generate its own UUID(i.e., after a meeting ends, a new UUID will be generated when the next instance of the webinar starts). Double encode the UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it.
+ format: uuid
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ custom_keys:
+ description: Custom keys and values assigned to the meeting.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the user.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the user.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ dept:
+ description: Department of the host.
+ type: string
+ duration:
+ description: Meeting duration.
+ type: integer
+ end_time:
+ description: Meeting end time.
+ format: date-time
+ type: string
+ id:
+ description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
+ format: int64
+ type: integer
+ participants_count:
+ description: Number of meeting participants.
+ type: integer
+ start_time:
+ description: Meeting start time.
+ format: date-time
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ total_minutes:
+ description: |-
+ Number of Webinar minutes. This represents the total amount of Webinar minutes attended by each participant including the host, for a Webinar hosted by the user. For instance if there were one host(named A) and one participant(named B) in a Webinar, the value of total_minutes would be calculated as below:
+
+ **total_minutes** = Total Webinar Attendance Minutes of A + Total Webinar Attendance Minutes of B
+ type: integer
+ tracking_fields:
+ description: Tracking fields.
+ items:
+ properties:
+ field:
+ description: Tracking fields type.
+ type: string
+ value:
+ description: Tracking fields value.
+ type: string
+ type: object
+ type: array
+ type:
+ description: Meeting type.
+ type: integer
+ user_email:
+ description: User email.
+ type: string
+ user_name:
+ description: User display name.
+ type: string
+ uuid:
+ description: Webinar UUID. Each webinar instance will generate its own UUID(i.e., after a meeting ends, a new UUID will be generated when the next instance of the webinar starts). Double encode the UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it.
+ format: uuid
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Webinar details returned.
+ This is only available for paid account:{accountId}.
+ "300":
+ description: |-
+ **HTTP Status Code:** `300`
+ Can not access webinar information:{webinarId}.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ Bad request
+ **Error Code:** `1010`
+ User does not belong to this account:{accountId}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Webinar ID not found.
+ **Error Code:** `3001`
+ Meeting {meetingId} not found or has expired.
+ security:
+ - OAuth: []
+ summary: Get webinar detail reports
+ tags:
+ - Reports
+ "/report/webinars/{webinarId}/participants":
+ get:
+ description: |-
+ Get detailed report on each attendee of a webinar.
+ **Scopes:** `report:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ **Prerequisites:**
+ * Pro or a higher plan with Webinar add-on enabled.
+ operationId: reportWebinarParticipants
+ parameters:
+ - description: |-
+ The webinar ID or the webinar UUID. If a webinar ID is provided in the request instead of a UUID, the response will be for the latest webinar instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: |+
+ Enter 'registrant_id' as the value for this field if you would like to see the registrant ID attribute included in the response of this API call. A registrant ID is a unique identifier of a [webinar registrant](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinarregistrants).
+
+ in: query
+ name: include_fields
+ schema:
+ enum:
+ - registrant_id
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ next_page_token: ""
+ page_count: "1"
+ page_size: "30"
+ participants:
+ - duration: "20"
+ id: dskfjladjskfl
+ join_time: 2019-02-01T12:34:12.660Z
+ leave_time: 2019-03-01T12:34:12.660Z
+ name: Riya
+ user_email: riya@jdfghsdfgsd.fdjfhdf
+ user_id: sdfjkldsfdfgdfg
+ total_records: "1"
+ schema:
+ allOf:
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ type: integer
+ type: object
+ - properties:
+ participants:
+ description: Array of webinar participant objects.
+ items:
+ properties:
+ customer_key:
+ description: "Another identifier for the participant. Can be a number or characters, maximum length of 15 characters. "
+ maxLength: 15
+ type: string
+ duration:
+ description: Participant duration.
+ type: integer
+ failover:
+ description: Indicates if failover happened during the webinar.
+ type: boolean
+ id:
+ description: Universally unique identifier of the Participant. It is the same as the User ID of the participant if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging in, the value of this field will be blank.
+ format: uuid
+ type: string
+ join_time:
+ description: Participant join time.
+ format: date-time
+ type: string
+ leave_time:
+ description: Participant leave time.
+ format: date-time
+ type: string
+ name:
+ description: Participant display name.
+ type: string
+ user_email:
+ description: Participant email.
+ type: string
+ user_id:
+ description: Participant ID. This is a unique ID assigned to the participant joining the webinar and is valid for that webinar only.
+ type: string
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ type: integer
+ type: object
+ - properties:
+ participants:
+ description: Array of webinar participant objects.
+ items:
+ properties:
+ customer_key:
+ description: "Another identifier for the participant. Can be a number or characters, maximum length of 15 characters. "
+ maxLength: 15
+ type: string
+ duration:
+ description: Participant duration.
+ type: integer
+ failover:
+ description: Indicates if failover happened during the webinar.
+ type: boolean
+ id:
+ description: Universally unique identifier of the Participant. It is the same as the User ID of the participant if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging in, the value of this field will be blank.
+ format: uuid
+ type: string
+ join_time:
+ description: Participant join time.
+ format: date-time
+ type: string
+ leave_time:
+ description: Participant leave time.
+ format: date-time
+ type: string
+ name:
+ description: Participant display name.
+ type: string
+ user_email:
+ description: Participant email.
+ type: string
+ user_id:
+ description: Participant ID. This is a unique ID assigned to the participant joining the webinar and is valid for that webinar only.
+ type: string
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Meeting participants report returned.
+ This is only available for paid account: {accountId}.
+ "300":
+ description: |-
+ **HTTP Status Code:** `300`
+ The next page token is invalid or has expired.
+ Can not access the webinar information, {webinarId}.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ Bad request
+ **Error Code:** `1010`
+ User does not belong to this account:{accountId}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Webinar ID not found.
+ **Error Code:** `3001`
+ Webinar {webinarId} not found or has expired.
+ security:
+ - OAuth: []
+ summary: Get webinar participant reports
+ tags:
+ - Reports
+ "/report/webinars/{webinarId}/polls":
+ get:
+ description: |-
+ Retrieve a report on past [webinar polls](https://support.zoom.us/hc/en-us/articles/203749865-Polling-for-Webinars).
+ **Scopes:** `report:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ **Prerequisites:**
+ * Pro or a higher plan with Webinar add-on enabled.
+ operationId: reportWebinarPolls
+ parameters:
+ - description: |-
+ The webinar ID or the webinar UUID. If a webinar ID is provided in the request instead of a UUID, the response will be for the latest webinar instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ id: 123456
+ questions:
+ - email: myemail@jksdlfkjdf.djfk
+ name: Sam S
+ question_details:
+ - answer: I am wonderful.
+ question: How are you?
+ start_time: 2019-02-01T12:34:12.660Z
+ status: ended
+ title: Learn something new
+ uuid: gsdjfhsdfkhjdsf
+ schema:
+ properties:
+ id:
+ description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
+ format: int64
+ type: integer
+ questions:
+ description: Array of webinar question objects.
+ items:
+ properties:
+ email:
+ description: Participant email.
+ type: string
+ name:
+ description: Participant display name.
If the poll was created as an anonymous poll, participant's information will remain anonymous and the value of the `name` field will be "Anonymous Attendee".
+ type: string
+ question_details:
+ description: Array of questions from user.
+ items:
+ properties:
+ answer:
+ description: Given answer.
+ type: string
+ date_time:
+ description: Date and time at which the answer to the poll was submitted.
+ format: date-time
+ type: string
+ polling_id:
+ description: Unique identifier of the poll.
+ type: string
+ question:
+ description: Asked question.
+ type: string
+ type: object
+ type: array
+ type: object
+ type: array
+ start_time:
+ description: Webinar start time.
+ format: date-time
+ type: string
+ uuid:
+ description: Webinar UUID. Each webinar instance will generate its own UUID(i.e., after a Webinar ends, a new UUID will be generated for the next instance of the Webinar). Please double encode your UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it.
+ format: uuid
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ id:
+ description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
+ format: int64
+ type: integer
+ questions:
+ description: Array of webinar question objects.
+ items:
+ properties:
+ email:
+ description: Participant email.
+ type: string
+ name:
+ description: Participant display name.
If the poll was created as an anonymous poll, participant's information will remain anonymous and the value of the `name` field will be "Anonymous Attendee".
+ type: string
+ question_details:
+ description: Array of questions from user.
+ items:
+ properties:
+ answer:
+ description: Given answer.
+ type: string
+ date_time:
+ description: Date and time at which the answer to the poll was submitted.
+ format: date-time
+ type: string
+ polling_id:
+ description: Unique identifier of the poll.
+ type: string
+ question:
+ description: Asked question.
+ type: string
+ type: object
+ type: array
+ type: object
+ type: array
+ start_time:
+ description: Webinar start time.
+ format: date-time
+ type: string
+ uuid:
+ description: Webinar UUID. Each webinar instance will generate its own UUID(i.e., after a Webinar ends, a new UUID will be generated for the next instance of the Webinar). Please double encode your UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it.
+ format: uuid
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Webinar polls report returned.
+ Missing webinar subscription plan.
+ This is only available for paid account:{accountId}.
+ "400":
+ description: |
+ **HTTP Status Code:** `400`
+ Bad request
+ **Error Code:** `1010`
+ User does not belong to this account:{accountId}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Webinar ID not found.
+ **Error Code:** `3001`
+ Webinar {webinarId} not found or has expired.
+ security:
+ - OAuth: []
+ summary: Get webinar poll reports
+ tags:
+ - Reports
+ "/report/webinars/{webinarId}/qa":
+ get:
+ description: |-
+ The Question & Answer (Q&A) feature for webinars allows attendees to ask questions during the webinar and for the panelists, co-hosts and host to answer their questions.
+
+ Use this API to retrieve a report on question and answers from past webinars.
+ **Scopes:** `report:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+ **Prerequisites:**
+ * Pro or a higher plan with Webinar add-on enabled.
+ operationId: reportWebinarQA
+ parameters:
+ - description: |-
+ The webinar ID or the webinar UUID. If a webinar ID is provided in the request instead of a UUID, the response will be for the latest webinar instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ id: 14321
+ questions:
+ - email: pidufshdsuf@djdfdsfd.ghk
+ name: Harry S
+ question_details:
+ - answer: Once a month.
+ question: How often will you hold this webinar?
+ start_time: 2019-02-01T12:34:12.660Z
+ uuid: urgvhge945
+ schema:
+ properties:
+ id:
+ description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
+ format: int64
+ type: integer
+ questions:
+ description: Array of webinar question objects.
+ items:
+ properties:
+ email:
+ description: Participant email.
+ type: string
+ name:
+ description: |-
+ Participant display name.
+
+ If anonymous [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Getting-Started-with-Question-Answer) option is enabled and if a participant submits the Q&A without providing their name, the value of the `name` field will be "Anonymous Attendee".
+ type: string
+ question_details:
+ description: Array of questions from user.
+ items:
+ properties:
+ answer:
+ description: Given answer.
+ type: string
+ question:
+ description: Asked question.
+ type: string
+ type: object
+ type: array
+ type: object
+ type: array
+ start_time:
+ description: Webinar start time.
+ format: date-time
+ type: string
+ uuid:
+ description: Webinar UUID. Each Webinar instance will generate its own UUID(i.e., after a Webinar ends, a new UUID will be generated for the next instance of the Webinar). Please double encode your UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it.
+ format: uuid
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ id:
+ description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
+ format: int64
+ type: integer
+ questions:
+ description: Array of webinar question objects.
+ items:
+ properties:
+ email:
+ description: Participant email.
+ type: string
+ name:
+ description: |-
+ Participant display name.
+
+ If anonymous [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Getting-Started-with-Question-Answer) option is enabled and if a participant submits the Q&A without providing their name, the value of the `name` field will be "Anonymous Attendee".
+ type: string
+ question_details:
+ description: Array of questions from user.
+ items:
+ properties:
+ answer:
+ description: Given answer.
+ type: string
+ question:
+ description: Asked question.
+ type: string
+ type: object
+ type: array
+ type: object
+ type: array
+ start_time:
+ description: Webinar start time.
+ format: date-time
+ type: string
+ uuid:
+ description: Webinar UUID. Each Webinar instance will generate its own UUID(i.e., after a Webinar ends, a new UUID will be generated for the next instance of the Webinar). Please double encode your UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it.
+ format: uuid
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Webinar Q&A report returned.
+ This is only available for paid account:{accountId}.
+ A report cannot be generated for this account because this account has not subscribed to a webinar plan.
+ "400":
+ description: |
+ **HTTP Status Code:** `400`
+ Bad request
+ "404":
+ description: |
+ **HTTP Status Code:** `404`
+ Webinar ID not found.
+ **Error Code:** `1001`
+ User does not exist: {userId}.
+ **Error Code:** `3001`
+ Webinar {webinarId} not found or has expired.
+ security:
+ - OAuth: []
+ summary: Get webinar Q&A report
+ tags:
+ - Reports
+ /roles:
+ get:
+ description: |-
+ List [roles](https://support.zoom.us/hc/en-us/articles/115001078646-Role-Based-Access-Control) on your account
+
+ **Scopes:** `role:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ **Prerequisites** :
+ * Pro or higher plan.
+ * For setting the initial role, you must be the Account Owner.
+ * For subsequent role management, you must be the Account Owner or user with role management permissions.
+ operationId: roles
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ roles:
+ - description: Account owner has full privileges to access and manage a Zoom account.
+ id: "0"
+ name: Owner
+ total_members: 1
+ - description: Admins have wide range privileges to access and manage a Zoom account.
+ id: "1"
+ name: Admin
+ total_members: 0
+ - description: Members have access to basic Zoom video meeting functions but no account management privileges.
+ id: "2"
+ name: Member
+ total_members: 1
+ total_records: 3
+ schema:
+ allOf:
+ - properties:
+ roles:
+ description: List of Roles objects
+ items:
+ allOf:
+ - properties:
+ description:
+ description: Role Description
+ type: string
+ id:
+ description: Role Id
+ type: string
+ name:
+ description: Role Name
+ type: string
+ total_members:
+ description: Total members in this role
+ type: integer
+ type: array
+ total_records:
+ description: The number of all records available across pages
+ type: integer
+ description: List of Roles
+ title: Role List
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ roles:
+ description: List of Roles objects
+ items:
+ allOf:
+ - properties:
+ description:
+ description: Role Description
+ type: string
+ id:
+ description: Role Id
+ type: string
+ name:
+ description: Role Name
+ type: string
+ total_members:
+ description: Total members in this role
+ type: integer
+ type: array
+ total_records:
+ description: The number of all records available across pages
+ type: integer
+ description: List of Roles
+ title: Role List
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ List of roles returned.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ Bad request **Error Code:** `4700` Invalid access token, does not contain role:read:admin scope.
+ security:
+ - OAuth: []
+ summary: List roles
+ tags:
+ - Roles
+ post:
+ description: |-
+ Each Zoom user automatically has a role which can either be owner, administrator, or a member.
+
+ **Pre-requisite:**
+ * Pro or higher plan.
+ * For setting the initial role, you must be the Account Owner.
+ * For subsequent role management, you must be the Account Owner or user with role management permissions.
+ **Scopes:** `role:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: createRole
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ description:
+ description: Description of the role.
+ type: string
+ name:
+ description: Name of the role.
+ type: string
+ privileges:
+ description: Privileges assigned to the role. Can be one or a combination of [these permissions](https://marketplace.zoom.us/docs/api-reference/other-references/privileges).
+ items:
+ type: string
+ type: array
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ description:
+ description: Description of the role.
+ type: string
+ name:
+ description: Name of the role.
+ type: string
+ privileges:
+ description: Privileges assigned to the role. Can be one or a combination of [these permissions](https://marketplace.zoom.us/docs/api-reference/other-references/privileges).
+ items:
+ type: string
+ type: array
+ type: object
+ x-examples:
+ application/json:
+ description: A person with this role can view and manage groups.
+ name: Group Administrator
+ privileges:
+ - User:Read
+ - User:Edit
+ - Group:Read
+ - Group:Edit
+ responses:
+ "200":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **Status Code:** `200`
+ You do not have the permission to create a role.
+ "201":
+ content:
+ application/json:
+ schema:
+ properties:
+ description:
+ description: Description of the role.
+ type: string
+ id:
+ description: Role Id
+ type: string
+ name:
+ description: Name of the role.
+ type: string
+ privileges:
+ description: "[Privileges](https://marketplace.zoom.us/docs/api-reference/other-references/privileges) provided to the role."
+ items:
+ type: string
+ type: array
+ total_members:
+ description: Total members assigned to the role.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ description:
+ description: Description of the role.
+ type: string
+ id:
+ description: Role Id
+ type: string
+ name:
+ description: Name of the role.
+ type: string
+ privileges:
+ description: "[Privileges](https://marketplace.zoom.us/docs/api-reference/other-references/privileges) provided to the role."
+ items:
+ type: string
+ type: array
+ total_members:
+ description: Total members assigned to the role.
+ type: integer
+ type: object
+ description: |-
+ **Status Code:** `201`
+ Role created.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ The name field cannot be empty.
+ security:
+ - OAuth: []
+ summary: Create a role
+ tags:
+ - Roles
+ "/roles/{roleId}":
+ delete:
+ description: |-
+ Each Zoom user automatically has a role which can either be owner, administrator, or a member. Account Owners and users with edit privileges for Role management can add customized roles with a list.
+
+ Use this API to delete a role.
+ **Pre-requisite:**
+ * A Pro or higher plan.
+ * For role management and updates, you must be the Account Owner or user with role management permissions.
+
+ **Scopes:** `role:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: deleteRole
+ parameters:
+ - description: Role Id.
+ in: path
+ name: roleId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ description: |-
+ **Error Code:** `200`
+ Role not found.
+ "204":
+ content:
+ application/json:
+ schema:
+ properties: {}
+ type: object
+ application/xml:
+ schema:
+ properties: {}
+ type: object
+ description: |-
+ **Status Code:** `204`
+ Role deleted.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ Role not found.
+ security:
+ - OAuth: []
+ summary: Delete a role
+ tags:
+ - Roles
+ get:
+ description: |-
+ Each Zoom user automatically has a role which can either be owner, administrator, or a member. Account Owners and users with edit privileges for Role management can add customized roles with a list of privileges.
+
+ Use this API to get information including specific privileges assigned to a [role](https://support.zoom.us/hc/en-us/articles/115001078646-Role-Based-Access-Control).
+ **Pre-requisite:**
+ * A Pro or higher plan.
+ * For role management and updates, you must be the Account Owner or user with role management permissions.
+
+ **Scopes:** `role:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: getRoleInformation
+ parameters:
+ - description: "Role Id. "
+ in: path
+ name: roleId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ properties:
+ description:
+ description: Description of the role.
+ type: string
+ id:
+ description: Role Id.
+ type: string
+ name:
+ description: Name of the role.
+ type: string
+ privileges:
+ description: |
+ Privileges assigned to the role. Can be one or a combination of [these permissions](https://marketplace.zoom.us/docs/api-reference/other-references/privileges).
+ items:
+ type: string
+ type: array
+ sub_account_privileges:
+ description: This field will only be displayed to accounts that are enrolled in a partner plan and follow the master accounts and sub accounts structure.
+ properties:
+ second_level:
+ description: |-
+ Indicates how the account can manage sub accounts. The value can be one of the following:
+ `1`: Manage the sub account as an owner of the account.
+ `2`: Manage the sub account with the same privileges as the current account.
+ `3`: Manage the sub account with specified privileges.
+ type: integer
+ type: object
+ total_members:
+ description: Total members assigned to that role.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ description:
+ description: Description of the role.
+ type: string
+ id:
+ description: Role Id.
+ type: string
+ name:
+ description: Name of the role.
+ type: string
+ privileges:
+ description: |
+ Privileges assigned to the role. Can be one or a combination of [these permissions](https://marketplace.zoom.us/docs/api-reference/other-references/privileges).
+ items:
+ type: string
+ type: array
+ sub_account_privileges:
+ description: This field will only be displayed to accounts that are enrolled in a partner plan and follow the master accounts and sub accounts structure.
+ properties:
+ second_level:
+ description: |-
+ Indicates how the account can manage sub accounts. The value can be one of the following:
+ `1`: Manage the sub account as an owner of the account.
+ `2`: Manage the sub account with the same privileges as the current account.
+ `3`: Manage the sub account with specified privileges.
+ type: integer
+ type: object
+ total_members:
+ description: Total members assigned to that role.
+ type: integer
+ type: object
+ description: |
+ **Status Code:** `200`
+ Information about a specific role returned.
+
+ **Error Code:** `200`
+ You do not have the permission to retrieve role information.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ Role not found.
+ security:
+ - OAuth: []
+ summary: Get role information
+ tags:
+ - Roles
+ parameters:
+ - in: path
+ name: roleId
+ required: true
+ schema:
+ type: string
+ patch:
+ description: |-
+ Each Zoom user automatically has a [role](https://support.zoom.us/hc/en-us/articles/115001078646-Role-Based-Access-Control) which can either be owner, administrator, or a member. Account Owners and users with edit privileges for Role management can add customized roles with a list.
+
+ Use this API to change the privileges, name and description of a specific role.
+ **Pre-requisite:**
+ * A Pro or higher plan.
+ * For role management and updates, you must be the Account Owner or user with role management permissions. **Scopes:** `role:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: updateRole
+ parameters:
+ - description: Role Id
+ in: path
+ name: roleId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ description:
+ description: Description of the role.
+ type: string
+ id:
+ description: Role Id.
+ type: string
+ name:
+ description: Name of the role.
+ type: string
+ privileges:
+ description: |
+ Privileges assigned to the role. Can be one or a combination of [these permissions](https://marketplace.zoom.us/docs/api-reference/other-references/privileges).
+ items:
+ type: string
+ type: array
+ sub_account_privileges:
+ description: This field will only be displayed to accounts that are enrolled in the partner plan and follow master accounts and sub accounts structure.
+ properties:
+ second_level:
+ description: |-
+ Indicates how the account can manage sub accounts. The value can be one of the following:
+ `1`: Manage the sub account as an owner of the account.
+ `2`: Manage the sub account with the same privileges as the current account.
+ `3`: Manage the sub account with specified privileges.
+ type: integer
+ type: object
+ total_members:
+ description: Total members assigned to that role.
+ type: integer
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ description:
+ description: Description of the role.
+ type: string
+ id:
+ description: Role Id.
+ type: string
+ name:
+ description: Name of the role.
+ type: string
+ privileges:
+ description: |
+ Privileges assigned to the role. Can be one or a combination of [these permissions](https://marketplace.zoom.us/docs/api-reference/other-references/privileges).
+ items:
+ type: string
+ type: array
+ sub_account_privileges:
+ description: This field will only be displayed to accounts that are enrolled in the partner plan and follow master accounts and sub accounts structure.
+ properties:
+ second_level:
+ description: |-
+ Indicates how the account can manage sub accounts. The value can be one of the following:
+ `1`: Manage the sub account as an owner of the account.
+ `2`: Manage the sub account with the same privileges as the current account.
+ `3`: Manage the sub account with specified privileges.
+ type: integer
+ type: object
+ total_members:
+ description: Total members assigned to that role.
+ type: integer
+ type: object
+ x-examples:
+ application/json:
+ description: This role has privileges to view and manage users.
+ id: "102"
+ name: Some Role Name
+ privileges:
+ - User:Read
+ - User:Edit
+ total_members: "3"
+ responses:
+ "200":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **Error Code:** `200`
+ The account must be a paid account to update the role.
+ "204":
+ description: |-
+ **Status Code:** `400`
+ Role updated.
+ "300":
+ description: |-
+ **Error Code:** `300`
+ This role cannot be updated.
+ security:
+ - OAuth: []
+ summary: Update role information
+ tags:
+ - Roles
+ "/roles/{roleId}/members":
+ get:
+ description: |-
+ User [roles](https://support.zoom.us/hc/en-us/articles/115001078646-Role-Based-Access-Control) can have a set of permissions that allows access only to the pages a user needs to view or edit. Use this API to list all the members that are assigned a specific role.
+
+ **Scope:** `role:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium` **Prerequisites:**
+ * A Pro or a higher plan.
+ operationId: roleMembers
+ parameters:
+ - description: The role ID
+ in: path
+ name: roleId
+ required: true
+ schema:
+ type: string
+ - description: The number of pages returned for this request.
+ in: query
+ name: page_count
+ schema:
+ type: string
+ - description: |-
+
+ **Deprecated** - This field has been deprecated and we will stop supporting it completely in a future release. Please use "next_page_token" for pagination instead of this field.
+
+ The page number of the current page in the returned records.
+ in: query
+ name: page_number
+ schema:
+ default: 1
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ members:
+ - department: Chemistry
+ email: someemail.email.com
+ first_name: Taylor
+ id: zadksadjBBBBBBB8uQ
+ last_name: Gomez
+ type: 2
+ page_count: 1
+ page_number: 1
+ page_size: 30
+ total_records: 1
+ schema:
+ description: List of a Role Members
+ properties:
+ members:
+ description: List of a Role Members
+ items:
+ allOf:
+ - properties:
+ department:
+ description: Member Department
+ type: string
+ email:
+ description: Member Email
+ type: string
+ first_name:
+ description: Member First Name
+ type: string
+ id:
+ description: Member ID
+ type: string
+ last_name:
+ description: Member Last Name
+ type: string
+ type:
+ description: Member Type
+ type: integer
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ title: Role Members List
+ type: object
+ application/xml:
+ schema:
+ description: List of a Role Members
+ properties:
+ members:
+ description: List of a Role Members
+ items:
+ allOf:
+ - properties:
+ department:
+ description: Member Department
+ type: string
+ email:
+ description: Member Email
+ type: string
+ first_name:
+ description: Member First Name
+ type: string
+ id:
+ description: Member ID
+ type: string
+ last_name:
+ description: Member Last Name
+ type: string
+ type:
+ description: Member Type
+ type: integer
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ title: Role Members List
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Success
+ "404":
+ description: "**HTTP Status Code:** `404` Role not found"
+ security:
+ - OAuth: []
+ summary: List members in a role
+ tags:
+ - Roles
+ post:
+ description: |-
+ User [roles](https://support.zoom.us/hc/en-us/articles/115001078646-Role-Based-Access-Control) can have a set of permissions that allows access only to the pages a user needs to view or edit. Use this API to [assign a role](https://support.zoom.us/hc/en-us/articles/115001078646-Role-Based-Access-Control#h_748b6fd8-5057-4cf4-bbfd-787909c09db0) to members.
+
+ **Scopes:** `role:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ **Prerequisites:**
+ * A Pro or a higher plan.
+ operationId: AddRoleMembers
+ parameters:
+ - description: The role ID
+ in: path
+ name: roleId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ members:
+ description: Array of userId/user email of users to whom you would like to assign this role. Upto 30 users can be assigned a role at once.
+ items:
+ properties:
+ email:
+ description: Email address of the user to whom you would like to assign the role. Provide either the userId in the ID field or the email address in the email field. If both fields are provided, only userId is used.
+ format: email
+ type: string
+ id:
+ description: "User ID of the user to whom you would like to assign the role. "
+ type: string
+ type: object
+ maxItems: 30
+ type: array
+ uniqueItems: false
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ members:
+ description: Array of userId/user email of users to whom you would like to assign this role. Upto 30 users can be assigned a role at once.
+ items:
+ properties:
+ email:
+ description: Email address of the user to whom you would like to assign the role. Provide either the userId in the ID field or the email address in the email field. If both fields are provided, only userId is used.
+ format: email
+ type: string
+ id:
+ description: "User ID of the user to whom you would like to assign the role. "
+ type: string
+ type: object
+ maxItems: 30
+ type: array
+ uniqueItems: false
+ type: object
+ description: Role members
+ required: true
+ x-examples:
+ application/json:
+ members:
+ - id: dsfdsgrdgt
+ - id: sdkjsfdffds
+ responses:
+ "201":
+ content:
+ application/json:
+ schema:
+ properties:
+ add_at:
+ description: Date and time at which the members are assigned to the role.
+ format: date-time
+ type: string
+ ids:
+ description: User ID
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ add_at:
+ description: Date and time at which the members are assigned to the role.
+ format: date-time
+ type: string
+ ids:
+ description: User ID
+ type: string
+ type: object
+ description: "**HTTP Status Code:** `201` Members Added"
+ headers:
+ Content-Location:
+ description: Location of created members
+ schema:
+ type: string
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+
+ **Error Code:** `1034`
+ Role does not exist.
+ **Error Code:** `300`
+ RoleId required.
+ Can’t delete or add members for Normal/Owner roles.
+ security:
+ - OAuth: []
+ summary: Assign a role
+ tags:
+ - Roles
+ "/roles/{roleId}/members/{memberId}":
+ delete:
+ description: |-
+ User [roles](https://support.zoom.us/hc/en-us/articles/115001078646-Role-Based-Access-Control) can have a set of permissions that allows access only to the pages a user needs to view or edit. Use this API to unassign a user's role.
+
+ **Scope:** `role:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ **Prerequisites:**
+ * A Pro or a higher plan.
+ operationId: roleMemberDelete
+ parameters:
+ - description: The role ID
+ in: path
+ name: roleId
+ required: true
+ schema:
+ type: string
+ - description: Member's ID
+ in: path
+ name: memberId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ Role withdrawn from user.
+ "404":
+ description: "**HTTP Status Code:** `404` Role or Member not found"
+ security:
+ - OAuth: []
+ summary: Unassign a role
+ tags:
+ - Roles
+ /rooms:
+ get:
+ description: |-
+ Zoom Rooms is a software-based room system that provides an integrated experience for audio conferencing, wireless screen sharing and video conferencing. Use this API to list all the existing [Zoom Rooms](https://support.zoom.us/hc/en-us/articles/207483343-Getting-Started-with-Zoom-Rooms) in a Zoom account.
+ **Prerequisites:**
+ * Pro or a higher plan with [Zoom Room](https://zoom.us/zoomrooms) license.
+ **Scopes**: `room:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: listZoomRooms
+ parameters:
+ - description: The status of the Zoom Room.
+ in: query
+ name: status
+ schema:
+ enum:
+ - Offline
+ - Available
+ - InMeeting
+ - UnderConstruction
+ type: string
+ - description: Type of the Zoom Rooms.
+ in: query
+ name: type
+ schema:
+ enum:
+ - ZoomRoom
+ - SchedulingDisplayOnly
+ - DigitalSignageOnly
+ type: string
+ - description: Use this query parameter with a value of `true` if you would like to see Zoom Rooms in your account that have not been assigned to anyone yet.
+ in: query
+ name: unassigned_rooms
+ schema:
+ default: false
+ type: boolean
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: Parent location ID of the Zoom Room.
+ in: query
+ name: location_id
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ page_size: 30
+ rooms:
+ - activation_code: "1200"
+ id: 387434ryewr334
+ name: testZoomRooms
+ status: Available
+ - activation_code: eu34355empor
+ id: 4ryewr33sjfkds
+ name: MyZoomRooms
+ status: Offline
+ schema:
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: The number of records returned within a single API call.
+ type: integer
+ rooms:
+ description: List of existing Zoom Rooms.
+ items:
+ properties:
+ activation_code:
+ description: Activation Code is the code that is used to complete the setup of the Zoom Room.
+ type: string
+ id:
+ description: Unique Identifier of the Zoom Room.
+ type: string
+ location_id:
+ description: Unique Identifier of the [location](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations) of the room.
+ type: string
+ name:
+ description: Name of the Zoom Room.
+ type: string
+ room_id:
+ description: Globally unique identifier of the Zoom Room. Use this ID for the **Dashboard Zoom Room APIs**.
+ type: string
+ status:
+ description: Status of the Zoom Room.
+ enum:
+ - Offline
+ - Available
+ - InMeeting
+ - UnderConstruction
+ type: string
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: The number of records returned within a single API call.
+ type: integer
+ rooms:
+ description: List of existing Zoom Rooms.
+ items:
+ properties:
+ activation_code:
+ description: Activation Code is the code that is used to complete the setup of the Zoom Room.
+ type: string
+ id:
+ description: Unique Identifier of the Zoom Room.
+ type: string
+ location_id:
+ description: Unique Identifier of the [location](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations) of the room.
+ type: string
+ name:
+ description: Name of the Zoom Room.
+ type: string
+ room_id:
+ description: Globally unique identifier of the Zoom Room. Use this ID for the **Dashboard Zoom Room APIs**.
+ type: string
+ status:
+ description: Status of the Zoom Room.
+ enum:
+ - Offline
+ - Available
+ - InMeeting
+ - UnderConstruction
+ type: string
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ A list of Zoom Rooms returned successfully.
+ security:
+ - OAuth: []
+ summary: List Zoom Rooms
+ tags:
+ - Rooms
+ post:
+ description: |-
+ Use this API to [add a Zoom Room](https://support.zoom.us/hc/en-us/articles/202822279-Add-Zoom-Rooms-on-Web-Portal) to a Zoom account.
+ **Prerequisites:**
+ * Pro or a higher plan with [Zoom Room](https://zoom.us/zoomrooms) license.
+ **Scopes**: `room:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: addARoom
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ location_id:
+ description: |-
+ **Optional** Location ID of the lowest level location in the [location hierarchy](https://support.zoom.us/hc/en-us/articles/115000342983-Zoom-Rooms-Location-Hierarchy) where the Zoom Room is to be added. For instance if the structure of the location hierarchy is set up as “country, states, city, campus, building, floor”, a room can only be added under the floor level location.
+
+ This ID can be retrieved from the [List Zoom Room Locations](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations) API.
+ type: string
+ name:
+ description: Name of the Zoom Room.
+ type: string
+ type:
+ description: "Type of the Zoom Room. "
+ enum:
+ - ZoomRoom
+ - SchedulingDisplayOnly
+ - DigitalSignageOnly
+ type: string
+ required:
+ - name
+ - type
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ location_id:
+ description: |-
+ **Optional** Location ID of the lowest level location in the [location hierarchy](https://support.zoom.us/hc/en-us/articles/115000342983-Zoom-Rooms-Location-Hierarchy) where the Zoom Room is to be added. For instance if the structure of the location hierarchy is set up as “country, states, city, campus, building, floor”, a room can only be added under the floor level location.
+
+ This ID can be retrieved from the [List Zoom Room Locations](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations) API.
+ type: string
+ name:
+ description: Name of the Zoom Room.
+ type: string
+ type:
+ description: "Type of the Zoom Room. "
+ enum:
+ - ZoomRoom
+ - SchedulingDisplayOnly
+ - DigitalSignageOnly
+ type: string
+ required:
+ - name
+ - type
+ type: object
+ x-examples:
+ application/json:
+ location_id: 434gfg0is
+ name: Cool ZoomRoom
+ type: SchedulingDisplayOnly
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ id: abcdefgg
+ location_id: 434gfg0is
+ name: Cool ZoomRoom
+ room_id: dhsfd8287rgf
+ type: SchedulingDisplayOnly
+ schema:
+ properties:
+ id:
+ description: Unique Identifier of the Zoom Room.
+ type: string
+ location_id:
+ description: Location ID of the location where the Zoom Room was added.
+ type: string
+ name:
+ description: Name of the Zoom Room.
+ type: string
+ room_id:
+ description: Globally unique identifier of the Zoom Room. Use this ID for the **Dashboard Zoom Room APIs**.
+ type: string
+ type:
+ description: Type of the Zoom Room.
+ enum:
+ - ZoomRoom
+ - SchedulingDisplayOnly
+ - DigitalSignageOnly
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ id:
+ description: Unique Identifier of the Zoom Room.
+ type: string
+ location_id:
+ description: Location ID of the location where the Zoom Room was added.
+ type: string
+ name:
+ description: Name of the Zoom Room.
+ type: string
+ room_id:
+ description: Globally unique identifier of the Zoom Room. Use this ID for the **Dashboard Zoom Room APIs**.
+ type: string
+ type:
+ description: Type of the Zoom Room.
+ enum:
+ - ZoomRoom
+ - SchedulingDisplayOnly
+ - DigitalSignageOnly
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `201` **Created**
+ Zoom Room added successfully.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `200` Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
+ At least one normal Zoom Rooms required.
+
+ **Error Code:** `4801`
+ Location not found:{location_id}
+ security:
+ - OAuth: []
+ summary: Add a Zoom Room
+ tags:
+ - Rooms
+ /rooms/account_profile:
+ get:
+ description: |-
+ Get details on the account profile of a Zoom Room. This information can only by accessed either by the Zoom Room Account Owner or a user with Zoom Rooms admin permission. To get information on an individual Room Profile, use [Get Zoom Room Profile API](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms/getzrprofile) instead.
+
+ **Prerequisites:**
+ * Zoom account owner or Zoom Rooms admin permissions
+
+ **Scopes:** `room:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: getZRAccountProfile
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ basic:
+ required_code_to_ext: true
+ room_passcode: "12234"
+ support_email: abc123@someemailaddress.sbfj
+ support_phone: "00222"
+ schema:
+ properties:
+ basic:
+ properties:
+ required_code_to_ext:
+ description: |
+ Require code to exit out of the Zoom Rooms application to switch between other apps.
+ type: boolean
+ room_passcode:
+ description: 1-16 digit number or characters used to secure your Zoom Rooms application. This code must be entered on your Zoom Room Controller to change settings or to sign out.
+ maxLength: 16
+ minLength: 1
+ type: string
+ support_email:
+ description: The email address used for reporting Zoom Room issues.
+ format: email
+ type: string
+ support_phone:
+ description: The phone number used for reporting Zoom room issues.
+ type: string
+ type: object
+ type: object
+ application/xml:
+ schema:
+ properties:
+ basic:
+ properties:
+ required_code_to_ext:
+ description: |
+ Require code to exit out of the Zoom Rooms application to switch between other apps.
+ type: boolean
+ room_passcode:
+ description: 1-16 digit number or characters used to secure your Zoom Rooms application. This code must be entered on your Zoom Room Controller to change settings or to sign out.
+ maxLength: 16
+ minLength: 1
+ type: string
+ support_email:
+ description: The email address used for reporting Zoom Room issues.
+ format: email
+ type: string
+ support_phone:
+ description: The phone number used for reporting Zoom room issues.
+ type: string
+ type: object
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Zoom Room Account Profile returned successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `200`
+ Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
+ Access restricted.
+ security:
+ - OAuth: []
+ summary: Get Zoom Room account profile
+ tags:
+ - Rooms Account
+ patch:
+ description: |-
+ Update information on the account profile of a Zoom Room. This information can only by accessed either by the Zoom Room Account Owner or a user with Zoom Rooms admin permission. To update information on an individual Room Profile, use [Update Zoom Room Profile API](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms/updatezrprofile) instead.
+
+ **Prerequisites:**
+ * Zoom account owner or Zoom Rooms admin permissions
+
+ **Scopes:** `room:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: updateZRAccProfile
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ basic:
+ properties:
+ required_code_to_ext:
+ description: |
+ Require code to exit out of the Zoom Rooms application to switch between other apps.
+ type: boolean
+ room_passcode:
+ description: 1-16 digit number or characters used to secure your Zoom Rooms application. This code must be entered on your Zoom Room Controller to change settings or to sign out.
+ maxLength: 16
+ minLength: 1
+ type: string
+ support_email:
+ description: The email address used for reporting Zoom Room issues.
+ format: email
+ type: string
+ support_phone:
+ description: The phone number used for reporting Zoom room issues.
+ type: string
+ type: object
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ basic:
+ properties:
+ required_code_to_ext:
+ description: |
+ Require code to exit out of the Zoom Rooms application to switch between other apps.
+ type: boolean
+ room_passcode:
+ description: 1-16 digit number or characters used to secure your Zoom Rooms application. This code must be entered on your Zoom Room Controller to change settings or to sign out.
+ maxLength: 16
+ minLength: 1
+ type: string
+ support_email:
+ description: The email address used for reporting Zoom Room issues.
+ format: email
+ type: string
+ support_phone:
+ description: The phone number used for reporting Zoom room issues.
+ type: string
+ type: object
+ type: object
+ x-examples:
+ application/json:
+ basic:
+ required_code_to_ext: true
+ room_passcode: "121212"
+ support_email: uoBBgT2soq1vfH@oZjIHwma.erjp
+ support_phone: "123445654656"
+ responses:
+ "204":
+ content:
+ application/json:
+ schema:
+ properties: {}
+ type: object
+ application/xml:
+ schema:
+ properties: {}
+ type: object
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Profile updated successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `200`
+ Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
+ Access restricted.
+ security:
+ - OAuth: []
+ summary: Update Zoom Room account profile
+ tags:
+ - Rooms Account
+ /rooms/account_settings:
+ get:
+ description: |-
+ Get details on Account Settings of a Zoom Room. With this API, you can view either the **Account Meeting Settings** or the **Alert Settings** (Client Alert Settings and Notfication Settings) of the Zoom Rooms account. By default, only **Account Meeting Settings** are returned. To view only **Alert Settings**, specify `alert` as the value of the `setting_type` query parameter.
+ **Prerequisites:**
+ * Zoom Room licenses
+ * Owner or Admin privileges on the Zoom Account.
+ **Scopes:** `room:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: getZRAccountSettings
+ parameters:
+ - description: |-
+ The type of setting that you would like to retrieve. `alert`: Alert Settings applied on the Zoom Rooms Account.
+ `meeting`: Meeting settings of the Zoom Rooms Account.
+ `signage`: View digital signage settings of the Zoom Rooms Account.
+ in: query
+ name: setting_type
+ required: true
+ schema:
+ default: meeting
+ enum:
+ - meeting
+ - alert
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ client_alert:
+ detect_bluetooth_microphone_error_alert: true
+ detect_bluetooth_speaker_error_alert: true
+ detect_camera_error_alert: true
+ detect_microphone_error_alert: true
+ detect_speaker_error_alert: true
+ notification:
+ audio_not_meet_usability_threshold: false
+ battery_low_and_not_charging: false
+ controller_scheduling_disconnected: false
+ cpu_usage_high_detected: false
+ mic_speaker_camera_disconnected: false
+ network_unstable_detected: false
+ sip_registration_failed: false
+ zoom_room_display_disconnected: false
+ zoom_room_offline: false
+ schema:
+ oneOf:
+ - properties:
+ zoom_rooms:
+ properties:
+ allow_multiple_content_sharing:
+ description: Enable multiple participants to [share content simultaneously](https://support.zoom.us/hc/en-us/articles/360017767812-Sharing-Multiple-Screens-in-a-Zoom-Room) by default.
+ type: boolean
+ audio_device_daily_auto_test:
+ description: Enable [automated audio test](https://support.zoom.us/hc/en-us/articles/360000319683-Zoom-Rooms-Daily-Audio-Testing) to ensure high quality audio.
+ type: boolean
+ auto_direct_sharing:
+ description: Enable participants in a Zoom Room to share their laptop screen on the Zoom Room TV without entering a meeting ID or sharing code.
+ type: boolean
+ auto_start_scheduled_meeting:
+ description: Automatically start scheduled meetings according to the start time listed on the calendar associated with the room. A meeting alert will appear 10 minutes prior to the scheduled time on the TV.
+ type: boolean
+ auto_stop_scheduled_meeting:
+ description: "Automatically stop the meeting at the end time as scheduled and listed in the calendar associated with the room. "
+ type: boolean
+ count_attendees_number_in_room:
+ description: |
+ Use facial detection technology to [determine and display the attendees count](https://support.zoom.us/hc/en-us/articles/360031027111-Count-Attendees-in-Zoom-Rooms) after meetings on Dashboard.
+ type: boolean
+ display_feedback_survey:
+ description: Display a [survey](https://support.zoom.us/hc/en-us/articles/214193146-End-of-Meeting-Attendee-Feedback) at the end of each meeting regarding the audio and video quality on the Zoom Rooms Controller.
+ type: boolean
+ display_meeting_list:
+ description: " Show the same information on the TV that is shown on the controller."
+ type: boolean
+ display_top_banner:
+ description: Allow to display room name, time and sharing key on the top portion of TV.
+ type: boolean
+ email_address_prompt_before_recording:
+ description: Allow in-room participants to input email address where they can recieve the recording before starting a recording if the meeting was created on the Scheduling Display or if it was started using the "Meet Now" option.
+ type: boolean
+ encrypt_shared_screen_content:
+ description: Encrypt screen and content shared in meetings.
+ type: boolean
+ hide_id_for_private_meeting:
+ description: If enabled, the meeting host and meeting ID (in addition to the meeting topic) are hidden from the Zoom Rooms display for private meetings. This affects meetings that were originally scheduled as private, as well as public meetings that were transformed to private.
+ type: boolean
+ make_room_alternative_host:
+ description: |
+ Set [Zoom Rooms as the alternative host](https://support.zoom.us/hc/en-us/articles/203614149-Zoom-Rooms-as-Alternative-Host).
+ type: boolean
+ secure_connection_channel:
+ description: Enable secure connection between Zoom Rooms computer and controller.
+ type: boolean
+ send_whiteboard_to_internal_contact_only:
+ description: Restrict[ sending Whiteboard sessions](https://support.zoom.us/hc/en-us/articles/115004797286-Using-the-Whiteboard-in-Zoom-Rooms-for-Touch#h_781274b3-5237-4320-8826-be2120b00e21) to contacts or internal users only.
+ type: boolean
+ show_alert_before_meeting:
+ description: "If enabled, the upcoming meeting alert message will be shown on the TV display. The value of the `upcoming_meeting_alert` field should be set to `true` to use this field. "
+ type: boolean
+ show_call_history_in_room:
+ description: |
+ Allow users to see call history of joined meetings and phone calls from the Zoom Rooms controller.
+ type: boolean
+ show_contact_list_on_controller:
+ description: If enabled, you can invite participants from the contact list during a meeting or when starting a meeting
+ type: boolean
+ show_non_video_participants:
+ description: When enabled, meeting participants that are audio only or have their video turned off will also be shown on the Zoom Rooms display by default.
+ type: boolean
+ start_airplay_manually:
+ description: Require the AirPlay service to be [started by an administrator](https://support.zoom.us/hc/en-us/articles/204726885-Screen-Share-Using-Airplay-Mirroring#h_a342ad38-4e46-47a8-a1d9-cded3b144b39) rather than always being available.
+ type: boolean
+ start_airplay_mirroring:
+ description: Allow users to share content via Apple Screen Mirroring (called Airplay on iOS 11 or earlier) in Zoom Rooms
+ type: boolean
+ support_join_3rd_party_meeting:
+ description: Integrate with Skype for Business, GoToMeeting, or WebEx and show the meeting dial-in button on the meeting list tab for Zoom Rooms Controllers.
+ type: boolean
+ transform_meeting_to_private:
+ description: If enabled, all meetings in this room will be treated as [private meetings](https://support.zoom.us/hc/en-us/articles/115001051063-Zoom-Rooms-Private-Meetings), and the Zoom Room will display "Your Name's Meeting" instead of the real meeting topic.
+ type: boolean
+ upcoming_meeting_alert:
+ description: If enabled, a reminder will display 10 minutes prior to the next scheduled meeting on the controller.
+ type: boolean
+ weekly_system_restart:
+ description: "[Restart](https://support.zoom.us/hc/en-us/articles/205418949-Zoom-Rooms-Weekly-System-Restart) the Zoom Rooms computer and controller once a week."
+ type: boolean
+ type: object
+ - properties:
+ client_alert:
+ description: "The Client Alert Settings section includes alerts that display on the TV screen of the Zoom Room. Disable these settings if you have deliberately disconnected one or more peripheral devices or have never enabled them. "
+ properties:
+ detect_bluetooth_microphone_error_alert:
+ description: Display an alert message when an issue is detected with a bluetooth microphone.
+ type: boolean
+ detect_bluetooth_speaker_error_alert:
+ description: Display an alert message when an issue is detected with a bluetooth speaker.
+ type: boolean
+ detect_camera_error_alert:
+ description: Display an alert message when an issue is detected with a camera.
+ type: boolean
+ detect_microphone_error_alert:
+ description: Display an alert message when an issue is detected with microphone.
+ type: boolean
+ detect_speaker_error_alert:
+ description: Display an alert message when an issue is detected with a speaker.
+ type: boolean
+ type: object
+ digital_signage:
+ properties:
+ banner:
+ description: Specifies the elements that you want to display in the top banner.
+ properties:
+ banner_room_name:
+ description: Display or hide banner room name.
+ type: boolean
+ banner_sharing_key:
+ description: Display or hide banner sharing key.
+ type: boolean
+ banner_time:
+ description: Display or hide time in the banner.
+ type: boolean
+ type: object
+ display_period:
+ description: Display period object lets you define the number of minutes before or after the scheduled meeting time you would like the content to display.
+ properties:
+ start_displaying_content:
+ description: Start displaying digital signage content after certain duration after the meeting ends. The value of this field indicates the duration in minutes.
+ type: integer
+ stop_displaying_content:
+ description: Stop displaying content {certain_duration} before a meeting is scheduled to begin. The value of this field indicates the duration in minutes.
+ type: integer
+ type: object
+ enable_digital_signage:
+ description: |-
+ [Indicates whether digital signage is on or off,](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_767fbb33-82a8-45a8-8392-a1bfa9687edd).
+ `true`: enable `false`: disable
+ type: boolean
+ layout:
+ description: |-
+ Set the [layout](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_4e25ddf3-8f97-4957-8f8b-99725f940fa7). The value of this field can be either `standard` or `video_content`.
+
+ `standard`: Standard Center
+ `video_content`: Video + Content
+ type: string
+ mute:
+ description: Sound of all contents will be muted if the value of this field is set to `true`.
+ type: boolean
+ play_list:
+ description: Content list.
+ items:
+ properties:
+ action:
+ description: |
+ Specify an action for the content list. The value can be one of the following:
+ `add`: Add another content list.
+ `update`: Update existing content list.
+ `delete`: Delete content list.
+ enum:
+ - add
+ - update
+ - delete
+ type: string
+ contents:
+ items:
+ description: Content list.
+ properties:
+ content_id:
+ description: Content Id.
+ type: string
+ duration:
+ description: Duration for how long the content will be displayed.
+ type: integer
+ id:
+ type: string
+ name:
+ description: Name of the content.
+ type: string
+ order:
+ description: Order of the content in the display.
+ type: integer
+ type: object
+ maxItems: 3
+ type: array
+ end_time:
+ description: Specify the display end time for the content list in GMT.
+ type: string
+ id:
+ description: Unique identifier of the content list. This field is only required if you would like to remove or update the content list.
+ type: string
+ name:
+ description: Name of the content list.
+ type: string
+ start_time:
+ description: Specify the display start time for the content list in GMT.
+ type: string
+ type: object
+ maxItems: 2
+ type: array
+ type: object
+ notification:
+ description: "[Notifications Settings](https://support.zoom.us/hc/en-us/articles/205394099-Zoom-Room-Alerts#h_b430b5f2-5150-4522-9c96-c77f22ab70bc) includes the circumstances in which the room sends an email alert to the support team to notify them of a potentially urgent issue. These issues can affect the operation of the room, but do not display on the TV screen. The email alert is sent to the email address specified in the Notification Email Recipients section. "
+ properties:
+ audio_meet_usability_threshold:
+ description: Send an alert when the audio echo test result meets usability threshold.
+ type: boolean
+ audio_not_meet_usability_threshold:
+ description: Send an alert when the audio echo test result does not meet usability threshold.
+ type: boolean
+ battery_is_charging:
+ description: Send an alert when the battery starts charging.
+ type: boolean
+ battery_low_and_not_charging:
+ description: Send an alert when the battery of the controller or the scheduling display is low (at 20%) and is not being charged.
+ type: boolean
+ battery_percentage:
+ description: Specify a percentage so that an alert is sent when the battery is less than the {battery_percentage} that you specified.
+ type: string
+ controller_scheduling_disconnected:
+ description: Send an alert when the connection to the Controller or Scheduling Display cannot be detected.
+ type: boolean
+ controller_scheduling_reconnected:
+ description: Send an alert when the Controller or Scheduling Display can be detected again.
+ type: boolean
+ cpu_usage_high_detected:
+ description: Send an alert when CPU usage is above 90%.
+ type: boolean
+ mic_speaker_camera_disconnected:
+ description: Send an alert when the mic, speaker or camera is disconnected in the Zoom Room.
+ type: boolean
+ mic_speaker_camera_reconnected:
+ description: Send an alert when the mic, speaker or camera is reconnected.
+ type: boolean
+ network_unstable_detected:
+ description: Send an alert when low bandwidth network is detected
+ type: boolean
+ sip_registration_failed:
+ description: "Send an alert when SIP registration stops working. "
+ type: boolean
+ sip_registration_re_enabled:
+ description: Send an alert after the SIP registration is re-enabled.
+ type: boolean
+ zoom_room_come_back_online:
+ description: Send an alert when the Zoom Room is online after previously being offline.
+ type: boolean
+ zoom_room_display_disconnected:
+ description: Send an alert when the TV display is disconnected
+ type: boolean
+ zoom_room_offline:
+ description: Send an alert when the machine hosting the Zoom Room application has a network issue or cannot connect with the Controller.
+ type: boolean
+ type: object
+ type: object
+ application/xml:
+ schema:
+ oneOf:
+ - properties:
+ zoom_rooms:
+ properties:
+ allow_multiple_content_sharing:
+ description: Enable multiple participants to [share content simultaneously](https://support.zoom.us/hc/en-us/articles/360017767812-Sharing-Multiple-Screens-in-a-Zoom-Room) by default.
+ type: boolean
+ audio_device_daily_auto_test:
+ description: Enable [automated audio test](https://support.zoom.us/hc/en-us/articles/360000319683-Zoom-Rooms-Daily-Audio-Testing) to ensure high quality audio.
+ type: boolean
+ auto_direct_sharing:
+ description: Enable participants in a Zoom Room to share their laptop screen on the Zoom Room TV without entering a meeting ID or sharing code.
+ type: boolean
+ auto_start_scheduled_meeting:
+ description: Automatically start scheduled meetings according to the start time listed on the calendar associated with the room. A meeting alert will appear 10 minutes prior to the scheduled time on the TV.
+ type: boolean
+ auto_stop_scheduled_meeting:
+ description: "Automatically stop the meeting at the end time as scheduled and listed in the calendar associated with the room. "
+ type: boolean
+ count_attendees_number_in_room:
+ description: |
+ Use facial detection technology to [determine and display the attendees count](https://support.zoom.us/hc/en-us/articles/360031027111-Count-Attendees-in-Zoom-Rooms) after meetings on Dashboard.
+ type: boolean
+ display_feedback_survey:
+ description: Display a [survey](https://support.zoom.us/hc/en-us/articles/214193146-End-of-Meeting-Attendee-Feedback) at the end of each meeting regarding the audio and video quality on the Zoom Rooms Controller.
+ type: boolean
+ display_meeting_list:
+ description: " Show the same information on the TV that is shown on the controller."
+ type: boolean
+ display_top_banner:
+ description: Allow to display room name, time and sharing key on the top portion of TV.
+ type: boolean
+ email_address_prompt_before_recording:
+ description: Allow in-room participants to input email address where they can recieve the recording before starting a recording if the meeting was created on the Scheduling Display or if it was started using the "Meet Now" option.
+ type: boolean
+ encrypt_shared_screen_content:
+ description: Encrypt screen and content shared in meetings.
+ type: boolean
+ hide_id_for_private_meeting:
+ description: If enabled, the meeting host and meeting ID (in addition to the meeting topic) are hidden from the Zoom Rooms display for private meetings. This affects meetings that were originally scheduled as private, as well as public meetings that were transformed to private.
+ type: boolean
+ make_room_alternative_host:
+ description: |
+ Set [Zoom Rooms as the alternative host](https://support.zoom.us/hc/en-us/articles/203614149-Zoom-Rooms-as-Alternative-Host).
+ type: boolean
+ secure_connection_channel:
+ description: Enable secure connection between Zoom Rooms computer and controller.
+ type: boolean
+ send_whiteboard_to_internal_contact_only:
+ description: Restrict[ sending Whiteboard sessions](https://support.zoom.us/hc/en-us/articles/115004797286-Using-the-Whiteboard-in-Zoom-Rooms-for-Touch#h_781274b3-5237-4320-8826-be2120b00e21) to contacts or internal users only.
+ type: boolean
+ show_alert_before_meeting:
+ description: "If enabled, the upcoming meeting alert message will be shown on the TV display. The value of the `upcoming_meeting_alert` field should be set to `true` to use this field. "
+ type: boolean
+ show_call_history_in_room:
+ description: |
+ Allow users to see call history of joined meetings and phone calls from the Zoom Rooms controller.
+ type: boolean
+ show_contact_list_on_controller:
+ description: If enabled, you can invite participants from the contact list during a meeting or when starting a meeting
+ type: boolean
+ show_non_video_participants:
+ description: When enabled, meeting participants that are audio only or have their video turned off will also be shown on the Zoom Rooms display by default.
+ type: boolean
+ start_airplay_manually:
+ description: Require the AirPlay service to be [started by an administrator](https://support.zoom.us/hc/en-us/articles/204726885-Screen-Share-Using-Airplay-Mirroring#h_a342ad38-4e46-47a8-a1d9-cded3b144b39) rather than always being available.
+ type: boolean
+ start_airplay_mirroring:
+ description: Allow users to share content via Apple Screen Mirroring (called Airplay on iOS 11 or earlier) in Zoom Rooms
+ type: boolean
+ support_join_3rd_party_meeting:
+ description: Integrate with Skype for Business, GoToMeeting, or WebEx and show the meeting dial-in button on the meeting list tab for Zoom Rooms Controllers.
+ type: boolean
+ transform_meeting_to_private:
+ description: If enabled, all meetings in this room will be treated as [private meetings](https://support.zoom.us/hc/en-us/articles/115001051063-Zoom-Rooms-Private-Meetings), and the Zoom Room will display "Your Name's Meeting" instead of the real meeting topic.
+ type: boolean
+ upcoming_meeting_alert:
+ description: If enabled, a reminder will display 10 minutes prior to the next scheduled meeting on the controller.
+ type: boolean
+ weekly_system_restart:
+ description: "[Restart](https://support.zoom.us/hc/en-us/articles/205418949-Zoom-Rooms-Weekly-System-Restart) the Zoom Rooms computer and controller once a week."
+ type: boolean
+ type: object
+ - properties:
+ client_alert:
+ description: "The Client Alert Settings section includes alerts that display on the TV screen of the Zoom Room. Disable these settings if you have deliberately disconnected one or more peripheral devices or have never enabled them. "
+ properties:
+ detect_bluetooth_microphone_error_alert:
+ description: Display an alert message when an issue is detected with a bluetooth microphone.
+ type: boolean
+ detect_bluetooth_speaker_error_alert:
+ description: Display an alert message when an issue is detected with a bluetooth speaker.
+ type: boolean
+ detect_camera_error_alert:
+ description: Display an alert message when an issue is detected with a camera.
+ type: boolean
+ detect_microphone_error_alert:
+ description: Display an alert message when an issue is detected with microphone.
+ type: boolean
+ detect_speaker_error_alert:
+ description: Display an alert message when an issue is detected with a speaker.
+ type: boolean
+ type: object
+ digital_signage:
+ properties:
+ banner:
+ description: Specifies the elements that you want to display in the top banner.
+ properties:
+ banner_room_name:
+ description: Display or hide banner room name.
+ type: boolean
+ banner_sharing_key:
+ description: Display or hide banner sharing key.
+ type: boolean
+ banner_time:
+ description: Display or hide time in the banner.
+ type: boolean
+ type: object
+ display_period:
+ description: Display period object lets you define the number of minutes before or after the scheduled meeting time you would like the content to display.
+ properties:
+ start_displaying_content:
+ description: Start displaying digital signage content after certain duration after the meeting ends. The value of this field indicates the duration in minutes.
+ type: integer
+ stop_displaying_content:
+ description: Stop displaying content {certain_duration} before a meeting is scheduled to begin. The value of this field indicates the duration in minutes.
+ type: integer
+ type: object
+ enable_digital_signage:
+ description: |-
+ [Indicates whether digital signage is on or off,](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_767fbb33-82a8-45a8-8392-a1bfa9687edd).
+ `true`: enable `false`: disable
+ type: boolean
+ layout:
+ description: |-
+ Set the [layout](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_4e25ddf3-8f97-4957-8f8b-99725f940fa7). The value of this field can be either `standard` or `video_content`.
+
+ `standard`: Standard Center
+ `video_content`: Video + Content
+ type: string
+ mute:
+ description: Sound of all contents will be muted if the value of this field is set to `true`.
+ type: boolean
+ play_list:
+ description: Content list.
+ items:
+ properties:
+ action:
+ description: |
+ Specify an action for the content list. The value can be one of the following:
+ `add`: Add another content list.
+ `update`: Update existing content list.
+ `delete`: Delete content list.
+ enum:
+ - add
+ - update
+ - delete
+ type: string
+ contents:
+ items:
+ description: Content list.
+ properties:
+ content_id:
+ description: Content Id.
+ type: string
+ duration:
+ description: Duration for how long the content will be displayed.
+ type: integer
+ id:
+ type: string
+ name:
+ description: Name of the content.
+ type: string
+ order:
+ description: Order of the content in the display.
+ type: integer
+ type: object
+ maxItems: 3
+ type: array
+ end_time:
+ description: Specify the display end time for the content list in GMT.
+ type: string
+ id:
+ description: Unique identifier of the content list. This field is only required if you would like to remove or update the content list.
+ type: string
+ name:
+ description: Name of the content list.
+ type: string
+ start_time:
+ description: Specify the display start time for the content list in GMT.
+ type: string
+ type: object
+ maxItems: 2
+ type: array
+ type: object
+ notification:
+ description: "[Notifications Settings](https://support.zoom.us/hc/en-us/articles/205394099-Zoom-Room-Alerts#h_b430b5f2-5150-4522-9c96-c77f22ab70bc) includes the circumstances in which the room sends an email alert to the support team to notify them of a potentially urgent issue. These issues can affect the operation of the room, but do not display on the TV screen. The email alert is sent to the email address specified in the Notification Email Recipients section. "
+ properties:
+ audio_meet_usability_threshold:
+ description: Send an alert when the audio echo test result meets usability threshold.
+ type: boolean
+ audio_not_meet_usability_threshold:
+ description: Send an alert when the audio echo test result does not meet usability threshold.
+ type: boolean
+ battery_is_charging:
+ description: Send an alert when the battery starts charging.
+ type: boolean
+ battery_low_and_not_charging:
+ description: Send an alert when the battery of the controller or the scheduling display is low (at 20%) and is not being charged.
+ type: boolean
+ battery_percentage:
+ description: Specify a percentage so that an alert is sent when the battery is less than the {battery_percentage} that you specified.
+ type: string
+ controller_scheduling_disconnected:
+ description: Send an alert when the connection to the Controller or Scheduling Display cannot be detected.
+ type: boolean
+ controller_scheduling_reconnected:
+ description: Send an alert when the Controller or Scheduling Display can be detected again.
+ type: boolean
+ cpu_usage_high_detected:
+ description: Send an alert when CPU usage is above 90%.
+ type: boolean
+ mic_speaker_camera_disconnected:
+ description: Send an alert when the mic, speaker or camera is disconnected in the Zoom Room.
+ type: boolean
+ mic_speaker_camera_reconnected:
+ description: Send an alert when the mic, speaker or camera is reconnected.
+ type: boolean
+ network_unstable_detected:
+ description: Send an alert when low bandwidth network is detected
+ type: boolean
+ sip_registration_failed:
+ description: "Send an alert when SIP registration stops working. "
+ type: boolean
+ sip_registration_re_enabled:
+ description: Send an alert after the SIP registration is re-enabled.
+ type: boolean
+ zoom_room_come_back_online:
+ description: Send an alert when the Zoom Room is online after previously being offline.
+ type: boolean
+ zoom_room_display_disconnected:
+ description: Send an alert when the TV display is disconnected
+ type: boolean
+ zoom_room_offline:
+ description: Send an alert when the machine hosting the Zoom Room application has a network issue or cannot connect with the Controller.
+ type: boolean
+ type: object
+ type: object
+ description: |
+ **HTTP Status Code:** `200` **OK**
+ ZR Account Settings returned successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `200`
+ Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
+ Access restricted.
+ security:
+ - OAuth: []
+ summary: Get Zoom Room account settings
+ tags:
+ - Rooms Account
+ patch:
+ description: |-
+ Update account settings applied for Zoom Rooms in a Zoom account. With this API, you can update either the **Account Meeting Settings** or the **Alert Settings** (Client Alert Settings and Notfication Settings) of the Zoom Rooms account by specifying the required setting type in the `setting_type` parameter. To update only **Alert Settings**, specify `alert` as the value of the `setting_type` query parameter and to update only **Account Meeting Settings**, specify `meeting` as the value of the `setting_type` query parameter.
+ **Prerequisites:**
+ * Zoom Room licenses
+ * Owner or Admin privileges on the Zoom Account.
+ **Scopes:** `room:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: updateZoomRoomAccSettings
+ parameters:
+ - description: |-
+ The type of setting that you would like to update. `alert`: Alert Settings applied on the Zoom Rooms Account.
+ `meeting`: Meeting settings of the Zoom Rooms Account.
+ `signage`: View digital signage settings of the Zoom Rooms Account.
+ in: query
+ name: setting_type
+ required: true
+ schema:
+ default: meeting
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - properties:
+ zoom_rooms:
+ properties:
+ allow_multiple_content_sharing:
+ description: Enable multiple participants to [share content simultaneously](https://support.zoom.us/hc/en-us/articles/360017767812-Sharing-Multiple-Screens-in-a-Zoom-Room) by default.
+ type: boolean
+ audio_device_daily_auto_test:
+ description: Enable [automated audio test](https://support.zoom.us/hc/en-us/articles/360000319683-Zoom-Rooms-Daily-Audio-Testing) to ensure high quality audio.
+ type: boolean
+ auto_direct_sharing:
+ description: Enable participants in a Zoom Room to share their laptop screen on the Zoom Room TV without entering a meeting ID or sharing code.
+ type: boolean
+ auto_start_scheduled_meeting:
+ description: Automatically start scheduled meetings according to the start time listed on the calendar associated with the room. A meeting alert will appear 10 minutes prior to the scheduled time on the TV.
+ type: boolean
+ auto_stop_scheduled_meeting:
+ description: "Automatically stop the meeting at the end time as scheduled and listed in the calendar associated with the room. "
+ type: boolean
+ count_attendees_number_in_room:
+ description: |
+ Use facial detection technology to [determine and display the attendees count](https://support.zoom.us/hc/en-us/articles/360031027111-Count-Attendees-in-Zoom-Rooms) after meetings on Dashboard.
+ type: boolean
+ display_feedback_survey:
+ description: Display a [survey](https://support.zoom.us/hc/en-us/articles/214193146-End-of-Meeting-Attendee-Feedback) at the end of each meeting regarding the audio and video quality on the Zoom Rooms Controller.
+ type: boolean
+ display_meeting_list:
+ description: " Show the same information on the TV that is shown on the controller."
+ type: boolean
+ display_top_banner:
+ description: Allow to display room name, time and sharing key on the top portion of TV.
+ type: boolean
+ email_address_prompt_before_recording:
+ description: Allow in-room participants to input email address where they can recieve the recording before starting a recording if the meeting was created on the Scheduling Display or if it was started using the "Meet Now" option.
+ type: boolean
+ encrypt_shared_screen_content:
+ description: Encrypt screen and content shared in meetings.
+ type: boolean
+ hide_id_for_private_meeting:
+ description: If enabled, the meeting host and meeting ID (in addition to the meeting topic) are hidden from the Zoom Rooms display for private meetings. This affects meetings that were originally scheduled as private, as well as public meetings that were transformed to private.
+ type: boolean
+ make_room_alternative_host:
+ description: |
+ Set [Zoom Rooms as the alternative host](https://support.zoom.us/hc/en-us/articles/203614149-Zoom-Rooms-as-Alternative-Host).
+ type: boolean
+ secure_connection_channel:
+ description: Enable secure connection between Zoom Rooms computer and controller.
+ type: boolean
+ send_whiteboard_to_internal_contact_only:
+ description: Restrict[ sending Whiteboard sessions](https://support.zoom.us/hc/en-us/articles/115004797286-Using-the-Whiteboard-in-Zoom-Rooms-for-Touch#h_781274b3-5237-4320-8826-be2120b00e21) to contacts or internal users only.
+ type: boolean
+ show_alert_before_meeting:
+ description: "If enabled, the upcoming meeting alert message will be shown on the TV display. The value of the `upcoming_meeting_alert` field should be set to `true` to use this field. "
+ type: boolean
+ show_call_history_in_room:
+ description: |
+ Allow users to see call history of joined meetings and phone calls from the Zoom Rooms controller.
+ type: boolean
+ show_contact_list_on_controller:
+ description: If enabled, you can invite participants from the contact list during a meeting or when starting a meeting
+ type: boolean
+ show_non_video_participants:
+ description: When enabled, meeting participants that are audio only or have their video turned off will also be shown on the Zoom Rooms display by default.
+ type: boolean
+ start_airplay_manually:
+ description: Require the AirPlay service to be [started by an administrator](https://support.zoom.us/hc/en-us/articles/204726885-Screen-Share-Using-Airplay-Mirroring#h_a342ad38-4e46-47a8-a1d9-cded3b144b39) rather than always being available.
+ type: boolean
+ support_join_3rd_party_meeting:
+ description: Integrate with Skype for Business, GoToMeeting, or WebEx and show the meeting dial-in button on the meeting list tab for Zoom Rooms Controllers.
+ type: boolean
+ transform_meeting_to_private:
+ description: If enabled, all meetings in this room will be treated as [private meetings](https://support.zoom.us/hc/en-us/articles/115001051063-Zoom-Rooms-Private-Meetings), and the Zoom Room will display "Your Name's Meeting" instead of the real meeting topic.
+ type: boolean
+ upcoming_meeting_alert:
+ description: If enabled, a reminder will display 10 minutes prior to the next scheduled meeting on the controller.
+ type: boolean
+ weekly_system_restart:
+ description: "[Restart](https://support.zoom.us/hc/en-us/articles/205418949-Zoom-Rooms-Weekly-System-Restart) the Zoom Rooms computer and controller once a week."
+ type: boolean
+ type: object
+ - properties:
+ client_alert:
+ description: "The Client Alert Settings section includes alerts that display on the TV screen of the Zoom Room. Disable these settings if you have deliberately disconnected one or more peripheral devices or have never enabled them. "
+ properties:
+ detect_bluetooth_microphone_error_alert:
+ description: Display an alert message when an issue is detected with a bluetooth microphone.
+ type: boolean
+ detect_bluetooth_speaker_error_alert:
+ description: Display an alert message when an issue is detected with a bluetooth speaker.
+ type: boolean
+ detect_camera_error_alert:
+ description: Display an alert message when an issue is detected with a camera.
+ type: boolean
+ detect_microphone_error_alert:
+ description: Display an alert message when an issue is detected with microphone.
+ type: boolean
+ detect_speaker_error_alert:
+ description: Display an alert message when an issue is detected with a speaker.
+ type: boolean
+ type: object
+ digital_signage:
+ properties:
+ banner:
+ properties:
+ banner_room_name:
+ type: boolean
+ banner_sharing_key:
+ type: boolean
+ banner_time:
+ type: boolean
+ type: object
+ display_period:
+ description: Display period object lets you define the number of minutes before or after the scheduled meeting time you would like the content to display.
+ properties:
+ start_displaying_content:
+ description: Start displaying digital signage content after certain duration after the meeting ends. Specify the value of the duration in minutes in this field.
+ type: integer
+ stop_displaying_content:
+ description: Stop displaying content {certain_duration} before a meeting is scheduled to begin. Specify the value of duration in minutes in this field.
+ type: integer
+ type: object
+ enable_digital_signage:
+ description: |-
+ [Enable or disable digital signage](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_767fbb33-82a8-45a8-8392-a1bfa9687edd).
+ `true`: enable `false`: disable
+ type: boolean
+ layout:
+ description: |-
+ Set the [layout](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_4e25ddf3-8f97-4957-8f8b-99725f940fa7). The value of this field can be either `standard` or `video_content`.
+
+ `standard`: Standard Center
+ `video_content`: Video + Content
+ type: string
+ mute:
+ description: Sound of all contents will be muted if the value of this field is set to `true`.
+ type: boolean
+ play_list:
+ description: Content list.
+ items:
+ properties:
+ action:
+ description: |
+ Specify an action for the content list. The value can be one of the following:
+ `add`: Add another content list.
+ `update`: Update existing content list.
+ `delete`: Delete content list.
+ enum:
+ - add
+ - update
+ - delete
+ type: string
+ contents:
+ items:
+ description: Content list.
+ properties:
+ action:
+ description: |+
+ Specify an action for the content in the content list. The value can be one of the following:
+ `add`: Add another content to the content list.
+ `update`: Update existing content's information in the content list.
+ `delete`: Delete content from the content list.
+
+ type: string
+ content_id:
+ description: Content Id.
+ type: string
+ duration:
+ description: By default each content is display for 5 seconds. Using this field, specify how long you would like to display the content.
+ type: integer
+ id:
+ description: Unique identifier of the content. This field is only required if you would like to remove or update the content information.
+ type: string
+ name:
+ description: Name of the content.
+ type: string
+ order:
+ description: Order of the content in the display.
+ type: integer
+ type: object
+ maxItems: 3
+ type: array
+ end_time:
+ description: Specify the display end time for the content list in GMT.
+ type: string
+ id:
+ description: Unique identifier of the content list. This field is only required if you would like to remove or update the content list.
+ type: string
+ name:
+ description: Name of the content list.
+ type: string
+ start_time:
+ description: Specify the display start time for the content list in GMT.
+ type: string
+ type: object
+ maxItems: 2
+ type: array
+ type: object
+ notification:
+ description: "[Notifications Settings](https://support.zoom.us/hc/en-us/articles/205394099-Zoom-Room-Alerts#h_b430b5f2-5150-4522-9c96-c77f22ab70bc) includes the circumstances in which the room sends an email alert to the support team to notify them of a potentially urgent issue. These issues can affect the operation of the room, but do not display on the TV screen. The email alert is sent to the email address specified in the Notification Email Recipients section. "
+ properties:
+ audio_meet_usability_threshold:
+ description: Send an alert when the audio echo test result meets usability threshold.
+ type: boolean
+ audio_not_meet_usability_threshold:
+ description: Send an alert when the audio echo test result does not meet usability threshold.
+ type: boolean
+ battery_is_charging:
+ description: Send an alert when the battery starts charging.
+ type: boolean
+ battery_low_and_not_charging:
+ description: Send an alert when the battery of the controller or the scheduling display is low (at 20%) and is not being charged.
+ type: boolean
+ battery_percentage:
+ description: Specify a percentage so that an alert is sent when the battery is less than the {battery_percentage} that you specified.
+ type: string
+ controller_scheduling_disconnected:
+ description: Send an alert when the connection to the Controller or Scheduling Display cannot be detected.
+ type: boolean
+ controller_scheduling_reconnected:
+ description: Send an alert when the Controller or Scheduling Display can be detected again.
+ type: boolean
+ cpu_usage_high_detected:
+ description: Send an alert when CPU usage is above 90%.
+ type: boolean
+ mic_speaker_camera_disconnected:
+ description: Send an alert when the mic, speaker or camera is disconnected in the Zoom Room.
+ type: boolean
+ mic_speaker_camera_reconnected:
+ description: Send an alert when the mic, speaker or camera is reconnected.
+ type: boolean
+ network_stable_detected:
+ description: Send an alert when the network is stable.
+ type: boolean
+ network_unstable_detected:
+ description: Send an alert when low bandwidth network is detected
+ type: boolean
+ sip_registration_failed:
+ description: "Send an alert when SIP registration stops working. "
+ type: boolean
+ sip_registration_re_enabled:
+ description: Send an alert after the SIP registration is re-enabled.
+ type: boolean
+ zoom_room_come_back_online:
+ description: Send an alert when the Zoom Room is online after previously being offline.
+ type: boolean
+ zoom_room_display_disconnected:
+ description: Send an alert when the TV display is disconnected
+ type: boolean
+ zoom_room_offline:
+ description: Send an alert when the machine hosting the Zoom Room application has a network issue or cannot connect with the Controller.
+ type: boolean
+ type: object
+ type: object
+ multipart/form-data:
+ schema:
+ oneOf:
+ - properties:
+ zoom_rooms:
+ properties:
+ allow_multiple_content_sharing:
+ description: Enable multiple participants to [share content simultaneously](https://support.zoom.us/hc/en-us/articles/360017767812-Sharing-Multiple-Screens-in-a-Zoom-Room) by default.
+ type: boolean
+ audio_device_daily_auto_test:
+ description: Enable [automated audio test](https://support.zoom.us/hc/en-us/articles/360000319683-Zoom-Rooms-Daily-Audio-Testing) to ensure high quality audio.
+ type: boolean
+ auto_direct_sharing:
+ description: Enable participants in a Zoom Room to share their laptop screen on the Zoom Room TV without entering a meeting ID or sharing code.
+ type: boolean
+ auto_start_scheduled_meeting:
+ description: Automatically start scheduled meetings according to the start time listed on the calendar associated with the room. A meeting alert will appear 10 minutes prior to the scheduled time on the TV.
+ type: boolean
+ auto_stop_scheduled_meeting:
+ description: "Automatically stop the meeting at the end time as scheduled and listed in the calendar associated with the room. "
+ type: boolean
+ count_attendees_number_in_room:
+ description: |
+ Use facial detection technology to [determine and display the attendees count](https://support.zoom.us/hc/en-us/articles/360031027111-Count-Attendees-in-Zoom-Rooms) after meetings on Dashboard.
+ type: boolean
+ display_feedback_survey:
+ description: Display a [survey](https://support.zoom.us/hc/en-us/articles/214193146-End-of-Meeting-Attendee-Feedback) at the end of each meeting regarding the audio and video quality on the Zoom Rooms Controller.
+ type: boolean
+ display_meeting_list:
+ description: " Show the same information on the TV that is shown on the controller."
+ type: boolean
+ display_top_banner:
+ description: Allow to display room name, time and sharing key on the top portion of TV.
+ type: boolean
+ email_address_prompt_before_recording:
+ description: Allow in-room participants to input email address where they can recieve the recording before starting a recording if the meeting was created on the Scheduling Display or if it was started using the "Meet Now" option.
+ type: boolean
+ encrypt_shared_screen_content:
+ description: Encrypt screen and content shared in meetings.
+ type: boolean
+ hide_id_for_private_meeting:
+ description: If enabled, the meeting host and meeting ID (in addition to the meeting topic) are hidden from the Zoom Rooms display for private meetings. This affects meetings that were originally scheduled as private, as well as public meetings that were transformed to private.
+ type: boolean
+ make_room_alternative_host:
+ description: |
+ Set [Zoom Rooms as the alternative host](https://support.zoom.us/hc/en-us/articles/203614149-Zoom-Rooms-as-Alternative-Host).
+ type: boolean
+ secure_connection_channel:
+ description: Enable secure connection between Zoom Rooms computer and controller.
+ type: boolean
+ send_whiteboard_to_internal_contact_only:
+ description: Restrict[ sending Whiteboard sessions](https://support.zoom.us/hc/en-us/articles/115004797286-Using-the-Whiteboard-in-Zoom-Rooms-for-Touch#h_781274b3-5237-4320-8826-be2120b00e21) to contacts or internal users only.
+ type: boolean
+ show_alert_before_meeting:
+ description: "If enabled, the upcoming meeting alert message will be shown on the TV display. The value of the `upcoming_meeting_alert` field should be set to `true` to use this field. "
+ type: boolean
+ show_call_history_in_room:
+ description: |
+ Allow users to see call history of joined meetings and phone calls from the Zoom Rooms controller.
+ type: boolean
+ show_contact_list_on_controller:
+ description: If enabled, you can invite participants from the contact list during a meeting or when starting a meeting
+ type: boolean
+ show_non_video_participants:
+ description: When enabled, meeting participants that are audio only or have their video turned off will also be shown on the Zoom Rooms display by default.
+ type: boolean
+ start_airplay_manually:
+ description: Require the AirPlay service to be [started by an administrator](https://support.zoom.us/hc/en-us/articles/204726885-Screen-Share-Using-Airplay-Mirroring#h_a342ad38-4e46-47a8-a1d9-cded3b144b39) rather than always being available.
+ type: boolean
+ support_join_3rd_party_meeting:
+ description: Integrate with Skype for Business, GoToMeeting, or WebEx and show the meeting dial-in button on the meeting list tab for Zoom Rooms Controllers.
+ type: boolean
+ transform_meeting_to_private:
+ description: If enabled, all meetings in this room will be treated as [private meetings](https://support.zoom.us/hc/en-us/articles/115001051063-Zoom-Rooms-Private-Meetings), and the Zoom Room will display "Your Name's Meeting" instead of the real meeting topic.
+ type: boolean
+ upcoming_meeting_alert:
+ description: If enabled, a reminder will display 10 minutes prior to the next scheduled meeting on the controller.
+ type: boolean
+ weekly_system_restart:
+ description: "[Restart](https://support.zoom.us/hc/en-us/articles/205418949-Zoom-Rooms-Weekly-System-Restart) the Zoom Rooms computer and controller once a week."
+ type: boolean
+ type: object
+ - properties:
+ client_alert:
+ description: "The Client Alert Settings section includes alerts that display on the TV screen of the Zoom Room. Disable these settings if you have deliberately disconnected one or more peripheral devices or have never enabled them. "
+ properties:
+ detect_bluetooth_microphone_error_alert:
+ description: Display an alert message when an issue is detected with a bluetooth microphone.
+ type: boolean
+ detect_bluetooth_speaker_error_alert:
+ description: Display an alert message when an issue is detected with a bluetooth speaker.
+ type: boolean
+ detect_camera_error_alert:
+ description: Display an alert message when an issue is detected with a camera.
+ type: boolean
+ detect_microphone_error_alert:
+ description: Display an alert message when an issue is detected with microphone.
+ type: boolean
+ detect_speaker_error_alert:
+ description: Display an alert message when an issue is detected with a speaker.
+ type: boolean
+ type: object
+ digital_signage:
+ properties:
+ banner:
+ properties:
+ banner_room_name:
+ type: boolean
+ banner_sharing_key:
+ type: boolean
+ banner_time:
+ type: boolean
+ type: object
+ display_period:
+ description: Display period object lets you define the number of minutes before or after the scheduled meeting time you would like the content to display.
+ properties:
+ start_displaying_content:
+ description: Start displaying digital signage content after certain duration after the meeting ends. Specify the value of the duration in minutes in this field.
+ type: integer
+ stop_displaying_content:
+ description: Stop displaying content {certain_duration} before a meeting is scheduled to begin. Specify the value of duration in minutes in this field.
+ type: integer
+ type: object
+ enable_digital_signage:
+ description: |-
+ [Enable or disable digital signage](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_767fbb33-82a8-45a8-8392-a1bfa9687edd).
+ `true`: enable `false`: disable
+ type: boolean
+ layout:
+ description: |-
+ Set the [layout](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_4e25ddf3-8f97-4957-8f8b-99725f940fa7). The value of this field can be either `standard` or `video_content`.
+
+ `standard`: Standard Center
+ `video_content`: Video + Content
+ type: string
+ mute:
+ description: Sound of all contents will be muted if the value of this field is set to `true`.
+ type: boolean
+ play_list:
+ description: Content list.
+ items:
+ properties:
+ action:
+ description: |
+ Specify an action for the content list. The value can be one of the following:
+ `add`: Add another content list.
+ `update`: Update existing content list.
+ `delete`: Delete content list.
+ enum:
+ - add
+ - update
+ - delete
+ type: string
+ contents:
+ items:
+ description: Content list.
+ properties:
+ action:
+ description: |+
+ Specify an action for the content in the content list. The value can be one of the following:
+ `add`: Add another content to the content list.
+ `update`: Update existing content's information in the content list.
+ `delete`: Delete content from the content list.
+
+ type: string
+ content_id:
+ description: Content Id.
+ type: string
+ duration:
+ description: By default each content is display for 5 seconds. Using this field, specify how long you would like to display the content.
+ type: integer
+ id:
+ description: Unique identifier of the content. This field is only required if you would like to remove or update the content information.
+ type: string
+ name:
+ description: Name of the content.
+ type: string
+ order:
+ description: Order of the content in the display.
+ type: integer
+ type: object
+ maxItems: 3
+ type: array
+ end_time:
+ description: Specify the display end time for the content list in GMT.
+ type: string
+ id:
+ description: Unique identifier of the content list. This field is only required if you would like to remove or update the content list.
+ type: string
+ name:
+ description: Name of the content list.
+ type: string
+ start_time:
+ description: Specify the display start time for the content list in GMT.
+ type: string
+ type: object
+ maxItems: 2
+ type: array
+ type: object
+ notification:
+ description: "[Notifications Settings](https://support.zoom.us/hc/en-us/articles/205394099-Zoom-Room-Alerts#h_b430b5f2-5150-4522-9c96-c77f22ab70bc) includes the circumstances in which the room sends an email alert to the support team to notify them of a potentially urgent issue. These issues can affect the operation of the room, but do not display on the TV screen. The email alert is sent to the email address specified in the Notification Email Recipients section. "
+ properties:
+ audio_meet_usability_threshold:
+ description: Send an alert when the audio echo test result meets usability threshold.
+ type: boolean
+ audio_not_meet_usability_threshold:
+ description: Send an alert when the audio echo test result does not meet usability threshold.
+ type: boolean
+ battery_is_charging:
+ description: Send an alert when the battery starts charging.
+ type: boolean
+ battery_low_and_not_charging:
+ description: Send an alert when the battery of the controller or the scheduling display is low (at 20%) and is not being charged.
+ type: boolean
+ battery_percentage:
+ description: Specify a percentage so that an alert is sent when the battery is less than the {battery_percentage} that you specified.
+ type: string
+ controller_scheduling_disconnected:
+ description: Send an alert when the connection to the Controller or Scheduling Display cannot be detected.
+ type: boolean
+ controller_scheduling_reconnected:
+ description: Send an alert when the Controller or Scheduling Display can be detected again.
+ type: boolean
+ cpu_usage_high_detected:
+ description: Send an alert when CPU usage is above 90%.
+ type: boolean
+ mic_speaker_camera_disconnected:
+ description: Send an alert when the mic, speaker or camera is disconnected in the Zoom Room.
+ type: boolean
+ mic_speaker_camera_reconnected:
+ description: Send an alert when the mic, speaker or camera is reconnected.
+ type: boolean
+ network_stable_detected:
+ description: Send an alert when the network is stable.
+ type: boolean
+ network_unstable_detected:
+ description: Send an alert when low bandwidth network is detected
+ type: boolean
+ sip_registration_failed:
+ description: "Send an alert when SIP registration stops working. "
+ type: boolean
+ sip_registration_re_enabled:
+ description: Send an alert after the SIP registration is re-enabled.
+ type: boolean
+ zoom_room_come_back_online:
+ description: Send an alert when the Zoom Room is online after previously being offline.
+ type: boolean
+ zoom_room_display_disconnected:
+ description: Send an alert when the TV display is disconnected
+ type: boolean
+ zoom_room_offline:
+ description: Send an alert when the machine hosting the Zoom Room application has a network issue or cannot connect with the Controller.
+ type: boolean
+ type: object
+ type: object
+ x-examples:
+ application/json:
+ zoom_rooms:
+ allow_multiple_content_sharing: false
+ audio_device_daily_auto_test: false
+ auto_direct_sharing: true
+ auto_start_scheduled_meeting: true
+ auto_stop_scheduled_meeting: false
+ count_attendees_number_in_room: false
+ display_feedback_survey: false
+ display_meeting_list: false
+ display_top_banner: false
+ email_address_prompt_before_recording: true
+ encrypt_shared_screen_content: false
+ hide_id_for_private_meeting: false
+ make_room_alternative_host: true
+ secure_connection_channel: true
+ send_whiteboard_to_internal_contact_only: true
+ show_alert_before_meeting: false
+ show_call_history_in_room: true
+ show_contact_list_on_controller: false
+ show_non_video_participants: true
+ start_airplay_manually: false
+ support_join_3rd_party_meeting: false
+ transform_meeting_to_private: true
+ upcoming_meeting_alert: true
+ weekly_system_restart: false
+ responses:
+ "204":
+ content:
+ application/json:
+ schema:
+ properties: {}
+ type: object
+ application/xml:
+ schema:
+ properties: {}
+ type: object
+ description: |
+ **HTTP Status Code:** `204` **No Content**
+ Settings updated successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `200`
+ Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
+ Access restricted.
+ security:
+ - OAuth: []
+ summary: Update Zoom Room account settings
+ tags:
+ - Rooms Account
+ /rooms/digital_signage:
+ get:
+ description: |+
+ List information about existing [Zoom Rooms digital signage](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage) content in a Zoom account. You can also access this information by logging into your Zoom account in the Zoom web portal and visiting the [Digital Signage Content](https://zoom.us/digitalsignage#/) page listed under **Room Management**.
+
+ **Prerequisites:**
+ * Pro or a higher account with Zoom Rooms.
+ * Existing content files or folder in [Digital Signage Content](https://zoom.us/digitalsignage#/) page.
+
+
+ operationId: listDigitalSignageContent
+ parameters:
+ - description: |-
+ Specify the type of digital signane resource. The value can be one of the following:
+ * `content`: Returns information about content files.
+ * `folder`: Returns information about the folder where the content files are located.
+ in: query
+ name: type
+ schema:
+ type: string
+ - description: Unique identifier of the folder where the content is located. Provide this field if you would like to filter the response by contents that are only available in a specific folder.
+ in: query
+ name: folder_id
+ schema:
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ contents:
+ - id: sWbbbb535LQ
+ name: Marketing_Folder
+ - id: 9N333khdhfgiafg
+ name: BackgroundImage.png
+ next_page_token: ""
+ page_size: 30
+ total_records: 2
+ schema:
+ properties:
+ contents:
+ items:
+ properties:
+ id:
+ description: "Unique identifier of the content or the folder. "
+ type: string
+ name:
+ description: Name of the content file or the folder.
+ type: string
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: The number of records returned within a single API call.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ contents:
+ items:
+ properties:
+ id:
+ description: "Unique identifier of the content or the folder. "
+ type: string
+ name:
+ description: Name of the content file or the folder.
+ type: string
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: The number of records returned within a single API call.
+ type: integer
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ List returned.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ * Zoom Room subscription was not found. Try again after purchasing a Zoom Room subscription.
+ * Access restricted.
+ summary: List digital signage contents
+ tags:
+ - Rooms
+ /rooms/events:
+ patch:
+ description: |
+ Display or hide E911 emergency alert text content from [Zoom Rooms digital signage](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage).
+
+ **Scope:** `room:write:admin`
+
+ **Prerequisites:**
+ * [Zoom Rooms](https://zoom.us/zoomrooms/software) 5.3.0 or higher
+ * Zoom Rooms digital signage must be [enabled](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-Digital-Signage#h_767fbb33-82a8-45a8-8392-a1bfa9687edd)
+ operationId: manageE911signage
+ requestBody:
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - description: "Provide this request body to set and display the emergency alert content. "
+ properties:
+ method:
+ description: To display the emergency content on the Zoom Rooms digital signage display, set the value of this field to be `zoomroom.emergency_alert_displayed`.
+ enum:
+ - zoomroom.emergency_alert_displayed
+ type: string
+ params:
+ properties:
+ content:
+ description: "Provide the content to be displayed. "
+ type: string
+ target_ids:
+ description: |-
+ Provide one of the following IDs associated with the Zoom Room.
+
+ * `accountId`: Account ID of the Zoom account. Provide account ID as the value of this field to display the alert content on all Zoom Rooms' displays in the account.
+ * `locationId`: Location ID. Get the value of this field by calling [List Zoom Rooms Locations API](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations). Provide location ID as the value of this field to display the alert content on all Zoom Rooms' displays listed in the specified location.
+ * `roomId`: Unique identifier of the Zoom Room. Get the value of this field by calling [List Zoom Rooms API](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms/listzoomrooms). Provide room ID as the value of this field to display the alert content on a specific Zoom Rooms' display.
+ items:
+ type: string
+ maxItems: 10
+ minItems: 1
+ type: array
+ target_type:
+ description: |-
+ Provide one of the following values for this field that is associated to the value you entered in the `target_ids` field.
+ * `account`
+ * `location`
+ * `room`
+ enum:
+ - account
+ - location
+ - room
+ type: string
+ type: object
+ - description: Provide this request body to remove the emergency alert content. Note that there won't be a response body for this request.
+ properties:
+ method:
+ description: To remove the emergency content from the Zoom Rooms digital signage display, set the value of this field to be `zoomroom.emergency_alert_removed`.
+ enum:
+ - zoomroom.emergency_alert_removed
+ type: string
+ params:
+ properties:
+ event_id:
+ description: "Unique identifier of the event. "
+ type: string
+ target_ids:
+ description: |-
+ Provide one of the following IDs associated with the Zoom Room.
+
+ * `accountId`: Account ID of the Zoom account. Provide account ID as the value of this field to remove the alert content from all Zoom Rooms' displays in the account.
+ * `locationId`: Location ID. Get the value of this field by calling [List Zoom Rooms Locations API](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations). Provide location ID as the value of this field to remove the alert content from all Zoom Rooms' displays listed in the specified location.
+ * `roomId`: Unique identifier of the Zoom Room. Get the value of this field by calling [List Zoom Rooms API](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms/listzoomrooms). Provide room ID as the value of this field to remove the alert content from a specific Zoom Rooms' display.
+ items:
+ type: string
+ maxItems: 10
+ minItems: 1
+ type: array
+ target_type:
+ description: |-
+ Provide one of the following values for this field that is associated to the value you entered in the `target_ids` field.
+ * `account`
+ * `location`
+ * `room`
+ enum:
+ - account
+ - location
+ - room
+ type: string
+ type: object
+ type: object
+ multipart/form-data:
+ schema:
+ oneOf:
+ - description: "Provide this request body to set and display the emergency alert content. "
+ properties:
+ method:
+ description: To display the emergency content on the Zoom Rooms digital signage display, set the value of this field to be `zoomroom.emergency_alert_displayed`.
+ enum:
+ - zoomroom.emergency_alert_displayed
+ type: string
+ params:
+ properties:
+ content:
+ description: "Provide the content to be displayed. "
+ type: string
+ target_ids:
+ description: |-
+ Provide one of the following IDs associated with the Zoom Room.
+
+ * `accountId`: Account ID of the Zoom account. Provide account ID as the value of this field to display the alert content on all Zoom Rooms' displays in the account.
+ * `locationId`: Location ID. Get the value of this field by calling [List Zoom Rooms Locations API](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations). Provide location ID as the value of this field to display the alert content on all Zoom Rooms' displays listed in the specified location.
+ * `roomId`: Unique identifier of the Zoom Room. Get the value of this field by calling [List Zoom Rooms API](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms/listzoomrooms). Provide room ID as the value of this field to display the alert content on a specific Zoom Rooms' display.
+ items:
+ type: string
+ maxItems: 10
+ minItems: 1
+ type: array
+ target_type:
+ description: |-
+ Provide one of the following values for this field that is associated to the value you entered in the `target_ids` field.
+ * `account`
+ * `location`
+ * `room`
+ enum:
+ - account
+ - location
+ - room
+ type: string
+ type: object
+ - description: Provide this request body to remove the emergency alert content. Note that there won't be a response body for this request.
+ properties:
+ method:
+ description: To remove the emergency content from the Zoom Rooms digital signage display, set the value of this field to be `zoomroom.emergency_alert_removed`.
+ enum:
+ - zoomroom.emergency_alert_removed
+ type: string
+ params:
+ properties:
+ event_id:
+ description: "Unique identifier of the event. "
+ type: string
+ target_ids:
+ description: |-
+ Provide one of the following IDs associated with the Zoom Room.
+
+ * `accountId`: Account ID of the Zoom account. Provide account ID as the value of this field to remove the alert content from all Zoom Rooms' displays in the account.
+ * `locationId`: Location ID. Get the value of this field by calling [List Zoom Rooms Locations API](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations). Provide location ID as the value of this field to remove the alert content from all Zoom Rooms' displays listed in the specified location.
+ * `roomId`: Unique identifier of the Zoom Room. Get the value of this field by calling [List Zoom Rooms API](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms/listzoomrooms). Provide room ID as the value of this field to remove the alert content from a specific Zoom Rooms' display.
+ items:
+ type: string
+ maxItems: 10
+ minItems: 1
+ type: array
+ target_type:
+ description: |-
+ Provide one of the following values for this field that is associated to the value you entered in the `target_ids` field.
+ * `account`
+ * `location`
+ * `room`
+ enum:
+ - account
+ - location
+ - room
+ type: string
+ type: object
+ type: object
+ x-examples:
+ application/json:
+ method: zoomroom.emergency_alert_displayed
+ params:
+ content: This is an example.
+ target_ids:
+ - dhhjdshgf237y7
+ - dnfv345556
+ target_type: location
+ responses:
+ "202":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ event_id: 6354hgfsdj34
+ schema:
+ properties:
+ event_id:
+ description: |-
+ Unique identifier of the event related to the content being displayed. This field is only returned if you provided `zoomroom.emergency_alert_displayed` as the value of the `method` parameter.
+
+ Save this response value and provide it as the value of the `event_id` request parameter when you need to remove the alert content using `zoomroom.emergency_alert_removed` method.
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ event_id:
+ description: |-
+ Unique identifier of the event related to the content being displayed. This field is only returned if you provided `zoomroom.emergency_alert_displayed` as the value of the `method` parameter.
+
+ Save this response value and provide it as the value of the `event_id` request parameter when you need to remove the alert content using `zoomroom.emergency_alert_removed` method.
+ type: string
+ type: object
+ description: "**HTTP Status Code:** `202` "
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+
+ **Error Code:** `200` Access restricted.
+ **Error Code:** `300`
+ Event id is required.
+ Invalid value submitted for Target Ids. Provide a valid Target Id associated with the Target type.
+ summary: Update E911 digital signage
+ tags:
+ - Rooms
+ /rooms/locations:
+ get:
+ description: |-
+ A Zoom account owner or a Zoom Room administrator can establish a [location hierarchy](https://support.zoom.us/hc/en-us/articles/115000342983-Zoom-Rooms-Location-Hierarchy) to help manage Zoom Rooms that are spread among a variety of locations. Use this API to list the different location types used for Zoom Rooms in an account.
+ **Prerequisites:**
+ * Account owner or admin permissions.
+ * Zoom Rooms Version 4.0 or higher
+ **Scopes:** `room:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: listZRLocations
+ parameters:
+ - description: A unique identifier of the parent location. For instance, if a Zoom Room is located in Floor 1 of Building A, the location of Building A will be the parent location of Floor 1. Use this parameter to filter the response by a specific location hierarchy level.
+ in: query
+ name: parent_location_id
+ schema:
+ type: string
+ - description: |-
+ Use this field to filter the response by the type of location. The value can be one of the following:
+ `country`, `states`, `city`, `campus`, `building`, `floor`.
+ in: query
+ name: type
+ schema:
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value: |-
+ {
+ "page_size": 30,
+ "next_page_token": "",
+ "locations": [
+ {
+ "id": "AAAAAAAAAA",
+ "name": "Country/Region1",
+ "parent_location_id": "I-qsfdUbbbbg",
+ "type": "country"
+ },
+ {
+ "id": "BBBBBBBB",
+ "name": "State1",
+ "parent_location_id": "AAAAAAAAAA",
+ "type": "state"
+ },
+ {
+ "id": "ccccddddd,
+ "name": "City1",
+ "parent_location_id": "BBBBBBBB",
+ "type": "city"
+ },
+ {
+ "id": "fgaajfjfhgjgjgjg",
+ "name": "Campus1",
+ "parent_location_id": "ccccddddd,
+ "type": "campus"
+ },
+ {
+ "id": "YQGK12344",
+ "name": "Building1",
+ "parent_location_id": "fgaajfjfhgjgjgjg",
+ "type": "building"
+ },
+ {
+ "id": "uUbbbbbbbb",
+ "name": "Floor1",
+ "parent_location_id": "YQGK12344",
+ "type": "floor"
+ }
+ ]
+ }
+ schema:
+ properties:
+ locations:
+ items:
+ properties:
+ id:
+ description: Unique Identifier of the location.
+ type: string
+ name:
+ description: Name of the location.
+ type: string
+ parent_location_id:
+ description: |-
+ ID (Unique Identifier) of the parent location. For instance, if a Zoom Room is located in Floor 1 of Building A, the location of Building A will be the parent location of Floor 1 and the parent_location_id of Floor 1 will be the ID of Building A.
+ The value of parent_location_id of the top-level location (country) is the Account ID of the Zoom account.
+ type: string
+ type:
+ description: |-
+ The type of location. The value can be one of the following:
+ `country`, `states`, `city`, `campus`, `building`, `floor`.
+ enum:
+ - country
+ - states
+ - city
+ - campus
+ - building
+ - floor
+ type: string
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: The number of records returned within a single API call.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ locations:
+ items:
+ properties:
+ id:
+ description: Unique Identifier of the location.
+ type: string
+ name:
+ description: Name of the location.
+ type: string
+ parent_location_id:
+ description: |-
+ ID (Unique Identifier) of the parent location. For instance, if a Zoom Room is located in Floor 1 of Building A, the location of Building A will be the parent location of Floor 1 and the parent_location_id of Floor 1 will be the ID of Building A.
+ The value of parent_location_id of the top-level location (country) is the Account ID of the Zoom account.
+ type: string
+ type:
+ description: |-
+ The type of location. The value can be one of the following:
+ `country`, `states`, `city`, `campus`, `building`, `floor`.
+ enum:
+ - country
+ - states
+ - city
+ - campus
+ - building
+ - floor
+ type: string
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_size:
+ description: The number of records returned within a single API call.
+ type: integer
+ type: object
+ description: |
+ **HTTP Status Code:** `200` **OK**
+ Zoom Room locations listed successfully.
+ "400":
+ description: |
+ **HTTP Status Code:** `400` **Bad Request**
+
+ **Error Code:** `200`
+ Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
+ **Error Code:** `300`
+ Location type not exist.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+
+ **Error Code:** `4801`
+ Location not found:{parent_location_id}.
+ security:
+ - OAuth: []
+ summary: List Zoom Room locations
+ tags:
+ - Rooms Location
+ post:
+ description: |-
+ Add a location to the [location hierarchial structure(s)](https://support.zoom.us/hc/en-us/articles/115000342983-Zoom-Rooms-Location-Hierarchy) of Zoom Rooms in an account.
+
+ **Prerequisites:**
+ * Account owner or admin permissions.
+ * Zoom Rooms Version 4.0 or higher
+ **Scopes:** `room:write:admin`
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: addAZRLocation
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ name:
+ description: Name of the location. The name must be unique and shouldn't have already been used in the same account.
+ type: string
+ parent_location_id:
+ description: The location ID of the location that is a level higher from the location that is being added.
For example, to add a City named "City 1" as the child location under a State named "State 1", you must provide the location ID of "State 1". This can be retrieved using the [List Zoom Room Locations](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations) API.
+ type: string
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ name:
+ description: Name of the location. The name must be unique and shouldn't have already been used in the same account.
+ type: string
+ parent_location_id:
+ description: The location ID of the location that is a level higher from the location that is being added.
For example, to add a City named "City 1" as the child location under a State named "State 1", you must provide the location ID of "State 1". This can be retrieved using the [List Zoom Room Locations](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations) API.
+ type: string
+ type: object
+ x-examples:
+ application/json:
+ name: San Jose City
+ parent_location_id: csdfus33dsf
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ id: sedo534pis
+ name: San Jose City
+ parent_location_id: gdrgre54t5th
+ type: City
+ schema:
+ properties:
+ id:
+ description: "Location ID: Unique Identifier of the location that was added."
+ type: string
+ name:
+ description: Name of the location.
+ type: string
+ parent_location_id:
+ description: Unique Identifier of the parent location.
+ type: string
+ type:
+ description: |-
+ Type of location. The value should be one of the following:
+ `country`, `states`, `city`, `campus`, `building`, `floor`.
+ enum:
+ - country
+ - states
+ - city
+ - campus
+ - building
+ - floor
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ id:
+ description: "Location ID: Unique Identifier of the location that was added."
+ type: string
+ name:
+ description: Name of the location.
+ type: string
+ parent_location_id:
+ description: Unique Identifier of the parent location.
+ type: string
+ type:
+ description: |-
+ Type of location. The value should be one of the following:
+ `country`, `states`, `city`, `campus`, `building`, `floor`.
+ enum:
+ - country
+ - states
+ - city
+ - campus
+ - building
+ - floor
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ Location added successfully.
+ "400":
+ description: |
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `200`
+ Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
+ **Error Code:** `300`
+ Location name already exists. Try a different location name.
+ Invalid parent location id {parent_location_id}
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `4801`
+ Location not exist {parent_location_id}
+ security:
+ - OAuth: []
+ summary: Add a location
+ tags:
+ - Rooms Location
+ /rooms/locations/structure:
+ get:
+ description: |-
+ Get the [location hierarchial structure(s)](https://support.zoom.us/hc/en-us/articles/115000342983-Zoom-Rooms-Location-Hierarchy) applied on the Zoom Rooms in an account.
+ **Prerequisites:**
+ * Zoom Rooms version 4.0 or higher
+ * Account owner or admin permissions
+ **Scopes:** `room:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: getZRLocationStructure
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ structures:
+ - country
+ - state
+ - city
+ - campus
+ - building
+ - floor
+ - room
+ schema:
+ properties:
+ structures:
+ description: Hierarchial structure array of the Zoom Rooms location.
+ items:
+ type: string
+ type: array
+ type: object
+ application/xml:
+ schema:
+ properties:
+ structures:
+ description: Hierarchial structure array of the Zoom Rooms location.
+ items:
+ type: string
+ type: array
+ type: object
+ description: |
+ **HTTP Status Code:** `200` **OK**
+ Zoom Rooms location structure returned successfully.
+ "400":
+ description: |
+ **HTTP Status Code:** `400` **Bad Request**
+
+ **Error Code:** `200`
+ Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
+ security:
+ - OAuth: []
+ summary: Get Zoom Room location structure
+ tags:
+ - Rooms Location
+ patch:
+ description: |-
+ Update the [location hierarchial structure(s)](https://support.zoom.us/hc/en-us/articles/115000342983-Zoom-Rooms-Location-Hierarchy) applied on the Zoom Rooms in an account.
+ **Prerequisites:**
+ * Zoom Rooms version 4.0 or higher
+ * Account owner or admin permissions
+ **Scopes:** `room:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: updateZoomRoomsLocationStructure
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ structures:
+ description: |-
+ Location Structure. The value can be either one or a combination of the following strings separated by comma:
+ `country`, `state`, `city`, `campus`, `building`, `floor`
+ items:
+ type: string
+ type: array
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ structures:
+ description: |-
+ Location Structure. The value can be either one or a combination of the following strings separated by comma:
+ `country`, `state`, `city`, `campus`, `building`, `floor`
+ items:
+ type: string
+ type: array
+ type: object
+ x-examples:
+ application/json:
+ structures:
+ - country
+ - city
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Location Structure updated successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `2100`
+ This sub account has no sip trunk plan
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `2001` This account does not exist or does not belong to this master account. This account does not exist or does not belong to you.
+ security:
+ - OAuth: []
+ summary: Update Zoom Rooms location structure
+ tags:
+ - Rooms Location
+ "/rooms/locations/{locationId}":
+ get:
+ description: |-
+ Each location type of the [Zoom Rooms location hierarchy](https://support.zoom.us/hc/en-us/articles/115000342983-Zoom-Rooms-Location-Hierarchy) has a profile page that includes information such as name of the location, address, support email, etc. Use this API to retrieve information about a specific Zoom Rooms location type such as information about the city where the Zoom Rooms is located.
+
+ **Prerequisite:**
+ * Account owner or admin permission
+ * Zoom Rooms version 4.0 or higher
+ **Scopes:** `room:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: getZRLocationProfile
+ parameters:
+ - description: Unique identifier of the location type. This can be retrieved using the [List Zoom Room Location API](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations) (Id property in the response).
+ in: path
+ name: locationId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ basic:
+ description: This Zoom Rooms is located in Kathmandu.
+ name: Kathmandu
+ required_code_to_ext: true
+ room_passcode: "12234"
+ support_email: abb123@123
+ support_phone: "00222"
+ timezone: Asia/Kathmandu
+ schema:
+ properties:
+ basic:
+ properties:
+ address:
+ description: Address
+ type: string
+ "description ":
+ description: Description about the location.
+ type: string
+ name:
+ description: Name of the location type.
+ type: string
+ required_code_to_ext:
+ description: |
+ Require code to exit out of your Zoom Rooms application to switch between other apps.
+ type: boolean
+ room_passcode:
+ description: 1-16 digit number or characters that is used to secure your Zoom Rooms application.
+ maxLength: 16
+ minLength: 1
+ type: string
+ support_email:
+ description: |
+ The email address to be used for reporting Zoom Room issues.
+ format: email
+ type: string
+ support_phone:
+ description: |
+ The phone number to be used for reporting Zoom Room issues.
+ type: string
+ timezone:
+ description: Timezone (only returned for location type - city).
+ type: string
+ type: object
+ type: object
+ application/xml:
+ schema:
+ properties:
+ basic:
+ properties:
+ address:
+ description: Address
+ type: string
+ "description ":
+ description: Description about the location.
+ type: string
+ name:
+ description: Name of the location type.
+ type: string
+ required_code_to_ext:
+ description: |
+ Require code to exit out of your Zoom Rooms application to switch between other apps.
+ type: boolean
+ room_passcode:
+ description: 1-16 digit number or characters that is used to secure your Zoom Rooms application.
+ maxLength: 16
+ minLength: 1
+ type: string
+ support_email:
+ description: |
+ The email address to be used for reporting Zoom Room issues.
+ format: email
+ type: string
+ support_phone:
+ description: |
+ The phone number to be used for reporting Zoom Room issues.
+ type: string
+ timezone:
+ description: Timezone (only returned for location type - city).
+ type: string
+ type: object
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ Zoom Rooms Location Profile returned successfully.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `200`
+ Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
+ Access restricted.
+
+
+
+
+
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `4801`
+ Location not found: {locationId}.
+ security:
+ - OAuth: []
+ summary: Get Zoom Room location profile
+ tags:
+ - Rooms Location
+ parameters:
+ - in: path
+ name: locationId
+ required: true
+ schema:
+ type: string
+ patch:
+ description: |-
+ Each location type of the [Zoom Rooms location hierarchy](https://support.zoom.us/hc/en-us/articles/115000342983-Zoom-Rooms-Location-Hierarchy) has a profile page that includes information such as name of the location, address, support email, etc. Use this API to update information about a specific Zoom Rooms location type such as information about the city where the Zoom Rooms is located.
+
+ **Prerequisite:**
+ * Account owner or admin permission
+ * Zoom Rooms version 4.0 or higher
+ **Scopes:** `room:write:admin`
+
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: updateZRLocationProfile
+ parameters:
+ - description: Unique Identifier of the location. This can be retrieved from the [List Zoom Room Locations](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations) API.
+ in: path
+ name: locationId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ basic:
+ properties:
+ address:
+ description: Address. Can only be updated for Campus and Building.
+ type: string
+ "description ":
+ description: Description about the location.
+ type: string
+ name:
+ description: Name of the location type.
+ type: string
+ required_code_to_ext:
+ description: |
+ Require code to exit out of your Zoom Rooms application to switch between other apps.
+ type: boolean
+ room_passcode:
+ description: 1-16 digit number or characters that is used to secure your Zoom Rooms application.
+ maxLength: 16
+ minLength: 1
+ type: string
+ support_email:
+ description: |
+ The email address to be used for reporting Zoom Room issues.
+ format: email
+ type: string
+ support_phone:
+ description: |
+ The phone number to be used for reporting Zoom Room issues.
+ type: string
+ timezone:
+ description: Timezone (can only be updated for location type - city).
+ type: string
+ type: object
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ basic:
+ properties:
+ address:
+ description: Address. Can only be updated for Campus and Building.
+ type: string
+ "description ":
+ description: Description about the location.
+ type: string
+ name:
+ description: Name of the location type.
+ type: string
+ required_code_to_ext:
+ description: |
+ Require code to exit out of your Zoom Rooms application to switch between other apps.
+ type: boolean
+ room_passcode:
+ description: 1-16 digit number or characters that is used to secure your Zoom Rooms application.
+ maxLength: 16
+ minLength: 1
+ type: string
+ support_email:
+ description: |
+ The email address to be used for reporting Zoom Room issues.
+ format: email
+ type: string
+ support_phone:
+ description: |
+ The phone number to be used for reporting Zoom Room issues.
+ type: string
+ timezone:
+ description: Timezone (can only be updated for location type - city).
+ type: string
+ type: object
+ type: object
+ x-examples:
+ application/json:
+ basic:
+ address: enim id sint
+ "description ": esse
+ name: gfhgfhfh
+ required_code_to_ext: false
+ room_passcode: et
+ support_email: WjFz@iYxpxDCRJQhZeBYtla.qb
+ support_phone: anim eiusmod sit
+ timezone: magna incididunt irure voluptate id
+ responses:
+ "200":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: ""
+ security:
+ - OAuth: []
+ summary: Update Zoom Room location profile
+ tags:
+ - Rooms Location
+ "/rooms/locations/{locationId}/location":
+ parameters:
+ - in: path
+ name: locationId
+ required: true
+ schema:
+ type: string
+ put:
+ description: |-
+ An account owner of a Zoom account can establish a [Zoom Rooms Location Hierarchy](https://support.zoom.us/hc/en-us/articles/115000342983-Zoom-Rooms-Location-Hierarchy) to better organize Zoom Rooms spread accross various location. The location can be structured in a hierarchy with Country being the top-level location, followed by city, campus, building, and floor. The location in the lower level in the hierarchy is considered as a child of the location that is a level above in the hierarchy. Use this API to change the parent location of a child location.
For instance, if the location hierarchy is structured in a way where there are two campuses (Campus 1, and Campus 2) in a City and Campus 1 consists of a building named Building 1 with a floor where Zoom Rooms are located, and you would like to rearrange the structure so that Building 1 along with its child locations (floor and Zoom Rooms) are relocated directly under Campus 2 instead of Campus 1, you must provide the location ID of Building 1 in the path parameter of this request and the location ID of Campus 2 as the value of `parent_location_id` in the request body.
+ **Prerequisite:**
+ * Account owner or admin permission
+ * Zoom Rooms version 4.0 or higher
+ **Scopes:** `room:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: changeParentLocation
+ parameters:
+ - in: path
+ name: locationId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ parent_location_id:
+ description: Location ID of the new Parent Location under which you the child location will be positioned. This can be retrieved from the [List Zoom Room Locations](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations) API.
+ type: string
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ parent_location_id:
+ description: Location ID of the new Parent Location under which you the child location will be positioned. This can be retrieved from the [List Zoom Room Locations](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations) API.
+ type: string
+ type: object
+ x-examples:
+ application/json:
+ parent_location_id: amesmod123enim
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Location assigned successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `200` Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
+ **Error Code:** `300` Invalid parent location id {parent_location_id}
+ "404":
+ description: |
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `4801` Location not found:{parent_location_id}.
+ security:
+ - OAuth: []
+ summary: Change the assigned parent location
+ tags:
+ - Rooms Location
+ "/rooms/locations/{locationId}/settings":
+ get:
+ description: |-
+ Get information on meeting or alert settings applied to Zoom Rooms located in a specific location. By default, only **Meeting Settings** are returned. To view only **Alert Settings**, specify `alert` as the value of the `setting_type` query parameter.
+ **Prerequisites:**
+ * Zoom Room licenses
+ * Owner or Admin privileges on the Zoom Account.
+ **Scopes:** `room:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: getZRLocationSettings
+ parameters:
+ - description: |-
+ The type of setting that you would like to retrieve. `alert`: Alert Settings applied on the Zoom Rooms Account.
+ `meeting`: Meeting settings of the Zoom Rooms Account.
+ `signage`: Digital signage settings of the Zoom Rooms Account.
+ in: query
+ name: setting_type
+ required: true
+ schema:
+ default: meeting
+ type: string
+ - description: Unique identifier of the location type. This can be retrieved using the [List Zoom Room Location API](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations) (Id property in the response).
+ in: path
+ name: locationId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ client_alert:
+ detect_bluetooth_microphone_error_alert: true
+ detect_bluetooth_speaker_error_alert: true
+ detect_camera_error_alert: true
+ detect_microphone_error_alert: true
+ detect_speaker_error_alert: true
+ notification:
+ audio_not_meet_usability_threshold: false
+ battery_low_and_not_charging: false
+ controller_scheduling_disconnected: false
+ cpu_usage_high_detected: false
+ mic_speaker_camera_disconnected: false
+ network_unstable_detected: false
+ sip_registration_failed: false
+ zoom_room_display_disconnected: false
+ zoom_room_offline: false
+ schema:
+ oneOf:
+ - properties:
+ meeting_security:
+ properties:
+ encryption_type:
+ description: |-
+ Specifies whether enhanced encryption or [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) is being used when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ end_to_end_encrypted_meetings:
+ description: Allows use of end-to-end encryption for meetings. If set to `true`, the encryption type is specified in `encryption_type` field.
+ type: boolean
+ type: object
+ zoom_rooms:
+ properties:
+ allow_multiple_content_sharing:
+ description: Enable multiple participants to [share content simultaneously](https://support.zoom.us/hc/en-us/articles/360017767812-Sharing-Multiple-Screens-in-a-Zoom-Room) by default.
+ type: boolean
+ audio_device_daily_auto_test:
+ description: Enable [automated audio test](https://support.zoom.us/hc/en-us/articles/360000319683-Zoom-Rooms-Daily-Audio-Testing) to ensure high quality audio.
+ type: boolean
+ auto_accept_incoming_call_and_fecc:
+ description: |-
+ Automatically accept incoming calls made from other Zoom Rooms or contacts in your account. Enabling this setting will also automatically allow far-end camera control.
+
+ This setting is returned only for location type - "country".
+ type: boolean
+ auto_direct_sharing:
+ description: Enable participants in a Zoom Room to share their laptop screen on the Zoom Room TV without entering a meeting ID or sharing code.
+ type: boolean
+ auto_start_scheduled_meeting:
+ description: Automatically start scheduled meetings according to the start time listed on the calendar associated with the room. A meeting alert will appear 10 minutes prior to the scheduled time on the TV.
+ type: boolean
+ auto_stop_scheduled_meeting:
+ description: "Automatically stop the meeting at the end time as scheduled and listed in the calendar associated with the room. "
+ type: boolean
+ count_attendees_number_in_room:
+ description: |
+ Use facial detection technology to [determine and display the attendees count](https://support.zoom.us/hc/en-us/articles/360031027111-Count-Attendees-in-Zoom-Rooms) after meetings on Dashboard.
+ type: boolean
+ display_feedback_survey:
+ description: Display a [survey](https://support.zoom.us/hc/en-us/articles/214193146-End-of-Meeting-Attendee-Feedback) at the end of each meeting regarding the audio and video quality on the Zoom Rooms Controller.
+ type: boolean
+ display_meeting_list:
+ description: " Show the same information on the TV that is shown on the controller."
+ type: boolean
+ display_top_banner:
+ description: Allow to display room name, time and sharing key on the top portion of TV.
+ type: boolean
+ encrypt_shared_screen_content:
+ description: Encrypt screen and content shared in meetings.
+ type: boolean
+ hide_id_for_private_meeting:
+ description: If enabled, the meeting host and meeting ID (in addition to the meeting topic) are hidden from the Zoom Rooms display for private meetings. This affects meetings that were originally scheduled as private, as well as public meetings that were transformed to private.
+ type: boolean
+ hide_self_view:
+ description: |-
+ If enabled, you will not see your own video but other people in the meeting can still see your video.
+
+ This setting is returned only for location type - "country".
+ type: boolean
+ lock_speaker_volume_control:
+ description: |-
+ Lock speaker volume control on controller.
+
+ This setting is returned only for location type - "country".
+ type: boolean
+ send_whiteboard_to_internal_contact_only:
+ description: Restrict[ sending Whiteboard sessions](https://support.zoom.us/hc/en-us/articles/115004797286-Using-the-Whiteboard-in-Zoom-Rooms-for-Touch#h_781274b3-5237-4320-8826-be2120b00e21) to contacts or internal users only.
+ type: boolean
+ show_alert_before_meeting:
+ description: "If enabled, the upcoming meeting alert message will be shown on the TV display. The value of the `upcoming_meeting_alert` field should be set to `true` to use this field. "
+ type: boolean
+ show_call_history_in_room:
+ description: |
+ Allow users to see call history of joined meetings and phone calls from the Zoom Rooms controller.
+ type: boolean
+ show_contact_list_on_controller:
+ description: If enabled, you can invite participants from the contact list during a meeting or when starting a meeting
+ type: boolean
+ show_non_video_participants:
+ description: When enabled, meeting participants that are audio only or have their video turned off will also be shown on the Zoom Rooms display by default.
+ type: boolean
+ start_airplay_manually:
+ description: Require the AirPlay service to be [started by an administrator](https://support.zoom.us/hc/en-us/articles/204726885-Screen-Share-Using-Airplay-Mirroring#h_a342ad38-4e46-47a8-a1d9-cded3b144b39) rather than always being available.
+ type: boolean
+ start_airplay_mirroring:
+ description: Allow users to share content via Apple Screen Mirroring (called Airplay on iOS 11 or earlier) in Zoom Rooms
+ type: boolean
+ start_hdmi_content_share_manualy:
+ description: |-
+ Disable automatic detection and enable manual content sharing from a device to a Zoom Room. Learn more [here](https://support.zoom.us/hc/en-us/articles/201504265-Wired-HDMI-Screen-Share-via-Capture-Device).
+
+ This setting is returned only for location type - "country".
+ type: boolean
+ support_join_3rd_party_meeting:
+ description: Integrate with Skype for Business, GoToMeeting, or WebEx and show the meeting dial-in button on the meeting list tab for Zoom Rooms Controllers.
+ type: boolean
+ transform_meeting_to_private:
+ description: If enabled, all meetings in this room will be treated as [private meetings](https://support.zoom.us/hc/en-us/articles/115001051063-Zoom-Rooms-Private-Meetings), and the Zoom Room will display "Your Name's Meeting" instead of the real meeting topic.
+ type: boolean
+ upcoming_meeting_alert:
+ description: If enabled, a reminder will display 10 minutes prior to the next scheduled meeting on the controller.
+ type: boolean
+ voice_commands:
+ description: Enable [voice commands](https://support.zoom.us/hc/en-us/articles/115000527983-Voice-Command-with-Zoom-Rooms) with Zoom Rooms.
+ type: boolean
+ weekly_system_restart:
+ description: "[Restart](https://support.zoom.us/hc/en-us/articles/205418949-Zoom-Rooms-Weekly-System-Restart) the Zoom Rooms computer and controller once a week."
+ type: boolean
+ type: object
+ - properties:
+ client_alert:
+ description: "The Client Alert Settings section includes alerts that display on the TV screen of the Zoom Room. Disable these settings if you have deliberately disconnected one or more peripheral devices or have never enabled them. "
+ properties:
+ detect_bluetooth_microphone_error_alert:
+ description: Display an alert message when an issue is detected with a bluetooth microphone.
+ type: boolean
+ detect_bluetooth_speaker_error_alert:
+ description: Display an alert message when an issue is detected with a bluetooth speaker.
+ type: boolean
+ detect_camera_error_alert:
+ description: Display an alert message when an issue is detected with a camera.
+ type: boolean
+ detect_microphone_error_alert:
+ description: Display an alert message when an issue is detected with microphone.
+ type: boolean
+ detect_speaker_error_alert:
+ description: Display an alert message when an issue is detected with a speaker.
+ type: boolean
+ type: object
+ digital_signage:
+ properties:
+ banner:
+ description: Specifies the elements that you want to display in the top banner.
+ properties:
+ banner_room_name:
+ description: Display or hide banner room name.
+ type: boolean
+ banner_sharing_key:
+ description: Display or hide banner sharing key.
+ type: boolean
+ banner_time:
+ description: Display or hide time in the banner.
+ type: boolean
+ type: object
+ display_period:
+ description: Display period object lets you define the number of minutes before or after the scheduled meeting time you would like the content to display.
+ properties:
+ start_displaying_content:
+ description: Start displaying digital signage content after certain duration after the meeting ends. The value of this field indicates the duration in minutes.
+ type: integer
+ stop_displaying_content:
+ description: Stop displaying content {certain_duration} before a meeting is scheduled to begin. The value of this field indicates the duration in minutes.
+ type: integer
+ type: object
+ enable_digital_signage:
+ description: |-
+ [Indicates whether digital signage is on or off,](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_767fbb33-82a8-45a8-8392-a1bfa9687edd).
+ `true`: enable `false`: disable
+ type: boolean
+ layout:
+ description: |-
+ Set the [layout](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_4e25ddf3-8f97-4957-8f8b-99725f940fa7). The value of this field can be either `standard` or `video_content`.
+
+ `standard`: Standard Center
+ `video_content`: Video + Content
+ type: string
+ mute:
+ description: Sound of all contents will be muted if the value of this field is set to `true`.
+ type: boolean
+ play_list:
+ description: Content list.
+ items:
+ properties:
+ action:
+ description: |
+ Specify an action for the content list. The value can be one of the following:
+ `add`: Add another content list.
+ `update`: Update existing content list.
+ `delete`: Delete content list.
+ enum:
+ - add
+ - update
+ - delete
+ type: string
+ contents:
+ items:
+ description: Content list.
+ properties:
+ content_id:
+ description: Content Id.
+ type: string
+ duration:
+ description: Duration for how long the content will be displayed.
+ type: integer
+ id:
+ type: string
+ name:
+ description: Name of the content.
+ type: string
+ order:
+ description: Order of the content in the display.
+ type: integer
+ type: object
+ maxItems: 3
+ type: array
+ end_time:
+ description: Specify the display end time for the content list in GMT.
+ type: string
+ id:
+ description: Unique identifier of the content list. This field is only required if you would like to remove or update the content list.
+ type: string
+ name:
+ description: Name of the content list.
+ type: string
+ start_time:
+ description: Specify the display start time for the content list in GMT.
+ type: string
+ type: object
+ maxItems: 2
+ type: array
+ type: object
+ notification:
+ description: "[Notifications Settings](https://support.zoom.us/hc/en-us/articles/205394099-Zoom-Room-Alerts#h_b430b5f2-5150-4522-9c96-c77f22ab70bc) includes the circumstances in which the room sends an email alert to the support team to notify them of a potentially urgent issue. These issues can affect the operation of the room, but do not display on the TV screen. The email alert is sent to the email address specified in the Notification Email Recipients section. "
+ properties:
+ audio_meet_usability_threshold:
+ description: Send an alert when the audio echo test result meets usability threshold.
+ type: boolean
+ audio_not_meet_usability_threshold:
+ description: Send an alert when the audio echo test result does not meet usability threshold.
+ type: boolean
+ battery_is_charging:
+ description: Send an alert when the battery starts charging.
+ type: boolean
+ battery_low_and_not_charging:
+ description: Send an alert when the battery of the controller or the scheduling display is low (at 20%) and is not being charged.
+ type: boolean
+ battery_percentage:
+ description: Specify a percentage so that an alert is sent when the battery is less than the {battery_percentage} that you specified.
+ type: string
+ controller_scheduling_disconnected:
+ description: Send an alert when the connection to the Controller or Scheduling Display cannot be detected.
+ type: boolean
+ controller_scheduling_reconnected:
+ description: Send an alert when the Controller or Scheduling Display can be detected again.
+ type: boolean
+ cpu_usage_high_detected:
+ description: Send an alert when CPU usage is above 90%.
+ type: boolean
+ mic_speaker_camera_disconnected:
+ description: Send an alert when the mic, speaker or camera is disconnected in the Zoom Room.
+ type: boolean
+ mic_speaker_camera_reconnected:
+ description: Send an alert when the mic, speaker or camera is reconnected.
+ type: boolean
+ network_unstable_detected:
+ description: Send an alert when low bandwidth network is detected
+ type: boolean
+ sip_registration_failed:
+ description: "Send an alert when SIP registration stops working. "
+ type: boolean
+ sip_registration_re_enabled:
+ description: Send an alert after the SIP registration is re-enabled.
+ type: boolean
+ zoom_room_come_back_online:
+ description: Send an alert when the Zoom Room is online after previously being offline.
+ type: boolean
+ zoom_room_display_disconnected:
+ description: Send an alert when the TV display is disconnected
+ type: boolean
+ zoom_room_offline:
+ description: Send an alert when the machine hosting the Zoom Room application has a network issue or cannot connect with the Controller.
+ type: boolean
+ type: object
+ type: object
+ application/xml:
+ schema:
+ oneOf:
+ - properties:
+ meeting_security:
+ properties:
+ encryption_type:
+ description: |-
+ Specifies whether enhanced encryption or [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) is being used when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ end_to_end_encrypted_meetings:
+ description: Allows use of end-to-end encryption for meetings. If set to `true`, the encryption type is specified in `encryption_type` field.
+ type: boolean
+ type: object
+ zoom_rooms:
+ properties:
+ allow_multiple_content_sharing:
+ description: Enable multiple participants to [share content simultaneously](https://support.zoom.us/hc/en-us/articles/360017767812-Sharing-Multiple-Screens-in-a-Zoom-Room) by default.
+ type: boolean
+ audio_device_daily_auto_test:
+ description: Enable [automated audio test](https://support.zoom.us/hc/en-us/articles/360000319683-Zoom-Rooms-Daily-Audio-Testing) to ensure high quality audio.
+ type: boolean
+ auto_accept_incoming_call_and_fecc:
+ description: |-
+ Automatically accept incoming calls made from other Zoom Rooms or contacts in your account. Enabling this setting will also automatically allow far-end camera control.
+
+ This setting is returned only for location type - "country".
+ type: boolean
+ auto_direct_sharing:
+ description: Enable participants in a Zoom Room to share their laptop screen on the Zoom Room TV without entering a meeting ID or sharing code.
+ type: boolean
+ auto_start_scheduled_meeting:
+ description: Automatically start scheduled meetings according to the start time listed on the calendar associated with the room. A meeting alert will appear 10 minutes prior to the scheduled time on the TV.
+ type: boolean
+ auto_stop_scheduled_meeting:
+ description: "Automatically stop the meeting at the end time as scheduled and listed in the calendar associated with the room. "
+ type: boolean
+ count_attendees_number_in_room:
+ description: |
+ Use facial detection technology to [determine and display the attendees count](https://support.zoom.us/hc/en-us/articles/360031027111-Count-Attendees-in-Zoom-Rooms) after meetings on Dashboard.
+ type: boolean
+ display_feedback_survey:
+ description: Display a [survey](https://support.zoom.us/hc/en-us/articles/214193146-End-of-Meeting-Attendee-Feedback) at the end of each meeting regarding the audio and video quality on the Zoom Rooms Controller.
+ type: boolean
+ display_meeting_list:
+ description: " Show the same information on the TV that is shown on the controller."
+ type: boolean
+ display_top_banner:
+ description: Allow to display room name, time and sharing key on the top portion of TV.
+ type: boolean
+ encrypt_shared_screen_content:
+ description: Encrypt screen and content shared in meetings.
+ type: boolean
+ hide_id_for_private_meeting:
+ description: If enabled, the meeting host and meeting ID (in addition to the meeting topic) are hidden from the Zoom Rooms display for private meetings. This affects meetings that were originally scheduled as private, as well as public meetings that were transformed to private.
+ type: boolean
+ hide_self_view:
+ description: |-
+ If enabled, you will not see your own video but other people in the meeting can still see your video.
+
+ This setting is returned only for location type - "country".
+ type: boolean
+ lock_speaker_volume_control:
+ description: |-
+ Lock speaker volume control on controller.
+
+ This setting is returned only for location type - "country".
+ type: boolean
+ send_whiteboard_to_internal_contact_only:
+ description: Restrict[ sending Whiteboard sessions](https://support.zoom.us/hc/en-us/articles/115004797286-Using-the-Whiteboard-in-Zoom-Rooms-for-Touch#h_781274b3-5237-4320-8826-be2120b00e21) to contacts or internal users only.
+ type: boolean
+ show_alert_before_meeting:
+ description: "If enabled, the upcoming meeting alert message will be shown on the TV display. The value of the `upcoming_meeting_alert` field should be set to `true` to use this field. "
+ type: boolean
+ show_call_history_in_room:
+ description: |
+ Allow users to see call history of joined meetings and phone calls from the Zoom Rooms controller.
+ type: boolean
+ show_contact_list_on_controller:
+ description: If enabled, you can invite participants from the contact list during a meeting or when starting a meeting
+ type: boolean
+ show_non_video_participants:
+ description: When enabled, meeting participants that are audio only or have their video turned off will also be shown on the Zoom Rooms display by default.
+ type: boolean
+ start_airplay_manually:
+ description: Require the AirPlay service to be [started by an administrator](https://support.zoom.us/hc/en-us/articles/204726885-Screen-Share-Using-Airplay-Mirroring#h_a342ad38-4e46-47a8-a1d9-cded3b144b39) rather than always being available.
+ type: boolean
+ start_airplay_mirroring:
+ description: Allow users to share content via Apple Screen Mirroring (called Airplay on iOS 11 or earlier) in Zoom Rooms
+ type: boolean
+ start_hdmi_content_share_manualy:
+ description: |-
+ Disable automatic detection and enable manual content sharing from a device to a Zoom Room. Learn more [here](https://support.zoom.us/hc/en-us/articles/201504265-Wired-HDMI-Screen-Share-via-Capture-Device).
+
+ This setting is returned only for location type - "country".
+ type: boolean
+ support_join_3rd_party_meeting:
+ description: Integrate with Skype for Business, GoToMeeting, or WebEx and show the meeting dial-in button on the meeting list tab for Zoom Rooms Controllers.
+ type: boolean
+ transform_meeting_to_private:
+ description: If enabled, all meetings in this room will be treated as [private meetings](https://support.zoom.us/hc/en-us/articles/115001051063-Zoom-Rooms-Private-Meetings), and the Zoom Room will display "Your Name's Meeting" instead of the real meeting topic.
+ type: boolean
+ upcoming_meeting_alert:
+ description: If enabled, a reminder will display 10 minutes prior to the next scheduled meeting on the controller.
+ type: boolean
+ voice_commands:
+ description: Enable [voice commands](https://support.zoom.us/hc/en-us/articles/115000527983-Voice-Command-with-Zoom-Rooms) with Zoom Rooms.
+ type: boolean
+ weekly_system_restart:
+ description: "[Restart](https://support.zoom.us/hc/en-us/articles/205418949-Zoom-Rooms-Weekly-System-Restart) the Zoom Rooms computer and controller once a week."
+ type: boolean
+ type: object
+ - properties:
+ client_alert:
+ description: "The Client Alert Settings section includes alerts that display on the TV screen of the Zoom Room. Disable these settings if you have deliberately disconnected one or more peripheral devices or have never enabled them. "
+ properties:
+ detect_bluetooth_microphone_error_alert:
+ description: Display an alert message when an issue is detected with a bluetooth microphone.
+ type: boolean
+ detect_bluetooth_speaker_error_alert:
+ description: Display an alert message when an issue is detected with a bluetooth speaker.
+ type: boolean
+ detect_camera_error_alert:
+ description: Display an alert message when an issue is detected with a camera.
+ type: boolean
+ detect_microphone_error_alert:
+ description: Display an alert message when an issue is detected with microphone.
+ type: boolean
+ detect_speaker_error_alert:
+ description: Display an alert message when an issue is detected with a speaker.
+ type: boolean
+ type: object
+ digital_signage:
+ properties:
+ banner:
+ description: Specifies the elements that you want to display in the top banner.
+ properties:
+ banner_room_name:
+ description: Display or hide banner room name.
+ type: boolean
+ banner_sharing_key:
+ description: Display or hide banner sharing key.
+ type: boolean
+ banner_time:
+ description: Display or hide time in the banner.
+ type: boolean
+ type: object
+ display_period:
+ description: Display period object lets you define the number of minutes before or after the scheduled meeting time you would like the content to display.
+ properties:
+ start_displaying_content:
+ description: Start displaying digital signage content after certain duration after the meeting ends. The value of this field indicates the duration in minutes.
+ type: integer
+ stop_displaying_content:
+ description: Stop displaying content {certain_duration} before a meeting is scheduled to begin. The value of this field indicates the duration in minutes.
+ type: integer
+ type: object
+ enable_digital_signage:
+ description: |-
+ [Indicates whether digital signage is on or off,](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_767fbb33-82a8-45a8-8392-a1bfa9687edd).
+ `true`: enable `false`: disable
+ type: boolean
+ layout:
+ description: |-
+ Set the [layout](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_4e25ddf3-8f97-4957-8f8b-99725f940fa7). The value of this field can be either `standard` or `video_content`.
+
+ `standard`: Standard Center
+ `video_content`: Video + Content
+ type: string
+ mute:
+ description: Sound of all contents will be muted if the value of this field is set to `true`.
+ type: boolean
+ play_list:
+ description: Content list.
+ items:
+ properties:
+ action:
+ description: |
+ Specify an action for the content list. The value can be one of the following:
+ `add`: Add another content list.
+ `update`: Update existing content list.
+ `delete`: Delete content list.
+ enum:
+ - add
+ - update
+ - delete
+ type: string
+ contents:
+ items:
+ description: Content list.
+ properties:
+ content_id:
+ description: Content Id.
+ type: string
+ duration:
+ description: Duration for how long the content will be displayed.
+ type: integer
+ id:
+ type: string
+ name:
+ description: Name of the content.
+ type: string
+ order:
+ description: Order of the content in the display.
+ type: integer
+ type: object
+ maxItems: 3
+ type: array
+ end_time:
+ description: Specify the display end time for the content list in GMT.
+ type: string
+ id:
+ description: Unique identifier of the content list. This field is only required if you would like to remove or update the content list.
+ type: string
+ name:
+ description: Name of the content list.
+ type: string
+ start_time:
+ description: Specify the display start time for the content list in GMT.
+ type: string
+ type: object
+ maxItems: 2
+ type: array
+ type: object
+ notification:
+ description: "[Notifications Settings](https://support.zoom.us/hc/en-us/articles/205394099-Zoom-Room-Alerts#h_b430b5f2-5150-4522-9c96-c77f22ab70bc) includes the circumstances in which the room sends an email alert to the support team to notify them of a potentially urgent issue. These issues can affect the operation of the room, but do not display on the TV screen. The email alert is sent to the email address specified in the Notification Email Recipients section. "
+ properties:
+ audio_meet_usability_threshold:
+ description: Send an alert when the audio echo test result meets usability threshold.
+ type: boolean
+ audio_not_meet_usability_threshold:
+ description: Send an alert when the audio echo test result does not meet usability threshold.
+ type: boolean
+ battery_is_charging:
+ description: Send an alert when the battery starts charging.
+ type: boolean
+ battery_low_and_not_charging:
+ description: Send an alert when the battery of the controller or the scheduling display is low (at 20%) and is not being charged.
+ type: boolean
+ battery_percentage:
+ description: Specify a percentage so that an alert is sent when the battery is less than the {battery_percentage} that you specified.
+ type: string
+ controller_scheduling_disconnected:
+ description: Send an alert when the connection to the Controller or Scheduling Display cannot be detected.
+ type: boolean
+ controller_scheduling_reconnected:
+ description: Send an alert when the Controller or Scheduling Display can be detected again.
+ type: boolean
+ cpu_usage_high_detected:
+ description: Send an alert when CPU usage is above 90%.
+ type: boolean
+ mic_speaker_camera_disconnected:
+ description: Send an alert when the mic, speaker or camera is disconnected in the Zoom Room.
+ type: boolean
+ mic_speaker_camera_reconnected:
+ description: Send an alert when the mic, speaker or camera is reconnected.
+ type: boolean
+ network_unstable_detected:
+ description: Send an alert when low bandwidth network is detected
+ type: boolean
+ sip_registration_failed:
+ description: "Send an alert when SIP registration stops working. "
+ type: boolean
+ sip_registration_re_enabled:
+ description: Send an alert after the SIP registration is re-enabled.
+ type: boolean
+ zoom_room_come_back_online:
+ description: Send an alert when the Zoom Room is online after previously being offline.
+ type: boolean
+ zoom_room_display_disconnected:
+ description: Send an alert when the TV display is disconnected
+ type: boolean
+ zoom_room_offline:
+ description: Send an alert when the machine hosting the Zoom Room application has a network issue or cannot connect with the Controller.
+ type: boolean
+ type: object
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ Zoom Room location settings returned successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+
+ **Error Code:** `200`
+ Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
+ Access Restricted.
+ "404":
+ description: |+
+ **HTTP Status Code:** `404` **Not Found**
+
+ **Error Code:** `4801`
+ Location not found: {locationId}
+
+ security:
+ - OAuth: []
+ summary: Get location settings
+ tags:
+ - Rooms Location
+ parameters:
+ - in: path
+ name: locationId
+ required: true
+ schema:
+ type: string
+ patch:
+ description: |-
+ Update information on either meeting or alert settings applied to Zoom Rooms located in a specific location. To update **Alert Settings**, specify `alert` as the value of the `setting_type` query parameter. Similarly, to update **Meeting Settings**, specify `meeting` as the value of the `setting_type` query parameter.
+ **Prerequisites:**
+ * Zoom Room licenses
+ * Owner or Admin privileges on the Zoom Account.
+ **Scopes:** `room:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: updateZRLocationSettings
+ parameters:
+ - description: |-
+ The type of setting that you would like to update. `alert`: Alert Settings applied on the Zoom Rooms Account.
+ `meeting`: Meeting settings of the Zoom Rooms Account.
+ `signage`: Digital signage settings.
+ in: query
+ name: setting_type
+ required: true
+ schema:
+ default: meeting
+ type: string
+ - description: Unique identifier of the location type. This can be retrieved using the [List Zoom Room Location API](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations) (Id property in the response).
+ in: path
+ name: locationId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - properties:
+ meeting_security:
+ properties:
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ end_to_end_encrypted_meetings:
+ description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
+ type: boolean
+ type: object
+ zoom_rooms:
+ properties:
+ allow_multiple_content_sharing:
+ description: Enable multiple participants to [share content simultaneously](https://support.zoom.us/hc/en-us/articles/360017767812-Sharing-Multiple-Screens-in-a-Zoom-Room) by default.
+ type: boolean
+ audio_device_daily_auto_test:
+ description: Enable [automated audio test](https://support.zoom.us/hc/en-us/articles/360000319683-Zoom-Rooms-Daily-Audio-Testing) to ensure high quality audio.
+ type: boolean
+ auto_accept_incoming_call_and_fecc:
+ description: |-
+ Automatically accept incoming calls made from other Zoom Rooms or contacts in your account. Enabling this setting will also automatically allow far-end camera control.
+
+ This setting is returned only for location type - "country".
+ type: boolean
+ auto_direct_sharing:
+ description: Enable participants in a Zoom Room to share their laptop screen on the Zoom Room TV without entering a meeting ID or sharing code.
+ type: boolean
+ auto_start_scheduled_meeting:
+ description: Automatically start scheduled meetings according to the start time listed on the calendar associated with the room. A meeting alert will appear 10 minutes prior to the scheduled time on the TV.
+ type: boolean
+ auto_stop_scheduled_meeting:
+ description: "Automatically stop the meeting at the end time as scheduled and listed in the calendar associated with the room. "
+ type: boolean
+ count_attendees_number_in_room:
+ description: |
+ Use facial detection technology to [determine and display the attendees count](https://support.zoom.us/hc/en-us/articles/360031027111-Count-Attendees-in-Zoom-Rooms) after meetings on Dashboard.
+ type: boolean
+ display_feedback_survey:
+ description: Display a [survey](https://support.zoom.us/hc/en-us/articles/214193146-End-of-Meeting-Attendee-Feedback) at the end of each meeting regarding the audio and video quality on the Zoom Rooms Controller.
+ type: boolean
+ display_meeting_list:
+ description: " Show the same information on the TV that is shown on the controller."
+ type: boolean
+ display_top_banner:
+ description: Allow to display room name, time and sharing key on the top portion of TV.
+ type: boolean
+ encrypt_shared_screen_content:
+ description: Encrypt screen and content shared in meetings.
+ type: boolean
+ hide_id_for_private_meeting:
+ description: If enabled, the meeting host and meeting ID (in addition to the meeting topic) are hidden from the Zoom Rooms display for private meetings. This affects meetings that were originally scheduled as private, as well as public meetings that were transformed to private.
+ type: boolean
+ hide_self_view:
+ description: |-
+ If enabled, you will not see your own video but other people in the meeting can still see your video.
+
+ This setting is returned only for location type - "country".
+ type: boolean
+ lock_speaker_volume_control:
+ description: |-
+ Lock speaker volume control on controller.
+
+ This setting is returned only for location type - "country".
+ type: boolean
+ send_whiteboard_to_internal_contact_only:
+ description: Restrict[ sending Whiteboard sessions](https://support.zoom.us/hc/en-us/articles/115004797286-Using-the-Whiteboard-in-Zoom-Rooms-for-Touch#h_781274b3-5237-4320-8826-be2120b00e21) to contacts or internal users only.
+ type: boolean
+ show_alert_before_meeting:
+ description: "If enabled, the upcoming meeting alert message will be shown on the TV display. The value of the `upcoming_meeting_alert` field should be set to `true` to use this field. "
+ type: boolean
+ show_call_history_in_room:
+ description: |
+ Allow users to see call history of joined meetings and phone calls from the Zoom Rooms controller.
+ type: boolean
+ show_contact_list_on_controller:
+ description: If enabled, you can invite participants from the contact list during a meeting or when starting a meeting
+ type: boolean
+ show_non_video_participants:
+ description: When enabled, meeting participants that are audio only or have their video turned off will also be shown on the Zoom Rooms display by default.
+ type: boolean
+ start_airplay_manually:
+ description: Require the AirPlay service to be [started by an administrator](https://support.zoom.us/hc/en-us/articles/204726885-Screen-Share-Using-Airplay-Mirroring#h_a342ad38-4e46-47a8-a1d9-cded3b144b39) rather than always being available.
+ type: boolean
+ start_airplay_mirroring:
+ description: Allow users to share content via Apple Screen Mirroring (called Airplay on iOS 11 or earlier) in Zoom Rooms
+ type: boolean
+ start_hdmi_content_share_manualy:
+ description: |-
+ Disable automatic detection and enable manual content sharing from a device to a Zoom Room. Learn more [here](https://support.zoom.us/hc/en-us/articles/201504265-Wired-HDMI-Screen-Share-via-Capture-Device).
+
+ This setting is returned only for location type - "country".
+ type: boolean
+ support_join_3rd_party_meeting:
+ description: Integrate with Skype for Business, GoToMeeting, or WebEx and show the meeting dial-in button on the meeting list tab for Zoom Rooms Controllers.
+ type: boolean
+ transform_meeting_to_private:
+ description: If enabled, all meetings in this room will be treated as [private meetings](https://support.zoom.us/hc/en-us/articles/115001051063-Zoom-Rooms-Private-Meetings), and the Zoom Room will display "Your Name's Meeting" instead of the real meeting topic.
+ type: boolean
+ upcoming_meeting_alert:
+ description: If enabled, a reminder will display 10 minutes prior to the next scheduled meeting on the controller.
+ type: boolean
+ voice_commands:
+ description: Enable [voice commands](https://support.zoom.us/hc/en-us/articles/115000527983-Voice-Command-with-Zoom-Rooms) with Zoom Rooms.
+ type: boolean
+ weekly_system_restart:
+ description: "[Restart](https://support.zoom.us/hc/en-us/articles/205418949-Zoom-Rooms-Weekly-System-Restart) the Zoom Rooms computer and controller once a week."
+ type: boolean
+ type: object
+ - properties:
+ client_alert:
+ description: "The Client Alert Settings section includes alerts that display on the TV screen of the Zoom Room. Disable these settings if you have deliberately disconnected one or more peripheral devices or have never enabled them. "
+ properties:
+ detect_bluetooth_microphone_error_alert:
+ description: Display an alert message when an issue is detected with a bluetooth microphone.
+ type: boolean
+ detect_bluetooth_speaker_error_alert:
+ description: Display an alert message when an issue is detected with a bluetooth speaker.
+ type: boolean
+ detect_camera_error_alert:
+ description: Display an alert message when an issue is detected with a camera.
+ type: boolean
+ detect_microphone_error_alert:
+ description: Display an alert message when an issue is detected with microphone.
+ type: boolean
+ detect_speaker_error_alert:
+ description: Display an alert message when an issue is detected with a speaker.
+ type: boolean
+ type: object
+ digital_signage:
+ properties:
+ banner:
+ properties:
+ banner_room_name:
+ type: boolean
+ banner_sharing_key:
+ type: boolean
+ banner_time:
+ type: boolean
+ type: object
+ display_period:
+ description: Display period object lets you define the number of minutes before or after the scheduled meeting time you would like the content to display.
+ properties:
+ start_displaying_content:
+ description: Start displaying digital signage content after certain duration after the meeting ends. Specify the value of the duration in minutes in this field.
+ type: integer
+ stop_displaying_content:
+ description: Stop displaying content {certain_duration} before a meeting is scheduled to begin. Specify the value of duration in minutes in this field.
+ type: integer
+ type: object
+ enable_digital_signage:
+ description: |-
+ [Enable or disable digital signage](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_767fbb33-82a8-45a8-8392-a1bfa9687edd).
+ `true`: enable `false`: disable
+ type: boolean
+ layout:
+ description: |-
+ Set the [layout](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_4e25ddf3-8f97-4957-8f8b-99725f940fa7). The value of this field can be either `standard` or `video_content`.
+
+ `standard`: Standard Center
+ `video_content`: Video + Content
+ type: string
+ mute:
+ description: Sound of all contents will be muted if the value of this field is set to `true`.
+ type: boolean
+ play_list:
+ description: Content list.
+ items:
+ properties:
+ action:
+ description: |
+ Specify an action for the content list. The value can be one of the following:
+ `add`: Add another content list.
+ `update`: Update existing content list.
+ `delete`: Delete content list.
+ enum:
+ - add
+ - update
+ - delete
+ type: string
+ contents:
+ items:
+ description: Content list.
+ properties:
+ action:
+ description: |+
+ Specify an action for the content in the content list. The value can be one of the following:
+ `add`: Add another content to the content list.
+ `update`: Update existing content's information in the content list.
+ `delete`: Delete content from the content list.
+
+ type: string
+ content_id:
+ description: Content Id.
+ type: string
+ duration:
+ description: By default each content is display for 5 seconds. Using this field, specify how long you would like to display the content.
+ type: integer
+ id:
+ description: Unique identifier of the content. This field is only required if you would like to remove or update the content information.
+ type: string
+ name:
+ description: Name of the content.
+ type: string
+ order:
+ description: Order of the content in the display.
+ type: integer
+ type: object
+ maxItems: 3
+ type: array
+ end_time:
+ description: Specify the display end time for the content list in GMT.
+ type: string
+ id:
+ description: Unique identifier of the content list. This field is only required if you would like to remove or update the content list.
+ type: string
+ name:
+ description: Name of the content list.
+ type: string
+ start_time:
+ description: Specify the display start time for the content list in GMT.
+ type: string
+ type: object
+ maxItems: 2
+ type: array
+ type: object
+ notification:
+ description: "[Notifications Settings](https://support.zoom.us/hc/en-us/articles/205394099-Zoom-Room-Alerts#h_b430b5f2-5150-4522-9c96-c77f22ab70bc) includes the circumstances in which the room sends an email alert to the support team to notify them of a potentially urgent issue. These issues can affect the operation of the room, but do not display on the TV screen. The email alert is sent to the email address specified in the Notification Email Recipients section. "
+ properties:
+ audio_meet_usability_threshold:
+ description: Send an alert when the audio echo test result meets usability threshold.
+ type: boolean
+ audio_not_meet_usability_threshold:
+ description: Send an alert when the audio echo test result does not meet usability threshold.
+ type: boolean
+ battery_is_charging:
+ description: Send an alert when the battery starts charging.
+ type: boolean
+ battery_low_and_not_charging:
+ description: Send an alert when the battery of the controller or the scheduling display is low (at 20%) and is not being charged.
+ type: boolean
+ battery_percentage:
+ description: Specify a percentage so that an alert is sent when the battery is less than the {battery_percentage} that you specified.
+ type: string
+ controller_scheduling_disconnected:
+ description: Send an alert when the connection to the Controller or Scheduling Display cannot be detected.
+ type: boolean
+ controller_scheduling_reconnected:
+ description: Send an alert when the Controller or Scheduling Display can be detected again.
+ type: boolean
+ cpu_usage_high_detected:
+ description: Send an alert when CPU usage is above 90%.
+ type: boolean
+ mic_speaker_camera_disconnected:
+ description: Send an alert when the mic, speaker or camera is disconnected in the Zoom Room.
+ type: boolean
+ mic_speaker_camera_reconnected:
+ description: Send an alert when the mic, speaker or camera is reconnected.
+ type: boolean
+ network_unstable_detected:
+ description: Send an alert when low bandwidth network is detected
+ type: boolean
+ sip_registration_failed:
+ description: "Send an alert when SIP registration stops working. "
+ type: boolean
+ sip_registration_re_enabled:
+ description: Send an alert after the SIP registration is re-enabled.
+ type: boolean
+ zoom_room_come_back_online:
+ description: Send an alert when the Zoom Room is online after previously being offline.
+ type: boolean
+ zoom_room_display_disconnected:
+ description: Send an alert when the TV display is disconnected
+ type: boolean
+ zoom_room_offline:
+ description: Send an alert when the machine hosting the Zoom Room application has a network issue or cannot connect with the Controller.
+ type: boolean
+ type: object
+ type: object
+ multipart/form-data:
+ schema:
+ oneOf:
+ - properties:
+ meeting_security:
+ properties:
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ end_to_end_encrypted_meetings:
+ description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
+ type: boolean
+ type: object
+ zoom_rooms:
+ properties:
+ allow_multiple_content_sharing:
+ description: Enable multiple participants to [share content simultaneously](https://support.zoom.us/hc/en-us/articles/360017767812-Sharing-Multiple-Screens-in-a-Zoom-Room) by default.
+ type: boolean
+ audio_device_daily_auto_test:
+ description: Enable [automated audio test](https://support.zoom.us/hc/en-us/articles/360000319683-Zoom-Rooms-Daily-Audio-Testing) to ensure high quality audio.
+ type: boolean
+ auto_accept_incoming_call_and_fecc:
+ description: |-
+ Automatically accept incoming calls made from other Zoom Rooms or contacts in your account. Enabling this setting will also automatically allow far-end camera control.
+
+ This setting is returned only for location type - "country".
+ type: boolean
+ auto_direct_sharing:
+ description: Enable participants in a Zoom Room to share their laptop screen on the Zoom Room TV without entering a meeting ID or sharing code.
+ type: boolean
+ auto_start_scheduled_meeting:
+ description: Automatically start scheduled meetings according to the start time listed on the calendar associated with the room. A meeting alert will appear 10 minutes prior to the scheduled time on the TV.
+ type: boolean
+ auto_stop_scheduled_meeting:
+ description: "Automatically stop the meeting at the end time as scheduled and listed in the calendar associated with the room. "
+ type: boolean
+ count_attendees_number_in_room:
+ description: |
+ Use facial detection technology to [determine and display the attendees count](https://support.zoom.us/hc/en-us/articles/360031027111-Count-Attendees-in-Zoom-Rooms) after meetings on Dashboard.
+ type: boolean
+ display_feedback_survey:
+ description: Display a [survey](https://support.zoom.us/hc/en-us/articles/214193146-End-of-Meeting-Attendee-Feedback) at the end of each meeting regarding the audio and video quality on the Zoom Rooms Controller.
+ type: boolean
+ display_meeting_list:
+ description: " Show the same information on the TV that is shown on the controller."
+ type: boolean
+ display_top_banner:
+ description: Allow to display room name, time and sharing key on the top portion of TV.
+ type: boolean
+ encrypt_shared_screen_content:
+ description: Encrypt screen and content shared in meetings.
+ type: boolean
+ hide_id_for_private_meeting:
+ description: If enabled, the meeting host and meeting ID (in addition to the meeting topic) are hidden from the Zoom Rooms display for private meetings. This affects meetings that were originally scheduled as private, as well as public meetings that were transformed to private.
+ type: boolean
+ hide_self_view:
+ description: |-
+ If enabled, you will not see your own video but other people in the meeting can still see your video.
+
+ This setting is returned only for location type - "country".
+ type: boolean
+ lock_speaker_volume_control:
+ description: |-
+ Lock speaker volume control on controller.
+
+ This setting is returned only for location type - "country".
+ type: boolean
+ send_whiteboard_to_internal_contact_only:
+ description: Restrict[ sending Whiteboard sessions](https://support.zoom.us/hc/en-us/articles/115004797286-Using-the-Whiteboard-in-Zoom-Rooms-for-Touch#h_781274b3-5237-4320-8826-be2120b00e21) to contacts or internal users only.
+ type: boolean
+ show_alert_before_meeting:
+ description: "If enabled, the upcoming meeting alert message will be shown on the TV display. The value of the `upcoming_meeting_alert` field should be set to `true` to use this field. "
+ type: boolean
+ show_call_history_in_room:
+ description: |
+ Allow users to see call history of joined meetings and phone calls from the Zoom Rooms controller.
+ type: boolean
+ show_contact_list_on_controller:
+ description: If enabled, you can invite participants from the contact list during a meeting or when starting a meeting
+ type: boolean
+ show_non_video_participants:
+ description: When enabled, meeting participants that are audio only or have their video turned off will also be shown on the Zoom Rooms display by default.
+ type: boolean
+ start_airplay_manually:
+ description: Require the AirPlay service to be [started by an administrator](https://support.zoom.us/hc/en-us/articles/204726885-Screen-Share-Using-Airplay-Mirroring#h_a342ad38-4e46-47a8-a1d9-cded3b144b39) rather than always being available.
+ type: boolean
+ start_airplay_mirroring:
+ description: Allow users to share content via Apple Screen Mirroring (called Airplay on iOS 11 or earlier) in Zoom Rooms
+ type: boolean
+ start_hdmi_content_share_manualy:
+ description: |-
+ Disable automatic detection and enable manual content sharing from a device to a Zoom Room. Learn more [here](https://support.zoom.us/hc/en-us/articles/201504265-Wired-HDMI-Screen-Share-via-Capture-Device).
+
+ This setting is returned only for location type - "country".
+ type: boolean
+ support_join_3rd_party_meeting:
+ description: Integrate with Skype for Business, GoToMeeting, or WebEx and show the meeting dial-in button on the meeting list tab for Zoom Rooms Controllers.
+ type: boolean
+ transform_meeting_to_private:
+ description: If enabled, all meetings in this room will be treated as [private meetings](https://support.zoom.us/hc/en-us/articles/115001051063-Zoom-Rooms-Private-Meetings), and the Zoom Room will display "Your Name's Meeting" instead of the real meeting topic.
+ type: boolean
+ upcoming_meeting_alert:
+ description: If enabled, a reminder will display 10 minutes prior to the next scheduled meeting on the controller.
+ type: boolean
+ voice_commands:
+ description: Enable [voice commands](https://support.zoom.us/hc/en-us/articles/115000527983-Voice-Command-with-Zoom-Rooms) with Zoom Rooms.
+ type: boolean
+ weekly_system_restart:
+ description: "[Restart](https://support.zoom.us/hc/en-us/articles/205418949-Zoom-Rooms-Weekly-System-Restart) the Zoom Rooms computer and controller once a week."
+ type: boolean
+ type: object
+ - properties:
+ client_alert:
+ description: "The Client Alert Settings section includes alerts that display on the TV screen of the Zoom Room. Disable these settings if you have deliberately disconnected one or more peripheral devices or have never enabled them. "
+ properties:
+ detect_bluetooth_microphone_error_alert:
+ description: Display an alert message when an issue is detected with a bluetooth microphone.
+ type: boolean
+ detect_bluetooth_speaker_error_alert:
+ description: Display an alert message when an issue is detected with a bluetooth speaker.
+ type: boolean
+ detect_camera_error_alert:
+ description: Display an alert message when an issue is detected with a camera.
+ type: boolean
+ detect_microphone_error_alert:
+ description: Display an alert message when an issue is detected with microphone.
+ type: boolean
+ detect_speaker_error_alert:
+ description: Display an alert message when an issue is detected with a speaker.
+ type: boolean
+ type: object
+ digital_signage:
+ properties:
+ banner:
+ properties:
+ banner_room_name:
+ type: boolean
+ banner_sharing_key:
+ type: boolean
+ banner_time:
+ type: boolean
+ type: object
+ display_period:
+ description: Display period object lets you define the number of minutes before or after the scheduled meeting time you would like the content to display.
+ properties:
+ start_displaying_content:
+ description: Start displaying digital signage content after certain duration after the meeting ends. Specify the value of the duration in minutes in this field.
+ type: integer
+ stop_displaying_content:
+ description: Stop displaying content {certain_duration} before a meeting is scheduled to begin. Specify the value of duration in minutes in this field.
+ type: integer
+ type: object
+ enable_digital_signage:
+ description: |-
+ [Enable or disable digital signage](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_767fbb33-82a8-45a8-8392-a1bfa9687edd).
+ `true`: enable `false`: disable
+ type: boolean
+ layout:
+ description: |-
+ Set the [layout](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_4e25ddf3-8f97-4957-8f8b-99725f940fa7). The value of this field can be either `standard` or `video_content`.
+
+ `standard`: Standard Center
+ `video_content`: Video + Content
+ type: string
+ mute:
+ description: Sound of all contents will be muted if the value of this field is set to `true`.
+ type: boolean
+ play_list:
+ description: Content list.
+ items:
+ properties:
+ action:
+ description: |
+ Specify an action for the content list. The value can be one of the following:
+ `add`: Add another content list.
+ `update`: Update existing content list.
+ `delete`: Delete content list.
+ enum:
+ - add
+ - update
+ - delete
+ type: string
+ contents:
+ items:
+ description: Content list.
+ properties:
+ action:
+ description: |+
+ Specify an action for the content in the content list. The value can be one of the following:
+ `add`: Add another content to the content list.
+ `update`: Update existing content's information in the content list.
+ `delete`: Delete content from the content list.
+
+ type: string
+ content_id:
+ description: Content Id.
+ type: string
+ duration:
+ description: By default each content is display for 5 seconds. Using this field, specify how long you would like to display the content.
+ type: integer
+ id:
+ description: Unique identifier of the content. This field is only required if you would like to remove or update the content information.
+ type: string
+ name:
+ description: Name of the content.
+ type: string
+ order:
+ description: Order of the content in the display.
+ type: integer
+ type: object
+ maxItems: 3
+ type: array
+ end_time:
+ description: Specify the display end time for the content list in GMT.
+ type: string
+ id:
+ description: Unique identifier of the content list. This field is only required if you would like to remove or update the content list.
+ type: string
+ name:
+ description: Name of the content list.
+ type: string
+ start_time:
+ description: Specify the display start time for the content list in GMT.
+ type: string
+ type: object
+ maxItems: 2
+ type: array
+ type: object
+ notification:
+ description: "[Notifications Settings](https://support.zoom.us/hc/en-us/articles/205394099-Zoom-Room-Alerts#h_b430b5f2-5150-4522-9c96-c77f22ab70bc) includes the circumstances in which the room sends an email alert to the support team to notify them of a potentially urgent issue. These issues can affect the operation of the room, but do not display on the TV screen. The email alert is sent to the email address specified in the Notification Email Recipients section. "
+ properties:
+ audio_meet_usability_threshold:
+ description: Send an alert when the audio echo test result meets usability threshold.
+ type: boolean
+ audio_not_meet_usability_threshold:
+ description: Send an alert when the audio echo test result does not meet usability threshold.
+ type: boolean
+ battery_is_charging:
+ description: Send an alert when the battery starts charging.
+ type: boolean
+ battery_low_and_not_charging:
+ description: Send an alert when the battery of the controller or the scheduling display is low (at 20%) and is not being charged.
+ type: boolean
+ battery_percentage:
+ description: Specify a percentage so that an alert is sent when the battery is less than the {battery_percentage} that you specified.
+ type: string
+ controller_scheduling_disconnected:
+ description: Send an alert when the connection to the Controller or Scheduling Display cannot be detected.
+ type: boolean
+ controller_scheduling_reconnected:
+ description: Send an alert when the Controller or Scheduling Display can be detected again.
+ type: boolean
+ cpu_usage_high_detected:
+ description: Send an alert when CPU usage is above 90%.
+ type: boolean
+ mic_speaker_camera_disconnected:
+ description: Send an alert when the mic, speaker or camera is disconnected in the Zoom Room.
+ type: boolean
+ mic_speaker_camera_reconnected:
+ description: Send an alert when the mic, speaker or camera is reconnected.
+ type: boolean
+ network_unstable_detected:
+ description: Send an alert when low bandwidth network is detected
+ type: boolean
+ sip_registration_failed:
+ description: "Send an alert when SIP registration stops working. "
+ type: boolean
+ sip_registration_re_enabled:
+ description: Send an alert after the SIP registration is re-enabled.
+ type: boolean
+ zoom_room_come_back_online:
+ description: Send an alert when the Zoom Room is online after previously being offline.
+ type: boolean
+ zoom_room_display_disconnected:
+ description: Send an alert when the TV display is disconnected
+ type: boolean
+ zoom_room_offline:
+ description: Send an alert when the machine hosting the Zoom Room application has a network issue or cannot connect with the Controller.
+ type: boolean
+ type: object
+ type: object
+ x-examples:
+ application/json:
+ client_alert:
+ detect_bluetooth_microphone_error_alert: false
+ detect_bluetooth_speaker_error_alert: false
+ detect_camera_error_alert: true
+ detect_microphone_error_alert: false
+ detect_speaker_error_alert: true
+ notification:
+ audio_meet_usability_threshold: false
+ audio_not_meet_usability_threshold: false
+ battery_is_charging: false
+ battery_low_and_not_charging: true
+ battery_percentage: in ut incididunt velit
+ controller_scheduling_disconnected: false
+ controller_scheduling_reconnected: false
+ cpu_usage_high_detected: false
+ mic_speaker_camera_disconnected: true
+ mic_speaker_camera_reconnected: false
+ network_unstable_detected: true
+ sip_registration_failed: false
+ sip_registration_re_enabled: true
+ zoom_room_come_back_online: true
+ zoom_room_display_disconnected: false
+ zoom_room_offline: false
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Location settings updated successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `200`
+ Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
+ Access restricted.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `4801`
+ Location not found: {locationId}
+ security:
+ - OAuth: []
+ summary: Update location settings
+ tags:
+ - Rooms Location
+ "/rooms/{id}/events":
+ parameters:
+ - in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ patch:
+ description: |-
+ The Zoom Rooms check-in feature helps maximize your room utilization. Use this API to either **check in** and confirm that you are utilizing the room reservation or to **check out** of the room so that the room gets released from the scheduled meeting and will be made available for others to use. Learn more from the [Using the Zoom Rooms check-in feature](https://support.zoom.us/hc/en-us/articles/360001147163-Using-the-Zoom-Rooms-check-in-feature) guide.
+
+ **Prerequisites:**
+ * [Zoom Rooms](https://support.zoom.us/hc/en-us/articles/207483343-Getting-started-with-Zoom-Rooms#:~:text=Zoom%20Rooms%20is%20a%20software,or%20from%20their%20mobile%20device) must have been set up for use for the account and must be online.
+ * You must have access to the Calendar Integration APIs (either Microsoft Exchange or Google Calendar APIs) to get calendar information associated with the Room.
+
+ **Scope:** `room:write:admin`
+ operationId: checkInRooms
+ parameters:
+ - description: Room ID
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ method:
+ description: |-
+ The value of this field can be one of the following:
+ * zoomroom.check_in
+ * zoomroom.check_out
+ type: string
+ params:
+ properties:
+ calendar_id:
+ description: "This field is only required if Google Calendar is being used for the event associated with the Zoom Room. The value for this field can be retrieved by calling Google's [CalendarList:list API](https://developers.google.com/calendar/v3/reference/events/list) and referring to the \"id\" field included in the [calendarList resource](https://developers.google.com/calendar/v3/reference/calendarList#resource).
+
+
+ \ "
+ type: string
+ change_key:
+ description: This field is required only for Microsoft Exchange or Office 365 calendar. The change key represents the specific version of the calendar item and can be retrieved by using Microsoft's [FindItem Operation](https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/finditem-operation) and referring to the ChangeKey field of the ItemId Element included in the operation response.
+ type: string
+ event_id:
+ description: |+
+ Unique Identifier of the calendar event associated with the Zoom Room.
If the calendar integration being used is Microsoft Exchange, the value for this field can be retrieved by using Microsoft's [FindItem Operation](https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/finditem-operation) and referring to the Id field of the ItemId Element included in the operation response.
If the Google calendar integration was used for this event, the event_id can be retrieved by calling Google's [Events:list API](https://developers.google.com/calendar/v3/reference/events/list) and referring to the "id" field included in the [events resource](https://developers.google.com/calendar/v3/reference/events#resource).
+
+ type: string
+ resource_email:
+ description: This field is only required for Microsoft Exchange / Office 365 Calendar. It is the [resource mailbox](https://support.microsoft.com/en-us/help/10063/creating-and-managing-resource-mailboxes-in-office-365) associated with the calendar.
+ format: email
+ type: string
+ required:
+ - event_id
+ type: object
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ method:
+ description: |-
+ The value of this field can be one of the following:
+ * zoomroom.check_in
+ * zoomroom.check_out
+ type: string
+ params:
+ properties:
+ calendar_id:
+ description: "This field is only required if Google Calendar is being used for the event associated with the Zoom Room. The value for this field can be retrieved by calling Google's [CalendarList:list API](https://developers.google.com/calendar/v3/reference/events/list) and referring to the \"id\" field included in the [calendarList resource](https://developers.google.com/calendar/v3/reference/calendarList#resource).
+
+
+ \ "
+ type: string
+ change_key:
+ description: This field is required only for Microsoft Exchange or Office 365 calendar. The change key represents the specific version of the calendar item and can be retrieved by using Microsoft's [FindItem Operation](https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/finditem-operation) and referring to the ChangeKey field of the ItemId Element included in the operation response.
+ type: string
+ event_id:
+ description: |+
+ Unique Identifier of the calendar event associated with the Zoom Room.
If the calendar integration being used is Microsoft Exchange, the value for this field can be retrieved by using Microsoft's [FindItem Operation](https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/finditem-operation) and referring to the Id field of the ItemId Element included in the operation response.
If the Google calendar integration was used for this event, the event_id can be retrieved by calling Google's [Events:list API](https://developers.google.com/calendar/v3/reference/events/list) and referring to the "id" field included in the [events resource](https://developers.google.com/calendar/v3/reference/events#resource).
+
+ type: string
+ resource_email:
+ description: This field is only required for Microsoft Exchange / Office 365 Calendar. It is the [resource mailbox](https://support.microsoft.com/en-us/help/10063/creating-and-managing-resource-mailboxes-in-office-365) associated with the calendar.
+ format: email
+ type: string
+ required:
+ - event_id
+ type: object
+ type: object
+ x-examples:
+ application/json:
+ method: zoomroom.check_in
+ params:
+ change_key: DwAbbb/dsuyfwwyu90AE2XqVw
+ event_id: AAMdxghjkdfkdsd7hgfsjdfjkkjgdjksdjdsdddddg6886AA=
+ resource_email: public.test@somedomainhere1234.com
+ responses:
+ "202":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `202` **Accepted**
+ Request processed successfully.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300`
+ * Zoom Room is offline. Please ensure that the Zoom Room is online before checking in or checking out.
+ * Invalid parameters.
+
+
+ "404":
+ description: |+
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1012`
+ Room does not exist: {roomId}.
+
+
+ summary: Check-in or check-out of a Zoom Room
+ tags:
+ - Rooms
+ "/rooms/{roomId}":
+ delete:
+ description: |-
+ [Remove](https://support.zoom.us/hc/en-us/articles/360033432032-Zoom-Room-Device-Profiles#h_e55b2092-c418-4b02-819f-44de51448900) a specific Zoom Room profile from a Zoom account.
+ **Error Code:** `200`
+ Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
+ Access restricted.
+
+
+
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1012`
+ Room not found:{roomId}
+ security:
+ - OAuth: []
+ summary: Delete a Zoom Room
+ tags:
+ - Rooms
+ get:
+ description: |-
+
+ Zoom Rooms is a software-based room system that provides an integrated experience for audio conferencing, wireless screen sharing and video conferencing. Use this API to get detailed information on a specific Zoom Room in a Zoom account.
+
+ **Prerequisites:**
+ * Pro or a higher plan with [Zoom Room](https://zoom.us/zoomrooms) license.
+ **Scopes**: `room:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: getZRProfile
+ parameters:
+ - description: Unique Identifier of the Zoom Room. This can be retrieved from the response of [List Zoom Rooms](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms/listzoomrooms) API.
+ in: path
+ name: roomId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ basic:
+ activation_code: "12345"
+ hide_room_in_contacts: false
+ name: MytestbRoom
+ required_code_to_ext: true
+ room_passcode: "1234"
+ support_email: abcdfdjorjggr@gh.123
+ support_phone: "00001111"
+ schema:
+ properties:
+ basic:
+ properties:
+ activation_code:
+ description: Activation Code is the code that is used to complete the setup of the Zoom Room.
+ type: string
+ hide_room_in_contacts:
+ description: "Hide this Zoom Room from your Contact List. "
+ type: boolean
+ name:
+ description: Name of the Zoom Room.
+ type: string
+ required_code_to_ext:
+ description: |
+ Require code to exit out of Zoom Rooms application to switch between other apps.
+ type: boolean
+ room_passcode:
+ description: 1-16 digit number or characters that is used to secure your Zoom Rooms application. This code must be entered on your Zoom Room Controller to change settings or sign out.
+ maxLength: 16
+ minLength: 1
+ type: string
+ support_email:
+ description: The email address to be used for reporting Zoom Room issues.
+ format: email
+ type: string
+ support_phone:
+ description: |
+ The phone number to be used for reporting Zoom Room issues.
+ type: string
+ type: object
+ type: object
+ application/xml:
+ schema:
+ properties:
+ basic:
+ properties:
+ activation_code:
+ description: Activation Code is the code that is used to complete the setup of the Zoom Room.
+ type: string
+ hide_room_in_contacts:
+ description: "Hide this Zoom Room from your Contact List. "
+ type: boolean
+ name:
+ description: Name of the Zoom Room.
+ type: string
+ required_code_to_ext:
+ description: |
+ Require code to exit out of Zoom Rooms application to switch between other apps.
+ type: boolean
+ room_passcode:
+ description: 1-16 digit number or characters that is used to secure your Zoom Rooms application. This code must be entered on your Zoom Room Controller to change settings or sign out.
+ maxLength: 16
+ minLength: 1
+ type: string
+ support_email:
+ description: The email address to be used for reporting Zoom Room issues.
+ format: email
+ type: string
+ support_phone:
+ description: |
+ The phone number to be used for reporting Zoom Room issues.
+ type: string
+ type: object
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ Zoom Room profile returned successfully.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+
+ **Error Code:** `200`
+ * Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
+ * Access restricted.
+
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+
+ **Error Code:** `1012`
+ Room not found:{roomId}.
+ security:
+ - OAuth: []
+ summary: Get Zoom Room profile
+ tags:
+ - Rooms
+ parameters:
+ - in: path
+ name: roomId
+ required: true
+ schema:
+ type: string
+ patch:
+ description: |-
+ Update basic information on a specific Zoom Room in a Zoom account.
+
+ **Prerequisites:**
+ * Pro or a higher plan with [Zoom Room](https://zoom.us/zoomrooms) license.
+ **Scopes**: `room:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: updateRoomProfile
+ parameters:
+ - description: Unique Identifier of a Zoom Room.
+ in: path
+ name: roomId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ basic:
+ properties:
+ hide_room_in_contacts:
+ description: "Hide this Zoom Room from your Contact List. "
+ type: boolean
+ name:
+ description: Name of the Zoom Room.
+ type: string
+ required_code_to_ext:
+ description: |
+ Require code to exit out of Zoom Rooms application to switch between other apps.
+ type: boolean
+ room_passcode:
+ description: 1-16 digit number or characters that is used to secure your Zoom Rooms application. This code must be entered on your Zoom Room Controller to change settings or sign out.
+ maxLength: 16
+ minLength: 1
+ type: string
+ support_email:
+ description: The email address to be used for reporting Zoom Room issues.
+ format: email
+ type: string
+ support_phone:
+ description: |
+ The phone number to be used for reporting Zoom Room issues.
+ type: string
+ type: object
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ basic:
+ properties:
+ hide_room_in_contacts:
+ description: "Hide this Zoom Room from your Contact List. "
+ type: boolean
+ name:
+ description: Name of the Zoom Room.
+ type: string
+ required_code_to_ext:
+ description: |
+ Require code to exit out of Zoom Rooms application to switch between other apps.
+ type: boolean
+ room_passcode:
+ description: 1-16 digit number or characters that is used to secure your Zoom Rooms application. This code must be entered on your Zoom Room Controller to change settings or sign out.
+ maxLength: 16
+ minLength: 1
+ type: string
+ support_email:
+ description: The email address to be used for reporting Zoom Room issues.
+ format: email
+ type: string
+ support_phone:
+ description: |
+ The phone number to be used for reporting Zoom Room issues.
+ type: string
+ type: object
+ type: object
+ x-examples:
+ application/json:
+ basic:
+ hide_room_in_contacts: true
+ name: MytestZRoom
+ required_code_to_ext: true
+ room_passcode: "232434"
+ support_email: abcjggr@gh.123
+ support_phone: "00001111"
+ responses:
+ "204":
+ content:
+ application/json:
+ schema:
+ properties: {}
+ type: object
+ application/xml:
+ schema:
+ properties: {}
+ type: object
+ description: |
+ **HTTP Status Code:** `204` **No Content**
+ Room Profile information updated successfully.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `200`
+ Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
+ Access restricted.
+ **Error Code:** `1012`
+ Room not found:{roomId}
+ security:
+ - OAuth: []
+ summary: Update a Zoom Room profile
+ tags:
+ - Rooms
+ "/rooms/{roomId}/devices":
+ get:
+ description: |-
+ List information about the devices that are being used for a specific [Zoom Room](https://support.zoom.us/hc/en-us/articles/207483343-Getting-Started-with-Zoom-Rooms) in an account.
+
+ **Prerequisites:**
+ * Pro or a higher plan with [Zoom Room](https://zoom.us/zoomrooms) license.
+ * Account owner or admin permissions.
+ **Scopes**: `room:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: listZRDevices
+ parameters:
+ - description: Unique Identifier of the Zoom Room. This can be retrieved from the response of [List Zoom Rooms](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms/listzoomrooms) API.
+ in: path
+ name: roomId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ devices:
+ - app_version: 4.4.1 (1242.0623)
+ device_system: Win 10
+ device_type: Zoom Rooms Computer
+ id: sajhdfshf24324
+ room_name: MyAwesomeZoomRoom
+ status: Online
+ - app_version: 4.3.6 (265.0307)
+ device_system: iPad 12.3.1
+ device_type: Zoom Rooms Controller
+ id: 32dhgdfg2were
+ room_name: MyAwesomeZoomRoom
+ status: Online
+ schema:
+ properties:
+ devices:
+ items:
+ properties:
+ app_version:
+ description: App version of Zoom Rooms.
+ type: string
+ device_system:
+ description: Operating system of the device.
+ type: string
+ device_type:
+ description: Type of the device. The value of this field can be one of the following: `Zoom Rooms Computer`, `Controller`, `Scheduling Display`, `Zoom Rooms Control System`, `Companion Whiteboard`
+ enum:
+ - Zoom Rooms Computer
+ - Controller
+ - Scheduling Display
+ - Zoom Rooms Control System
+ - Companion Whiteboard
+ type: string
+ id:
+ description: Unique identifier of the device.
+ type: string
+ room_name:
+ description: Name of the Zoom Room.
+ type: string
+ status:
+ description: Status of the device. The value can be either `Online` or `Offline`.
+ enum:
+ - Online
+ - Offline
+ type: string
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ properties:
+ devices:
+ items:
+ properties:
+ app_version:
+ description: App version of Zoom Rooms.
+ type: string
+ device_system:
+ description: Operating system of the device.
+ type: string
+ device_type:
+ description: Type of the device. The value of this field can be one of the following: `Zoom Rooms Computer`, `Controller`, `Scheduling Display`, `Zoom Rooms Control System`, `Companion Whiteboard`
+ enum:
+ - Zoom Rooms Computer
+ - Controller
+ - Scheduling Display
+ - Zoom Rooms Control System
+ - Companion Whiteboard
+ type: string
+ id:
+ description: Unique identifier of the device.
+ type: string
+ room_name:
+ description: Name of the Zoom Room.
+ type: string
+ status:
+ description: Status of the device. The value can be either `Online` or `Offline`.
+ enum:
+ - Online
+ - Offline
+ type: string
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ Devices listed successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+
+ **Error Code:** `200`
+ Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
+ security:
+ - OAuth: []
+ summary: List Zoom Room devices
+ tags:
+ - Rooms
+ parameters:
+ - in: path
+ name: roomId
+ required: true
+ schema:
+ type: string
+ "/rooms/{roomId}/devices/{deviceId}/app_version":
+ parameters:
+ - in: path
+ name: roomId
+ required: true
+ schema:
+ type: string
+ - in: path
+ name: deviceId
+ required: true
+ schema:
+ type: string
+ put:
+ description: |-
+ [Upgrade](https://support.zoom.us/hc/en-us/articles/204675449-Upgrade-or-Downgrade-Zoom-Rooms-Software#h_1751c48a-644e-4a60-b96a-31ec77c616e6) or [downgrade](https://support.zoom.us/hc/en-us/articles/204675449-Upgrade-or-Downgrade-Zoom-Rooms-Software#h_d97349d6-9253-484c-af80-350475026524) the version of Zoom Rooms App installed in your Mac or Windows device.
+
+ **Prerequisites:**
+ * Pro or a higher account with Zoom Rooms.
+ * Zoom Rooms software must be installed either on a Mac or a Windows device. This API does not support other devices.
+ operationId: changeZoomRoomsAppVersion
+ parameters:
+ - description: Unique Identifier of the Zoom Room.
+ in: path
+ name: roomId
+ required: true
+ schema:
+ type: string
+ - description: Unique Identifier of the Mac or the Windows device. The value of this field can be retrieved from the [List Zoom Room Devices API](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms/listzrdevices).
+ in: path
+ name: deviceId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ action:
+ description: |-
+ Specify one of the following values for this field:
+
+ `upgrade`: Upgrade to the latest Zoom Rooms App Version.
+ `downgrade`: Downgrade the Zoom Rooms App Version.
+ `cancel`: Cancel an ongoing upgrade or downgrade process.
+ enum:
+ - upgrade
+ - downgrade
+ - cancel
+ type: string
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ action:
+ description: |-
+ Specify one of the following values for this field:
+
+ `upgrade`: Upgrade to the latest Zoom Rooms App Version.
+ `downgrade`: Downgrade the Zoom Rooms App Version.
+ `cancel`: Cancel an ongoing upgrade or downgrade process.
+ enum:
+ - upgrade
+ - downgrade
+ - cancel
+ type: string
+ type: object
+ x-examples:
+ application/json:
+ action: upgrade
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Request processed successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `8001` Cannot process this upgrade request. The Zoom Rooms Software in this device is either already up to date or is currently being updated.
+ **Error Code:** `8002` Cannot process the downgrade request. The target version for downgrading is not available or the downgrade process has already been initiated.
+ **Error Code:** `8003` The cancel request could not be processed because the Zoom Rooms Software in this device is not being downgraded or upgraded at the moment. The cancel action should only be used to cancel an ongoing upgrade or downgrade process.
+ **Error Code:** `8004` A device with the provided Device ID: {deviceId} does not belong to the current room: {roomId}.
+ summary: Change Zoom Rooms' app version
+ tags:
+ - Rooms Devices
+ "/rooms/{roomId}/location":
+ parameters:
+ - in: path
+ name: roomId
+ required: true
+ schema:
+ type: string
+ put:
+ description: |-
+ An account owner of a Zoom account can establish a [Zoom Rooms Location Hierarchy](https://support.zoom.us/hc/en-us/articles/115000342983-Zoom-Rooms-Location-Hierarchy) to better organize Zoom Rooms spread accress various location. The location can be structured in a hierarchy with Country being the top-level location, followed by city, campus, building, and floor. Use this API to assign a new location for a Zoom Room. Note that the Zoom Room can be assigned only to the lowest level location available in the hierarchy.
+ **Prerequisite:**
+ * Account owner or admin permission
+ * Zoom Rooms version 4.0 or higher
+ **Scopes:** `room:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: changeZRLocation
+ parameters:
+ - description: Unique Identifier of the Zoom Room.
+ in: path
+ name: roomId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ location_id:
+ description: Location ID of the location where Zoom Room is to be assigned. This can be retrieved from the `id` property in the response of [List Zoom Rooms Locations](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations) API.
+ type: string
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ location_id:
+ description: Location ID of the location where Zoom Room is to be assigned. This can be retrieved from the `id` property in the response of [List Zoom Rooms Locations](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations) API.
+ type: string
+ type: object
+ x-examples:
+ application/json:
+ location_id: ut12434oris
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Location of the Zoom Room changed successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `200`
+ Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `4801`
+ Location not found:{location_id}
+ security:
+ - OAuth: []
+ summary: Change a Zoom Room's location
+ tags:
+ - Rooms
+ "/rooms/{roomId}/settings":
+ get:
+ description: |-
+ Get information on meeting or alert settings applied to a specific Zoom Room. By default, only **Meeting Settings** are returned. To view only **Alert Settings**, specify `alert` as the value of the `setting_type` query parameter.
+ **Prerequisites:**
+ * Zoom Room licenses
+ * Owner or Admin privileges on the Zoom Account.
+ **Scopes:** `room:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: getZRSettings
+ parameters:
+ - description: |-
+ The type of setting that you would like to retrieve. `alert`: Alert Settings applied on the Zoom Rooms Account.
+ `meeting`: Meeting settings of the Zoom Rooms Account.
+ in: query
+ name: setting_type
+ required: true
+ schema:
+ default: meeting
+ type: string
+ - description: Unique identifier of the Zoom Room.
+ in: path
+ name: roomId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ zoom_rooms:
+ allow_multiple_content_sharing: true
+ audio_device_daily_auto_test: true
+ auto_direct_sharing: false
+ auto_start_scheduled_meeting: true
+ auto_stop_scheduled_meeting: true
+ count_attendees_number_in_room: true
+ display_feedback_survey: true
+ display_meeting_list: false
+ display_top_banner: false
+ encrypt_shared_screen_content: false
+ hide_id_for_private_meeting: false
+ hide_share_instruction: true
+ send_whiteboard_to_internal_contact_only: true
+ show_alert_before_meeting: false
+ show_call_history_in_room: true
+ show_contact_list_on_controller: true
+ show_non_video_participants: false
+ start_airplay_manually: true
+ support_join_3rd_party_meeting: true
+ transform_meeting_to_private: false
+ upcoming_meeting_alert: true
+ weekly_system_restart: false
+ schema:
+ oneOf:
+ - properties:
+ meeting_security:
+ properties:
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ end_to_end_encrypted_meetings:
+ description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
+ type: boolean
+ type: object
+ zoom_rooms:
+ properties:
+ allow_multiple_content_sharing:
+ description: Enable multiple participants to [share content simultaneously](https://support.zoom.us/hc/en-us/articles/360017767812-Sharing-Multiple-Screens-in-a-Zoom-Room) by default.
+ type: boolean
+ audio_device_daily_auto_test:
+ description: Enable [automated audio test](https://support.zoom.us/hc/en-us/articles/360000319683-Zoom-Rooms-Daily-Audio-Testing) to ensure high quality audio.
+ type: boolean
+ auto_direct_sharing:
+ description: Enable participants in a Zoom Room to share their laptop screen on the Zoom Room TV without entering a meeting ID or sharing code.
+ type: boolean
+ auto_start_scheduled_meeting:
+ description: Automatically start scheduled meetings according to the start time listed on the calendar associated with the room. A meeting alert will appear 10 minutes prior to the scheduled time on the TV.
+ type: boolean
+ auto_stop_scheduled_meeting:
+ description: "Automatically stop the meeting at the end time as scheduled and listed in the calendar associated with the room. "
+ type: boolean
+ count_attendees_number_in_room:
+ description: |
+ Use facial detection technology to [determine and display the attendees count](https://support.zoom.us/hc/en-us/articles/360031027111-Count-Attendees-in-Zoom-Rooms) after meetings on Dashboard.
+ type: boolean
+ display_feedback_survey:
+ description: Display a [survey](https://support.zoom.us/hc/en-us/articles/214193146-End-of-Meeting-Attendee-Feedback) at the end of each meeting regarding the audio and video quality on the Zoom Rooms Controller.
+ type: boolean
+ display_meeting_list:
+ description: " Show the same information on the TV that is shown on the controller."
+ type: boolean
+ display_top_banner:
+ description: Allow to display room name, time and sharing key on the top portion of TV.
+ type: boolean
+ encrypt_shared_screen_content:
+ description: Encrypt screen and content shared in meetings.
+ type: boolean
+ hide_id_for_private_meeting:
+ description: If enabled, the meeting host and meeting ID (in addition to the meeting topic) are hidden from the Zoom Rooms display for private meetings. This affects meetings that were originally scheduled as private, as well as public meetings that were transformed to private.
+ type: boolean
+ hide_share_instruction:
+ description: Hide share instructions from TV.
+ type: boolean
+ send_whiteboard_to_internal_contact_only:
+ description: Restrict[ sending Whiteboard sessions](https://support.zoom.us/hc/en-us/articles/115004797286-Using-the-Whiteboard-in-Zoom-Rooms-for-Touch#h_781274b3-5237-4320-8826-be2120b00e21) to contacts or internal users only.
+ type: boolean
+ show_alert_before_meeting:
+ description: "If enabled, the upcoming meeting alert message will be shown on the TV display. The value of the `upcoming_meeting_alert` field should be set to `true` to use this field. "
+ type: boolean
+ show_call_history_in_room:
+ description: |
+ Allow users to see call history of joined meetings and phone calls from the Zoom Rooms controller.
+ type: boolean
+ show_contact_list_on_controller:
+ description: If enabled, you can invite participants from the contact list during a meeting or when starting a meeting
+ type: boolean
+ show_non_video_participants:
+ description: When enabled, meeting participants that are audio only or have their video turned off will also be shown on the Zoom Rooms display by default.
+ type: boolean
+ start_airplay_manually:
+ description: Require the AirPlay service to be [started by an administrator](https://support.zoom.us/hc/en-us/articles/204726885-Screen-Share-Using-Airplay-Mirroring#h_a342ad38-4e46-47a8-a1d9-cded3b144b39) rather than always being available.
+ type: boolean
+ start_airplay_mirroring:
+ description: Allow users to share content via Apple Screen Mirroring (called Airplay on iOS 11 or earlier) in Zoom Rooms
+ type: boolean
+ support_join_3rd_party_meeting:
+ description: Integrate with Skype for Business, GoToMeeting, or WebEx and show the meeting dial-in button on the meeting list tab for Zoom Rooms Controllers.
+ type: boolean
+ transform_meeting_to_private:
+ description: If enabled, all meetings in this room will be treated as [private meetings](https://support.zoom.us/hc/en-us/articles/115001051063-Zoom-Rooms-Private-Meetings), and the Zoom Room will display "Your Name's Meeting" instead of the real meeting topic.
+ type: boolean
+ upcoming_meeting_alert:
+ description: If enabled, a reminder will display 10 minutes prior to the next scheduled meeting on the controller.
+ type: boolean
+ weekly_system_restart:
+ description: "[Restart](https://support.zoom.us/hc/en-us/articles/205418949-Zoom-Rooms-Weekly-System-Restart) the Zoom Rooms computer and controller once a week."
+ type: boolean
+ type: object
+ - properties:
+ client_alert:
+ description: "The Client Alert Settings section includes alerts that display on the TV screen of the Zoom Room. Disable these settings if you have deliberately disconnected one or more peripheral devices or have never enabled them. "
+ properties:
+ detect_bluetooth_microphone_error_alert:
+ description: Display an alert message when an issue is detected with a bluetooth microphone.
+ type: boolean
+ detect_bluetooth_speaker_error_alert:
+ description: Display an alert message when an issue is detected with a bluetooth speaker.
+ type: boolean
+ detect_camera_error_alert:
+ description: Display an alert message when an issue is detected with a camera.
+ type: boolean
+ detect_microphone_error_alert:
+ description: Display an alert message when an issue is detected with microphone.
+ type: boolean
+ detect_speaker_error_alert:
+ description: Display an alert message when an issue is detected with a speaker.
+ type: boolean
+ type: object
+ digital_signage:
+ properties:
+ banner:
+ description: Specifies the elements that you want to display in the top banner.
+ properties:
+ banner_room_name:
+ description: Display or hide banner room name.
+ type: boolean
+ banner_sharing_key:
+ description: Display or hide banner sharing key.
+ type: boolean
+ banner_time:
+ description: Display or hide time in the banner.
+ type: boolean
+ type: object
+ display_period:
+ description: Display period object lets you define the number of minutes before or after the scheduled meeting time you would like the content to display.
+ properties:
+ start_displaying_content:
+ description: Start displaying digital signage content after certain duration after the meeting ends. The value of this field indicates the duration in minutes.
+ type: integer
+ stop_displaying_content:
+ description: Stop displaying content {certain_duration} before a meeting is scheduled to begin. The value of this field indicates the duration in minutes.
+ type: integer
+ type: object
+ enable_digital_signage:
+ description: |-
+ [Indicates whether digital signage is on or off,](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_767fbb33-82a8-45a8-8392-a1bfa9687edd).
+ `true`: enable `false`: disable
+ type: boolean
+ layout:
+ description: |-
+ Set the [layout](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_4e25ddf3-8f97-4957-8f8b-99725f940fa7). The value of this field can be either `standard` or `video_content`.
+
+ `standard`: Standard Center
+ `video_content`: Video + Content
+ type: string
+ mute:
+ description: Sound of all contents will be muted if the value of this field is set to `true`.
+ type: boolean
+ play_list:
+ description: Content list.
+ items:
+ properties:
+ action:
+ description: |
+ Specify an action for the content list. The value can be one of the following:
+ `add`: Add another content list.
+ `update`: Update existing content list.
+ `delete`: Delete content list.
+ enum:
+ - add
+ - update
+ - delete
+ type: string
+ contents:
+ items:
+ description: Content list.
+ properties:
+ content_id:
+ description: Content Id.
+ type: string
+ duration:
+ description: Duration for how long the content will be displayed.
+ type: integer
+ id:
+ type: string
+ name:
+ description: Name of the content.
+ type: string
+ order:
+ description: Order of the content in the display.
+ type: integer
+ type: object
+ maxItems: 3
+ type: array
+ end_time:
+ description: Specify the display end time for the content list in GMT.
+ type: string
+ id:
+ description: Unique identifier of the content list. This field is only required if you would like to remove or update the content list.
+ type: string
+ name:
+ description: Name of the content list.
+ type: string
+ start_time:
+ description: Specify the display start time for the content list in GMT.
+ type: string
+ type: object
+ maxItems: 2
+ type: array
+ type: object
+ notification:
+ description: "[Notifications Settings](https://support.zoom.us/hc/en-us/articles/205394099-Zoom-Room-Alerts#h_b430b5f2-5150-4522-9c96-c77f22ab70bc) includes the circumstances in which the room sends an email alert to the support team to notify them of a potentially urgent issue. These issues can affect the operation of the room, but do not display on the TV screen. The email alert is sent to the email address specified in the Notification Email Recipients section. "
+ properties:
+ audio_meet_usability_threshold:
+ description: Send an alert when the audio echo test result meets usability threshold.
+ type: boolean
+ audio_not_meet_usability_threshold:
+ description: Send an alert when the audio echo test result does not meet usability threshold.
+ type: boolean
+ battery_is_charging:
+ description: Send an alert when the battery starts charging.
+ type: boolean
+ battery_low_and_not_charging:
+ description: Send an alert when the battery of the controller or the scheduling display is low (at 20%) and is not being charged.
+ type: boolean
+ battery_percentage:
+ description: Specify a percentage so that an alert is sent when the battery is less than the {battery_percentage} that you specified.
+ type: string
+ controller_scheduling_disconnected:
+ description: Send an alert when the connection to the Controller or Scheduling Display cannot be detected.
+ type: boolean
+ controller_scheduling_reconnected:
+ description: Send an alert when the Controller or Scheduling Display can be detected again.
+ type: boolean
+ cpu_usage_high_detected:
+ description: Send an alert when CPU usage is above 90%.
+ type: boolean
+ mic_speaker_camera_disconnected:
+ description: Send an alert when the mic, speaker or camera is disconnected in the Zoom Room.
+ type: boolean
+ mic_speaker_camera_reconnected:
+ description: Send an alert when the mic, speaker or camera is reconnected.
+ type: boolean
+ network_unstable_detected:
+ description: Send an alert when low bandwidth network is detected
+ type: boolean
+ sip_registration_failed:
+ description: "Send an alert when SIP registration stops working. "
+ type: boolean
+ sip_registration_re_enabled:
+ description: Send an alert after the SIP registration is re-enabled.
+ type: boolean
+ zoom_room_come_back_online:
+ description: Send an alert when the Zoom Room is online after previously being offline.
+ type: boolean
+ zoom_room_display_disconnected:
+ description: Send an alert when the TV display is disconnected
+ type: boolean
+ zoom_room_offline:
+ description: Send an alert when the machine hosting the Zoom Room application has a network issue or cannot connect with the Controller.
+ type: boolean
+ type: object
+ type: object
+ application/xml:
+ schema:
+ oneOf:
+ - properties:
+ meeting_security:
+ properties:
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ end_to_end_encrypted_meetings:
+ description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
+ type: boolean
+ type: object
+ zoom_rooms:
+ properties:
+ allow_multiple_content_sharing:
+ description: Enable multiple participants to [share content simultaneously](https://support.zoom.us/hc/en-us/articles/360017767812-Sharing-Multiple-Screens-in-a-Zoom-Room) by default.
+ type: boolean
+ audio_device_daily_auto_test:
+ description: Enable [automated audio test](https://support.zoom.us/hc/en-us/articles/360000319683-Zoom-Rooms-Daily-Audio-Testing) to ensure high quality audio.
+ type: boolean
+ auto_direct_sharing:
+ description: Enable participants in a Zoom Room to share their laptop screen on the Zoom Room TV without entering a meeting ID or sharing code.
+ type: boolean
+ auto_start_scheduled_meeting:
+ description: Automatically start scheduled meetings according to the start time listed on the calendar associated with the room. A meeting alert will appear 10 minutes prior to the scheduled time on the TV.
+ type: boolean
+ auto_stop_scheduled_meeting:
+ description: "Automatically stop the meeting at the end time as scheduled and listed in the calendar associated with the room. "
+ type: boolean
+ count_attendees_number_in_room:
+ description: |
+ Use facial detection technology to [determine and display the attendees count](https://support.zoom.us/hc/en-us/articles/360031027111-Count-Attendees-in-Zoom-Rooms) after meetings on Dashboard.
+ type: boolean
+ display_feedback_survey:
+ description: Display a [survey](https://support.zoom.us/hc/en-us/articles/214193146-End-of-Meeting-Attendee-Feedback) at the end of each meeting regarding the audio and video quality on the Zoom Rooms Controller.
+ type: boolean
+ display_meeting_list:
+ description: " Show the same information on the TV that is shown on the controller."
+ type: boolean
+ display_top_banner:
+ description: Allow to display room name, time and sharing key on the top portion of TV.
+ type: boolean
+ encrypt_shared_screen_content:
+ description: Encrypt screen and content shared in meetings.
+ type: boolean
+ hide_id_for_private_meeting:
+ description: If enabled, the meeting host and meeting ID (in addition to the meeting topic) are hidden from the Zoom Rooms display for private meetings. This affects meetings that were originally scheduled as private, as well as public meetings that were transformed to private.
+ type: boolean
+ hide_share_instruction:
+ description: Hide share instructions from TV.
+ type: boolean
+ send_whiteboard_to_internal_contact_only:
+ description: Restrict[ sending Whiteboard sessions](https://support.zoom.us/hc/en-us/articles/115004797286-Using-the-Whiteboard-in-Zoom-Rooms-for-Touch#h_781274b3-5237-4320-8826-be2120b00e21) to contacts or internal users only.
+ type: boolean
+ show_alert_before_meeting:
+ description: "If enabled, the upcoming meeting alert message will be shown on the TV display. The value of the `upcoming_meeting_alert` field should be set to `true` to use this field. "
+ type: boolean
+ show_call_history_in_room:
+ description: |
+ Allow users to see call history of joined meetings and phone calls from the Zoom Rooms controller.
+ type: boolean
+ show_contact_list_on_controller:
+ description: If enabled, you can invite participants from the contact list during a meeting or when starting a meeting
+ type: boolean
+ show_non_video_participants:
+ description: When enabled, meeting participants that are audio only or have their video turned off will also be shown on the Zoom Rooms display by default.
+ type: boolean
+ start_airplay_manually:
+ description: Require the AirPlay service to be [started by an administrator](https://support.zoom.us/hc/en-us/articles/204726885-Screen-Share-Using-Airplay-Mirroring#h_a342ad38-4e46-47a8-a1d9-cded3b144b39) rather than always being available.
+ type: boolean
+ start_airplay_mirroring:
+ description: Allow users to share content via Apple Screen Mirroring (called Airplay on iOS 11 or earlier) in Zoom Rooms
+ type: boolean
+ support_join_3rd_party_meeting:
+ description: Integrate with Skype for Business, GoToMeeting, or WebEx and show the meeting dial-in button on the meeting list tab for Zoom Rooms Controllers.
+ type: boolean
+ transform_meeting_to_private:
+ description: If enabled, all meetings in this room will be treated as [private meetings](https://support.zoom.us/hc/en-us/articles/115001051063-Zoom-Rooms-Private-Meetings), and the Zoom Room will display "Your Name's Meeting" instead of the real meeting topic.
+ type: boolean
+ upcoming_meeting_alert:
+ description: If enabled, a reminder will display 10 minutes prior to the next scheduled meeting on the controller.
+ type: boolean
+ weekly_system_restart:
+ description: "[Restart](https://support.zoom.us/hc/en-us/articles/205418949-Zoom-Rooms-Weekly-System-Restart) the Zoom Rooms computer and controller once a week."
+ type: boolean
+ type: object
+ - properties:
+ client_alert:
+ description: "The Client Alert Settings section includes alerts that display on the TV screen of the Zoom Room. Disable these settings if you have deliberately disconnected one or more peripheral devices or have never enabled them. "
+ properties:
+ detect_bluetooth_microphone_error_alert:
+ description: Display an alert message when an issue is detected with a bluetooth microphone.
+ type: boolean
+ detect_bluetooth_speaker_error_alert:
+ description: Display an alert message when an issue is detected with a bluetooth speaker.
+ type: boolean
+ detect_camera_error_alert:
+ description: Display an alert message when an issue is detected with a camera.
+ type: boolean
+ detect_microphone_error_alert:
+ description: Display an alert message when an issue is detected with microphone.
+ type: boolean
+ detect_speaker_error_alert:
+ description: Display an alert message when an issue is detected with a speaker.
+ type: boolean
+ type: object
+ digital_signage:
+ properties:
+ banner:
+ description: Specifies the elements that you want to display in the top banner.
+ properties:
+ banner_room_name:
+ description: Display or hide banner room name.
+ type: boolean
+ banner_sharing_key:
+ description: Display or hide banner sharing key.
+ type: boolean
+ banner_time:
+ description: Display or hide time in the banner.
+ type: boolean
+ type: object
+ display_period:
+ description: Display period object lets you define the number of minutes before or after the scheduled meeting time you would like the content to display.
+ properties:
+ start_displaying_content:
+ description: Start displaying digital signage content after certain duration after the meeting ends. The value of this field indicates the duration in minutes.
+ type: integer
+ stop_displaying_content:
+ description: Stop displaying content {certain_duration} before a meeting is scheduled to begin. The value of this field indicates the duration in minutes.
+ type: integer
+ type: object
+ enable_digital_signage:
+ description: |-
+ [Indicates whether digital signage is on or off,](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_767fbb33-82a8-45a8-8392-a1bfa9687edd).
+ `true`: enable `false`: disable
+ type: boolean
+ layout:
+ description: |-
+ Set the [layout](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_4e25ddf3-8f97-4957-8f8b-99725f940fa7). The value of this field can be either `standard` or `video_content`.
+
+ `standard`: Standard Center
+ `video_content`: Video + Content
+ type: string
+ mute:
+ description: Sound of all contents will be muted if the value of this field is set to `true`.
+ type: boolean
+ play_list:
+ description: Content list.
+ items:
+ properties:
+ action:
+ description: |
+ Specify an action for the content list. The value can be one of the following:
+ `add`: Add another content list.
+ `update`: Update existing content list.
+ `delete`: Delete content list.
+ enum:
+ - add
+ - update
+ - delete
+ type: string
+ contents:
+ items:
+ description: Content list.
+ properties:
+ content_id:
+ description: Content Id.
+ type: string
+ duration:
+ description: Duration for how long the content will be displayed.
+ type: integer
+ id:
+ type: string
+ name:
+ description: Name of the content.
+ type: string
+ order:
+ description: Order of the content in the display.
+ type: integer
+ type: object
+ maxItems: 3
+ type: array
+ end_time:
+ description: Specify the display end time for the content list in GMT.
+ type: string
+ id:
+ description: Unique identifier of the content list. This field is only required if you would like to remove or update the content list.
+ type: string
+ name:
+ description: Name of the content list.
+ type: string
+ start_time:
+ description: Specify the display start time for the content list in GMT.
+ type: string
+ type: object
+ maxItems: 2
+ type: array
+ type: object
+ notification:
+ description: "[Notifications Settings](https://support.zoom.us/hc/en-us/articles/205394099-Zoom-Room-Alerts#h_b430b5f2-5150-4522-9c96-c77f22ab70bc) includes the circumstances in which the room sends an email alert to the support team to notify them of a potentially urgent issue. These issues can affect the operation of the room, but do not display on the TV screen. The email alert is sent to the email address specified in the Notification Email Recipients section. "
+ properties:
+ audio_meet_usability_threshold:
+ description: Send an alert when the audio echo test result meets usability threshold.
+ type: boolean
+ audio_not_meet_usability_threshold:
+ description: Send an alert when the audio echo test result does not meet usability threshold.
+ type: boolean
+ battery_is_charging:
+ description: Send an alert when the battery starts charging.
+ type: boolean
+ battery_low_and_not_charging:
+ description: Send an alert when the battery of the controller or the scheduling display is low (at 20%) and is not being charged.
+ type: boolean
+ battery_percentage:
+ description: Specify a percentage so that an alert is sent when the battery is less than the {battery_percentage} that you specified.
+ type: string
+ controller_scheduling_disconnected:
+ description: Send an alert when the connection to the Controller or Scheduling Display cannot be detected.
+ type: boolean
+ controller_scheduling_reconnected:
+ description: Send an alert when the Controller or Scheduling Display can be detected again.
+ type: boolean
+ cpu_usage_high_detected:
+ description: Send an alert when CPU usage is above 90%.
+ type: boolean
+ mic_speaker_camera_disconnected:
+ description: Send an alert when the mic, speaker or camera is disconnected in the Zoom Room.
+ type: boolean
+ mic_speaker_camera_reconnected:
+ description: Send an alert when the mic, speaker or camera is reconnected.
+ type: boolean
+ network_unstable_detected:
+ description: Send an alert when low bandwidth network is detected
+ type: boolean
+ sip_registration_failed:
+ description: "Send an alert when SIP registration stops working. "
+ type: boolean
+ sip_registration_re_enabled:
+ description: Send an alert after the SIP registration is re-enabled.
+ type: boolean
+ zoom_room_come_back_online:
+ description: Send an alert when the Zoom Room is online after previously being offline.
+ type: boolean
+ zoom_room_display_disconnected:
+ description: Send an alert when the TV display is disconnected
+ type: boolean
+ zoom_room_offline:
+ description: Send an alert when the machine hosting the Zoom Room application has a network issue or cannot connect with the Controller.
+ type: boolean
+ type: object
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ Zoom Room settings returned successfully.
+ "400":
+ description: |
+ **HTTP Status Code:** `400` **Bad Request**
+
+ **Error Code:** `200`
+ Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
+ Access restricted.
+ "404":
+ description: |+
+ **HTTP Status Code:** `404` **Not Found**
+
+ **Error Code:** `1012`
+ Room not found:{roomId}.
+
+ security:
+ - OAuth: []
+ summary: Get Zoom Room settings
+ tags:
+ - Rooms
+ parameters:
+ - in: path
+ name: roomId
+ required: true
+ schema:
+ type: string
+ patch:
+ description: |-
+ Update either meeting or alert settings applied to a specific Zoom Room. To update **Alert Settings**, specify `alert` as the value of the `setting_type` query parameter. To update **Meeting Settings**, specify `meeting` as the value of the `setting_type` query parameter.
+ **Prerequisites:**
+ * Zoom Room licenses
+ * Owner or Admin privileges on the Zoom Account.
+ **Scopes:** `room:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: updateZRSettings
+ parameters:
+ - description: Unique Identifier of the Zoom Room.
+ in: path
+ name: roomId
+ required: true
+ schema:
+ type: string
+ - description: |-
+ The type of setting that you would like to update. `alert`: Alert Settings applied on the Zoom Room.
+ `meeting`: Meeting settings of the Zoom Room.
+ `signage`: Digital signage settings applied on the Zoom Room.
+ in: query
+ name: setting_type
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - properties:
+ meeting_security:
+ properties:
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ end_to_end_encrypted_meetings:
+ description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
+ type: boolean
+ type: object
+ zoom_rooms:
+ properties:
+ allow_multiple_content_sharing:
+ description: Enable multiple participants to [share content simultaneously](https://support.zoom.us/hc/en-us/articles/360017767812-Sharing-Multiple-Screens-in-a-Zoom-Room) by default.
+ type: boolean
+ audio_device_daily_auto_test:
+ description: Enable [automated audio test](https://support.zoom.us/hc/en-us/articles/360000319683-Zoom-Rooms-Daily-Audio-Testing) to ensure high quality audio.
+ type: boolean
+ auto_direct_sharing:
+ description: Enable participants in a Zoom Room to share their laptop screen on the Zoom Room TV without entering a meeting ID or sharing code.
+ type: boolean
+ auto_start_scheduled_meeting:
+ description: Automatically start scheduled meetings according to the start time listed on the calendar associated with the room. A meeting alert will appear 10 minutes prior to the scheduled time on the TV.
+ type: boolean
+ auto_stop_scheduled_meeting:
+ description: "Automatically stop the meeting at the end time as scheduled and listed in the calendar associated with the room. "
+ type: boolean
+ count_attendees_number_in_room:
+ description: |
+ Use facial detection technology to [determine and display the attendees count](https://support.zoom.us/hc/en-us/articles/360031027111-Count-Attendees-in-Zoom-Rooms) after meetings on Dashboard.
+ type: boolean
+ display_feedback_survey:
+ description: Display a [survey](https://support.zoom.us/hc/en-us/articles/214193146-End-of-Meeting-Attendee-Feedback) at the end of each meeting regarding the audio and video quality on the Zoom Rooms Controller.
+ type: boolean
+ display_meeting_list:
+ description: " Show the same information on the TV that is shown on the controller."
+ type: boolean
+ display_top_banner:
+ description: Allow to display room name, time and sharing key on the top portion of TV.
+ type: boolean
+ encrypt_shared_screen_content:
+ description: Encrypt screen and content shared in meetings.
+ type: boolean
+ hide_id_for_private_meeting:
+ description: If enabled, the meeting host and meeting ID (in addition to the meeting topic) are hidden from the Zoom Rooms display for private meetings. This affects meetings that were originally scheduled as private, as well as public meetings that were transformed to private.
+ type: boolean
+ hide_share_instruction:
+ description: Hide share instructions from TV.
+ type: boolean
+ send_whiteboard_to_internal_contact_only:
+ description: Restrict[ sending Whiteboard sessions](https://support.zoom.us/hc/en-us/articles/115004797286-Using-the-Whiteboard-in-Zoom-Rooms-for-Touch#h_781274b3-5237-4320-8826-be2120b00e21) to contacts or internal users only.
+ type: boolean
+ show_alert_before_meeting:
+ description: "If enabled, the upcoming meeting alert message will be shown on the TV display. The value of the `upcoming_meeting_alert` field should be set to `true` to use this field. "
+ type: boolean
+ show_call_history_in_room:
+ description: |
+ Allow users to see call history of joined meetings and phone calls from the Zoom Rooms controller.
+ type: boolean
+ show_contact_list_on_controller:
+ description: If enabled, you can invite participants from the contact list during a meeting or when starting a meeting
+ type: boolean
+ show_non_video_participants:
+ description: When enabled, meeting participants that are audio only or have their video turned off will also be shown on the Zoom Rooms display by default.
+ type: boolean
+ start_airplay_manually:
+ description: Require the AirPlay service to be [started by an administrator](https://support.zoom.us/hc/en-us/articles/204726885-Screen-Share-Using-Airplay-Mirroring#h_a342ad38-4e46-47a8-a1d9-cded3b144b39) rather than always being available.
+ type: boolean
+ start_airplay_mirroring:
+ description: Allow users to share content via Apple Screen Mirroring (called Airplay on iOS 11 or earlier) in Zoom Rooms
+ type: boolean
+ support_join_3rd_party_meeting:
+ description: Integrate with Skype for Business, GoToMeeting, or WebEx and show the meeting dial-in button on the meeting list tab for Zoom Rooms Controllers.
+ type: boolean
+ transform_meeting_to_private:
+ description: If enabled, all meetings in this room will be treated as [private meetings](https://support.zoom.us/hc/en-us/articles/115001051063-Zoom-Rooms-Private-Meetings), and the Zoom Room will display "Your Name's Meeting" instead of the real meeting topic.
+ type: boolean
+ upcoming_meeting_alert:
+ description: If enabled, a reminder will display 10 minutes prior to the next scheduled meeting on the controller.
+ type: boolean
+ weekly_system_restart:
+ description: "[Restart](https://support.zoom.us/hc/en-us/articles/205418949-Zoom-Rooms-Weekly-System-Restart) the Zoom Rooms computer and controller once a week."
+ type: boolean
+ type: object
+ - properties:
+ client_alert:
+ description: "The Client Alert Settings section includes alerts that display on the TV screen of the Zoom Room. Disable these settings if you have deliberately disconnected one or more peripheral devices or have never enabled them. "
+ properties:
+ detect_bluetooth_microphone_error_alert:
+ description: Display an alert message when an issue is detected with a bluetooth microphone.
+ type: boolean
+ detect_bluetooth_speaker_error_alert:
+ description: Display an alert message when an issue is detected with a bluetooth speaker.
+ type: boolean
+ detect_camera_error_alert:
+ description: Display an alert message when an issue is detected with a camera.
+ type: boolean
+ detect_microphone_error_alert:
+ description: Display an alert message when an issue is detected with microphone.
+ type: boolean
+ detect_speaker_error_alert:
+ description: Display an alert message when an issue is detected with a speaker.
+ type: boolean
+ type: object
+ digital_signage:
+ properties:
+ banner:
+ properties:
+ banner_room_name:
+ type: boolean
+ banner_sharing_key:
+ type: boolean
+ banner_time:
+ type: boolean
+ type: object
+ display_period:
+ description: Display period object lets you define the number of minutes before or after the scheduled meeting time you would like the content to display.
+ properties:
+ start_displaying_content:
+ description: Start displaying digital signage content after certain duration after the meeting ends. Specify the value of the duration in minutes in this field.
+ type: integer
+ stop_displaying_content:
+ description: Stop displaying content {certain_duration} before a meeting is scheduled to begin. Specify the value of duration in minutes in this field.
+ type: integer
+ type: object
+ enable_digital_signage:
+ description: |-
+ [Enable or disable digital signage](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_767fbb33-82a8-45a8-8392-a1bfa9687edd).
+ `true`: enable `false`: disable
+ type: boolean
+ layout:
+ description: |-
+ Set the [layout](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_4e25ddf3-8f97-4957-8f8b-99725f940fa7). The value of this field can be either `standard` or `video_content`.
+
+ `standard`: Standard Center
+ `video_content`: Video + Content
+ type: string
+ mute:
+ description: Sound of all contents will be muted if the value of this field is set to `true`.
+ type: boolean
+ play_list:
+ description: Content list.
+ items:
+ properties:
+ action:
+ description: |
+ Specify an action for the content list. The value can be one of the following:
+ `add`: Add another content list.
+ `update`: Update existing content list.
+ `delete`: Delete content list.
+ enum:
+ - add
+ - update
+ - delete
+ type: string
+ contents:
+ items:
+ description: Content list.
+ properties:
+ action:
+ description: |+
+ Specify an action for the content in the content list. The value can be one of the following:
+ `add`: Add another content to the content list.
+ `update`: Update existing content's information in the content list.
+ `delete`: Delete content from the content list.
+
+ type: string
+ content_id:
+ description: Content Id.
+ type: string
+ duration:
+ description: By default each content is display for 5 seconds. Using this field, specify how long you would like to display the content.
+ type: integer
+ id:
+ description: Unique identifier of the content. This field is only required if you would like to remove or update the content information.
+ type: string
+ name:
+ description: Name of the content.
+ type: string
+ order:
+ description: Order of the content in the display.
+ type: integer
+ type: object
+ maxItems: 3
+ type: array
+ end_time:
+ description: Specify the display end time for the content list in GMT.
+ type: string
+ id:
+ description: Unique identifier of the content list. This field is only required if you would like to remove or update the content list.
+ type: string
+ name:
+ description: Name of the content list.
+ type: string
+ start_time:
+ description: Specify the display start time for the content list in GMT.
+ type: string
+ type: object
+ maxItems: 2
+ type: array
+ type: object
+ notification:
+ description: "[Notifications Settings](https://support.zoom.us/hc/en-us/articles/205394099-Zoom-Room-Alerts#h_b430b5f2-5150-4522-9c96-c77f22ab70bc) includes the circumstances in which the room sends an email alert to the support team to notify them of a potentially urgent issue. These issues can affect the operation of the room, but do not display on the TV screen. The email alert is sent to the email address specified in the Notification Email Recipients section. "
+ properties:
+ audio_meet_usability_threshold:
+ description: Send an alert when the audio echo test result meets usability threshold.
+ type: boolean
+ audio_not_meet_usability_threshold:
+ description: Send an alert when the audio echo test result does not meet usability threshold.
+ type: boolean
+ battery_is_charging:
+ description: Send an alert when the battery starts charging.
+ type: boolean
+ battery_low_and_not_charging:
+ description: Send an alert when the battery of the controller or the scheduling display is low (at 20%) and is not being charged.
+ type: boolean
+ battery_percentage:
+ description: Specify a percentage so that an alert is sent when the battery is less than the {battery_percentage} that you specified.
+ type: string
+ controller_scheduling_disconnected:
+ description: Send an alert when the connection to the Controller or Scheduling Display cannot be detected.
+ type: boolean
+ controller_scheduling_reconnected:
+ description: Send an alert when the Controller or Scheduling Display can be detected again.
+ type: boolean
+ cpu_usage_high_detected:
+ description: Send an alert when CPU usage is above 90%.
+ type: boolean
+ mic_speaker_camera_disconnected:
+ description: Send an alert when the mic, speaker or camera is disconnected in the Zoom Room.
+ type: boolean
+ mic_speaker_camera_reconnected:
+ description: Send an alert when the mic, speaker or camera is reconnected.
+ type: boolean
+ network_unstable_detected:
+ description: Send an alert when low bandwidth network is detected
+ type: boolean
+ sip_registration_failed:
+ description: "Send an alert when SIP registration stops working. "
+ type: boolean
+ sip_registration_re_enabled:
+ description: Send an alert after the SIP registration is re-enabled.
+ type: boolean
+ zoom_room_come_back_online:
+ description: Send an alert when the Zoom Room is online after previously being offline.
+ type: boolean
+ zoom_room_display_disconnected:
+ description: Send an alert when the TV display is disconnected
+ type: boolean
+ zoom_room_offline:
+ description: Send an alert when the machine hosting the Zoom Room application has a network issue or cannot connect with the Controller.
+ type: boolean
+ type: object
+ type: object
+ multipart/form-data:
+ schema:
+ oneOf:
+ - properties:
+ meeting_security:
+ properties:
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ end_to_end_encrypted_meetings:
+ description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
+ type: boolean
+ type: object
+ zoom_rooms:
+ properties:
+ allow_multiple_content_sharing:
+ description: Enable multiple participants to [share content simultaneously](https://support.zoom.us/hc/en-us/articles/360017767812-Sharing-Multiple-Screens-in-a-Zoom-Room) by default.
+ type: boolean
+ audio_device_daily_auto_test:
+ description: Enable [automated audio test](https://support.zoom.us/hc/en-us/articles/360000319683-Zoom-Rooms-Daily-Audio-Testing) to ensure high quality audio.
+ type: boolean
+ auto_direct_sharing:
+ description: Enable participants in a Zoom Room to share their laptop screen on the Zoom Room TV without entering a meeting ID or sharing code.
+ type: boolean
+ auto_start_scheduled_meeting:
+ description: Automatically start scheduled meetings according to the start time listed on the calendar associated with the room. A meeting alert will appear 10 minutes prior to the scheduled time on the TV.
+ type: boolean
+ auto_stop_scheduled_meeting:
+ description: "Automatically stop the meeting at the end time as scheduled and listed in the calendar associated with the room. "
+ type: boolean
+ count_attendees_number_in_room:
+ description: |
+ Use facial detection technology to [determine and display the attendees count](https://support.zoom.us/hc/en-us/articles/360031027111-Count-Attendees-in-Zoom-Rooms) after meetings on Dashboard.
+ type: boolean
+ display_feedback_survey:
+ description: Display a [survey](https://support.zoom.us/hc/en-us/articles/214193146-End-of-Meeting-Attendee-Feedback) at the end of each meeting regarding the audio and video quality on the Zoom Rooms Controller.
+ type: boolean
+ display_meeting_list:
+ description: " Show the same information on the TV that is shown on the controller."
+ type: boolean
+ display_top_banner:
+ description: Allow to display room name, time and sharing key on the top portion of TV.
+ type: boolean
+ encrypt_shared_screen_content:
+ description: Encrypt screen and content shared in meetings.
+ type: boolean
+ hide_id_for_private_meeting:
+ description: If enabled, the meeting host and meeting ID (in addition to the meeting topic) are hidden from the Zoom Rooms display for private meetings. This affects meetings that were originally scheduled as private, as well as public meetings that were transformed to private.
+ type: boolean
+ hide_share_instruction:
+ description: Hide share instructions from TV.
+ type: boolean
+ send_whiteboard_to_internal_contact_only:
+ description: Restrict[ sending Whiteboard sessions](https://support.zoom.us/hc/en-us/articles/115004797286-Using-the-Whiteboard-in-Zoom-Rooms-for-Touch#h_781274b3-5237-4320-8826-be2120b00e21) to contacts or internal users only.
+ type: boolean
+ show_alert_before_meeting:
+ description: "If enabled, the upcoming meeting alert message will be shown on the TV display. The value of the `upcoming_meeting_alert` field should be set to `true` to use this field. "
+ type: boolean
+ show_call_history_in_room:
+ description: |
+ Allow users to see call history of joined meetings and phone calls from the Zoom Rooms controller.
+ type: boolean
+ show_contact_list_on_controller:
+ description: If enabled, you can invite participants from the contact list during a meeting or when starting a meeting
+ type: boolean
+ show_non_video_participants:
+ description: When enabled, meeting participants that are audio only or have their video turned off will also be shown on the Zoom Rooms display by default.
+ type: boolean
+ start_airplay_manually:
+ description: Require the AirPlay service to be [started by an administrator](https://support.zoom.us/hc/en-us/articles/204726885-Screen-Share-Using-Airplay-Mirroring#h_a342ad38-4e46-47a8-a1d9-cded3b144b39) rather than always being available.
+ type: boolean
+ start_airplay_mirroring:
+ description: Allow users to share content via Apple Screen Mirroring (called Airplay on iOS 11 or earlier) in Zoom Rooms
+ type: boolean
+ support_join_3rd_party_meeting:
+ description: Integrate with Skype for Business, GoToMeeting, or WebEx and show the meeting dial-in button on the meeting list tab for Zoom Rooms Controllers.
+ type: boolean
+ transform_meeting_to_private:
+ description: If enabled, all meetings in this room will be treated as [private meetings](https://support.zoom.us/hc/en-us/articles/115001051063-Zoom-Rooms-Private-Meetings), and the Zoom Room will display "Your Name's Meeting" instead of the real meeting topic.
+ type: boolean
+ upcoming_meeting_alert:
+ description: If enabled, a reminder will display 10 minutes prior to the next scheduled meeting on the controller.
+ type: boolean
+ weekly_system_restart:
+ description: "[Restart](https://support.zoom.us/hc/en-us/articles/205418949-Zoom-Rooms-Weekly-System-Restart) the Zoom Rooms computer and controller once a week."
+ type: boolean
+ type: object
+ - properties:
+ client_alert:
+ description: "The Client Alert Settings section includes alerts that display on the TV screen of the Zoom Room. Disable these settings if you have deliberately disconnected one or more peripheral devices or have never enabled them. "
+ properties:
+ detect_bluetooth_microphone_error_alert:
+ description: Display an alert message when an issue is detected with a bluetooth microphone.
+ type: boolean
+ detect_bluetooth_speaker_error_alert:
+ description: Display an alert message when an issue is detected with a bluetooth speaker.
+ type: boolean
+ detect_camera_error_alert:
+ description: Display an alert message when an issue is detected with a camera.
+ type: boolean
+ detect_microphone_error_alert:
+ description: Display an alert message when an issue is detected with microphone.
+ type: boolean
+ detect_speaker_error_alert:
+ description: Display an alert message when an issue is detected with a speaker.
+ type: boolean
+ type: object
+ digital_signage:
+ properties:
+ banner:
+ properties:
+ banner_room_name:
+ type: boolean
+ banner_sharing_key:
+ type: boolean
+ banner_time:
+ type: boolean
+ type: object
+ display_period:
+ description: Display period object lets you define the number of minutes before or after the scheduled meeting time you would like the content to display.
+ properties:
+ start_displaying_content:
+ description: Start displaying digital signage content after certain duration after the meeting ends. Specify the value of the duration in minutes in this field.
+ type: integer
+ stop_displaying_content:
+ description: Stop displaying content {certain_duration} before a meeting is scheduled to begin. Specify the value of duration in minutes in this field.
+ type: integer
+ type: object
+ enable_digital_signage:
+ description: |-
+ [Enable or disable digital signage](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_767fbb33-82a8-45a8-8392-a1bfa9687edd).
+ `true`: enable `false`: disable
+ type: boolean
+ layout:
+ description: |-
+ Set the [layout](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_4e25ddf3-8f97-4957-8f8b-99725f940fa7). The value of this field can be either `standard` or `video_content`.
+
+ `standard`: Standard Center
+ `video_content`: Video + Content
+ type: string
+ mute:
+ description: Sound of all contents will be muted if the value of this field is set to `true`.
+ type: boolean
+ play_list:
+ description: Content list.
+ items:
+ properties:
+ action:
+ description: |
+ Specify an action for the content list. The value can be one of the following:
+ `add`: Add another content list.
+ `update`: Update existing content list.
+ `delete`: Delete content list.
+ enum:
+ - add
+ - update
+ - delete
+ type: string
+ contents:
+ items:
+ description: Content list.
+ properties:
+ action:
+ description: |+
+ Specify an action for the content in the content list. The value can be one of the following:
+ `add`: Add another content to the content list.
+ `update`: Update existing content's information in the content list.
+ `delete`: Delete content from the content list.
+
+ type: string
+ content_id:
+ description: Content Id.
+ type: string
+ duration:
+ description: By default each content is display for 5 seconds. Using this field, specify how long you would like to display the content.
+ type: integer
+ id:
+ description: Unique identifier of the content. This field is only required if you would like to remove or update the content information.
+ type: string
+ name:
+ description: Name of the content.
+ type: string
+ order:
+ description: Order of the content in the display.
+ type: integer
+ type: object
+ maxItems: 3
+ type: array
+ end_time:
+ description: Specify the display end time for the content list in GMT.
+ type: string
+ id:
+ description: Unique identifier of the content list. This field is only required if you would like to remove or update the content list.
+ type: string
+ name:
+ description: Name of the content list.
+ type: string
+ start_time:
+ description: Specify the display start time for the content list in GMT.
+ type: string
+ type: object
+ maxItems: 2
+ type: array
+ type: object
+ notification:
+ description: "[Notifications Settings](https://support.zoom.us/hc/en-us/articles/205394099-Zoom-Room-Alerts#h_b430b5f2-5150-4522-9c96-c77f22ab70bc) includes the circumstances in which the room sends an email alert to the support team to notify them of a potentially urgent issue. These issues can affect the operation of the room, but do not display on the TV screen. The email alert is sent to the email address specified in the Notification Email Recipients section. "
+ properties:
+ audio_meet_usability_threshold:
+ description: Send an alert when the audio echo test result meets usability threshold.
+ type: boolean
+ audio_not_meet_usability_threshold:
+ description: Send an alert when the audio echo test result does not meet usability threshold.
+ type: boolean
+ battery_is_charging:
+ description: Send an alert when the battery starts charging.
+ type: boolean
+ battery_low_and_not_charging:
+ description: Send an alert when the battery of the controller or the scheduling display is low (at 20%) and is not being charged.
+ type: boolean
+ battery_percentage:
+ description: Specify a percentage so that an alert is sent when the battery is less than the {battery_percentage} that you specified.
+ type: string
+ controller_scheduling_disconnected:
+ description: Send an alert when the connection to the Controller or Scheduling Display cannot be detected.
+ type: boolean
+ controller_scheduling_reconnected:
+ description: Send an alert when the Controller or Scheduling Display can be detected again.
+ type: boolean
+ cpu_usage_high_detected:
+ description: Send an alert when CPU usage is above 90%.
+ type: boolean
+ mic_speaker_camera_disconnected:
+ description: Send an alert when the mic, speaker or camera is disconnected in the Zoom Room.
+ type: boolean
+ mic_speaker_camera_reconnected:
+ description: Send an alert when the mic, speaker or camera is reconnected.
+ type: boolean
+ network_unstable_detected:
+ description: Send an alert when low bandwidth network is detected
+ type: boolean
+ sip_registration_failed:
+ description: "Send an alert when SIP registration stops working. "
+ type: boolean
+ sip_registration_re_enabled:
+ description: Send an alert after the SIP registration is re-enabled.
+ type: boolean
+ zoom_room_come_back_online:
+ description: Send an alert when the Zoom Room is online after previously being offline.
+ type: boolean
+ zoom_room_display_disconnected:
+ description: Send an alert when the TV display is disconnected
+ type: boolean
+ zoom_room_offline:
+ description: Send an alert when the machine hosting the Zoom Room application has a network issue or cannot connect with the Controller.
+ type: boolean
+ type: object
+ type: object
+ x-examples:
+ application/json:
+ client_alert:
+ detect_bluetooth_microphone_error_alert: false
+ detect_bluetooth_speaker_error_alert: false
+ detect_camera_error_alert: true
+ detect_microphone_error_alert: true
+ detect_speaker_error_alert: false
+ notification:
+ audio_meet_usability_threshold: true
+ audio_not_meet_usability_threshold: true
+ battery_is_charging: true
+ battery_low_and_not_charging: true
+ battery_percentage: do sit
+ controller_scheduling_disconnected: true
+ controller_scheduling_reconnected: false
+ cpu_usage_high_detected: true
+ mic_speaker_camera_disconnected: false
+ mic_speaker_camera_reconnected: true
+ network_unstable_detected: true
+ sip_registration_failed: true
+ sip_registration_re_enabled: false
+ zoom_room_come_back_online: false
+ zoom_room_display_disconnected: true
+ zoom_room_offline: false
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Settings updated successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `200`
+ Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
+ Access restricted.
+ security:
+ - OAuth: []
+ summary: Update Zoom Room settings
+ tags:
+ - Rooms
+ /sip_phones:
+ get:
+ description: |
+ Zoom’s Phone System Integration (PSI), also referred as SIP phones, enables an organization to leverage the Zoom client to complete a softphone registration to supported premise based PBX system. End users will have the ability to have softphone functionality within a single client while maintaining a comparable interface to Zoom Phone. Use this API to list SIP phones on an account.
+ **Prerequisites**:
+ * Currently only supported on Cisco and Avaya PBX systems.
+ * User must enable SIP Phone Integration by contacting the [Sales](https://zoom.us/contactsales) team. **Scope:** `sip_phone:read:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: listSipPhones
+ parameters:
+ - description: |-
+
+ **Deprecated** - This field has been deprecated and we will stop supporting it completely in a future release. Please use "next_page_token" for pagination instead of this field.
+
+ The page number of the current page in the returned records.
+ in: query
+ name: page_number
+ schema:
+ default: 1
+ type: integer
+ - description: User name or email address of a user. If this parameter is provided, only the SIP phone system integration enabled for that specific user will be returned. Otherwise, all SIP phones on an account will be returned.
+ in: query
+ name: search_key
+ schema:
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ page_count: 1
+ page_number: 1
+ page_size: 1
+ phones:
+ - authorization_name: testname
+ domain: CDC.WEB
+ id: "123456"
+ password: apassword1
+ proxy_server: 192.168.0.10
+ proxy_server2: 192.168.0.10
+ proxy_server3: 192.168.0.10
+ register_server: 192.168.0.100
+ register_server2: 192.168.0.100
+ register_server3: 192.168.0.100
+ registration_expire_time: 60
+ transport_protocol: UDP
+ transport_protocol2: UDP
+ transport_protocol3: UDP
+ user_email: CfRE2opiq3HokO@someemailtype.com
+ user_name: "1008"
+ voice_mail: "4000"
+ total_records: 1
+ schema:
+ properties:
+ next_page_token:
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ description: The page number of the current results.
+ type: integer
+ page_size:
+ description: The number of records returned within a single API call.
+ type: integer
+ phones:
+ description: SIP phones object.
+ items:
+ properties:
+ authorization_name:
+ description: Authorization name of the user registered for SIP Phone.
+ type: string
+ domain:
+ description: |
+ The name or IP address of your provider’s SIP domain. (example: CDC.WEB).
+ type: string
+ id:
+ description: Unique Identifier of the SIP Phone.
+ type: string
+ password:
+ description: |
+ The password generated for the user in the SIP account.
+ type: string
+ proxy_server:
+ description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server, or empty.
+ type: string
+ proxy_server2:
+ description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server, or empty.
+ type: string
+ proxy_server3:
+ description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server, or empty.
+ type: string
+ register_server:
+ description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
+ type: string
+ register_server2:
+ description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
+ type: string
+ register_server3:
+ description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
+ type: string
+ registration_expire_time:
+ description: "The number of minutes after which the SIP registration of the Zoom client user will expire, and the client will auto register to the SIP server. "
+ type: integer
+ transport_protocol:
+ description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
+ enum:
+ - UDP
+ - TCP
+ - TLS
+ - AUTO
+ type: string
+ transport_protocol2:
+ description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
+ enum:
+ - UDP
+ - TCP
+ - TLS
+ - AUTO
+ type: string
+ transport_protocol3:
+ description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
+ enum:
+ - UDP
+ - TCP
+ - TLS
+ - AUTO
+ type: string
+ user_email:
+ description: The email address of the user to associate with the SIP Phone. Can add [.win, .mac, .android, .ipad, .iphone, .linux, .pc, .mobile, .pad] at the end of the email (ex. user@test.com.mac) to add accounts for different platforms for the same user.
+ format: email
+ type: string
+ user_name:
+ description: "The phone number associated with the user in the SIP account. "
+ type: string
+ voice_mail:
+ description: The number to dial for checking voicemail.
+ type: string
+ type: object
+ type: array
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ next_page_token:
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ description: The page number of the current results.
+ type: integer
+ page_size:
+ description: The number of records returned within a single API call.
+ type: integer
+ phones:
+ description: SIP phones object.
+ items:
+ properties:
+ authorization_name:
+ description: Authorization name of the user registered for SIP Phone.
+ type: string
+ domain:
+ description: |
+ The name or IP address of your provider’s SIP domain. (example: CDC.WEB).
+ type: string
+ id:
+ description: Unique Identifier of the SIP Phone.
+ type: string
+ password:
+ description: |
+ The password generated for the user in the SIP account.
+ type: string
+ proxy_server:
+ description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server, or empty.
+ type: string
+ proxy_server2:
+ description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server, or empty.
+ type: string
+ proxy_server3:
+ description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server, or empty.
+ type: string
+ register_server:
+ description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
+ type: string
+ register_server2:
+ description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
+ type: string
+ register_server3:
+ description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
+ type: string
+ registration_expire_time:
+ description: "The number of minutes after which the SIP registration of the Zoom client user will expire, and the client will auto register to the SIP server. "
+ type: integer
+ transport_protocol:
+ description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
+ enum:
+ - UDP
+ - TCP
+ - TLS
+ - AUTO
+ type: string
+ transport_protocol2:
+ description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
+ enum:
+ - UDP
+ - TCP
+ - TLS
+ - AUTO
+ type: string
+ transport_protocol3:
+ description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
+ enum:
+ - UDP
+ - TCP
+ - TLS
+ - AUTO
+ type: string
+ user_email:
+ description: The email address of the user to associate with the SIP Phone. Can add [.win, .mac, .android, .ipad, .iphone, .linux, .pc, .mobile, .pad] at the end of the email (ex. user@test.com.mac) to add accounts for different platforms for the same user.
+ format: email
+ type: string
+ user_name:
+ description: "The phone number associated with the user in the SIP account. "
+ type: string
+ voice_mail:
+ description: The number to dial for checking voicemail.
+ type: string
+ type: object
+ type: array
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ SIP Phones listed successfully.
+
+ **Error Code:** `200`
+ Permission missing: Enable SIP Phone Integration by contacting a Zoom Admin first.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` Bad Request
+
+ security:
+ - OAuth: []
+ summary: List SIP phones
+ tags:
+ - SIP Phone
+ post:
+ description: |+
+ Zoom’s Phone System Integration (PSI), also referred as SIP phones, enables an organization to leverage the Zoom client to complete a softphone registration to supported premise based PBX system. End users will have the ability to have softphone functionality within a single client while maintaining a comparable interface to Zoom Phone. Use this API to enable a user to use SIP phone.
+ **Prerequisites**:
+ * Currently only supported on Cisco and Avaya PBX systems.
+ * The account owner or account admin must first enable SIP Phone Integration by contacting the [Sales](https://zoom.us/contactsales) team. **Scope:** `sip_phone:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: createSIPPhone
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ authorization_name:
+ description: Authorization name of the user registered for SIP Phone.
+ maxLength: 64
+ type: string
+ domain:
+ description: "The name or IP address of your provider’s SIP domain. (example: CDC.WEB)."
+ maxLength: 64
+ type: string
+ password:
+ description: The password generated for the user in the SIP account.
+ type: string
+ proxy_server:
+ description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server.
+ type: string
+ proxy_server2:
+ description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server, or empty.
+ type: string
+ proxy_server3:
+ description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server, or empty.
+ type: string
+ register_server:
+ description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
+ type: string
+ register_server2:
+ description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
+ type: string
+ register_server3:
+ description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
+ type: string
+ registration_expire_time:
+ default: 60
+ description: The number of minutes after which the SIP registration of the Zoom client user will expire, and the client will auto register to the SIP server.
+ maximum: 127
+ minimum: 1
+ type: integer
+ transport_protocol:
+ description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
+ enum:
+ - UDP
+ - TCP
+ - TLS
+ - AUTO
+ type: string
+ transport_protocol2:
+ description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
+ enum:
+ - UDP
+ - TCP
+ - TLS
+ - AUTO
+ type: string
+ transport_protocol3:
+ description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
+ enum:
+ - UDP
+ - TCP
+ - TLS
+ - AUTO
+ type: string
+ user_email:
+ description: The email address of the user to associate with the SIP Phone. Can add [.win, .mac, .android, .ipad, .iphone, .linux, .pc, .mobile, .pad] at the end of the email (ex. user@test.com.mac) to add accounts for different platforms for the same user.
+ format: email
+ maxLength: 64
+ type: string
+ user_name:
+ description: The phone number associated with the user in the SIP account.
+ maxLength: 64
+ type: string
+ voice_mail:
+ description: The number to dial for checking voicemail.
+ maxLength: 255
+ type: string
+ required:
+ - domain
+ - register_server
+ - proxy_server
+ - user_name
+ - password
+ - authorization_name
+ - user_email
+ - voice_mail
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ authorization_name:
+ description: Authorization name of the user registered for SIP Phone.
+ maxLength: 64
+ type: string
+ domain:
+ description: "The name or IP address of your provider’s SIP domain. (example: CDC.WEB)."
+ maxLength: 64
+ type: string
+ password:
+ description: The password generated for the user in the SIP account.
+ type: string
+ proxy_server:
+ description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server.
+ type: string
+ proxy_server2:
+ description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server, or empty.
+ type: string
+ proxy_server3:
+ description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server, or empty.
+ type: string
+ register_server:
+ description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
+ type: string
+ register_server2:
+ description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
+ type: string
+ register_server3:
+ description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
+ type: string
+ registration_expire_time:
+ default: 60
+ description: The number of minutes after which the SIP registration of the Zoom client user will expire, and the client will auto register to the SIP server.
+ maximum: 127
+ minimum: 1
+ type: integer
+ transport_protocol:
+ description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
+ enum:
+ - UDP
+ - TCP
+ - TLS
+ - AUTO
+ type: string
+ transport_protocol2:
+ description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
+ enum:
+ - UDP
+ - TCP
+ - TLS
+ - AUTO
+ type: string
+ transport_protocol3:
+ description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
+ enum:
+ - UDP
+ - TCP
+ - TLS
+ - AUTO
+ type: string
+ user_email:
+ description: The email address of the user to associate with the SIP Phone. Can add [.win, .mac, .android, .ipad, .iphone, .linux, .pc, .mobile, .pad] at the end of the email (ex. user@test.com.mac) to add accounts for different platforms for the same user.
+ format: email
+ maxLength: 64
+ type: string
+ user_name:
+ description: The phone number associated with the user in the SIP account.
+ maxLength: 64
+ type: string
+ voice_mail:
+ description: The number to dial for checking voicemail.
+ maxLength: 255
+ type: string
+ required:
+ - domain
+ - register_server
+ - proxy_server
+ - user_name
+ - password
+ - authorization_name
+ - user_email
+ - voice_mail
+ type: object
+ x-examples:
+ application/json:
+ authorization_name: testname
+ domain: CDC.WEB
+ password: apassword1
+ proxy_server: 192.168.0.10
+ register_server: 192.168.0.100
+ registration_expire_time: 60
+ transport_protocol: UDP
+ user_email: CfRE2opiq3HokO@someemailtype.com
+ user_name: "1008"
+ voice_mail: "4000"
+ responses:
+ "201":
+ description: |
+ **HTTP Status Code:** `201`
+ SIP Phone Created.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400`
+ Bad request.
+ **Error Code:** `200` Permission missing: Enable SIP Phone Integration by contacting a Zoom Admin first.
+ **Error Code:** `300` SIP Phone with the same email already exists.
+
+
+ "404":
+ description: |+
+ **HTTP Status Code:** `404`
+ **Error Code:** `1001` User {userId} not exist or not belong to this account.
+
+
+ security:
+ - OAuth: []
+ summary: Enable SIP phone
+ tags:
+ - SIP Phone
+ "/sip_phones/{phoneId}":
+ delete:
+ description: |-
+ Zoom’s Phone System Integration (PSI), also referred as SIP phones, enables an organization to leverage the Zoom client to complete a softphone registration to supported premise based PBX system. End users will have the ability to have softphone functionality within a single client while maintaining a comparable interface to Zoom Phone. Use this API to delete a specific SIP phone on a Zoom account.
+ **Prerequisites**:
+ * Currently only supported on Cisco and Avaya PBX systems.
+ * User must enable SIP Phone Integration by contacting the [Sales](https://zoom.us/contactsales) team. **Scope:** `sip_phone:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: deleteSIPPhone
+ parameters:
+ - description: Unique Identifier of the SIP Phone. It can be retrieved from the List SIP Phones API.
+ in: path
+ name: phoneId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ description: "**Error Code:** `200` Permission missing: Enable SIP Phone Integration by contacting a Zoom Admin first."
+ "204":
+ content:
+ application/json:
+ schema:
+ properties: {}
+ type: object
+ application/xml:
+ schema:
+ properties: {}
+ type: object
+ description: |-
+ **HTTP Status Code:** `204`
+ SIP Phone deleted.
+ "300":
+ description: "**Error Code:** `300`The SIP phone with this phoneId was not found on this account."
+ security:
+ - OAuth: []
+ summary: Delete SIP phone
+ tags:
+ - SIP Phone
+ parameters:
+ - in: path
+ name: phoneId
+ required: true
+ schema:
+ type: string
+ patch:
+ description: |-
+ Zoom’s Phone System Integration (PSI), also referred as SIP phones, enables an organization to leverage the Zoom client to complete a softphone registration to supported premise based PBX system. End users will have the ability to have softphone functionality within a single client while maintaining a comparable interface to Zoom Phone. Use this API to update information of a specific SIP Phone on a Zoom account.
+ **Prerequisites**:
+ * Currently only supported on Cisco and Avaya PBX systems.
+ * The account owner or account admin must first enable SIP Phone Integration by contacting the [Sales](https://zoom.us/contactsales) team. **Scope:** `sip_phone:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: updateSIPPhone
+ parameters:
+ - description: Unique Identifier of the SIP Phone. This can be retrieved from the List SIP Phones API.
+ in: path
+ name: phoneId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ authorization_name:
+ description: Authorization name of the user registered for SIP Phone.
+ maxLength: 64
+ type: string
+ domain:
+ description: "The name or IP address of your provider’s SIP domain. (example: CDC.WEB)."
+ maxLength: 64
+ type: string
+ password:
+ description: The password generated for the user in the SIP account.
+ type: string
+ proxy_server:
+ description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server.
+ type: string
+ proxy_server2:
+ description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server.
+ type: string
+ proxy_server3:
+ description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server.
+ type: string
+ register_server:
+ description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
+ type: string
+ register_server2:
+ description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
+ type: string
+ register_server3:
+ description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
+ type: string
+ registration_expire_time:
+ default: 60
+ description: The number of minutes after which the SIP registration of the Zoom client user will expire, and the client will auto register to the SIP server.
+ maximum: 127
+ minimum: 1
+ type: integer
+ transport_protocol:
+ description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
+ enum:
+ - UDP
+ - TCP
+ - TLS
+ - AUTO
+ type: string
+ transport_protocol2:
+ description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
+ enum:
+ - UDP
+ - TCP
+ - TLS
+ - AUTO
+ type: string
+ transport_protocol3:
+ description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
+ enum:
+ - UDP
+ - TCP
+ - TLS
+ - AUTO
+ type: string
+ user_name:
+ description: The phone number associated with the user in the SIP account.
+ maxLength: 64
+ type: string
+ voice_mail:
+ description: The number to dial for checking voicemail.
+ maxLength: 255
+ type: string
+ required:
+ - domain
+ - register_server
+ - proxy_server
+ - register_server2
+ - proxy_server2
+ - register_server3
+ - proxy_server3
+ - user_name
+ - password
+ - authorization_name
+ - voice_mail
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ authorization_name:
+ description: Authorization name of the user registered for SIP Phone.
+ maxLength: 64
+ type: string
+ domain:
+ description: "The name or IP address of your provider’s SIP domain. (example: CDC.WEB)."
+ maxLength: 64
+ type: string
+ password:
+ description: The password generated for the user in the SIP account.
+ type: string
+ proxy_server:
+ description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server.
+ type: string
+ proxy_server2:
+ description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server.
+ type: string
+ proxy_server3:
+ description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server.
+ type: string
+ register_server:
+ description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
+ type: string
+ register_server2:
+ description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
+ type: string
+ register_server3:
+ description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
+ type: string
+ registration_expire_time:
+ default: 60
+ description: The number of minutes after which the SIP registration of the Zoom client user will expire, and the client will auto register to the SIP server.
+ maximum: 127
+ minimum: 1
+ type: integer
+ transport_protocol:
+ description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
+ enum:
+ - UDP
+ - TCP
+ - TLS
+ - AUTO
+ type: string
+ transport_protocol2:
+ description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
+ enum:
+ - UDP
+ - TCP
+ - TLS
+ - AUTO
+ type: string
+ transport_protocol3:
+ description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
+ enum:
+ - UDP
+ - TCP
+ - TLS
+ - AUTO
+ type: string
+ user_name:
+ description: The phone number associated with the user in the SIP account.
+ maxLength: 64
+ type: string
+ voice_mail:
+ description: The number to dial for checking voicemail.
+ maxLength: 255
+ type: string
+ required:
+ - domain
+ - register_server
+ - proxy_server
+ - register_server2
+ - proxy_server2
+ - register_server3
+ - proxy_server3
+ - user_name
+ - password
+ - authorization_name
+ - voice_mail
+ type: object
+ x-examples:
+ application/json:
+ authorization_name: testname
+ domain: CDC.WEB
+ password: apassword1
+ proxy_server: 192.168.0.10
+ register_server: 192.168.0.100
+ registration_expire_time: 60
+ transport_protocol: UDP
+ user_name: "1008"
+ voice_mail: "4000"
+ responses:
+ "200":
+ description: |
+ **Error Code:** `200`
+ Permission missing: Enable SIP Phone Integration by contacting a Zoom Admin first.
+ "204":
+ content:
+ application/json:
+ schema:
+ properties: {}
+ type: object
+ application/xml:
+ schema:
+ properties: {}
+ type: object
+ description: |
+ **HTTP Status Code:** `204`
+ SIP Phone information updated successfully.
+ "300":
+ description: |
+ **Error Code:** `300`
+ SIP phone not found: phoneId.
+ The SIP phone with this phoneId was not found on this account.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400`
+ Bad request.
+
+ security:
+ - OAuth: []
+ summary: Update SIP phone
+ tags:
+ - SIP Phone
+ /sip_trunk/numbers:
+ get:
+ description: |-
+ With SIP-connected audio, Zoom establishes a SIP trunk (a network connection specifically designed to make and deliver phone calls) over a direct and private connection between the customer’s network and the Zoom cloud. Meeting participants that dial into a meeting or have the meeting call them, and are On-Net from the perspective of the customers' IP telephony network, will be connected over this trunk rather than over the PSTN.
Use this API to list all the numbers that are configured for SIP Connected Audio in a Zoom Account.
+
+ **Prerequisites:**
+ * Pro or a higher account with SIP Connected Audio plan enabled.
+ * The account must be a master account
+ **Scopes:** `sip_trunk:master`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: listSipTrunkNumbers
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ phone_numbers:
+ - country: US
+ number: "45345545"
+ total_records: 1
+ schema:
+ properties:
+ phone_numbers:
+ items:
+ properties:
+ country:
+ description: "Country ID (example: US)"
+ type: string
+ number:
+ description: Phone number
+ type: string
+ type: object
+ type: array
+ total_records:
+ description: Total number of records returned.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ phone_numbers:
+ items:
+ properties:
+ country:
+ description: "Country ID (example: US)"
+ type: string
+ number:
+ description: Phone number
+ type: string
+ type: object
+ type: array
+ total_records:
+ description: Total number of records returned.
+ type: integer
+ type: object
+ description: |-
+ * **HTTP Status Code:** `200` **OK**
+ List of numbers returned.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `2001`
+ This account does not exist or does not belong to this master account.
+ This account does not exist or does not belong to you.
+ security:
+ - OAuth: []
+ summary: List SIP trunk numbers
+ tags:
+ - SIP Connected Audio
+ /tracking_fields:
+ get:
+ description: |-
+ [Tracking fields](https://support.zoom.us/hc/en-us/articles/115000293426-Scheduling-Tracking-Fields) allow you to analyze usage by various fields within an organization. Use this API to list all the tracking fields on your Zoom account.
+ **Scopes:** `trackingfield:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ **Prerequisites:**
+ * Business, Education, API or higher plan
+ operationId: trackingfieldList
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value: |-
+ {
+ "total_records": 1,
+ "tracking_fields": [
+ {
+ "id": "3746374637",
+ "field": "Meeting Purpose",
+ "required": true,
+ "visible": false,
+ "recommended_values": [
+ "Support",
+ "Onboarding",
+ "Sales",
+ "Other"
+ ]
+ }
+ }
+ schema:
+ allOf:
+ - properties:
+ total_records:
+ description: The number of all records available across pages
+ type: integer
+ tracking_fields:
+ description: Array of Tracking Fields
+ items:
+ allOf:
+ - properties:
+ id:
+ description: ID of Tracking Field
+ type: string
+ - description: Tracking Field
+ properties:
+ field:
+ description: Label/ Name for the tracking field.
+ type: string
+ recommended_values:
+ description: Array of recommended values
+ items:
+ type: string
+ type: array
+ required:
+ description: Tracking Field Required
+ type: boolean
+ visible:
+ description: Tracking Field Visible
+ type: boolean
+ title: Tracking Field
+ type: object
+ type: array
+ description: Tracking Field List
+ title: Tracking Field List
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ total_records:
+ description: The number of all records available across pages
+ type: integer
+ tracking_fields:
+ description: Array of Tracking Fields
+ items:
+ allOf:
+ - properties:
+ id:
+ description: ID of Tracking Field
+ type: string
+ - description: Tracking Field
+ properties:
+ field:
+ description: Label/ Name for the tracking field.
+ type: string
+ recommended_values:
+ description: Array of recommended values
+ items:
+ type: string
+ type: array
+ required:
+ description: Tracking Field Required
+ type: boolean
+ visible:
+ description: Tracking Field Visible
+ type: boolean
+ title: Tracking Field
+ type: object
+ type: array
+ description: Tracking Field List
+ title: Tracking Field List
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ List of Tracking Fields returned.
+ security:
+ - OAuth: []
+ summary: List tracking fields
+ tags:
+ - TrackingField
+ post:
+ description: |-
+ [Tracking fields](https://support.zoom.us/hc/en-us/articles/115000293426-Scheduling-Tracking-Fields) allow you to analyze usage by various fields within an organization. Use this API to create a new tracking field.
+ **Scope:** `trackingfield:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ **Prerequisites:**
+ * Business, Education, API or higher plan
+ operationId: trackingfieldCreate
+ requestBody:
+ content:
+ application/json:
+ schema:
+ description: Tracking Field
+ properties:
+ field:
+ description: Label/ Name for the tracking field.
+ type: string
+ recommended_values:
+ description: Array of recommended values
+ items:
+ type: string
+ type: array
+ required:
+ description: Tracking Field Required
+ type: boolean
+ visible:
+ description: Tracking Field Visible
+ type: boolean
+ title: Tracking Field
+ type: object
+ multipart/form-data:
+ schema:
+ description: Tracking Field
+ properties:
+ field:
+ description: Label/ Name for the tracking field.
+ type: string
+ recommended_values:
+ description: Array of recommended values
+ items:
+ type: string
+ type: array
+ required:
+ description: Tracking Field Required
+ type: boolean
+ visible:
+ description: Tracking Field Visible
+ type: boolean
+ title: Tracking Field
+ type: object
+ description: Tracking Field
+ required: true
+ x-examples:
+ application/json:
+ field: Meeting Purpose
+ recommended_values:
+ - Support
+ - Onboarding
+ - Sales
+ - Other
+ required: true
+ visible: false
+ responses:
+ "201":
+ content:
+ application/json:
+ schema:
+ allOf:
+ - properties:
+ id:
+ description: Tracking Field ID
+ type: string
+ - description: Tracking Field
+ properties:
+ field:
+ description: Label/ Name for the tracking field.
+ type: string
+ recommended_values:
+ description: Array of recommended values
+ items:
+ type: string
+ type: array
+ required:
+ description: Tracking Field Required
+ type: boolean
+ visible:
+ description: Tracking Field Visible
+ type: boolean
+ title: Tracking Field
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ id:
+ description: Tracking Field ID
+ type: string
+ - description: Tracking Field
+ properties:
+ field:
+ description: Label/ Name for the tracking field.
+ type: string
+ recommended_values:
+ description: Array of recommended values
+ items:
+ type: string
+ type: array
+ required:
+ description: Tracking Field Required
+ type: boolean
+ visible:
+ description: Tracking Field Visible
+ type: boolean
+ title: Tracking Field
+ type: object
+ description: |-
+ **HTTP Status Code:** `201`
+ Tracking Field created
+ headers:
+ Content-Location:
+ description: Location of created tracking field
+ schema:
+ type: string
+ security:
+ - OAuth: []
+ summary: Create a tracking field
+ tags:
+ - TrackingField
+ "/tracking_fields/{fieldId}":
+ delete:
+ description: |-
+ [Tracking fields](https://support.zoom.us/hc/en-us/articles/115000293426-Scheduling-Tracking-Fields) allow you to analyze usage by various fields within an organization. Use this API to delete a tracking field.
+ **Scope:** `trackingfield:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ **Prerequisites:**
+ * Business, Education, API or higher plan
+ operationId: trackingfieldDelete
+ parameters:
+ - description: The Tracking Field ID
+ in: path
+ name: fieldId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ Tracking Field deleted
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Tracking Field not found
+ security:
+ - OAuth: []
+ summary: Delete a tracking field
+ tags:
+ - TrackingField
+ get:
+ description: |
+ [Tracking fields](https://support.zoom.us/hc/en-us/articles/115000293426-Scheduling-Tracking-Fields) allow you to analyze usage by various fields within an organization.
When scheduling a meeting, the tracking field will be included in the meeting options. Use this API to get information on a tracking field.
+ **Scopes:** `trackingfield:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ **Prerequisites:**
+ * Business, Education, API or higher plan
+ operationId: trackingfieldGet
+ parameters:
+ - description: The Tracking Field ID
+ in: path
+ name: fieldId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ field: Meeting Purpose
+ id: fdfgdfgr23gr1
+ recommended_values:
+ - Support
+ - Onboarding
+ - Sales
+ - Other
+ required: true
+ visible: false
+ schema:
+ allOf:
+ - properties:
+ id:
+ description: Tracking Field ID
+ type: string
+ - description: Tracking Field
+ properties:
+ field:
+ description: Label/ Name for the tracking field.
+ type: string
+ recommended_values:
+ description: Array of recommended values
+ items:
+ type: string
+ type: array
+ required:
+ description: Tracking Field Required
+ type: boolean
+ visible:
+ description: Tracking Field Visible
+ type: boolean
+ title: Tracking Field
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ id:
+ description: Tracking Field ID
+ type: string
+ - description: Tracking Field
+ properties:
+ field:
+ description: Label/ Name for the tracking field.
+ type: string
+ recommended_values:
+ description: Array of recommended values
+ items:
+ type: string
+ type: array
+ required:
+ description: Tracking Field Required
+ type: boolean
+ visible:
+ description: Tracking Field Visible
+ type: boolean
+ title: Tracking Field
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Tracking Field object returned
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Tracking Field not found
+ security:
+ - OAuth: []
+ summary: Get a tracking field
+ tags:
+ - TrackingField
+ patch:
+ description: |-
+ [Tracking fields](https://support.zoom.us/hc/en-us/articles/115000293426-Scheduling-Tracking-Fields) allow you to analyze usage by various fields within an organization. Use this API to update a tracking field.
+ **Scope:** `trackingfield:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ **Prerequisites:**
+ * Business, Education, API or higher plan
+ operationId: trackingfieldUpdate
+ parameters:
+ - description: The Tracking Field ID
+ in: path
+ name: fieldId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ description: Tracking Field
+ properties:
+ field:
+ description: Label/ Name for the tracking field.
+ type: string
+ recommended_values:
+ description: Array of recommended values
+ items:
+ type: string
+ type: array
+ required:
+ description: Tracking Field Required
+ type: boolean
+ visible:
+ description: Tracking Field Visible
+ type: boolean
+ title: Tracking Field
+ type: object
+ multipart/form-data:
+ schema:
+ description: Tracking Field
+ properties:
+ field:
+ description: Label/ Name for the tracking field.
+ type: string
+ recommended_values:
+ description: Array of recommended values
+ items:
+ type: string
+ type: array
+ required:
+ description: Tracking Field Required
+ type: boolean
+ visible:
+ description: Tracking Field Visible
+ type: boolean
+ title: Tracking Field
+ type: object
+ required: true
+ x-examples:
+ application/json:
+ field: Meeting Purpose
+ recommended_values:
+ - Support
+ - Onboarding
+ - Sales
+ - Other
+ required: true
+ visible: false
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ Tracking Field updated
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Tracking Field not found
+ security:
+ - OAuth: []
+ summary: Update a tracking field
+ tags:
+ - TrackingField
+ /tsp:
+ get:
+ description: |-
+ Get information on Telephony Service Provider on an account level.
+ **Scopes:** `tsp:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ **Prerequisites:**
+ * A Pro or a higher plan.
+ operationId: tsp
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ dial_in_number_unrestricted: false
+ dial_in_numbers:
+ - code: "111"
+ number: "000000000"
+ type: toll
+ enable: true
+ master_account_setting_extended: false
+ modify_credential_forbidden: true
+ tsp_bridge: string
+ tsp_enabled: true
+ tsp_provider: someprovidername
+ schema:
+ properties:
+ dial_in_number_unrestricted:
+ description: Control restriction on account users adding a TSP number outside of account's dial in numbers.
+ type: boolean
+ dial_in_numbers:
+ items:
+ properties:
+ code:
+ description: Country Code
+ type: string
+ number:
+ description: Dial-in number, length is less than 16
+ maxLength: 16
+ type: string
+ type:
+ description: Dial-in number type.
+ type: string
+ type: object
+ type: array
+ enable:
+ description: Enable Telephony Service Provider for account users.
+ type: boolean
+ master_account_setting_extended:
+ description: For master account, extend its TSP setting to all sub accounts. For sub account, extend TSP setting from master account.
+ type: boolean
+ modify_credential_forbidden:
+ description: Control restriction on account users being able to modify their TSP credentials.
+ type: boolean
+ tsp_bridge:
+ description: Telephony bridge zone
+ enum:
+ - US_TSP_TB
+ - EU_TSP_TB
+ type: string
+ tsp_enabled:
+ description: Enable TSP feature for account. This has to be enabled to use any other tsp settings/features.
+ type: boolean
+ tsp_provider:
+ description: Telephony Service Provider.
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ dial_in_number_unrestricted:
+ description: Control restriction on account users adding a TSP number outside of account's dial in numbers.
+ type: boolean
+ dial_in_numbers:
+ items:
+ properties:
+ code:
+ description: Country Code
+ type: string
+ number:
+ description: Dial-in number, length is less than 16
+ maxLength: 16
+ type: string
+ type:
+ description: Dial-in number type.
+ type: string
+ type: object
+ type: array
+ enable:
+ description: Enable Telephony Service Provider for account users.
+ type: boolean
+ master_account_setting_extended:
+ description: For master account, extend its TSP setting to all sub accounts. For sub account, extend TSP setting from master account.
+ type: boolean
+ modify_credential_forbidden:
+ description: Control restriction on account users being able to modify their TSP credentials.
+ type: boolean
+ tsp_bridge:
+ description: Telephony bridge zone
+ enum:
+ - US_TSP_TB
+ - EU_TSP_TB
+ type: string
+ tsp_enabled:
+ description: Enable TSP feature for account. This has to be enabled to use any other tsp settings/features.
+ type: boolean
+ tsp_provider:
+ description: Telephony Service Provider.
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ TSP account detail returned successfully.
+ summary: Get account's TSP information
+ tags:
+ - TSP
+ patch:
+ description: |
+ Update information of the Telephony Service Provider set up on an account.
+ **Prerequisites**:
+ TSP account option should be enabled.
+ **Scopes:** `tsp:write:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: tspUpdate
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ dial_in_number_unrestricted:
+ description: Control restriction on account users adding a TSP number outside of account's dial in numbers.
+ type: boolean
+ enable:
+ description: Enable 3rd party audio conferencing for account users
+ type: boolean
+ master_account_setting_extended:
+ description: For master account, extend its TSP setting to all sub accounts. For sub account, extend TSP setting from master account.
+ type: boolean
+ modify_credential_forbidden:
+ description: Control restriction on account users being able to modify their TSP credentials.
+ type: boolean
+ tsp_bridge:
+ description: Telephony bridge
+ enum:
+ - US_TSP_TB
+ - EU_TSP_TB
+ type: string
+ tsp_enabled:
+ description: Enable TSP feature for account. This has to be enabled to use any other tsp settings/features.
+ type: boolean
+ tsp_provider:
+ description: 3rd party audio conferencing provider
+ type: string
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ dial_in_number_unrestricted:
+ description: Control restriction on account users adding a TSP number outside of account's dial in numbers.
+ type: boolean
+ enable:
+ description: Enable 3rd party audio conferencing for account users
+ type: boolean
+ master_account_setting_extended:
+ description: For master account, extend its TSP setting to all sub accounts. For sub account, extend TSP setting from master account.
+ type: boolean
+ modify_credential_forbidden:
+ description: Control restriction on account users being able to modify their TSP credentials.
+ type: boolean
+ tsp_bridge:
+ description: Telephony bridge
+ enum:
+ - US_TSP_TB
+ - EU_TSP_TB
+ type: string
+ tsp_enabled:
+ description: Enable TSP feature for account. This has to be enabled to use any other tsp settings/features.
+ type: boolean
+ tsp_provider:
+ description: 3rd party audio conferencing provider
+ type: string
+ type: object
+ description: TSP Account
+ required: true
+ x-examples:
+ application/json:
+ dial_in_number_unrestricted: boolean
+ enable: boolean
+ master_account_setting_extended: boolean
+ modify_credential_forbidden: boolean
+ tsp_bridge: string
+ tsp_enabled: boolean
+ tsp_provider: string
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ TSP Account updated.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ Bad request.
+
+ **Error Code:** `300`
+ Invalid parameter: tsp_bridge.
+ summary: Update account's TSP information
+ tags:
+ - TSP
+ /users:
+ get:
+ description: |-
+ A Zoom account can have one or more users. Use this API to list users on your account.
+ **Scopes:** `user:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: users
+ parameters:
+ - description: User statuses: `active` - Users with an active status. `inactive` - Users who are deactivated. `pending` - Users with a pending status.
+ in: query
+ name: status
+ schema:
+ default: active
+ enum:
+ - active
+ - inactive
+ - pending
+ type: string
+ x-enum-descriptions:
+ - users with active status
+ - users with inactive status
+ - users with pending status
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: "Unique identifier of the role. Provide this parameter if you would like to filter the response by a specific role. You can retrieve Role IDs from [List Roles](https://marketplace.zoom.us/docs/api-reference/zoom-api/roles/roles) API. "
+ in: query
+ name: role_id
+ schema:
+ type: string
+ - description: The page number of the current page in the returned records.
+ in: query
+ name: page_number
+ schema:
+ type: string
+ - description: |-
+ Provide a value for this field if you would like to see the following attribute in the response of this API call:
+
+ `custom_attributes`: Returns custom attributes that are associated with the user. `host_key`: Returns [host key](https://support.zoom.us/hc/en-us/articles/205172555-Using-your-host-key) of the user.
+ in: query
+ name: include_fields
+ schema:
+ type: string
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ page_count: 1
+ page_number: 1
+ page_size: 30
+ total_records: 1
+ users:
+ - created_at: 2018-11-15T01:10:08Z
+ dept: ""
+ email: mel@jfggdhfhdfj.djfhdsfh
+ first_name: Melina
+ id: z8yAAAAA8bbbQ
+ im_group_ids:
+ - Abdsjkfhdhfj
+ last_client_version: 4.4.55383.0716(android)
+ last_login_time: 2019-09-13T21:08:52Z
+ last_name: Ghimire
+ pic_url: https://lh4.googleusercontent.com/-someurl/photo.jpg
+ pmi: 581111112
+ status: active
+ timezone: America/Los_Angeles
+ type: 2
+ verified: 1
+ schema:
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ users:
+ description: List of user objects.
+ items:
+ properties:
+ created_at:
+ description: The time when user's account was created.
+ format: date-time
+ type: string
+ custom_attributes:
+ description: Custom attributes. This field is only returned if users have been assigned custom attributes and if you provided `custom_attributes` as the value of `include_fields` query parameter in the API request.
+ items:
+ properties:
+ key:
+ description: Unique identifier of the custom attribute.
+ type: string
+ name:
+ description: Name of the custom attribute.
+ type: string
+ value:
+ description: Value of the custom attribute.
+ type: string
+ type: object
+ type: array
+ dept:
+ description: Department, if provided by the user.
+ type: string
+ email:
+ default: john.doe@gmail.com
+ description: User's email address.
+ type: string
+ first_name:
+ description: User's first name.
+ maxLength: 64
+ type: string
+ group_ids:
+ description: IDs of groups where the user is a member.
+ items:
+ type: string
+ type: array
+ host_key:
+ description: The [host key](https://support.zoom.us/hc/en-us/articles/205172555-Using-your-host-key) of the user. This field is only returned if users have been assigned a host key and if you provided `host_key` as the value of `include_fields` query parameter in the API request.
+ type: string
+ id:
+ description: User ID.
+ type: string
+ im_group_ids:
+ description: IDs of IM directory groups where the user is a member.
+ items:
+ type: string
+ type: array
+ last_client_version:
+ description: The last client version that user used to login.
+ type: string
+ last_login_time:
+ description: User's last login time. There is a three-days buffer period for this field. For example, if user first logged in on 2020-01-01 and then logged out and logged in on 2020-01-02, the value of this field will still reflect the login time of 2020-01-01. However, if the user logs in on 2020-01-04, the value of this field will reflect the corresponding login time since it exceeds the three-day buffer period.
+ format: date-time
+ type: string
+ last_name:
+ description: User's last name.
+ maxLength: 64
+ type: string
+ plan_united_type:
+ description: This field is returned if the user is enrolled in the [Zoom United](https://zoom.us/pricing/zoom-bundles) plan.
+ type: string
+ pmi:
+ description: Personal meeting ID of the user.
+ format: int64
+ type: integer
+ role_id:
+ description: Unique identifier of the [role](https://marketplace.zoom.us/docs/api-reference/zoom-api/roles/roles) assigned to the user.
+ type: string
+ status:
+ description: User's status
+ example: active
+ type: string
+ timezone:
+ description: The time zone of the user.
+ type: string
+ type:
+ description: |
+ User's plan type.
+ `1` - Basic.
+ `2` - Licensed.
+ `3` - On-prem.
+ `99` - None (this can only be set with `ssoCreate`).
+ example: 1
+ type: integer
+ verified:
+ description: |-
+ Display whether the user's email address for the Zoom account is verified or not.
+ `1` - Verified user email.
+ `0` - User's email not verified.
+ type: integer
+ required:
+ - email
+ - type
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ users:
+ description: List of user objects.
+ items:
+ properties:
+ created_at:
+ description: The time when user's account was created.
+ format: date-time
+ type: string
+ custom_attributes:
+ description: Custom attributes. This field is only returned if users have been assigned custom attributes and if you provided `custom_attributes` as the value of `include_fields` query parameter in the API request.
+ items:
+ properties:
+ key:
+ description: Unique identifier of the custom attribute.
+ type: string
+ name:
+ description: Name of the custom attribute.
+ type: string
+ value:
+ description: Value of the custom attribute.
+ type: string
+ type: object
+ type: array
+ dept:
+ description: Department, if provided by the user.
+ type: string
+ email:
+ default: john.doe@gmail.com
+ description: User's email address.
+ type: string
+ first_name:
+ description: User's first name.
+ maxLength: 64
+ type: string
+ group_ids:
+ description: IDs of groups where the user is a member.
+ items:
+ type: string
+ type: array
+ host_key:
+ description: The [host key](https://support.zoom.us/hc/en-us/articles/205172555-Using-your-host-key) of the user. This field is only returned if users have been assigned a host key and if you provided `host_key` as the value of `include_fields` query parameter in the API request.
+ type: string
+ id:
+ description: User ID.
+ type: string
+ im_group_ids:
+ description: IDs of IM directory groups where the user is a member.
+ items:
+ type: string
+ type: array
+ last_client_version:
+ description: The last client version that user used to login.
+ type: string
+ last_login_time:
+ description: User's last login time. There is a three-days buffer period for this field. For example, if user first logged in on 2020-01-01 and then logged out and logged in on 2020-01-02, the value of this field will still reflect the login time of 2020-01-01. However, if the user logs in on 2020-01-04, the value of this field will reflect the corresponding login time since it exceeds the three-day buffer period.
+ format: date-time
+ type: string
+ last_name:
+ description: User's last name.
+ maxLength: 64
+ type: string
+ plan_united_type:
+ description: This field is returned if the user is enrolled in the [Zoom United](https://zoom.us/pricing/zoom-bundles) plan.
+ type: string
+ pmi:
+ description: Personal meeting ID of the user.
+ format: int64
+ type: integer
+ role_id:
+ description: Unique identifier of the [role](https://marketplace.zoom.us/docs/api-reference/zoom-api/roles/roles) assigned to the user.
+ type: string
+ status:
+ description: User's status
+ example: active
+ type: string
+ timezone:
+ description: The time zone of the user.
+ type: string
+ type:
+ description: |
+ User's plan type.
+ `1` - Basic.
+ `2` - Licensed.
+ `3` - On-prem.
+ `99` - None (this can only be set with `ssoCreate`).
+ example: 1
+ type: integer
+ verified:
+ description: |-
+ Display whether the user's email address for the Zoom account is verified or not.
+ `1` - Verified user email.
+ `0` - User's email not verified.
+ type: integer
+ required:
+ - email
+ - type
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ User list returned.
+ security:
+ - OAuth: []
+ summary: List users
+ tags:
+ - Users
+ post:
+ description: |-
+ A Zoom account can have one or more users. Use this API to add a new user to your account.
+ **Prerequisites:**
+ * Pro or higher plan
+ **Scopes:** `user:write:admin` `user:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: userCreate
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ action:
+ description: "Specify how to create the new user: `create` - User will get an email sent from Zoom. There is a confirmation link in this email. The user will then need to use the link to activate their Zoom account. The user can then set or change their password. `autoCreate` - This action is provided for the enterprise customer who has a managed domain. This feature is disabled by default because of the security risk involved in creating a user who does not belong to your domain. `custCreate` - Users created via this option do not have passwords and will not have the ability to log into the Zoom Web Portal or the Zoom Client. These users can still host and join meetings using the `start_url` and `join_url` respectively. To use this option, you must contact the ISV Platform Sales team at isv@zoom.us. `ssoCreate` - This action is provided for the enabled “Pre-provisioning SSO User” option. A user created in this way has no password. If not a basic user, a personal vanity URL using the user name (no domain) of the provisioning email will be generated. If the user name or PMI is invalid or occupied, it will use a random number or random personal vanity URL."
+ enum:
+ - create
+ - autoCreate
+ - custCreate
+ - ssoCreate
+ type: string
+ x-enum-descriptions:
+ - User will get an email sent from Zoom. There is a confirmation link in this email. User will then need to click this link to activate their account to the Zoom service. The user can set or change their password in Zoom. .
+ - This action is provided for enterprise customer who has a managed domain. This feature is disabled by default because of the security risk involved in creating a user who does not belong to your domain without notifying the user.
+ - This action is provided for API partner only. User created in this way has no password and is not able to log into the Zoom web site or client.
+ - This action is provided for enabled "Pre-provisioning SSO User" option. User created in this way has no password. If it is not a basic user, will generate a Personal Vanity URL using user name (no domain) of the provisioning email. If user name or pmi is invalid or occupied, will use random number/random personal vanity URL.
+ user_info:
+ properties:
+ email:
+ description: User email address.
+ maxLength: 128
+ type: string
+ first_name:
+ description: "User's first name: cannot contain more than 5 Chinese words."
+ maxLength: 64
+ type: string
+ last_name:
+ description: "User's last name: cannot contain more than 5 Chinese words."
+ maxLength: 64
+ type: string
+ password:
+ description: |-
+ User password. Only used for the "autoCreate" function. The password has to have a minimum of 8 characters and maximum of 32 characters. By default (basic requirement), password must have at least one letter (a, b, c..), at least one number (1, 2, 3...) and include both uppercase and lowercase letters. It should not contain only one identical character repeatedly ('11111111' or 'aaaaaaaa') and it cannot contain consecutive characters ('12345678' or 'abcdefgh').
+
+ **Note:** If the account owner or admin has enabled [enhanced password requirements](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_fa9186e4-6818-4f7a-915c-2e25c19f0acd), the value provided in this field must meet those requirements. These requirements can be retrieved by calling the [Get Account Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) and referring to the `password_requirement` field present in the `security` object.
+ format: password
+ maxLength: 32
+ minLength: 8
+ type: string
+ type:
+ description: User type: `1` - Basic. `2` - Licensed. `3` - On-prem. `99` - None (this can only be set with `ssoCreate`).
+ enum:
+ - 1
+ - 2
+ - 3
+ - 99
+ type: integer
+ required:
+ - email
+ - type
+ type: object
+ required:
+ - action
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ action:
+ description: "Specify how to create the new user: `create` - User will get an email sent from Zoom. There is a confirmation link in this email. The user will then need to use the link to activate their Zoom account. The user can then set or change their password. `autoCreate` - This action is provided for the enterprise customer who has a managed domain. This feature is disabled by default because of the security risk involved in creating a user who does not belong to your domain. `custCreate` - Users created via this option do not have passwords and will not have the ability to log into the Zoom Web Portal or the Zoom Client. These users can still host and join meetings using the `start_url` and `join_url` respectively. To use this option, you must contact the ISV Platform Sales team at isv@zoom.us. `ssoCreate` - This action is provided for the enabled “Pre-provisioning SSO User” option. A user created in this way has no password. If not a basic user, a personal vanity URL using the user name (no domain) of the provisioning email will be generated. If the user name or PMI is invalid or occupied, it will use a random number or random personal vanity URL."
+ enum:
+ - create
+ - autoCreate
+ - custCreate
+ - ssoCreate
+ type: string
+ x-enum-descriptions:
+ - User will get an email sent from Zoom. There is a confirmation link in this email. User will then need to click this link to activate their account to the Zoom service. The user can set or change their password in Zoom. .
+ - This action is provided for enterprise customer who has a managed domain. This feature is disabled by default because of the security risk involved in creating a user who does not belong to your domain without notifying the user.
+ - This action is provided for API partner only. User created in this way has no password and is not able to log into the Zoom web site or client.
+ - This action is provided for enabled "Pre-provisioning SSO User" option. User created in this way has no password. If it is not a basic user, will generate a Personal Vanity URL using user name (no domain) of the provisioning email. If user name or pmi is invalid or occupied, will use random number/random personal vanity URL.
+ user_info:
+ properties:
+ email:
+ description: User email address.
+ maxLength: 128
+ type: string
+ first_name:
+ description: "User's first name: cannot contain more than 5 Chinese words."
+ maxLength: 64
+ type: string
+ last_name:
+ description: "User's last name: cannot contain more than 5 Chinese words."
+ maxLength: 64
+ type: string
+ password:
+ description: |-
+ User password. Only used for the "autoCreate" function. The password has to have a minimum of 8 characters and maximum of 32 characters. By default (basic requirement), password must have at least one letter (a, b, c..), at least one number (1, 2, 3...) and include both uppercase and lowercase letters. It should not contain only one identical character repeatedly ('11111111' or 'aaaaaaaa') and it cannot contain consecutive characters ('12345678' or 'abcdefgh').
+
+ **Note:** If the account owner or admin has enabled [enhanced password requirements](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_fa9186e4-6818-4f7a-915c-2e25c19f0acd), the value provided in this field must meet those requirements. These requirements can be retrieved by calling the [Get Account Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) and referring to the `password_requirement` field present in the `security` object.
+ format: password
+ maxLength: 32
+ minLength: 8
+ type: string
+ type:
+ description: User type: `1` - Basic. `2` - Licensed. `3` - On-prem. `99` - None (this can only be set with `ssoCreate`).
+ enum:
+ - 1
+ - 2
+ - 3
+ - 99
+ type: integer
+ required:
+ - email
+ - type
+ type: object
+ required:
+ - action
+ type: object
+ description: User
+ required: true
+ x-examples:
+ application/json:
+ action: create
+ user_info:
+ email: dhjdfkghdskjf@fgkjfdlgjfkd.gh
+ first_name: Terry
+ last_name: Jones
+ type: 1
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ email: string
+ first_name: string
+ id: string
+ last_name: string
+ type: integer
+ schema:
+ properties:
+ email:
+ description: User email address.
+ type: string
+ first_name:
+ description: User's first name.
+ maxLength: 64
+ type: string
+ id:
+ description: User ID.
+ type: string
+ last_name:
+ description: User's last name.
+ maxLength: 64
+ type: string
+ type:
+ description: |
+ User type: `1` - Basic. `2` - Licensed. `3` - On-prem. `99` - None (this can only be set with `ssoCreate`).
+ enum:
+ - 1
+ - 2
+ - 3
+ - 99
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ email:
+ description: User email address.
+ type: string
+ first_name:
+ description: User's first name.
+ maxLength: 64
+ type: string
+ id:
+ description: User ID.
+ type: string
+ last_name:
+ description: User's last name.
+ maxLength: 64
+ type: string
+ type:
+ description: |
+ User type: `1` - Basic. `2` - Licensed. `3` - On-prem. `99` - None (this can only be set with `ssoCreate`).
+ enum:
+ - 1
+ - 2
+ - 3
+ - 99
+ type: integer
+ type: object
+ description: |-
+ **HTTP Status Code:** `201`
+ User created.
+ headers:
+ Content-Location:
+ description: Location of created User
+ schema:
+ type: string
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `200` No privilege. No permission, please contact Zoom customer support.
**Error Code:** `1000` The user cannot be changed because they are a Call-queue manager or Auto-receptionist operator.
+ **Error Code:**`300` Your request could not be completed because the name contains an invalid word: {name} The value provided for plan_united_type parameter is invalid. Try again with a valid value.
+ **Error Code:** `1009` The user $email already holds an active account.
**Error Code:** `1107` Email domain is blocked **Error Code:** `2034` Your request to add a new {0} user could not be approved at this time because your account has reached the permitted maximum number of {1} users. Please purchase additional licenses or contact the Zoom support team to provision additional users in your account.
**Error Code:** `2033`
+ Your request to add a basic user was not approved because you have already reached the maximum basic user limit allowed in your account. For additional help regarding this issue, contact the Zoom Customer Support team.
+ **Error Code:** `3412` Your request to add a basic user could not be approved at this time because your account has reached the permitted maximum number of $maxAllowedNumber basic users. Please remove existing basic user(s) from your Users list or the Pending Users list before attempting to add another user.
+ Your request to add a new $userType user could not be approved at this time because your account has reached the permitted maximum number of $maxAllowedNumber paying users. Please purchase additional licenses or contact the Zoom support team to provision additional users in your account.
+ **Error Code:** `1108` Permission requirements to change the user type of this user were not met.
+ **Error Code:** `2002` SSO has not been enabled for this account. Contact the Zoom support team to enable this option.
+ **Error Code:** `2032` The ssoCreate option is only available for SSO Partners that have enabled the pre-provision option. Contact the Zoom Support team to learn more.
+ **Error Code:** `4130`
+ Group does not exist: $groupId
+ "409":
+ description: |-
+ **HTTP Status Code:** `409` User with that email already exists
+ **Error Code:** `1005` Email $email has already been used.
+ security:
+ - OAuth: []
+ summary: Create users
+ tags:
+ - Users
+ /users/email:
+ get:
+ description: |
+ Verify if a user's email is registered with Zoom.
+
+ Note: You can successfully check if a user is a registered Zoom user only if the user **signed up for Zoom via email and is within your account.** If you provide an email address of a user who is not in your account, the value of "existed_email" parameter will be "false" irrespective of whether or not the user is registered with Zoom. The response of this API call will not include users who joined Zoom using options such as "Sign in with SSO", "Sign in with Google" or "Sign in with Facebook" even if they are in the same account as yours.
+
+ **Scopes:** `user:read:admin` `user:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: userEmail
+ parameters:
+ - description: The email address to be verified.
+ in: query
+ name: email
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ existed_email: false
+ schema:
+ properties:
+ existed_email:
+ description: Indicates whether or not the email already exists in Zoom.
+ type: boolean
+ type: object
+ application/xml:
+ schema:
+ properties:
+ existed_email:
+ description: Indicates whether or not the email already exists in Zoom.
+ type: boolean
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Success.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300` Email is required.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User does not exist: $userId.
+ security:
+ - OAuth: []
+ summary: Check a user email
+ tags:
+ - Users
+ /users/me/zak:
+ get:
+ description: |+
+ Get User’s Zoom Access Token (ZAK). You can use a ZAK to enable a non-login user to join a meeting on your app. Non-login users do not need to enter their username and password to join meetings.
+
+ **Scope:** `user_zak:read`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: userZak
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ token: sslldd00933aaas
+ schema:
+ properties:
+ token:
+ description: The user's ZAK.
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ token:
+ description: The user's ZAK.
+ type: string
+ type: object
+ description: OK
+ "400":
+ description: |-
+ **HTTP Status Code:** `404`
+
+ **Error Code:** `1001`
+ User not exist.
+ User {userId} does not exist or does not belong to this account.
+ security:
+ - OAuth: []
+ summary: Get user's ZAK
+ tags:
+ - Users
+ /users/vanity_name:
+ get:
+ description: |-
+ A personal meeting room is a virtual meeting room that can be permanently assigned to a user.
+ Use this API to check if a personal meeting room with the given name exists or not.
+ **Scopes:** `user:read:admin` `user:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: userVanityName
+ parameters:
+ - description: Personal meeting room name.
+ in: query
+ name: vanity_name
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ existed: true
+ schema:
+ properties:
+ existed:
+ description: If `true`, it indicates that the personal meeting room with the given name exists. `false` - The room name does not exist.
+ type: boolean
+ type: object
+ application/xml:
+ schema:
+ properties:
+ existed:
+ description: If `true`, it indicates that the personal meeting room with the given name exists. `false` - The room name does not exist.
+ type: boolean
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Success.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `300` Vanity name is required.
+ summary: Check a user's PM room
+ tags:
+ - Users
+ "/users/{userId}":
+ delete:
+ description: |-
+ Deleting a user permanently removes the user and their data from Zoom. Users can create a new Zoom account using the same email address. An account owner or an account admin can transfer meetings, webinars and cloud recordings to another Zoom user account before deleting.
+
+ This API disassociates (unlinks) a user from the associated Zoom account and provides the user their own basic free Zoom account, and the user can purchase their own licenses. You can transfer the user's data (meetings, webinars and cloud recordings) to another user before disassociation. To permanently delete a user, specify "delete" as the value of the `action` query parameter.
+ **Scopes:** `user:write:admin` `user:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: userDelete
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ - description: "Delete action options: `disassociate` - Disassociate a user. `delete`- Permanently delete a user. Note: To delete pending user in the account, use `disassociate`"
+ in: query
+ name: action
+ schema:
+ default: disassociate
+ enum:
+ - disassociate
+ - delete
+ type: string
+ x-enum-descriptions:
+ - Disassociate a user
+ - Permanently delete a user
+ - description: Transfer email.
+ in: query
+ name: transfer_email
+ required: false
+ schema:
+ type: string
+ - description: Transfer meeting.
+ in: query
+ name: transfer_meeting
+ required: false
+ schema:
+ type: boolean
+ - description: Transfer webinar.
+ in: query
+ name: transfer_webinar
+ required: false
+ schema:
+ type: boolean
+ - description: Transfer recording.
+ in: query
+ name: transfer_recording
+ required: false
+ schema:
+ type: boolean
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ User deleted.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300` The transfer-to email address cannot be the same as the unlinked or deleted user’s email address. Unable to unlink API user(s).
+ **Error Code:** `200` Cannot delete a user out of your account. Cannot delete a Zoom Rooms user. Unable to delete this deactivated user. Please contact Zoom support team for more information.
+ **Error Code:** `1000`
+ The user cannot be changed because they are a Call-queue manager or Auto-receptionist operator.
+ **Error Code:** `1107` You can not disassociate a user with managed domain.
+ **Error Code:** `1117` You can not disassociate an Admin user.
+ **Error Code:** `1120` A valid invitation to join the Zoom account was not found for this user. This error is thrown if you added a user in your account but the user did not accept the invitation on time and the invitation expired - thus making the userId invalid.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User does not exist: $userId.
+ summary: Delete a user
+ tags:
+ - Users
+ get:
+ description: |-
+ A Zoom account can have one or more users. Use this API to view information of a specific user on a Zoom account.
Note: If a user's status is pending, only `id` and `created_at` fields will be returned. The value of `created_at` will be the time at which the API call was made until the user activates their account.
+ operationId: user
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ - description: "`0` - Facebook. `1` - Google. `99` - API. `100` - Zoom. `101` - SSO."
+ in: query
+ name: login_type
+ schema:
+ enum:
+ - "0"
+ - "1"
+ - "99"
+ - "100"
+ - "101"
+ type: string
+ x-enum-descriptions:
+ - Facebook
+ - Google
+ - API
+ - Zoom
+ - SSO
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ account_id: EAAAAAbbbbbCCCCHMA
+ created_at: 2018-11-15T01:10:08Z
+ custom_attributes:
+ - key: cb3674544gexq
+ name: Country of Citizenship
+ value: Nepal
+ dept: ""
+ email: harryg@dfkjdslfjkdsfjkdsf.fsdfdfd
+ first_name: Harry
+ group_ids: []
+ host_key: "0000"
+ id: z8dsdsdsdsdCfp8uQ
+ im_group_ids:
+ - CcSAAAAAAABBBVoQ
+ jid: hghghfghdfghdfhgh@xmpp.zoom.us
+ language: en-US
+ last_client_version: 4.4.55383.0716(android)
+ last_login_time: 2019-09-13T21:08:52Z
+ last_name: Grande
+ manager: name@example.com
+ personal_meeting_url: https://zoom.us/j/6352635623323434343443
+ phone_country: USA
+ phone_number: "00000000"
+ pic_url: https://lh4.googleusercontent.com/-hsgfhdgsfghdsfghfd-photo.jpg
+ pmi: 100000000
+ role_id: hdsfwyteg3675hgfs
+ role_name: Owner
+ status: active
+ timezone: America/Los_Angeles
+ type: 2
+ use_pmi: false
+ verified: 1
+ schema:
+ allOf:
+ - properties:
+ id:
+ description: User ID.
+ type: string
+ type: object
+ - description: The user object represents a specific user on Zoom.
+ properties:
+ created_at:
+ description: User create time.
+ format: date-time
+ type: string
+ dept:
+ description: Department.
+ type: string
+ email:
+ default: john.doe@email.com
+ description: User's email address.
+ type: string
+ first_name:
+ description: User's first name.
+ maxLength: 64
+ type: string
+ last_client_version:
+ description: User last login client version.
+ type: string
+ last_login_time:
+ description: User last login time.
+ format: date-time
+ type: string
+ last_name:
+ description: User's last name.
+ maxLength: 64
+ type: string
+ pmi:
+ description: Personal meeting ID.
+ format: int64
+ type: integer
+ role_name:
+ description: User's [role](https://support.zoom.us/hc/en-us/articles/115001078646-Role-Based-Access-Control) name.
+ type: string
+ timezone:
+ description: The time zone of the user.
+ type: string
+ type:
+ description: User's plan type: `1` - Basic. `2` - Licensed. `3` - On-prem. `99` - None (this can only be set with `ssoCreate`).
+ enum:
+ - 1
+ - 2
+ - 3
+ - 99
+ type: integer
+ use_pmi:
+ default: false
+ description: Use Personal Meeting ID for instant meetings.
+ type: boolean
+ required:
+ - email
+ - type
+ type: object
+ - properties:
+ account_id:
+ description: User's account ID.
+ type: string
+ cms_user_id:
+ description: CMS ID of user, only enabled for Kaltura integration.
+ type: string
+ company:
+ description: User's company.
+ type: string
+ created_at:
+ description: The date and time at which this user was created.
+ format: date-time
+ type: string
+ custom_attributes:
+ description: Custom attribute(s) that have been assigned to the user.
+ properties:
+ key:
+ description: Identifier for the custom attribute.
+ type: string
+ name:
+ description: Name of the custom attribute.
+ type: string
+ value:
+ description: Value of the custom attribute.
+ type: string
+ type: object
+ group_ids:
+ description: "IDs of the web groups user belongs to. "
+ items:
+ type: string
+ type: array
+ host_key:
+ description: User's host key.
+ type: string
+ im_group_ids:
+ description: IM IDs of the groups user belongs to.
+ items:
+ type: string
+ type: array
+ jid:
+ type: string
+ job_title:
+ description: User's job title.
+ type: string
+ language:
+ description: Default language for the Zoom Web Portal.
+ type: string
+ location:
+ description: User's location.
+ type: string
+ login_type:
+ description: |-
+ Login type.
+
+ `0` : Facebook
+
+ `1` : Google
+
+ `99` : API
+
+ `100` : ZOOM
+
+ `101` : SSO
+ enum:
+ - 0
+ - 1
+ - 99
+ - 100
+ - 101
+ type: integer
+ manager:
+ description: The manager for the user.
+ format: email
+ type: string
+ personal_meeting_url:
+ description: User's personal meeting url.
+ type: string
+ phone_country:
+ description: "**Note:** This field has been **deprecated** and will not be supported in the future. Use the **phone_numbers** field instead of this field. User's country for Company Phone Number."
+ type: string
+ phone_number:
+ description: "**Note:** This field has been **deprecated** and will not be supported in the future. Use the **phone_numbers** field instead of this field. User's phone number."
+ type: string
+ phone_numbers:
+ properties:
+ code:
+ description: Country code of the phone number. For example, for United States phone numbers, the value of this field should be "+1".
+ type: string
+ country:
+ description: "[Country ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) of the phone number. For example, if the phone number provided in the `number` field is a Brazil based number, the value of the `country` field should be `BR`."
+ type: string
+ number:
+ description: Phone number of the user.
+ type: string
+ verified:
+ description: Indicates whether the phone number has been verified by Zoom or not.
+ type: boolean
+ type: object
+ pic_url:
+ description: The URL for user's profile picture.
+ type: string
+ plan_united_type:
+ description: United plan [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-united-plans). Only returned if user is enrolled in the Zoom United plan.
+ type: string
+ role_id:
+ description: Unique identifier of the [role](https://marketplace.zoom.us/docs/api-reference/zoom-api/roles/roles) assigned to the user.
+ type: string
+ status:
+ description: Status of user's account.
+ enum:
+ - pending
+ - active
+ - inactive
+ type: string
+ x-enum-descriptions:
+ - Pending User
+ - Active User
+ - Deactivated User
+ use_pmi:
+ default: false
+ description: Displays `true` if user has enabled PMI for instant meetinsgs, `false` otherwise.
+ type: boolean
+ vanity_url:
+ description: Personal meeting room URL, if the user has one.
+ type: string
+ verified:
+ description: |-
+ Displays whether user is verified or not.
+ `1` - Account verified.
+ `0` - Account not verified.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ id:
+ description: User ID.
+ type: string
+ type: object
+ - description: The user object represents a specific user on Zoom.
+ properties:
+ created_at:
+ description: User create time.
+ format: date-time
+ type: string
+ dept:
+ description: Department.
+ type: string
+ email:
+ default: john.doe@email.com
+ description: User's email address.
+ type: string
+ first_name:
+ description: User's first name.
+ maxLength: 64
+ type: string
+ last_client_version:
+ description: User last login client version.
+ type: string
+ last_login_time:
+ description: User last login time.
+ format: date-time
+ type: string
+ last_name:
+ description: User's last name.
+ maxLength: 64
+ type: string
+ pmi:
+ description: Personal meeting ID.
+ format: int64
+ type: integer
+ role_name:
+ description: User's [role](https://support.zoom.us/hc/en-us/articles/115001078646-Role-Based-Access-Control) name.
+ type: string
+ timezone:
+ description: The time zone of the user.
+ type: string
+ type:
+ description: User's plan type: `1` - Basic. `2` - Licensed. `3` - On-prem. `99` - None (this can only be set with `ssoCreate`).
+ enum:
+ - 1
+ - 2
+ - 3
+ - 99
+ type: integer
+ use_pmi:
+ default: false
+ description: Use Personal Meeting ID for instant meetings.
+ type: boolean
+ required:
+ - email
+ - type
+ type: object
+ - properties:
+ account_id:
+ description: User's account ID.
+ type: string
+ cms_user_id:
+ description: CMS ID of user, only enabled for Kaltura integration.
+ type: string
+ company:
+ description: User's company.
+ type: string
+ created_at:
+ description: The date and time at which this user was created.
+ format: date-time
+ type: string
+ custom_attributes:
+ description: Custom attribute(s) that have been assigned to the user.
+ properties:
+ key:
+ description: Identifier for the custom attribute.
+ type: string
+ name:
+ description: Name of the custom attribute.
+ type: string
+ value:
+ description: Value of the custom attribute.
+ type: string
+ type: object
+ group_ids:
+ description: "IDs of the web groups user belongs to. "
+ items:
+ type: string
+ type: array
+ host_key:
+ description: User's host key.
+ type: string
+ im_group_ids:
+ description: IM IDs of the groups user belongs to.
+ items:
+ type: string
+ type: array
+ jid:
+ type: string
+ job_title:
+ description: User's job title.
+ type: string
+ language:
+ description: Default language for the Zoom Web Portal.
+ type: string
+ location:
+ description: User's location.
+ type: string
+ login_type:
+ description: |-
+ Login type.
+
+ `0` : Facebook
+
+ `1` : Google
+
+ `99` : API
+
+ `100` : ZOOM
+
+ `101` : SSO
+ enum:
+ - 0
+ - 1
+ - 99
+ - 100
+ - 101
+ type: integer
+ manager:
+ description: The manager for the user.
+ format: email
+ type: string
+ personal_meeting_url:
+ description: User's personal meeting url.
+ type: string
+ phone_country:
+ description: "**Note:** This field has been **deprecated** and will not be supported in the future. Use the **phone_numbers** field instead of this field. User's country for Company Phone Number."
+ type: string
+ phone_number:
+ description: "**Note:** This field has been **deprecated** and will not be supported in the future. Use the **phone_numbers** field instead of this field. User's phone number."
+ type: string
+ phone_numbers:
+ properties:
+ code:
+ description: Country code of the phone number. For example, for United States phone numbers, the value of this field should be "+1".
+ type: string
+ country:
+ description: "[Country ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) of the phone number. For example, if the phone number provided in the `number` field is a Brazil based number, the value of the `country` field should be `BR`."
+ type: string
+ number:
+ description: Phone number of the user.
+ type: string
+ verified:
+ description: Indicates whether the phone number has been verified by Zoom or not.
+ type: boolean
+ type: object
+ pic_url:
+ description: The URL for user's profile picture.
+ type: string
+ plan_united_type:
+ description: United plan [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-united-plans). Only returned if user is enrolled in the Zoom United plan.
+ type: string
+ role_id:
+ description: Unique identifier of the [role](https://marketplace.zoom.us/docs/api-reference/zoom-api/roles/roles) assigned to the user.
+ type: string
+ status:
+ description: Status of user's account.
+ enum:
+ - pending
+ - active
+ - inactive
+ type: string
+ x-enum-descriptions:
+ - Pending User
+ - Active User
+ - Deactivated User
+ use_pmi:
+ default: false
+ description: Displays `true` if user has enabled PMI for instant meetinsgs, `false` otherwise.
+ type: boolean
+ vanity_url:
+ description: Personal meeting room URL, if the user has one.
+ type: string
+ verified:
+ description: |-
+ Displays whether user is verified or not.
+ `1` - Account verified.
+ `0` - Account not verified.
+ type: integer
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ User object returned.
+ "400":
+ description: |
+ **HTTP Status Code:** `400` **Bad Request**
+ Bad request
+ **Error Code:** `1120`
+ A valid invitation to join the Zoom account was not found for this user.
+ This error is thrown if you added a user in your account but the user did not accept the invitation on time and the invitation expired - thus making the userId invalid.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User does not exist: $userId.
+ summary: Get a user
+ tags:
+ - Users
+ patch:
+ description: |-
+ Update information on a user's Zoom [profile](https://support.zoom.us/hc/en-us/articles/201363203-My-Profile).
+ **Scopes:** `user:write:admin` `user:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: userUpdate
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ - description: "`0` - Facebook. `1` - Google. `99` - API. `100` - Zoom. `101` - SSO."
+ in: query
+ name: login_type
+ schema:
+ enum:
+ - "0"
+ - "1"
+ - "99"
+ - "100"
+ - "101"
+ type: string
+ x-enum-descriptions:
+ - Facebook
+ - Google
+ - API
+ - Zoom
+ - SSO
+ requestBody:
+ content:
+ application/json:
+ schema:
+ description: The user update object represents a user on Zoom.
+ properties:
+ cms_user_id:
+ description: Kaltura user ID.
+ type: string
+ company:
+ description: User's company.
+ maxLength: 255
+ type: string
+ custom_attributes:
+ description: Custom attribute(s) of the user.
+ properties:
+ key:
+ description: Identifier for the custom attribute.
+ type: string
+ name:
+ description: Name of the custom attribute.
+ type: string
+ value:
+ description: Value of the custom attribute.
+ type: string
+ type: object
+ dept:
+ description: "Department for user profile: use for report."
+ type: string
+ first_name:
+ description: User's first name. Cannot contain more than 5 Chinese characters.
+ maxLength: 64
+ type: string
+ group_id:
+ description: Provide unique identifier of the group that you would like to add a [pending user](https://support.zoom.us/hc/en-us/articles/201363183-Managing-users#h_13c87a2a-ecd6-40ad-be61-a9935e660edb) to. The value of this field can be retrieved from [List Groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups) API.
+ type: string
+ host_key:
+ description: Host key. It should be a 6-10 digit number.
+ maxLength: 10
+ minLength: 6
+ type: string
+ job_title:
+ description: User's job title.
+ maxLength: 128
+ type: string
+ language:
+ description: language
+ type: string
+ last_name:
+ description: User's last name. Cannot contain more than 5 Chinese characters.
+ maxLength: 64
+ type: string
+ location:
+ description: User's location.
+ maxLength: 256
+ type: string
+ manager:
+ description: The manager for the user.
+ format: email
+ type: string
+ phone_country:
+ description: |-
+ **Note:** This field has been **deprecated** and will not be supported in the future. Use the **country** field of the **phone_numbers** object instead to select the country for the phone number.
+
+
+
+ [Country ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) of the phone number. For example, if the phone number provided in the `phone_number` field is a Brazil based number, the value of the `phone_country` field should be `BR`.
+ type: string
+ phone_number:
+ description: |-
+ **Note:** This field has been **deprecated** and will not be supported in the future. Use the **phone_numbers** field instead to assign phone number(s) to a user.
+
+
+ Phone number of the user. To update a phone number, you must also provide the `phone_country` field.
+ type: string
+ phone_numbers:
+ properties:
+ code:
+ description: Country code of the phone number. For example, for United States phone numbers, the value of this field should be "+1".
+ type: string
+ country:
+ description: "[Country ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) of the phone number. For example, if the phone number provided in the `number` field is a Brazil based number, the value of the `country` field should be `BR`."
+ type: string
+ number:
+ description: Phone number of the user.
+ type: string
+ type: object
+ pmi:
+ description: "Personal meeting ID: length must be 10."
+ maxLength: 10
+ minLength: 10
+ type: integer
+ timezone:
+ description: The time zone ID for a user profile. For this parameter value please refer to the ID value in the [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) list.
+ type: string
+ type:
+ description: User types: `1` - Basic. `2` - Licensed. `3` - On-prem. `99` - None (this can only be set with `ssoCreate`).
+ enum:
+ - 1
+ - 2
+ - 3
+ - 99
+ type: integer
+ use_pmi:
+ default: false
+ description: Use Personal Meeting ID for instant meetings.
+ type: boolean
+ vanity_name:
+ description: Personal meeting room name.
+ type: string
+ type: object
+ multipart/form-data:
+ schema:
+ description: The user update object represents a user on Zoom.
+ properties:
+ cms_user_id:
+ description: Kaltura user ID.
+ type: string
+ company:
+ description: User's company.
+ maxLength: 255
+ type: string
+ custom_attributes:
+ description: Custom attribute(s) of the user.
+ properties:
+ key:
+ description: Identifier for the custom attribute.
+ type: string
+ name:
+ description: Name of the custom attribute.
+ type: string
+ value:
+ description: Value of the custom attribute.
+ type: string
+ type: object
+ dept:
+ description: "Department for user profile: use for report."
+ type: string
+ first_name:
+ description: User's first name. Cannot contain more than 5 Chinese characters.
+ maxLength: 64
+ type: string
+ group_id:
+ description: Provide unique identifier of the group that you would like to add a [pending user](https://support.zoom.us/hc/en-us/articles/201363183-Managing-users#h_13c87a2a-ecd6-40ad-be61-a9935e660edb) to. The value of this field can be retrieved from [List Groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups) API.
+ type: string
+ host_key:
+ description: Host key. It should be a 6-10 digit number.
+ maxLength: 10
+ minLength: 6
+ type: string
+ job_title:
+ description: User's job title.
+ maxLength: 128
+ type: string
+ language:
+ description: language
+ type: string
+ last_name:
+ description: User's last name. Cannot contain more than 5 Chinese characters.
+ maxLength: 64
+ type: string
+ location:
+ description: User's location.
+ maxLength: 256
+ type: string
+ manager:
+ description: The manager for the user.
+ format: email
+ type: string
+ phone_country:
+ description: |-
+ **Note:** This field has been **deprecated** and will not be supported in the future. Use the **country** field of the **phone_numbers** object instead to select the country for the phone number.
+
+
+
+ [Country ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) of the phone number. For example, if the phone number provided in the `phone_number` field is a Brazil based number, the value of the `phone_country` field should be `BR`.
+ type: string
+ phone_number:
+ description: |-
+ **Note:** This field has been **deprecated** and will not be supported in the future. Use the **phone_numbers** field instead to assign phone number(s) to a user.
+
+
+ Phone number of the user. To update a phone number, you must also provide the `phone_country` field.
+ type: string
+ phone_numbers:
+ properties:
+ code:
+ description: Country code of the phone number. For example, for United States phone numbers, the value of this field should be "+1".
+ type: string
+ country:
+ description: "[Country ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) of the phone number. For example, if the phone number provided in the `number` field is a Brazil based number, the value of the `country` field should be `BR`."
+ type: string
+ number:
+ description: Phone number of the user.
+ type: string
+ type: object
+ pmi:
+ description: "Personal meeting ID: length must be 10."
+ maxLength: 10
+ minLength: 10
+ type: integer
+ timezone:
+ description: The time zone ID for a user profile. For this parameter value please refer to the ID value in the [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) list.
+ type: string
+ type:
+ description: User types: `1` - Basic. `2` - Licensed. `3` - On-prem. `99` - None (this can only be set with `ssoCreate`).
+ enum:
+ - 1
+ - 2
+ - 3
+ - 99
+ type: integer
+ use_pmi:
+ default: false
+ description: Use Personal Meeting ID for instant meetings.
+ type: boolean
+ vanity_name:
+ description: Personal meeting room name.
+ type: string
+ type: object
+ description: User
+ required: true
+ x-examples:
+ application/json:
+ cms_user_id: string
+ company: string
+ dept: string
+ first_name: string
+ host_key: string
+ job_title: string
+ last_name: string
+ location: string
+ phone_country: string
+ phone_number: string
+ pmi: integer
+ timezone: string [date-time]
+ type: integer
+ vanity_name: string
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ User updated.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `200` A Zoom Room user cannot be updated to a free user type: $userId
+ **Error Code:**`300` Your request could not be completed because the name contains an invalid word: {name} Invalid parameter: password The value provided for plan_united_type parameter is invalid. Try again with a valid value.
+ **Error Code:** `1108` Permission requirements to change the user type of this user were not met.
+ **Error Code:** `1109` Host is not a paid user.
+ **Error Code:** `1120` A valid invitation to join the Zoom account was not found for this user. This error is thrown if you added a user in your account but the user did not accept the invitation on time and the invitation expired - thus making the userId invalid. **Error Code:** `2034` Your request to convert the plan type of this user to {0} was not approved at this time because your account has reached the permitted maximum number of {1} users. Please purchase additional licenses or contact the Zoom support team to provision additional users in your account.
+
**Error Code:** `2033` Your request to convert the user type to basic was not approved because you have already reached the maximum basic user limit allowed in your account. For additional help regarding this issue, contact the Zoom Customer Support team.
+ **Error Code:** `3412` Your request to convert the user type of this $userType user to a basic user was not approved at this time because your account has reached the permitted maximum number of $maxAllowedNumber basic users. Please remove existing basic user(s) from your Users list or the Pending Users list before attempting to convert a paying user to a basic user.
+ Your request to convert the user type of this basic user to a $userType user was not approved at this time because your account has reached the permitted maximum number of $maxAllowedNumber paying users. Please purchase additional licenses or remove existing paying user(s) from your Users list or the Pending Users list before attempting to convert a basic user to a paying user.
+ **Error Code:** `4100`
+ User is already taken by a user from your account. Choose another Personal Link Name and try again.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ **Error Code:** `1001`
+ User does not exist: $userId.
+ summary: Update a user
+ tags:
+ - Users
+ "/users/{userId}/assistants":
+ delete:
+ description: |-
+ Delete all assistants of the current user. Assistants are the users to whom the current user has assigned [scheduling privilege](https://support.zoom.us/hc/en-us/articles/201362803-Scheduling-Privilege). These assistants can schedule meeting on behalf of the current user as well as manage and act as an alternative host for all meetings if the admin has enabled [Co-host option](https://zoom.us/account/setting) on the account.
+ **Prerequisite**:
+ * The user as well as the assistant must have Licensed or an On-prem license.
+ * Assistants must be under the current user's account.
+ **Scopes**: `user:write:admin` `user:write`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: userAssistantsDelete
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Assistants deleted.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User does not exist: $userId.
+ summary: Delete user assistants
+ tags:
+ - Users
+ get:
+ description: |-
+ List a user's assistants.
+
+ Assistants are the users to whom the current user has assigned [scheduling privilege](https://support.zoom.us/hc/en-us/articles/201362803-Scheduling-Privilege). These assistants can schedule meeting on behalf of the current user as well as manage and act as an alternative host for all meetings if the admin has enabled [Co-host option](https://zoom.us/account/setting) on the account.
+ **Prerequisites**:
+ * Current user as well as the assistant must have Licensed or an On-prem license.
+ * Assistants must be under the current user's account.
+ **Scopes**: `user:read:admin` `user:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: userAssistants
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ assistants:
+ - email: sfhdfkjdf@hjdsf.fdjf
+ id: ddgdfgfdgfgg
+ schema:
+ description: List of user's assistants.
+ properties:
+ assistants:
+ description: List of User's assistants.
+ items:
+ properties:
+ email:
+ description: Assistant's email address.
+ type: string
+ id:
+ description: Assistant's user ID.
+ type: string
+ type: object
+ maximum: 30
+ type: array
+ title: User assistants List
+ type: object
+ application/xml:
+ schema:
+ description: List of user's assistants.
+ properties:
+ assistants:
+ description: List of User's assistants.
+ items:
+ properties:
+ email:
+ description: Assistant's email address.
+ type: string
+ id:
+ description: Assistant's user ID.
+ type: string
+ type: object
+ maximum: 30
+ type: array
+ title: User assistants List
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Success.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User does not exist: $userId.
+ summary: List user assistants
+ tags:
+ - Users
+ post:
+ description: "Assistants are the users to whom the current user has assigned [scheduling privilege](https://support.zoom.us/hc/en-us/articles/201362803-Scheduling-Privilege). These assistants can schedule meeting on behalf of the current user as well as manage and act as an alternative host for all meetings if the admin has enabled [Co-host option](https://zoom.us/account/setting) on the account. Use this API to assign assistants to a user. In the request body, provide either the User ID or the email address of the user.
+
+ **Prerequisite**:\
+
+ * The user as well as the assistant must have Licensed or an On-prem license.
+
+ * Assistants must be under the current user's account.
+
+ **Scopes**: `user:write:admin` `user:write`
+
+ \ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+
+ \ "
+ operationId: userAssistantCreate
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ description: List of user's assistants.
+ properties:
+ assistants:
+ description: List of User's assistants.
+ items:
+ properties:
+ email:
+ description: Assistant's email address.
+ type: string
+ id:
+ description: Assistant's user ID.
+ type: string
+ type: object
+ maximum: 30
+ type: array
+ title: User assistants List
+ type: object
+ multipart/form-data:
+ schema:
+ description: List of user's assistants.
+ properties:
+ assistants:
+ description: List of User's assistants.
+ items:
+ properties:
+ email:
+ description: Assistant's email address.
+ type: string
+ id:
+ description: Assistant's user ID.
+ type: string
+ type: object
+ maximum: 30
+ type: array
+ title: User assistants List
+ type: object
+ description: User assistant.
+ required: true
+ x-examples:
+ application/json:
+ assistants:
+ - email: dgdfgfgfg@jhsdf.djf
+ id: sfdsfdfdg
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ add_at: string [date-time]
+ ids: string
+ schema:
+ properties:
+ add_at:
+ format: date-time
+ type: string
+ ids:
+ description: User ID.
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ add_at:
+ format: date-time
+ type: string
+ ids:
+ description: User ID.
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `201`
+ Assistant added.
+ headers:
+ Content-Location:
+ description: Location of created assistant
+ schema:
+ type: string
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `200`
+ Current account must be paid account: $userId
+ The user must either be a Licensed user or an On-prem user : $userId.
+ Can't assign scheduling privilege to yourself.
+ Can't find user $email.
+ User $email has already granted scheduling privilege.
+ The user must either be a Licensed user or an On-prem user : $email.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User does not exist: $userId.
+ security:
+ - OAuth: []
+ summary: Add assistants
+ tags:
+ - Users
+ "/users/{userId}/assistants/{assistantId}":
+ delete:
+ description: |-
+ Delete a specific assistant of a user.
+ Assistants are the users to whom the current user has assigned [scheduling privilege](https://support.zoom.us/hc/en-us/articles/201362803-Scheduling-Privilege). These assistants can schedule meeting on behalf of the current user as well as manage and act as an alternative host for all meetings if the admin has enabled [Co-host option](https://zoom.us/account/setting) on the account.
+ **Prerequisites**:
+ * The user as well as the assistant must have Licensed or an On-prem license.
+ * Assistants must be under the current user's account.
+ **Scopes**: `user:write:admin` `user:write`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: userAssistantDelete
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ - description: Assistant ID.
+ in: path
+ name: assistantId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `204` **OK**
+ Assistant deleted.
+ "404":
+ description: |
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User does not exist: $userId.
+ summary: Delete a user assistant
+ tags:
+ - Users
+ "/users/{userId}/email":
+ put:
+ description: |-
+ Change a user's [email address](https://support.zoom.us/hc/en-us/articles/201362563-How-Do-I-Change-the-Email-on-My-Account-) on a Zoom account that has managed domain set up. If the Zoom Account in which the user belongs, has multiple [managed domains](https://support.zoom.us/hc/en-us/articles/203395207-What-is-Managed-Domain-), the email to be updated must match one of the managed domains.
+ **Scopes:** `user:write:admin` `user:write`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ > Note: A user's email address can only be changed for a maximum of 3 times in a day(24 hours).
+ **Prerequisite:**
+ * Managed domain must be enabled in the account.
+ * The new email address should not already exist in Zoom.
+ operationId: userEmailUpdate
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ email:
+ description: User’s email. The length should be less than 128 characters.
+ format: email
+ type: string
+ required:
+ - email
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ email:
+ description: User’s email. The length should be less than 128 characters.
+ format: email
+ type: string
+ required:
+ - email
+ type: object
+ description: User email.
+ required: true
+ x-examples:
+ application/json:
+ email: cupidatatipsum@sdskflhdf.djfh
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `204` **No Content**
+ Email updated.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User does not exist: $email.
+ summary: Update a user's email
+ tags:
+ - Users
+ "/users/{userId}/meeting_templates":
+ get:
+ description: |
+ Use this API to list [meeting templates](https://support.zoom.us/hc/en-us/articles/360036559151-Meeting-templates) that are available to be used by a user.
+
+ **Scope:** `meeting:read` or `meeting:read:admin`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: listMeetingTemplates
+ parameters:
+ - description: Unique identifier of the user. Retrieve the value of this field by calling the [List users](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/users) API.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ templates:
+ - id: AdxbhxCzKgSiWAw
+ name: My meeting template
+ type: 1
+ - id: eYshgdftw4-5_MUSQ
+ name: Zoom meeting template for daily sync
+ type: 2
+ total_records: 2
+ schema:
+ properties:
+ templates:
+ items:
+ properties:
+ id:
+ description: Unique identifier of the template.
+ type: string
+ name:
+ description: Name of the template.
+ type: string
+ type:
+ description: |-
+ Type of the template. The value of this field can be one of the following:
+ `1`: meeting template
+ `2`: admin meeting template
+ type: integer
+ type: object
+ type: array
+ total_records:
+ description: Total records found for this request.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ templates:
+ items:
+ properties:
+ id:
+ description: Unique identifier of the template.
+ type: string
+ name:
+ description: Name of the template.
+ type: string
+ type:
+ description: |-
+ Type of the template. The value of this field can be one of the following:
+ `1`: meeting template
+ `2`: admin meeting template
+ type: integer
+ type: object
+ type: array
+ total_records:
+ description: Total records found for this request.
+ type: integer
+ type: object
+ description: "**HTTP Status Code:** `200` **OK** "
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001` User not exist: {userId}.
+ User {userId} does not exist or does not belong to this account.
+ summary: List meeting templates
+ tags:
+ - Meetings
+ parameters:
+ - in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ "/users/{userId}/meetings":
+ get:
+ description: |-
+ List all the meetings that were scheduled for a user (meeting host). This API only supports scheduled meetings and thus, details on instant meetings are not returned via this API.
+ **Scopes:** `meeting:read:admin` `meeting:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: meetings
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ - description: "The meeting types: `scheduled` - This includes all valid past meetings (unexpired), live meetings and upcoming scheduled meetings. It is equivalent to the combined list of \"Previous Meetings\" and \"Upcoming Meetings\" displayed in the user's [Meetings page](https://zoom.us/meeting) on the Zoom Web Portal. `live` - All the ongoing meetings. `upcoming` - All upcoming meetings including live meetings."
+ in: query
+ name: type
+ schema:
+ default: live
+ enum:
+ - scheduled
+ - live
+ - upcoming
+ type: string
+ x-enum-descriptions:
+ - all the scheduled meetings
+ - all the live meetings
+ - all the upcoming meetings
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: The page number of the current page in the returned records.
+ in: query
+ name: page_number
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ meetings:
+ - created_at: 2019-08-16T01:13:12Z
+ duration: 30
+ host_id: abckjdfhsdkjf
+ id: 11111
+ join_url: https://zoom.us/j/11111
+ start_time: 2019-08-16T02:00:00Z
+ timezone: America/Los_Angeles
+ topic: Zoom Meeting
+ type: 2
+ uuid: mlghmfghlBBB
+ - agenda: RegistrationDeniedTest
+ created_at: 2019-08-16T18:30:46Z
+ duration: 60
+ host_id: abckjdfhsdkjf
+ id: 2222
+ join_url: https://zoom.us/j/2222
+ start_time: 2019-08-16T19:00:00Z
+ timezone: America/Los_Angeles
+ topic: TestMeeting
+ type: 2
+ uuid: J8H8eavweUcd321==
+ - created_at: 2019-08-16T21:15:56Z
+ duration: 60
+ host_id: abckjdfhsdkjf
+ id: 33333
+ join_url: https://zoom.us/j/33333
+ start_time: 2019-08-16T22:00:00Z
+ timezone: America/Los_Angeles
+ topic: My Meeting
+ type: 2
+ uuid: SGVTAcfSfCbbbb
+ - created_at: 2019-08-29T17:32:33Z
+ duration: 60
+ host_id: abckjdfhsdkjf
+ id: 44444
+ join_url: https://zoom.us/j/4444
+ start_time: 2019-08-29T18:00:00Z
+ timezone: America/Los_Angeles
+ topic: MyTestPollMeeting
+ type: 2
+ uuid: 64123avdfsMVA==
+ page_count: 1
+ page_number: 1
+ page_size: 30
+ total_records: 4
+ schema:
+ allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ - properties:
+ meetings:
+ description: List of Meeting objects.
+ items:
+ allOf:
+ - properties:
+ agenda:
+ description: Meeting description. The length of agenda gets truncated to 250 characters when you list all meetings for a user. To view the complete agenda of a meeting, retrieve details for a single meeting [here](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meeting).
+ type: string
+ created_at:
+ description: "Time of creation. "
+ format: date-time
+ type: string
+ duration:
+ description: Meeting duration.
+ type: integer
+ host_id:
+ description: ID of the user who is set as the host of the meeting.
+ type: string
+ id:
+ description: Meeting ID - also known as the meeting number in long (int64) format.
+ format: int64
+ type: integer
+ join_url:
+ description: URL using which participants can join a meeting.
+ type: string
+ pmi:
+ description: "[Personal meeting ID](https://support.zoom.us/hc/en-us/articles/201362843-What-is-Personal-Meeting-ID-PMI-and-Personal-Link-). This field is only returned if PMI was used to schedule the meeting."
+ type: string
+ start_time:
+ description: Meeting start time.
+ format: date-time
+ type: string
+ timezone:
+ description: "Timezone to format the meeting start time. "
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ type:
+ description: Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with fixed time.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 8
+ type: integer
+ x-enum-descriptions:
+ - Instant Meeting
+ - Scheduled Meeting
+ - Recurring Meeting with no fixed time
+ - Recurring Meeting with fixed time
+ uuid:
+ description: Unique Meeting ID. Each meeting instance will generate its own Meeting UUID.
+ type: string
+ type: object
+ type: array
+ description: List of meetings.
+ title: Group List
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ - properties:
+ meetings:
+ description: List of Meeting objects.
+ items:
+ allOf:
+ - properties:
+ agenda:
+ description: Meeting description. The length of agenda gets truncated to 250 characters when you list all meetings for a user. To view the complete agenda of a meeting, retrieve details for a single meeting [here](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meeting).
+ type: string
+ created_at:
+ description: "Time of creation. "
+ format: date-time
+ type: string
+ duration:
+ description: Meeting duration.
+ type: integer
+ host_id:
+ description: ID of the user who is set as the host of the meeting.
+ type: string
+ id:
+ description: Meeting ID - also known as the meeting number in long (int64) format.
+ format: int64
+ type: integer
+ join_url:
+ description: URL using which participants can join a meeting.
+ type: string
+ pmi:
+ description: "[Personal meeting ID](https://support.zoom.us/hc/en-us/articles/201362843-What-is-Personal-Meeting-ID-PMI-and-Personal-Link-). This field is only returned if PMI was used to schedule the meeting."
+ type: string
+ start_time:
+ description: Meeting start time.
+ format: date-time
+ type: string
+ timezone:
+ description: "Timezone to format the meeting start time. "
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ type:
+ description: Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with fixed time.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 8
+ type: integer
+ x-enum-descriptions:
+ - Instant Meeting
+ - Scheduled Meeting
+ - Recurring Meeting with no fixed time
+ - Recurring Meeting with fixed time
+ uuid:
+ description: Unique Meeting ID. Each meeting instance will generate its own Meeting UUID.
+ type: string
+ type: object
+ type: array
+ description: List of meetings.
+ title: Group List
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ List of meeting objects returned.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ User ID not found.
+ **Error Code:** `1001`
+ User {userId} not exist or not belong to this account.
+ security:
+ - OAuth: []
+ summary: List meetings
+ tags:
+ - Meetings
+ post:
+ description: |-
+ [Create a meeting](https://support.zoom.us/hc/en-us/articles/201362413-Scheduling-meetings) for a user. This API has a daily rate limit of 100 requests per day. Therefore, only 100 **Create a Meeting** API requests are permitted within a 24 hour window for a user.
+
+
+ Scopes: `meeting:write:admin` `meeting:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: meetingCreate
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ description: Base object for meeting.
+ properties:
+ agenda:
+ description: Meeting description.
+ maxLength: 2000
+ type: string
+ duration:
+ description: Meeting duration (minutes). Used for scheduled meetings only.
+ type: integer
+ password:
+ description: |-
+ Passcode to join the meeting. By default, passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ *] and can have a maximum of 10 characters.
+
+ **Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
+ maxLength: 10
+ type: string
+ recurrence:
+ description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
+ properties:
+ end_date_time:
+ description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ default: 1
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |+
+ Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
+
+ type: integer
+ type:
+ description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ default: "1"
+ description: |-
+ This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - "1"
+ - "2"
+ - "3"
+ - "4"
+ - "5"
+ - "6"
+ - "7"
+ type: string
+ required:
+ - type
+ type: object
+ schedule_for:
+ description: If you would like to schedule this meeting for someone else in your account, provide the Zoom user id or email address of the user here.
+ type: string
+ settings:
+ description: Meeting settings.
+ properties:
+ additional_data_center_regions:
+ description: "Enable additional [data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) for this meeting. Provide the value in the form of array of country code(s) for the countries which are available as data center regions in the [account settings](https://zoom.us/account/setting) but have been opt out of in the user settings. For instance, let's say that in your account settings, the data center regions that have been selected are Europe, Honkong, Australia, India, Latin America, Japan, China, United States,and Canada. The complete list of available data center regions for your account is: [\"EU\", \"HK\", \"AU\", \"IN\", \"LA\", \"TY\", \"CN\", \"US\", \"CA\"]. In [user settings](https://zoom.us/profile/setting), you have opted out of India(IN) and Japan(TY) for meeting and webinar traffic routing. If you would like, you can still include India and Japan as additional data centers for this meeting using this field. To include India and Japan as additional data center regions, you would provide [\"IN\", \"TY\"] as the value."
+ items:
+ type: string
+ type: array
+ allow_multiple_devices:
+ description: |-
+ If set to `true`, attendees will be allowed to join a meeting from multiple devices.
+
+ **Note:** This setting is only applied for meetings that have enabled registration.
+ type: boolean
+ alternative_hosts:
+ description: "Alternative host's emails or IDs: multiple values separated by a comma."
+ type: string
+ alternative_hosts_email_notification:
+ default: true
+ description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
+ type: boolean
+ approval_type:
+ default: 2
+ description: |-
+ The default value is `2`. To enable registration required, set the approval type to `0` or `1`. Values include:
+
+ `0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ approved_or_denied_countries_or_regions:
+ description: |
+ Approve or block users from specific regions/countries from joining this meeting.
+ properties:
+ approved_list:
+ description: "List of countries/regions from where participants can join this meeting. "
+ items:
+ type: string
+ type: array
+ denied_list:
+ description: "List of countries/regions from where participants can not join this meeting. "
+ items:
+ type: string
+ type: array
+ enable:
+ description: |-
+ `true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
+
+ `false`: Setting disabled.
+ type: boolean
+ method:
+ description: |-
+ Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
+ `approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
+ `deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
+ enum:
+ - approve
+ - deny
+ type: string
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: Meeting authentication domains. This option, allows you to specify the rule so that Zoom users, whose email address contains a certain domain, can join the meeting. You can either provide multiple domains, using a comma in between and/or use a wildcard for listing domains.
+ type: string
+ authentication_option:
+ description: Specify the authentication type for users to join a meeting with`meeting_authentication` setting set to `true`. The value of this field can be retrieved from the `id` field within `authentication_options` array in the response of [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings).
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ breakout_room:
+ description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
+ properties:
+ enable:
+ description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
+ type: boolean
+ rooms:
+ description: Create room(s).
+ items:
+ properties:
+ name:
+ description: Name of the breakout room.
+ type: string
+ participants:
+ description: Email addresses of the participants who are to be assigned to the breakout room.
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ type: object
+ close_registration:
+ default: false
+ description: Close registration after event date
+ type: boolean
+ cn_meeting:
+ default: false
+ description: Host meeting in China.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ host_video:
+ description: Start video when the host joins the meeting.
+ type: boolean
+ in_meeting:
+ default: false
+ description: Host meeting in India.
+ type: boolean
+ jbh_time:
+ description: |-
+ If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
+
+ * `0`: Allow participant to join anytime.
+ * `5`: Allow participant to join 5 minutes before meeting start time.
+ * `10`: Allow participant to join 10 minutes before meeting start time.
+ enum:
+ - 0
+ - 5
+ - 10
+ type: integer
+ join_before_host:
+ default: false
+ description: |-
+ Allow participants to join the meeting before the host starts the meeting. This field can only used for scheduled or recurring meetings.
+
+ **Note:** If waiting room is enabled, the **join before host** setting will be disabled.
+ type: boolean
+ language_interpretation:
+ description: |-
+ Language interpretation [settings](https://support.zoom.us/hc/en-us/articles/360034919791-Language-interpretation-in-meetings-and-webinars#h_01EGGQFD3Q4BST3378SA762MJ1) for meetings.
+
+ **Note:** This feature is only available on certain Webinar add-on, Education, Business and higher plans. If this feature is not enabled on the host's account, this setting will not be applied for the meeting.
+ properties:
+ enable:
+ description: Indicate whether or not you would like to enable [language interpretation](https://support.zoom.us/hc/en-us/articles/360034919791-Language-interpretation-in-meetings-and-webinars#h_01EGGQFD3Q4BST3378SA762MJ1) for this meeting.
+ type: boolean
+ interpreters:
+ description: Information associated with the interpreter.
+ items:
+ properties:
+ email:
+ description: Email address of the interpreter.
+ format: email
+ type: string
+ languages:
+ description: |-
+ Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
+
+ For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
+ type: string
+ type: object
+ type: array
+ type: object
+ meeting_authentication:
+ description: Only [authenticated](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) users can join meeting if the value of this field is set to `true`.
+ type: boolean
+ mute_upon_entry:
+ default: false
+ description: Mute participants upon entry.
+ type: boolean
+ participant_video:
+ description: Start video when participants join the meeting.
+ type: boolean
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registration_type:
+ default: 1
+ description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: |-
+ If set to `true`, the registration page for the meeting will include social share buttons.
+
+ **Note:** This setting is only applied for meetings that have enabled registration.
+ type: boolean
+ use_pmi:
+ default: false
+ description: Use Personal Meeting ID instead of an automatically generated meeting ID. It can only be used for scheduled meetings, instant meetings and recurring meetings with no fixed time.
+ type: boolean
+ waiting_room:
+ description: Enable waiting room. Note that if the value of this field is set to `true`, it will override and disable the `join_before_host` setting.
+ type: boolean
+ watermark:
+ default: false
+ description: Add watermark when viewing a shared screen.
+ type: boolean
+ type: object
+ start_time:
+ description: |-
+ Meeting start time. We support two formats for `start_time` - local time and GMT.
+
+ To set time as GMT the format should be `yyyy-MM-dd`T`HH:mm:ssZ`. Example: "2020-03-31T12:02:00Z"
+
+ To set time using a specific timezone, use `yyyy-MM-dd`T`HH:mm:ss` format and specify the timezone [ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) in the `timezone` field OR leave it blank and the timezone set on your Zoom account will be used. You can also set the time as UTC as the timezone field.
+
+ The `start_time` should only be used for scheduled and / or recurring webinars with fixed time.
+ format: date-time
+ type: string
+ template_id:
+ description: |-
+ Unique identifier of the **admin meeting template**. To create admin meeting templates, contact the Zoom support team.
+
+ Use this field if you would like to [schedule the meeting from a admin meeting template](https://support.zoom.us/hc/en-us/articles/360036559151-Meeting-templates#h_86f06cff-0852-4998-81c5-c83663c176fb). You can retrieve the value of this field by calling the [List meeting templates](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/listmeetingtemplates) API.
+ type: string
+ timezone:
+ description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [time zone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) list for supported time zones and their formats.
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ tracking_fields:
+ description: Tracking fields
+ items:
+ properties:
+ field:
+ description: Label of the tracking field.
+ type: string
+ value:
+ description: Tracking fields value
+ type: string
+ required:
+ - field
+ type: object
+ type: array
+ type:
+ default: 2
+ description: Meeting Type: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with fixed time.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 8
+ type: integer
+ x-enum-descriptions:
+ - Instant Meeting
+ - Scheduled Meeting
+ - Recurring Meeting with no fixed time
+ - Recurring Meeting with fixed time
+ type: object
+ multipart/form-data:
+ schema:
+ description: Base object for meeting.
+ properties:
+ agenda:
+ description: Meeting description.
+ maxLength: 2000
+ type: string
+ duration:
+ description: Meeting duration (minutes). Used for scheduled meetings only.
+ type: integer
+ password:
+ description: |-
+ Passcode to join the meeting. By default, passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ *] and can have a maximum of 10 characters.
+
+ **Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
+ maxLength: 10
+ type: string
+ recurrence:
+ description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
+ properties:
+ end_date_time:
+ description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ default: 1
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |+
+ Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
+
+ type: integer
+ type:
+ description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ default: "1"
+ description: |-
+ This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - "1"
+ - "2"
+ - "3"
+ - "4"
+ - "5"
+ - "6"
+ - "7"
+ type: string
+ required:
+ - type
+ type: object
+ schedule_for:
+ description: If you would like to schedule this meeting for someone else in your account, provide the Zoom user id or email address of the user here.
+ type: string
+ settings:
+ description: Meeting settings.
+ properties:
+ additional_data_center_regions:
+ description: "Enable additional [data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) for this meeting. Provide the value in the form of array of country code(s) for the countries which are available as data center regions in the [account settings](https://zoom.us/account/setting) but have been opt out of in the user settings. For instance, let's say that in your account settings, the data center regions that have been selected are Europe, Honkong, Australia, India, Latin America, Japan, China, United States,and Canada. The complete list of available data center regions for your account is: [\"EU\", \"HK\", \"AU\", \"IN\", \"LA\", \"TY\", \"CN\", \"US\", \"CA\"]. In [user settings](https://zoom.us/profile/setting), you have opted out of India(IN) and Japan(TY) for meeting and webinar traffic routing. If you would like, you can still include India and Japan as additional data centers for this meeting using this field. To include India and Japan as additional data center regions, you would provide [\"IN\", \"TY\"] as the value."
+ items:
+ type: string
+ type: array
+ allow_multiple_devices:
+ description: |-
+ If set to `true`, attendees will be allowed to join a meeting from multiple devices.
+
+ **Note:** This setting is only applied for meetings that have enabled registration.
+ type: boolean
+ alternative_hosts:
+ description: "Alternative host's emails or IDs: multiple values separated by a comma."
+ type: string
+ alternative_hosts_email_notification:
+ default: true
+ description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
+ type: boolean
+ approval_type:
+ default: 2
+ description: |-
+ The default value is `2`. To enable registration required, set the approval type to `0` or `1`. Values include:
+
+ `0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ approved_or_denied_countries_or_regions:
+ description: |
+ Approve or block users from specific regions/countries from joining this meeting.
+ properties:
+ approved_list:
+ description: "List of countries/regions from where participants can join this meeting. "
+ items:
+ type: string
+ type: array
+ denied_list:
+ description: "List of countries/regions from where participants can not join this meeting. "
+ items:
+ type: string
+ type: array
+ enable:
+ description: |-
+ `true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
+
+ `false`: Setting disabled.
+ type: boolean
+ method:
+ description: |-
+ Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
+ `approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
+ `deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
+ enum:
+ - approve
+ - deny
+ type: string
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: Meeting authentication domains. This option, allows you to specify the rule so that Zoom users, whose email address contains a certain domain, can join the meeting. You can either provide multiple domains, using a comma in between and/or use a wildcard for listing domains.
+ type: string
+ authentication_option:
+ description: Specify the authentication type for users to join a meeting with`meeting_authentication` setting set to `true`. The value of this field can be retrieved from the `id` field within `authentication_options` array in the response of [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings).
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ breakout_room:
+ description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
+ properties:
+ enable:
+ description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
+ type: boolean
+ rooms:
+ description: Create room(s).
+ items:
+ properties:
+ name:
+ description: Name of the breakout room.
+ type: string
+ participants:
+ description: Email addresses of the participants who are to be assigned to the breakout room.
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ type: object
+ close_registration:
+ default: false
+ description: Close registration after event date
+ type: boolean
+ cn_meeting:
+ default: false
+ description: Host meeting in China.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ host_video:
+ description: Start video when the host joins the meeting.
+ type: boolean
+ in_meeting:
+ default: false
+ description: Host meeting in India.
+ type: boolean
+ jbh_time:
+ description: |-
+ If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
+
+ * `0`: Allow participant to join anytime.
+ * `5`: Allow participant to join 5 minutes before meeting start time.
+ * `10`: Allow participant to join 10 minutes before meeting start time.
+ enum:
+ - 0
+ - 5
+ - 10
+ type: integer
+ join_before_host:
+ default: false
+ description: |-
+ Allow participants to join the meeting before the host starts the meeting. This field can only used for scheduled or recurring meetings.
+
+ **Note:** If waiting room is enabled, the **join before host** setting will be disabled.
+ type: boolean
+ language_interpretation:
+ description: |-
+ Language interpretation [settings](https://support.zoom.us/hc/en-us/articles/360034919791-Language-interpretation-in-meetings-and-webinars#h_01EGGQFD3Q4BST3378SA762MJ1) for meetings.
+
+ **Note:** This feature is only available on certain Webinar add-on, Education, Business and higher plans. If this feature is not enabled on the host's account, this setting will not be applied for the meeting.
+ properties:
+ enable:
+ description: Indicate whether or not you would like to enable [language interpretation](https://support.zoom.us/hc/en-us/articles/360034919791-Language-interpretation-in-meetings-and-webinars#h_01EGGQFD3Q4BST3378SA762MJ1) for this meeting.
+ type: boolean
+ interpreters:
+ description: Information associated with the interpreter.
+ items:
+ properties:
+ email:
+ description: Email address of the interpreter.
+ format: email
+ type: string
+ languages:
+ description: |-
+ Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
+
+ For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
+ type: string
+ type: object
+ type: array
+ type: object
+ meeting_authentication:
+ description: Only [authenticated](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) users can join meeting if the value of this field is set to `true`.
+ type: boolean
+ mute_upon_entry:
+ default: false
+ description: Mute participants upon entry.
+ type: boolean
+ participant_video:
+ description: Start video when participants join the meeting.
+ type: boolean
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registration_type:
+ default: 1
+ description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: |-
+ If set to `true`, the registration page for the meeting will include social share buttons.
+
+ **Note:** This setting is only applied for meetings that have enabled registration.
+ type: boolean
+ use_pmi:
+ default: false
+ description: Use Personal Meeting ID instead of an automatically generated meeting ID. It can only be used for scheduled meetings, instant meetings and recurring meetings with no fixed time.
+ type: boolean
+ waiting_room:
+ description: Enable waiting room. Note that if the value of this field is set to `true`, it will override and disable the `join_before_host` setting.
+ type: boolean
+ watermark:
+ default: false
+ description: Add watermark when viewing a shared screen.
+ type: boolean
+ type: object
+ start_time:
+ description: |-
+ Meeting start time. We support two formats for `start_time` - local time and GMT.
+
+ To set time as GMT the format should be `yyyy-MM-dd`T`HH:mm:ssZ`. Example: "2020-03-31T12:02:00Z"
+
+ To set time using a specific timezone, use `yyyy-MM-dd`T`HH:mm:ss` format and specify the timezone [ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) in the `timezone` field OR leave it blank and the timezone set on your Zoom account will be used. You can also set the time as UTC as the timezone field.
+
+ The `start_time` should only be used for scheduled and / or recurring webinars with fixed time.
+ format: date-time
+ type: string
+ template_id:
+ description: |-
+ Unique identifier of the **admin meeting template**. To create admin meeting templates, contact the Zoom support team.
+
+ Use this field if you would like to [schedule the meeting from a admin meeting template](https://support.zoom.us/hc/en-us/articles/360036559151-Meeting-templates#h_86f06cff-0852-4998-81c5-c83663c176fb). You can retrieve the value of this field by calling the [List meeting templates](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/listmeetingtemplates) API.
+ type: string
+ timezone:
+ description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [time zone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) list for supported time zones and their formats.
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ tracking_fields:
+ description: Tracking fields
+ items:
+ properties:
+ field:
+ description: Label of the tracking field.
+ type: string
+ value:
+ description: Tracking fields value
+ type: string
+ required:
+ - field
+ type: object
+ type: array
+ type:
+ default: 2
+ description: Meeting Type: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with fixed time.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 8
+ type: integer
+ x-enum-descriptions:
+ - Instant Meeting
+ - Scheduled Meeting
+ - Recurring Meeting with no fixed time
+ - Recurring Meeting with fixed time
+ type: object
+ description: Meeting object.
+ required: true
+ x-examples:
+ application/json:
+ agenda: string
+ duration: integer
+ password: string
+ recurrence:
+ end_date_time: string [date-time]
+ end_times: integer
+ monthly_day: integer
+ monthly_week: integer
+ monthly_week_day: integer
+ repeat_interval: integer
+ type: integer
+ weekly_days: string
+ schedule_for: string
+ settings:
+ alternative_hosts: string
+ approval_type: integer
+ audio: string
+ auto_recording: string
+ cn_meeting: boolean
+ enforce_login: boolean
+ enforce_login_domains: string
+ global_dial_in_countries:
+ - string
+ host_video: boolean
+ in_meeting: boolean
+ join_before_host: boolean
+ mute_upon_entry: boolean
+ participant_video: boolean
+ registrants_email_notification: boolean
+ registration_type: integer
+ use_pmi: boolean
+ watermark: boolean
+ start_time: string [date-time]
+ timezone: string
+ topic: string
+ type: integer
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ created_at: 2019-09-05T16:54:14Z
+ duration: 60
+ host_id: AbcDefGHi
+ id: 1100000
+ join_url: https://zoom.us/j/1100000
+ settings:
+ alternative_hosts: ""
+ approval_type: 2
+ audio: both
+ auto_recording: local
+ breakout_room:
+ enable: false
+ host_video: false
+ in_meeting: false
+ join_before_host: true
+ mute_upon_entry: false
+ participant_video: false
+ registrants_confirmation_email: true
+ registrants_email_notification: true
+ rooms:
+ - name: room1
+ participants:
+ - james.user01@somemail1234.com
+ - james.user02@somemail1234.com
+ - name: room2
+ participants:
+ - james.user03@somemail1234.com
+ use_pmi: false
+ waiting_room: false
+ watermark: false
+ close_registration: false
+ cn_meeting: false
+ enforce_login: false
+ enforce_login_domains: ""
+ global_dial_in_countries:
+ - US
+ global_dial_in_numbers:
+ - city: New York
+ country: US
+ country_name: US
+ number: +1 1000200200
+ type: toll
+ - city: San Jose
+ country: US
+ country_name: US
+ number: +1 6699006833
+ type: toll
+ - city: San Jose
+ country: US
+ country_name: US
+ number: +1 408000000
+ type: toll
+ start_time: 2019-08-30T22:00:00Z
+ start_url: https://zoom.us/s/1100000?iIifQ.wfY2ldlb82SWo3TsR77lBiJjR53TNeFUiKbLyCvZZjw
+ status: waiting
+ timezone: America/New_York
+ topic: API Test
+ type: 2
+ uuid: ng1MzyWNQaObxcf3+Gfm6A==
+ schema:
+ allOf:
+ - properties:
+ assistant_id:
+ description: Unique identifier of the scheduler who scheduled this meeting on behalf of the host. This field is only returned if you used "schedule_for" option in the [Create a Meeting API request](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingcreate).
+ type: string
+ host_email:
+ description: Email address of the meeting host.
+ format: email
+ type: string
+ id:
+ description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
+ format: int64
+ type: integer
+ registration_url:
+ description: URL using which registrants can register for a meeting. This field is only returned for meetings that have enabled registration.
+ type: string
+ type: object
+ - description: Meeting object
+ properties:
+ agenda:
+ description: Agenda
+ type: string
+ created_at:
+ description: The date and time at which this meeting was created.
+ format: date-time
+ type: string
+ duration:
+ description: Meeting duration.
+ type: integer
+ h323_password:
+ description: H.323/SIP room system password
+ type: string
+ join_url:
+ description: URL for participants to join the meeting. This URL should only be shared with users that you would like to invite for the meeting.
+ type: string
+ occurrences:
+ description: Array of occurrence objects.
+ items:
+ description: Occurence object. This object is only returned for Recurring Webinars.
+ properties:
+ duration:
+ description: Duration.
+ type: integer
+ occurrence_id:
+ description: "Occurrence ID: Unique Identifier that identifies an occurrence of a recurring webinar. [Recurring webinars](https://support.zoom.us/hc/en-us/articles/216354763-How-to-Schedule-A-Recurring-Webinar) can have a maximum of 50 occurrences."
+ type: string
+ start_time:
+ description: Start time.
+ format: date-time
+ type: string
+ status:
+ description: Occurrence status.
+ type: string
+ type: object
+ type: array
+ password:
+ description: |+
+ Meeting password. Password may only contain the following characters: `[a-z A-Z 0-9 @ - _ * !]`
+
+ If "Require a password when scheduling new meetings" setting has been **enabled** **and** [locked](https://support.zoom.us/hc/en-us/articles/115005269866-Using-Tiered-Settings#locked) for the user, the password field will be autogenerated in the response even if it is not provided in the API request.
+
+
+ type: string
+ pmi:
+ description: Personal Meeting Id. Only used for scheduled meetings and recurring meetings with no fixed time.
+ format: int64
+ type: integer
+ recurrence:
+ description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
+ properties:
+ end_date_time:
+ description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ default: 1
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |+
+ Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
+
+ type: integer
+ type:
+ description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ default: "1"
+ description: |-
+ This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - "1"
+ - "2"
+ - "3"
+ - "4"
+ - "5"
+ - "6"
+ - "7"
+ type: string
+ required:
+ - type
+ type: object
+ settings:
+ description: Meeting settings.
+ properties:
+ allow_multiple_devices:
+ description: Allow attendees to join the meeting from multiple devices. This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
+ type: boolean
+ alternative_hosts:
+ description: "Alternative host's emails or IDs: multiple values are separated by a semicolon."
+ type: string
+ alternative_hosts_email_notification:
+ default: true
+ description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
+ type: boolean
+ approval_type:
+ default: 2
+ description: |-
+ Enable registration and set approval for the registration. Note that this feature requires the host to be of **Licensed** user type. **Registration cannot be enabled for a basic user.**
+
+ `0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ approved_or_denied_countries_or_regions:
+ description: |
+ Approve or block users from specific regions/countries from joining this meeting.
+ properties:
+ approved_list:
+ description: "List of countries/regions from where participants can join this meeting. "
+ items:
+ type: string
+ type: array
+ denied_list:
+ description: "List of countries/regions from where participants can not join this meeting. "
+ items:
+ type: string
+ type: array
+ enable:
+ description: |-
+ `true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
+
+ `false`: Setting disabled.
+ type: boolean
+ method:
+ description: |-
+ Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
+ `approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
+ `deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
+ enum:
+ - approve
+ - deny
+ type: string
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
+ type: string
+ authentication_exception:
+ description: The participants added here will receive unique meeting invite links and bypass authentication.
+ items:
+ properties:
+ email:
+ description: Email address of the participant.
+ format: email
+ type: string
+ name:
+ description: Name of the participant.
+ type: string
+ type: object
+ type: array
+ authentication_name:
+ description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
+ type: string
+ authentication_option:
+ description: Meeting authentication option id.
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ breakout_room:
+ description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
+ properties:
+ enable:
+ description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
+ type: boolean
+ rooms:
+ description: Create room(s).
+ items:
+ properties:
+ name:
+ description: Name of the breakout room.
+ type: string
+ participants:
+ description: Email addresses of the participants who are to be assigned to the breakout room.
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ type: object
+ close_registration:
+ default: false
+ description: Close registration after event date
+ type: boolean
+ cn_meeting:
+ default: false
+ description: Host meeting in China.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ custom_keys:
+ description: Custom keys and values assigned to the meeting.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the user.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the user.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ enforce_login:
+ description: |-
+ Only signed in users can join this meeting.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
+ type: boolean
+ enforce_login_domains:
+ description: |-
+ Only signed in users with specified domains can join meetings.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
+ type: string
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ global_dial_in_numbers:
+ description: Global Dial-in Countries/Regions
+ items:
+ properties:
+ city:
+ description: City of the number, if any. For example, Chicago.
+ type: string
+ country:
+ description: Country code. For example, BR.
+ type: string
+ country_name:
+ description: Full name of country. For example, Brazil.
+ type: string
+ number:
+ description: Phone number. For example, +1 2332357613.
+ type: string
+ type:
+ description: "Type of number. "
+ enum:
+ - toll
+ - tollfree
+ type: string
+ type: object
+ type: array
+ host_video:
+ description: Start video when the host joins the meeting.
+ type: boolean
+ in_meeting:
+ default: false
+ description: Host meeting in India.
+ type: boolean
+ jbh_time:
+ description: |-
+ If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
+
+ * `0`: Allow participant to join anytime.
+ * `5`: Allow participant to join 5 minutes before meeting start time.
+ * `10`: Allow participant to join 10 minutes before meeting start time.
+ enum:
+ - 0
+ - 5
+ - 10
+ type: integer
+ join_before_host:
+ default: false
+ description: Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings.
+ type: boolean
+ language_interpretation:
+ properties:
+ enable:
+ type: boolean
+ interpreters:
+ description: Information associated with the interpreter.
+ items:
+ properties:
+ email:
+ description: Email address of the interpreter.
+ format: email
+ type: string
+ languages:
+ description: |-
+ Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
+
+ For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
+ type: string
+ type: object
+ type: array
+ type: object
+ meeting_authentication:
+ description: "`true`- Only authenticated users can join meetings."
+ type: boolean
+ mute_upon_entry:
+ default: false
+ description: Mute participants upon entry.
+ type: boolean
+ participant_video:
+ description: Start video when participants join the meeting.
+ type: boolean
+ registrants_confirmation_email:
+ description: Send confirmation email to registrants upon successful registration.
+ type: boolean
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registration_type:
+ default: 1
+ description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: |-
+ Show social share buttons on the meeting registration page.
+ This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
+ type: boolean
+ use_pmi:
+ default: false
+ description: Use a personal meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time.
+ type: boolean
+ waiting_room:
+ default: false
+ description: Enable waiting room
+ type: boolean
+ watermark:
+ default: false
+ description: Add watermark when viewing a shared screen.
+ type: boolean
+ type: object
+ start_time:
+ description: 'Meeting start date-time in UTC/GMT. Example: "2020-03-31T12:02:00Z"'
+ format: date-time
+ type: string
+ start_url:
+ description: URL to start the meeting. This URL should only be used by the host of the meeting and **should not be shared with anyone other than the host** of the meeting as anyone with this URL will be able to login to the Zoom Client as the host of the meeting.
+ type: string
+ timezone:
+ description: Timezone to format start_time
+ type: string
+ topic:
+ description: Meeting topic
+ maxLength: 200
+ type: string
+ tracking_fields:
+ description: Tracking fields
+ items:
+ properties:
+ field:
+ description: Label of the tracking field.
+ type: string
+ value:
+ description: Value for the field.
+ type: string
+ visible:
+ description: |-
+ Indicates whether the [tracking field](https://support.zoom.us/hc/en-us/articles/115000293426-Scheduling-Tracking-Fields) is visible in the meeting scheduling options in the Zoom Web Portal or not.
+
+ `true`: Tracking field is visible.
+
+ `false`: Tracking field is not visible to the users in the meeting options in the Zoom Web Portal but the field was used while scheduling this meeting via API. An invisible tracking field can be used by users while scheduling meetings via API only.
+ type: boolean
+ type: object
+ type: array
+ type:
+ default: 2
+ description: Meeting Type
+ enum:
+ - 1
+ - 2
+ - 3
+ - 8
+ type: integer
+ x-enum-descriptions:
+ - Instant Meeting
+ - Scheduled Meeting
+ - Recurring Meeting with no fixed time
+ - Recurring Meeting with fixed time
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ assistant_id:
+ description: Unique identifier of the scheduler who scheduled this meeting on behalf of the host. This field is only returned if you used "schedule_for" option in the [Create a Meeting API request](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingcreate).
+ type: string
+ host_email:
+ description: Email address of the meeting host.
+ format: email
+ type: string
+ id:
+ description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
+ format: int64
+ type: integer
+ registration_url:
+ description: URL using which registrants can register for a meeting. This field is only returned for meetings that have enabled registration.
+ type: string
+ type: object
+ - description: Meeting object
+ properties:
+ agenda:
+ description: Agenda
+ type: string
+ created_at:
+ description: The date and time at which this meeting was created.
+ format: date-time
+ type: string
+ duration:
+ description: Meeting duration.
+ type: integer
+ h323_password:
+ description: H.323/SIP room system password
+ type: string
+ join_url:
+ description: URL for participants to join the meeting. This URL should only be shared with users that you would like to invite for the meeting.
+ type: string
+ occurrences:
+ description: Array of occurrence objects.
+ items:
+ description: Occurence object. This object is only returned for Recurring Webinars.
+ properties:
+ duration:
+ description: Duration.
+ type: integer
+ occurrence_id:
+ description: "Occurrence ID: Unique Identifier that identifies an occurrence of a recurring webinar. [Recurring webinars](https://support.zoom.us/hc/en-us/articles/216354763-How-to-Schedule-A-Recurring-Webinar) can have a maximum of 50 occurrences."
+ type: string
+ start_time:
+ description: Start time.
+ format: date-time
+ type: string
+ status:
+ description: Occurrence status.
+ type: string
+ type: object
+ type: array
+ password:
+ description: |+
+ Meeting password. Password may only contain the following characters: `[a-z A-Z 0-9 @ - _ * !]`
+
+ If "Require a password when scheduling new meetings" setting has been **enabled** **and** [locked](https://support.zoom.us/hc/en-us/articles/115005269866-Using-Tiered-Settings#locked) for the user, the password field will be autogenerated in the response even if it is not provided in the API request.
+
+
+ type: string
+ pmi:
+ description: Personal Meeting Id. Only used for scheduled meetings and recurring meetings with no fixed time.
+ format: int64
+ type: integer
+ recurrence:
+ description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
+ properties:
+ end_date_time:
+ description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ default: 1
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |+
+ Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
+
+ type: integer
+ type:
+ description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ default: "1"
+ description: |-
+ This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - "1"
+ - "2"
+ - "3"
+ - "4"
+ - "5"
+ - "6"
+ - "7"
+ type: string
+ required:
+ - type
+ type: object
+ settings:
+ description: Meeting settings.
+ properties:
+ allow_multiple_devices:
+ description: Allow attendees to join the meeting from multiple devices. This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
+ type: boolean
+ alternative_hosts:
+ description: "Alternative host's emails or IDs: multiple values are separated by a semicolon."
+ type: string
+ alternative_hosts_email_notification:
+ default: true
+ description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
+ type: boolean
+ approval_type:
+ default: 2
+ description: |-
+ Enable registration and set approval for the registration. Note that this feature requires the host to be of **Licensed** user type. **Registration cannot be enabled for a basic user.**
+
+ `0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ approved_or_denied_countries_or_regions:
+ description: |
+ Approve or block users from specific regions/countries from joining this meeting.
+ properties:
+ approved_list:
+ description: "List of countries/regions from where participants can join this meeting. "
+ items:
+ type: string
+ type: array
+ denied_list:
+ description: "List of countries/regions from where participants can not join this meeting. "
+ items:
+ type: string
+ type: array
+ enable:
+ description: |-
+ `true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
+
+ `false`: Setting disabled.
+ type: boolean
+ method:
+ description: |-
+ Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
+ `approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
+ `deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
+ enum:
+ - approve
+ - deny
+ type: string
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
+ type: string
+ authentication_exception:
+ description: The participants added here will receive unique meeting invite links and bypass authentication.
+ items:
+ properties:
+ email:
+ description: Email address of the participant.
+ format: email
+ type: string
+ name:
+ description: Name of the participant.
+ type: string
+ type: object
+ type: array
+ authentication_name:
+ description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
+ type: string
+ authentication_option:
+ description: Meeting authentication option id.
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ breakout_room:
+ description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
+ properties:
+ enable:
+ description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
+ type: boolean
+ rooms:
+ description: Create room(s).
+ items:
+ properties:
+ name:
+ description: Name of the breakout room.
+ type: string
+ participants:
+ description: Email addresses of the participants who are to be assigned to the breakout room.
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ type: object
+ close_registration:
+ default: false
+ description: Close registration after event date
+ type: boolean
+ cn_meeting:
+ default: false
+ description: Host meeting in China.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ custom_keys:
+ description: Custom keys and values assigned to the meeting.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the user.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the user.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ enforce_login:
+ description: |-
+ Only signed in users can join this meeting.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
+ type: boolean
+ enforce_login_domains:
+ description: |-
+ Only signed in users with specified domains can join meetings.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
+ type: string
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ global_dial_in_numbers:
+ description: Global Dial-in Countries/Regions
+ items:
+ properties:
+ city:
+ description: City of the number, if any. For example, Chicago.
+ type: string
+ country:
+ description: Country code. For example, BR.
+ type: string
+ country_name:
+ description: Full name of country. For example, Brazil.
+ type: string
+ number:
+ description: Phone number. For example, +1 2332357613.
+ type: string
+ type:
+ description: "Type of number. "
+ enum:
+ - toll
+ - tollfree
+ type: string
+ type: object
+ type: array
+ host_video:
+ description: Start video when the host joins the meeting.
+ type: boolean
+ in_meeting:
+ default: false
+ description: Host meeting in India.
+ type: boolean
+ jbh_time:
+ description: |-
+ If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
+
+ * `0`: Allow participant to join anytime.
+ * `5`: Allow participant to join 5 minutes before meeting start time.
+ * `10`: Allow participant to join 10 minutes before meeting start time.
+ enum:
+ - 0
+ - 5
+ - 10
+ type: integer
+ join_before_host:
+ default: false
+ description: Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings.
+ type: boolean
+ language_interpretation:
+ properties:
+ enable:
+ type: boolean
+ interpreters:
+ description: Information associated with the interpreter.
+ items:
+ properties:
+ email:
+ description: Email address of the interpreter.
+ format: email
+ type: string
+ languages:
+ description: |-
+ Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
+
+ For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
+ type: string
+ type: object
+ type: array
+ type: object
+ meeting_authentication:
+ description: "`true`- Only authenticated users can join meetings."
+ type: boolean
+ mute_upon_entry:
+ default: false
+ description: Mute participants upon entry.
+ type: boolean
+ participant_video:
+ description: Start video when participants join the meeting.
+ type: boolean
+ registrants_confirmation_email:
+ description: Send confirmation email to registrants upon successful registration.
+ type: boolean
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registration_type:
+ default: 1
+ description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: |-
+ Show social share buttons on the meeting registration page.
+ This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
+ type: boolean
+ use_pmi:
+ default: false
+ description: Use a personal meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time.
+ type: boolean
+ waiting_room:
+ default: false
+ description: Enable waiting room
+ type: boolean
+ watermark:
+ default: false
+ description: Add watermark when viewing a shared screen.
+ type: boolean
+ type: object
+ start_time:
+ description: 'Meeting start date-time in UTC/GMT. Example: "2020-03-31T12:02:00Z"'
+ format: date-time
+ type: string
+ start_url:
+ description: URL to start the meeting. This URL should only be used by the host of the meeting and **should not be shared with anyone other than the host** of the meeting as anyone with this URL will be able to login to the Zoom Client as the host of the meeting.
+ type: string
+ timezone:
+ description: Timezone to format start_time
+ type: string
+ topic:
+ description: Meeting topic
+ maxLength: 200
+ type: string
+ tracking_fields:
+ description: Tracking fields
+ items:
+ properties:
+ field:
+ description: Label of the tracking field.
+ type: string
+ value:
+ description: Value for the field.
+ type: string
+ visible:
+ description: |-
+ Indicates whether the [tracking field](https://support.zoom.us/hc/en-us/articles/115000293426-Scheduling-Tracking-Fields) is visible in the meeting scheduling options in the Zoom Web Portal or not.
+
+ `true`: Tracking field is visible.
+
+ `false`: Tracking field is not visible to the users in the meeting options in the Zoom Web Portal but the field was used while scheduling this meeting via API. An invisible tracking field can be used by users while scheduling meetings via API only.
+ type: boolean
+ type: object
+ type: array
+ type:
+ default: 2
+ description: Meeting Type
+ enum:
+ - 1
+ - 2
+ - 3
+ - 8
+ type: integer
+ x-enum-descriptions:
+ - Instant Meeting
+ - Scheduled Meeting
+ - Recurring Meeting with no fixed time
+ - Recurring Meeting with fixed time
+ type: object
+ description: |-
+ **HTTP Status Code:** `201`
+ Meeting created.
+ headers:
+ Content-Location:
+ description: Location of created Meeting
+ schema:
+ type: string
+ "300":
+ description: |
+ **HTTP Status Code:** `300`
+ Invalid enforce_login_domains, separate multiple domains by semicolon.
+ A maximum of {rateLimitNumber} meetings can be created/updated for a single user in one day.
+ "404":
+ description: |
+ **HTTP Status Code:** `404` **Not Found**
+ User not found.
+
+ **Error Code:** `1001` User {userId} not exist or not belong to this account.
+ summary: Create a meeting
+ tags:
+ - Meetings
+ "/users/{userId}/pac":
+ get:
+ description: |-
+ [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC) allows Pro or higher account holders to host meetings through PSTN (phone dial-in) only. Use this API to list a user's PAC accounts.
+ **Scopes:** `pac:read:admin` `pac:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ **Prerequisites:**
+ * A Pro or higher plan with [Premium Audio Conferencing](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) add-on.
+ * Personal Audio Conference must be enabled in the user's profile.
+ operationId: userPACs
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ pac_accounts:
+ - conference_id: "111111"
+ dedicated_dial_in_number:
+ - country: USA
+ number: "123343434"
+ global_dial_in_numbers:
+ - country: USA
+ number: "434343434"
+ listen_only_password: hkgk
+ participant_password: ghdf
+ schema:
+ properties:
+ pac_accounts:
+ items:
+ properties:
+ conference_id:
+ description: Conference ID.
+ type: integer
+ dedicated_dial_in_number:
+ description: List of dedicated dial-in numbers.
+ items:
+ properties:
+ country:
+ description: Country code.
+ type: string
+ number:
+ description: "Dial-in number: length is less than 16."
+ type: string
+ type: object
+ type: array
+ global_dial_in_numbers:
+ description: List of global dial-in numbers.
+ items:
+ properties:
+ country:
+ description: Country code.
+ type: string
+ number:
+ description: "Dial-in number: length is less than 16."
+ type: string
+ type: object
+ type: array
+ listen_only_password:
+ description: "Listen-Only password: numeric value - length is less than 6."
+ maxLength: 6
+ type: string
+ participant_password:
+ description: "Participant password: numeric value - length is less than 6."
+ maxLength: 6
+ minLength: 1
+ type: string
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ properties:
+ pac_accounts:
+ items:
+ properties:
+ conference_id:
+ description: Conference ID.
+ type: integer
+ dedicated_dial_in_number:
+ description: List of dedicated dial-in numbers.
+ items:
+ properties:
+ country:
+ description: Country code.
+ type: string
+ number:
+ description: "Dial-in number: length is less than 16."
+ type: string
+ type: object
+ type: array
+ global_dial_in_numbers:
+ description: List of global dial-in numbers.
+ items:
+ properties:
+ country:
+ description: Country code.
+ type: string
+ number:
+ description: "Dial-in number: length is less than 16."
+ type: string
+ type: object
+ type: array
+ listen_only_password:
+ description: "Listen-Only password: numeric value - length is less than 6."
+ maxLength: 6
+ type: string
+ participant_password:
+ description: "Participant password: numeric value - length is less than 6."
+ maxLength: 6
+ minLength: 1
+ type: string
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ PAC account list returned.
+ "400":
+ description: |
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `2024`
+ User does not have PAC enabled.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User does not exist: $userId.
+ summary: List a user's PAC accounts
+ tags:
+ - PAC
+ "/users/{userId}/password":
+ put:
+ description: |-
+ Update the [password](https://support.zoom.us/hc/en-us/articles/206344385-Change-a-User-s-Password) of a user using which the user can login to Zoom. After this request is processed successfully, an email notification will be sent to the user stating that the password was changed.
+ **Scopes:** `user:write:admin` `user:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ **Prerequisites:**
+ * Owner or admin of the Zoom account.
+ operationId: userPassword
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ password:
+ description: |-
+ User password. Should be less than 32 characters.
+
+ **Note:** If the account owner or admin has enabled [enhanced password requirements](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_fa9186e4-6818-4f7a-915c-2e25c19f0acd), the value provided in this field must meet those requirements. These requirements can be retrieved by calling the [Get Account Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) and referring to the `password_requirement` field present in the `security` object.
+ minimum: 8
+ type: string
+ required:
+ - password
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ password:
+ description: |-
+ User password. Should be less than 32 characters.
+
+ **Note:** If the account owner or admin has enabled [enhanced password requirements](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_fa9186e4-6818-4f7a-915c-2e25c19f0acd), the value provided in this field must meet those requirements. These requirements can be retrieved by calling the [Get Account Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) and referring to the `password_requirement` field present in the `security` object.
+ minimum: 8
+ type: string
+ required:
+ - password
+ type: object
+ description: User password.
+ required: true
+ x-examples:
+ application/json:
+ password: string
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `204` **OK**
+ Password updated.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300` Your new password can not match the old password. This password cannot be changed because it has already been changed the maximum number of times over the past 24 hours.
**Error Code:** `1117` Can not update Admin’s password
**Error Code:** `1123` Can only update password of Zoom work email account
**Error Code:** `1124` Minimum of 6 characters. Have at least {lengthRule} characters
**Error Code:** `1125` Have at least 1 letter (a, b, c…)
**Error Code:** `1126` Have at least 1 number (1, 2, 3…)
**Error Code:** `1127` Have at least 1 special character (!, @, #…)
+ **Error Code:** `1128` Include both Upper case and Lower case characters
**Error Code:** `1129` Users cannot reuse any of the last $formerPwdCount passwords created.
**Error Code:** `1130` Password can’t use the same character.
+ **Error Code:** `1131` Password can’t use continuation character.Such as 'abcdef’,’123456’.
+ **Error Code:** `1136`
+ Your password is too easy to guess. Try another one.
+
+
+ "404":
+ description: |
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User does not exist: $userId.
+ summary: Update a user's password
+ tags:
+ - Users
+ "/users/{userId}/permissions":
+ get:
+ description: |-
+ Users can be assigned a set of permissions that allows them to access only the pages/information that a user needs to view or edit.
+
+ Use this API to get permissions that have been granted to the user.
+ **Error Code:** `1001`
+ User does not exist: $userId.
+ summary: Get user permissions
+ tags:
+ - Users
+ "/users/{userId}/picture":
+ post:
+ description: |-
+ Upload a user's profile picture.
+
+ Provide `multipart/form-data` as the value of the `content-type` header for this request. This API supports JPEG and PNG file formats.
+
+ **Scopes:** `user:write:admin` `user:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: userPicture
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ multipart/form-data:
+ schema:
+ properties:
+ pic_file:
+ description: "The file's path. "
+ format: binary
+ type: string
+ required:
+ - pic_file
+ type: object
+ required: true
+ responses:
+ "201":
+ description: "**HTTP Status Code:** `201` Picture uploaded."
+ headers:
+ Content-Location:
+ description: Location of user's picture
+ schema:
+ type: string
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ Bad request
+ **Error Code:** `300`
+ Your request was not accepted because the profile picture contains invalid or explicit content.
+ **Error Code:** `120`
+ File is empty.
+ File size cannot exceed 2M.
+ Only jpg/jpeg or png image file can be uploaded.
+ "404":
+ description: |
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User does not exist: $userId.
+ summary: Upload a user's profile picture
+ tags:
+ - Users
+ "/users/{userId}/presence_status":
+ parameters:
+ - in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ put:
+ description: |+
+ Users in the Zoom desktop client and mobile apps are assigned with a [presence status](https://support.zoom.us/hc/en-us/articles/360032554051-Status-Icons). The presence status informs users of their contact's availability. Users can also change their own presence status to be either "Away", "Do not disturb", or "Available".
+
+ Use this API to update a user's presence status. A user's status can not be updated more than once per minute, i.e., you can only submit a maximum of 1 update request/minute for a single user. Note that a user's presence status can not be updated using this API if the user is not logged in to the Zoom client.
+
+ **Scopes:** `user:write`, `user:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+
+
+ operationId: updatePresenceStatus
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ duration:
+ description: |-
+ If you're updating the status to `Do_Not_Disturb`, specify a duration in minutes for which the status should remain as `Do_Not_Disturb`.
+
+ The default value is 20 minutes and the maximum allowed value is 1440 minutes.
+ maximum: 1440
+ minimum: 20
+ type: integer
+ status:
+ description: |-
+ Presence status of the user. The value can be set to one of the following:
+ * `Away`
+ * `Do_Not_Disturb`
+ * `Available`
+
+ Users who are on Zoom Client with a version **lower than 5.3.0** can update the status from:
+ * `Away` to `Do_Not_Disturb`
+ * `Available` to `Do-Not_Disturb`
+
+ Users who are on **Zoom Client 5.3.0** or higher can update the status from:
+ * `Do_Not_Disturb` to `Away`
+ * `Do_Not_Disturb` to `Available`
+ * `Available` to `Away`
+ * `Away` to `Available`
+ enum:
+ - Do_No_Disturb
+ - Away
+ - Available
+ type: string
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ duration:
+ description: |-
+ If you're updating the status to `Do_Not_Disturb`, specify a duration in minutes for which the status should remain as `Do_Not_Disturb`.
+
+ The default value is 20 minutes and the maximum allowed value is 1440 minutes.
+ maximum: 1440
+ minimum: 20
+ type: integer
+ status:
+ description: |-
+ Presence status of the user. The value can be set to one of the following:
+ * `Away`
+ * `Do_Not_Disturb`
+ * `Available`
+
+ Users who are on Zoom Client with a version **lower than 5.3.0** can update the status from:
+ * `Away` to `Do_Not_Disturb`
+ * `Available` to `Do-Not_Disturb`
+
+ Users who are on **Zoom Client 5.3.0** or higher can update the status from:
+ * `Do_Not_Disturb` to `Away`
+ * `Do_Not_Disturb` to `Available`
+ * `Available` to `Away`
+ * `Away` to `Available`
+ enum:
+ - Do_No_Disturb
+ - Away
+ - Available
+ type: string
+ type: object
+ x-examples:
+ application/json:
+ duration: 45
+ status: Do_No_Disturb
+ responses:
+ "204":
+ content:
+ application/json:
+ schema: {}
+ application/xml:
+ schema: {}
+ description: |
+ **HTTP Status Code:** `204`
+
+ Status updated succesfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `5301`
+ Request to update the presence status of this user failed.
+ **Error Code:** `5411`
+ Unauthorized request. You do not have permission to update the presence status of this user.
+ "404":
+ description: |+
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User does not exist: {userId}.
+
+
+
+ "429":
+ description: |-
+ **HTTP Status Code:** `429` **Too Many Requests**
+ Too many requests submitted to update the presence status of this user. Please wait for the request to be processed and try again later.
+ summary: Update a user's presence status
+ tags:
+ - Users
+ "/users/{userId}/recordings":
+ get:
+ description: |-
+ When a user records a meeting or a webinar by choosing the **Record to the Cloud** option, the video, audio, and chat text are recorded in the Zoom cloud.
+
+ Use this API to list all [Cloud recordings](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-Recording) of a user.
+ > To access a user's password protected cloud recording, add an "access_token" parameter to the download URL and provide either the [JWT](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app) or the user's OAuth access token as the value of the "access_token" parameter.
+
+
+ **Scopes:** `recording:read:admin` `recording:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ **Prerequisites:**
+ * Pro or a higher plan.
+ * Cloud Recording must be enabled on the user's account.
+ operationId: recordingsList
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ - description: Query Metadata of Recording if an On-Premise Meeting Connector was used for the meeting.
+ in: query
+ name: mc
+ schema:
+ default: "false"
+ type: string
+ - description: |-
+ Query trash.
+ `true`: List recordings from trash. `false`: Do not list recordings from the trash. The default value is `false`. If you set it to `true`, you can use the `trash_type` property to indicate the type of Cloud recording that you need to retrieve.
+ in: query
+ name: trash
+ schema:
+ default: false
+ type: boolean
+ - description: |-
+ The start date in 'yyyy-mm-dd' UTC format for the date range for which you would like to retrieve recordings. The maximum range can be a month. If no value is provided for this field, the default will be current date. For example, if you make the API request on June 30, 2020, without providing the “from” and “to” parameters, by default the value of 'from' field will be “2020-06-30” and the value of the 'to' field will be “2020-07-01”.
+
+ **Note**: The "trash" files cannot be filtered by date range and thus, the "from" and "to" fields should not be used for trash files.
+ in: query
+ name: from
+ schema:
+ format: date
+ type: string
+ - description: "End date in 'yyyy-mm-dd' 'yyyy-mm-dd' UTC format. "
+ in: query
+ name: to
+ schema:
+ format: date
+ type: string
+ - description: |-
+ The type of Cloud recording that you would like to retrieve from the trash. The value can be one of the following:
+ `meeting_recordings`: List all meeting recordings from the trash.
+ `recording_file`: List all individual recording files from the trash.
+ in: query
+ name: trash_type
+ schema:
+ default: meeting_recordings
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ from: 2019-08-15
+ meetings:
+ - account_id: AbcjxkfhdEEE
+ duration: 1
+ host_id: z8dfkgABBBBBBBfp8uQ
+ id: 1000000000000
+ recording_count: 1
+ recording_files:
+ - download_url: https://api.zoom.us/recording/download/pfA2AvvvvvAnAzOibbbbELxl
+ file_size: 10098
+ file_type: M4A
+ id: 589ABBBBB-8718e
+ meeting_id: gkABCDEnCkPuA==
+ play_url: https://api.zoom.us/recording/play/pfA2AvvvvvAnAzOibbbbELxl
+ recording_end: 2019-08-29T21:55:24Z
+ recording_start: 2019-08-29T21:54:55Z
+ recording_type: audio_only
+ status: completed
+ - download_url: https://api.zoom.us/recording/download/cc33ekldfdjfhf3-aaaaa
+ file_type: TIMELINE
+ meeting_id: gkABCDEnCkPuA==
+ recording_end: 2019-08-29T21:55:24Z
+ recording_start: 2019-08-29T21:54:55Z
+ - download_url: https://api.zoom.us/recording/download/abcdkjfhdhfdhfj
+ file_size: 37285
+ file_type: MP4
+ id: 96119b=kdfhf791
+ meeting_id: gkABCDEnCkPuA==
+ play_url: https://api.zoom.us/recording/play/abcdkjfhdhfdhfj
+ recording_end: 2019-08-29T21:55:24Z
+ recording_start: 2019-08-29T21:54:55Z
+ recording_type: shared_screen_with_speaker_view
+ status: completed
+ share_url: https://api.zoom.us/recording/share/IABCDJDKDJEEEEEk_GwfdggdgkTziMw
+ start_time: 2019-08-29T21:54:49Z
+ timezone: America/Los_Angeles
+ topic: MyTestPollMeeting
+ total_size: 47383
+ type: 2
+ uuid: gkABCDEnCkPuA==
+ next_page_token: ""
+ page_count: 1
+ page_size: 30
+ to: 2019-09-15
+ total_records: 1
+ schema:
+ allOf:
+ - description: DateTime Object.
+ properties:
+ from:
+ description: Start Date.
+ format: date
+ type: string
+ to:
+ description: End Date.
+ format: date
+ type: string
+ type: object
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ type: integer
+ type: object
+ - properties:
+ meetings:
+ description: List of recordings.
+ items:
+ allOf:
+ - allOf:
+ - properties:
+ account_id:
+ description: Unique Identifier of the user account.
+ type: string
+ duration:
+ description: Meeting duration.
+ type: integer
+ host_id:
+ description: ID of the user set as host of meeting.
+ type: string
+ id:
+ description: Meeting ID - also known as the meeting number.
+ type: string
+ recording_count:
+ description: Number of recording files returned in the response of this API call.
+ type: string
+ start_time:
+ description: The time at which the meeting started.
+ format: date-time
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ total_size:
+ description: Total size of the recording.
+ type: string
+ type:
+ description: |-
+ Type of the meeting that was recorded.
+
+ Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with fixed time.
+ type: string
+ uuid:
+ description: Unique Meeting Identifier. Each instance of the meeting will have its own UUID.
+ type: string
+ - allOf:
+ - properties:
+ recording_files:
+ description: List of recording file.
+ items:
+ allOf:
+ - description: Recording file object.
+ properties:
+ deleted_time:
+ description: The time at which recording was deleted. Returned in the response only for trash query.
+ type: string
+ download_url:
+ description: |+
+ The URL using which the recording file can be downloaded. **To access a private or password protected cloud recording of a user in your account, you can use a [Zoom JWT App Type](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL as shown in the example.**
+
+ Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ JWT Token }}`
+
+ **Similarly, if the user has installed your OAuth app that contains recording scope(s), you can also use the user's [OAuth access token](https://marketplace.zoom.us/docs/guides/auth/oauth) to download the Cloud Recording.**
+
+ Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ OAuth Access Token }}`
+
+ type: string
+ file_size:
+ description: The recording file size.
+ type: number
+ file_type:
+ description: |-
+ The recording file type. The value of this field could be one of the following:
+ `MP4`: Video file of the recording. `M4A` Audio-only file of the recording. `TIMELINE`: Timestamp file of the recording in JSON file format. To get a timeline file, the "Add a timestamp to the recording" setting must be enabled in the [recording settings](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-recording#h_3f14c3a4-d16b-4a3c-bbe5-ef7d24500048). The time will display in the host's timezone, set on their Zoom profile.
+ `TRANSCRIPT`: Transcription file of the recording in VTT format. `CHAT`: A TXT file containing in-meeting chat messages that were sent during the meeting. `CC`: File containing closed captions of the recording in VTT file format. `CSV`: File containing polling data in csv format.
+
+
+
+ A recording file object with file type of either `CC` or `TIMELINE` **does not have** the following properties:
+ `id`, `status`, `file_size`, `recording_type`, and `play_url`.
+ type: string
+ id:
+ description: The recording file ID. Included in the response of general query.
+ type: string
+ meeting_id:
+ description: "The meeting ID. "
+ type: string
+ play_url:
+ description: The URL using which a recording file can be played.
+ type: string
+ recording_end:
+ description: The recording end time. Response in general query.
+ type: string
+ recording_start:
+ description: The recording start time.
+ type: string
+ recording_type:
+ description: The recording type. The value of this field can be one of the following: `shared_screen_with_speaker_view(CC)` `shared_screen_with_speaker_view` `shared_screen_with_gallery_view` `speaker_view` `gallery_view` `shared_screen` `audio_only` `audio_transcript` `chat_file` `active_speaker` `poll`
+ type: string
+ status:
+ description: The recording status.
+ enum:
+ - completed
+ type: string
+ type: object
+ title: Recording file List
+ type: array
+ description: List of recording file.
+ title: Recording file List
+ type: object
+ description: The recording meeting object.
+ type: object
+ title: Recording List
+ type: array
+ description: List of recordings.
+ title: Recording List
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - description: DateTime Object.
+ properties:
+ from:
+ description: Start Date.
+ format: date
+ type: string
+ to:
+ description: End Date.
+ format: date
+ type: string
+ type: object
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ type: integer
+ type: object
+ - properties:
+ meetings:
+ description: List of recordings.
+ items:
+ allOf:
+ - allOf:
+ - properties:
+ account_id:
+ description: Unique Identifier of the user account.
+ type: string
+ duration:
+ description: Meeting duration.
+ type: integer
+ host_id:
+ description: ID of the user set as host of meeting.
+ type: string
+ id:
+ description: Meeting ID - also known as the meeting number.
+ type: string
+ recording_count:
+ description: Number of recording files returned in the response of this API call.
+ type: string
+ start_time:
+ description: The time at which the meeting started.
+ format: date-time
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ total_size:
+ description: Total size of the recording.
+ type: string
+ type:
+ description: |-
+ Type of the meeting that was recorded.
+
+ Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with fixed time.
+ type: string
+ uuid:
+ description: Unique Meeting Identifier. Each instance of the meeting will have its own UUID.
+ type: string
+ - allOf:
+ - properties:
+ recording_files:
+ description: List of recording file.
+ items:
+ allOf:
+ - description: Recording file object.
+ properties:
+ deleted_time:
+ description: The time at which recording was deleted. Returned in the response only for trash query.
+ type: string
+ download_url:
+ description: |+
+ The URL using which the recording file can be downloaded. **To access a private or password protected cloud recording of a user in your account, you can use a [Zoom JWT App Type](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL as shown in the example.**
+
+ Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ JWT Token }}`
+
+ **Similarly, if the user has installed your OAuth app that contains recording scope(s), you can also use the user's [OAuth access token](https://marketplace.zoom.us/docs/guides/auth/oauth) to download the Cloud Recording.**
+
+ Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ OAuth Access Token }}`
+
+ type: string
+ file_size:
+ description: The recording file size.
+ type: number
+ file_type:
+ description: |-
+ The recording file type. The value of this field could be one of the following:
+ `MP4`: Video file of the recording. `M4A` Audio-only file of the recording. `TIMELINE`: Timestamp file of the recording in JSON file format. To get a timeline file, the "Add a timestamp to the recording" setting must be enabled in the [recording settings](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-recording#h_3f14c3a4-d16b-4a3c-bbe5-ef7d24500048). The time will display in the host's timezone, set on their Zoom profile.
+ `TRANSCRIPT`: Transcription file of the recording in VTT format. `CHAT`: A TXT file containing in-meeting chat messages that were sent during the meeting. `CC`: File containing closed captions of the recording in VTT file format. `CSV`: File containing polling data in csv format.
+
+
+
+ A recording file object with file type of either `CC` or `TIMELINE` **does not have** the following properties:
+ `id`, `status`, `file_size`, `recording_type`, and `play_url`.
+ type: string
+ id:
+ description: The recording file ID. Included in the response of general query.
+ type: string
+ meeting_id:
+ description: "The meeting ID. "
+ type: string
+ play_url:
+ description: The URL using which a recording file can be played.
+ type: string
+ recording_end:
+ description: The recording end time. Response in general query.
+ type: string
+ recording_start:
+ description: The recording start time.
+ type: string
+ recording_type:
+ description: The recording type. The value of this field can be one of the following: `shared_screen_with_speaker_view(CC)` `shared_screen_with_speaker_view` `shared_screen_with_gallery_view` `speaker_view` `gallery_view` `shared_screen` `audio_only` `audio_transcript` `chat_file` `active_speaker` `poll`
+ type: string
+ status:
+ description: The recording status.
+ enum:
+ - completed
+ type: string
+ type: object
+ title: Recording file List
+ type: array
+ description: List of recording file.
+ title: Recording file List
+ type: object
+ description: The recording meeting object.
+ type: object
+ title: Recording List
+ type: array
+ description: List of recordings.
+ title: Recording List
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ List of recording objects returned.
+ "404":
+ description: |
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User {userId} not exist or not belong to this account.
+ security:
+ - OAuth: []
+ summary: List all recordings
+ tags:
+ - Cloud Recording
+ "/users/{userId}/schedulers":
+ delete:
+ description: |-
+ Delete all of a user's schedulers. Schedulers are users on whose behalf the current user (assistant) can schedule meetings for. By calling this API, the current user will no longer be a scheduling assistant of any user.
+
+ **Prerequisite**: Current user (assistant) must be under the same account as the scheduler.
+ **Scopes**: `user:write:admin` `user:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: userSchedulersDelete
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ examples:
+ response:
+ value: ""
+ description: |
+ **HTTP Status Code:** `204` All schedulers deleted.
+ "404":
+ description: |
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User does not exist: $userId.
+ security:
+ - OAuth: []
+ summary: Delete user schedulers
+ tags:
+ - Users
+ get:
+ description: |-
+ List all the schedulers of a user. Schedulers in this context are the users for whom the current user can schedule meetings for.
+
+ For instance, if the current user (i.e., the user whose userId was passed in the path parameter of this API call) is user A, the response of this API will contain a list of user(s), for whom user A can schedule and manage meetings. User A is the assistant of these users and thus has scheduling privilege for these user(s).
+
+ **Prerequisites**:
+ * Current user must be under the same account as the scheduler.
+ **Scopes**: `user:read:admin` `user:read`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: userSchedulers
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ schedulers:
+ - email: sjfgduyfghdfg@myemail.dshdgshfd
+ id: abXXXsfsidfhjdsfhd768944
+ - email: sdhfefghdfg@myemail.dshdgshfd
+ id: abXXbbbbioepur8944
+ schema:
+ description: List of user's schedulers.
+ properties:
+ schedulers:
+ description: List of users for whom the current user can schedule meetings.
+ items:
+ properties:
+ email:
+ description: Email address of the scheduler.
+ type: string
+ id:
+ description: Unique Identifier (User ID) of the Scheduler.
+ type: string
+ pmi:
+ description: PMI of the meeting host in long (int64) format.
+ format: int64
+ type: integer
+ type: object
+ maximum: 30
+ type: array
+ title: User schedulers List
+ type: object
+ application/xml:
+ schema:
+ description: List of user's schedulers.
+ properties:
+ schedulers:
+ description: List of users for whom the current user can schedule meetings.
+ items:
+ properties:
+ email:
+ description: Email address of the scheduler.
+ type: string
+ id:
+ description: Unique Identifier (User ID) of the Scheduler.
+ type: string
+ pmi:
+ description: PMI of the meeting host in long (int64) format.
+ format: int64
+ type: integer
+ type: object
+ maximum: 30
+ type: array
+ title: User schedulers List
+ type: object
+ description: "**HTTP Status Code:** `200` Successfully listed all schedulers of the user."
+ "404":
+ description: |
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User does not exist: $userId.
+ security:
+ - OAuth: []
+ summary: List user schedulers
+ tags:
+ - Users
+ "/users/{userId}/schedulers/{schedulerId}":
+ delete:
+ description: |-
+ Delete a Scheduler.
+
+ Schedulers are users on whose behalf the current user (assistant) can schedule meetings for. By calling this API, the current user will no longer be a scheduling assistant of this scheduler.
+
+ **Prerequisite**: Current user must be under the same account as the scheduler.
+ **Scopes**: `user:write:admin` `user:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: userSchedulerDelete
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ - description: Scheduler's ID.
+ in: path
+ name: schedulerId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ Scheduler deleted.
+ "404":
+ description: |
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User does not exist: $userId.
+ security:
+ - OAuth: []
+ summary: Delete a scheduler
+ tags:
+ - Users
+ "/users/{userId}/settings":
+ get:
+ description: |-
+ Retrieve a user's settings.
+ **Scopes:** `user:read:admin` `user:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: userSettings
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ - description: "`0` - Facebook. `1` - Google. `99` - API. `100` - Zoom. `101` - SSO."
+ in: query
+ name: login_type
+ schema:
+ enum:
+ - "0"
+ - "1"
+ - "99"
+ - "100"
+ - "101"
+ type: string
+ x-enum-descriptions:
+ - Facebook
+ - Google
+ - API
+ - Zoom
+ - SSO
+ - allowEmptyValue: true
+ description: |-
+ `meeting_authentication`: Use this query parameter to view [meeting authentication configuration](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) applied on the user's account. `recording_authentication`: Use this query parameter to view [recording authentication configuration](https://support.zoom.us/hc/en-us/articles/360037756671-Authentication-Profiles-for-Cloud-Recordings) applied on the user's account.
+ `meeting_security`: Use this query parameter to view meeting security settings applied on the user's account.
+ in: query
+ name: option
+ schema:
+ enum:
+ - meeting_authentication
+ - recording_authentication
+ type: string
+ - description: |-
+ Provide the name of the field by which you would like to filter the response. For example, if you provide "host_video" as the value of this field, you will get a response similar to the following:
+ {
+ "schedule_meeting": {
+ "host_video": false
+ }
+ }
+ You can provide multiple values by separating them with commas(example: "host_video,participant_video”).
+ in: query
+ name: custom_query_fields
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ email_notification:
+ alternative_host_reminder: false
+ cancel_meeting_reminder: false
+ jbh_reminder: false
+ schedule_for_reminder: false
+ feature:
+ cn_meeting: true
+ in_meeting: false
+ large_meeting: false
+ meeting_capacity: 100
+ webinar: false
+ zoom_phone: false
+ in_meeting:
+ allow_live_streaming: false
+ annotation: true
+ attendee_on_hold: false
+ auto_saving_chat: false
+ breakout_room: false
+ chat: true
+ closed_caption: true
+ co_host: false
+ custom_data_center_regions: true
+ data_center_regions:
+ - AU
+ - CN
+ - EU
+ - HK
+ - LA
+ - TY
+ - US
+ e2e_encryption: false
+ entry_exit_chime: all
+ far_end_camera_control: false
+ feedback: true
+ group_hd: false
+ non_verbal_feedback: false
+ polling: true
+ private_chat: true
+ record_play_voice: false
+ remote_control: true
+ remote_support: false
+ show_meeting_control_toolbar: false
+ virtual_background: true
+ waiting_room: false
+ recording:
+ auto_delete_cmr: false
+ auto_recording: none
+ cloud_recording: true
+ local_recording: true
+ record_audio_file: true
+ record_gallery_view: false
+ record_speaker_view: true
+ recording_audio_transcript: true
+ recording_password_requirement:
+ have_letter: true
+ have_number: true
+ have_special_character: true
+ length: 8
+ only_allow_numeric: false
+ save_chat_text: true
+ show_timestamp: false
+ schedule_meeting:
+ audio_type: both
+ embed_password_in_join_link: false
+ force_pmi_jbh_password: true
+ host_video: true
+ join_before_host: false
+ meeting_password_requirement:
+ have_letter: true
+ have_number: false
+ have_special_character: false
+ length: 6
+ only_allow_numeric: false
+ not_store_meeting_topic: false
+ participants_video: false
+ pmi_password: "98654"
+ pstn_password_protected: false
+ require_password_for_pmi_meetings: all
+ require_password_for_scheduling_new_meetings: false
+ use_pmi_for_instant_meetings: true
+ use_pmi_for_scheduled_meetings: false
+ telephony:
+ audio_conference_info: ""
+ show_international_numbers_link: false
+ third_party_audio: false
+ tsp:
+ call_out: true
+ call_out_countries:
+ - USA
+ show_international_numbers_link: false
+ schema:
+ oneOf:
+ - properties:
+ email_notification:
+ description: ""
+ properties:
+ alternative_host_reminder:
+ default: false
+ description: When an alternative host is set or removed from a meeting.
+ type: boolean
+ cancel_meeting_reminder:
+ default: false
+ description: When a meeting is cancelled.
+ type: boolean
+ jbh_reminder:
+ default: false
+ description: When attendees join meeting before host.
+ type: boolean
+ schedule_for_reminder:
+ default: false
+ description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
+ type: boolean
+ title: "User settings: Notification settings"
+ type: object
+ feature:
+ description: ""
+ properties:
+ cn_meeting:
+ description: Host meeting in China.
+ type: boolean
+ in_meeting:
+ description: Host meeting in India.
+ type: boolean
+ large_meeting:
+ description: Large meeting feature.
+ type: boolean
+ large_meeting_capacity:
+ description: "Large meeting capacity: can be 500 or 1000, depending on if the user has a large meeting capacity plan subscription or not."
+ type: integer
+ meeting_capacity:
+ description: User’s meeting capacity.
+ type: integer
+ webinar:
+ description: Webinar feature.
+ type: boolean
+ webinar_capacity:
+ description: "Webinar capacity: can be 100, 500, 1000, 3000, 5000 or 10000, depending on if the user has a webinar capacity plan subscription or not."
+ type: integer
+ zoom_phone:
+ description: Zoom phone feature.
+ type: boolean
+ title: "User settings: Feature settings"
+ type: object
+ in_meeting:
+ description: ""
+ properties:
+ allow_live_streaming:
+ description: Allow live streaming.
+ type: boolean
+ annotation:
+ default: false
+ description: Allow participants to use annotation tools.
+ type: boolean
+ attendee_on_hold:
+ default: false
+ description: |-
+ Allow host to put attendee on hold.
+
+ **This field has been deprecated and is no longer supported.**
+ type: boolean
+ auto_saving_chat:
+ default: false
+ description: Auto save all in-meeting chats.
+ type: boolean
+ breakout_room:
+ default: false
+ description: Allow host to split meeting participants into separate breakout rooms.
+ type: boolean
+ chat:
+ default: false
+ description: Enable chat during meeting for all participants.
+ type: boolean
+ closed_caption:
+ default: false
+ description: Enable closed captions.
+ type: boolean
+ co_host:
+ default: false
+ description: Allow the host to add co-hosts.
+ type: boolean
+ custom_data_center_regions:
+ description: If set to `true`, you can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting your real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
+ type: boolean
+ custom_live_streaming_service:
+ description: Allow custom live streaming.
+ type: boolean
+ custom_service_instructions:
+ description: Custom service instructions.
+ type: string
+ data_center_regions:
+ description: |
+ If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["DE", "NL", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
+ enum:
+ - HK
+ - AU
+ - IN
+ - TY
+ - CN
+ - US
+ - CA
+ - DE
+ - NL
+ - LA
+ items:
+ type: string
+ type: array
+ e2e_encryption:
+ description: Zoom requires encryption for all data between the Zoom cloud, Zoom client, and Zoom Room. Require encryption for 3rd party endpoints (H323/SIP).
+ type: boolean
+ entry_exit_chime:
+ default: all
+ description: Play sound when participants join or leave: `host` - When host joins or leaves. `all` - When any participant joins or leaves. `none` - No join or leave sound.
+ enum:
+ - host
+ - all
+ - none
+ type: string
+ x-enum-descriptions:
+ - when host joins/leaves
+ - when any participant joins/leaves
+ - no join/leave sound
+ far_end_camera_control:
+ default: false
+ description: Allow another user to take control of the camera.
+ type: boolean
+ feedback:
+ default: false
+ description: Enable option to send feedback to Zoom at the end of the meeting.
+ type: boolean
+ file_transfer:
+ description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for the user or not.
+ type: boolean
+ group_hd:
+ default: false
+ description: Enable group HD video.
+ type: boolean
+ non_verbal_feedback:
+ default: false
+ description: Enable non-verbal feedback through screens.
+ type: boolean
+ polling:
+ default: false
+ description: Add polls to the meeting controls.
+ type: boolean
+ private_chat:
+ default: false
+ description: Enable 1:1 private chat between participants during meetings.
+ type: boolean
+ record_play_voice:
+ description: Record and play their own voice.
+ type: boolean
+ remote_control:
+ default: false
+ description: Enable remote control during screensharing.
+ type: boolean
+ remote_support:
+ default: false
+ description: Allow host to provide 1:1 remote support to a participant.
+ type: boolean
+ request_permission_to_unmute:
+ description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the user or not.
+ type: boolean
+ screen_sharing:
+ description: |
+ Allow host and participants to share their screen or content during meetings
+ type: boolean
+ share_dual_camera:
+ default: false
+ description: Share dual camera (deprecated).
+ type: boolean
+ show_meeting_control_toolbar:
+ description: Always show meeting controls during a meeting.
+ type: boolean
+ virtual_background:
+ default: false
+ description: Enable virtual background.
+ type: boolean
+ virtual_background_settings:
+ description: Settings to manage virtual background.
+ properties:
+ allow_upload_custom:
+ description: Allow user to upload custom backgrounds.
+ type: boolean
+ allow_videos:
+ description: Allow use of videos for virtual backgrounds.
+ type: boolean
+ enable:
+ description: Enable virtual background.
+ type: boolean
+ files:
+ items:
+ properties:
+ id:
+ description: Unique identifier of the file.
+ type: string
+ is_default:
+ description: Indicates whether or not this file is the default virtual background file.
+ type: boolean
+ name:
+ description: File name.
+ type: string
+ size:
+ description: File size.
+ type: string
+ type:
+ description: File type.
+ type: string
+ type: object
+ type: array
+ type: object
+ waiting_room:
+ default: false
+ description: Enable Waiting room - if enabled, attendees can only join after host approves.
+ type: boolean
+ who_can_share_screen:
+ description: |
+ Indicates who can share their screen or content during meetings. The value can be one of the following:
+ `host`: Only host can share the screen.
+ `all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ who_can_share_screen_when_someone_is_sharing:
+ description: |
+ Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
+ `host`: Only a host can share the screen when someone else is sharing.
+ `all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ workplace_by_facebook:
+ description: Allow livestreaming by host through Workplace by Facebook.
+ type: boolean
+ title: "User settings: Meeting settings"
+ type: object
+ profile:
+ properties:
+ recording_storage_location:
+ properties:
+ allowed_values:
+ description: |-
+ Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
+
+ Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
+ items:
+ type: string
+ type: array
+ value:
+ description: Abbreviated country code.
+ type: string
+ type: object
+ title: Profile
+ type: object
+ recording:
+ description: ""
+ properties:
+ ask_host_to_confirm_disclaimer:
+ description: Ask host to confirm the disclaimer.
+ type: boolean
+ ask_participants_to_consent_disclaimer:
+ description: |-
+ This field can be used if `recording_disclaimer` is set to true. This field indicates whether or not you would like to ask participants for consent when a recording starts. The value can be one of the following:
+ * `true`: Ask participants for consent when a recording starts.
+ * `false`: Do not ask participants for consent when a recording starts.
+ type: boolean
+ auto_delete_cmr:
+ default: false
+ description: Auto delete cloud recordings.
+ type: boolean
+ auto_delete_cmr_days:
+ description: A specified number of days of auto delete cloud recordings.
+ maximum: 60
+ minimum: 1
+ type: integer
+ auto_recording:
+ default: local
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record on local
+ - Record on cloud
+ - Disabled
+ cloud_recording:
+ default: false
+ description: Cloud recording.
+ type: boolean
+ host_pause_stop_recording:
+ default: false
+ description: Host can pause/stop the auto recording in the cloud.
+ type: boolean
+ ip_address_access_control:
+ description: |
+ Setting to allow cloud recording access only from specific IP address ranges.
+ properties:
+ enable:
+ description: |+
+ If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
+
+ type: boolean
+ ip_addresses_or_ranges:
+ description: |+
+ IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
+
+ Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
+
+ type: string
+ type: object
+ local_recording:
+ description: Local recording.
+ type: boolean
+ record_audio_file:
+ default: false
+ description: Record an audio only file.
+ type: boolean
+ record_gallery_view:
+ default: false
+ description: Record the gallery view.
+ type: boolean
+ record_speaker_view:
+ default: false
+ description: Record the active speaker view.
+ type: boolean
+ recording_audio_transcript:
+ description: Audio transcript.
+ type: boolean
+ recording_disclaimer:
+ description: |
+ Show a disclaimer to participants before a recording starts
+ type: boolean
+ recording_password_requirement:
+ description: This object represents the minimum passcode requirements set for recordings via Account Recording Settings.
+ properties:
+ have_letter:
+ description: Indicates whether or not passcode must contain at least one alphabetical letter (a, b, c..).
+ type: boolean
+ have_number:
+ description: Indicates whether or not passcode must contain at least one number(1, 2, 3..).
+ type: boolean
+ have_special_character:
+ description: "Indicates whether or not passcode must contain at least one special character(!, @, #..)."
+ type: boolean
+ length:
+ description: Minimum required length for the passcode.
+ maximum: 10
+ type: integer
+ only_allow_numeric:
+ description: Indicates whether or not passcode must contain only numeric characters.
+ type: boolean
+ type: object
+ save_chat_text:
+ default: false
+ description: Save chat text from the meeting.
+ type: boolean
+ show_timestamp:
+ default: false
+ description: Show timestamp on video.
+ type: boolean
+ title: "User settings: Recording settings"
+ type: object
+ schedule_meeting:
+ description: ""
+ properties:
+ audio_type:
+ default: voip
+ description: Determine how participants can join the audio portion of the meeting: `both` - Telephony and VoIP. `telephony` - Audio PSTN telephony only. `voip` - VoIP only. `thirdParty` - Third party audio conference.
+ enum:
+ - both
+ - telephony
+ - voip
+ - thirdParty
+ type: string
+ x-enum-descriptions:
+ - Telephony and VoIP
+ - Audio PSTN telephony only
+ - VoIP only
+ - 3rd party audio conference
+ default_password_for_scheduled_meetings:
+ description: |
+ Passcode for already scheduled meetings
+ type: string
+ embed_password_in_join_link:
+ description: "If the value is set to `true`, the meeting passcode will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the passcode.
+
+ \ "
+ type: boolean
+ force_pmi_jbh_password:
+ description: Require a passcode for personal meetings if attendees can join before host.
+ type: boolean
+ host_video:
+ description: Start meetings with host video on.
+ type: boolean
+ join_before_host:
+ description: Join the meeting before host arrives.
+ type: boolean
+ meeting_password_requirement:
+ description: Account wide meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the passcode must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar passcode needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the passcode must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided passcode is weak.
+ type: boolean
+ type: object
+ participants_video:
+ description: Start meetings with participants video on.
+ type: boolean
+ personal_meeting:
+ description: |+
+ Personal Meeting Setting.
+ `true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
+ `false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
+ For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
+
+
+ type: boolean
+ pmi_password:
+ description: |
+ PMI passcode
+ type: string
+ pstn_password_protected:
+ description: Generate and require passcode for participants joining by phone.
+ type: boolean
+ require_password_for_instant_meetings:
+ description: |
+ Require a passcode for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ require_password_for_pmi_meetings:
+ description: |
+ Require a passcode for Personal Meeting ID (PMI). This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ enum:
+ - jbh_only
+ - all
+ - none
+ type: string
+ x-enum-descriptions:
+ - Only meetings with Join Before Host enabled
+ - All meetings using PMI
+ - Disabled
+ require_password_for_scheduled_meetings:
+ description: |
+ Require a passcode for meetings which have already been scheduled
+ type: boolean
+ require_password_for_scheduling_new_meetings:
+ description: |
+ Require a passcode when scheduling new meetings.This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ use_pmi_for_instant_meetings:
+ description: |
+ Use Personal Meeting ID (PMI) when starting an instant meeting
+ type: boolean
+ use_pmi_for_scheduled_meetings:
+ description: |
+ Use Personal Meeting ID (PMI) when scheduling a meeting
+ type: boolean
+ title: "User settings: Meeting settings"
+ type: object
+ telephony:
+ properties:
+ audio_conference_info:
+ default: ""
+ description: Third party audio conference info.
+ maxLength: 2048
+ type: string
+ show_international_numbers_link:
+ description: Show the international numbers link on the invitation email.
+ type: boolean
+ telephony_regions:
+ description: Indicates where most of the participants call into or call from duriing a meeting.
+ properties:
+ allowed_values:
+ description: Telephony region options provided by Zoom to select from.
+ items:
+ type: string
+ type: array
+ selection_values:
+ description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
+ items:
+ type: string
+ type: array
+ type: object
+ third_party_audio:
+ description: Third party audio conference.
+ type: boolean
+ title: "User settings: Meeting settings"
+ type: object
+ tsp:
+ description: "Account Settings: TSP."
+ properties:
+ call_out:
+ description: Call Out
+ type: boolean
+ call_out_countries:
+ description: Call Out Countries/Regions
+ items: {}
+ type: array
+ show_international_numbers_link:
+ description: Show international numbers link on the invitation email
+ type: boolean
+ title: "User settings: TSP settings"
+ type: object
+ title: User settings
+ type: object
+ - oneOf:
+ - properties:
+ authentication_options:
+ description: Meeting Authentication Options
+ items:
+ properties:
+ default_option:
+ description: Authentication default option
+ type: boolean
+ domains:
+ description: Authentication domains
+ type: string
+ id:
+ description: Authentication id
+ type: string
+ name:
+ description: Authentication name
+ type: string
+ type:
+ description: |2-
+ Authentication type. Specify one of the following authentication types for the authentication profile:
+ * `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
+ * `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
+ * `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
+ enum:
+ - enforce_login
+ - enforce_login_with_same_account
+ - enforce_login_with_domains
+ type: string
+ visible:
+ description: Authentication visible
+ type: boolean
+ type: object
+ type: array
+ meeting_authentication:
+ description: Only authenticated users can join meetings
+ type: boolean
+ - properties:
+ authentication_options:
+ description: Authentication Options
+ items:
+ properties:
+ default_option:
+ description: Authentication default option
+ type: boolean
+ domains:
+ description: Authentication domians
+ type: string
+ id:
+ description: Authentication id
+ type: string
+ name:
+ description: Authentication name
+ type: string
+ type:
+ description: Authentication type
+ enum:
+ - internally
+ - enforce_login
+ - enforce_login_with_domains
+ type: string
+ visible:
+ description: Authentication visible
+ type: boolean
+ type: object
+ type: array
+ recording_authentication:
+ description: Only authenticated users can view cloud recordings
+ type: boolean
+ type: object
+ - properties:
+ meeting_security:
+ properties:
+ auto_security:
+ description: |-
+ `true`: Require that all meetings are secured with at least one security option.
+
+ This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
+ type: boolean
+ embed_password_in_join_link:
+ description: |
+ If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
+ type: boolean
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ end_to_end_encrypted_meetings:
+ description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
+ type: boolean
+ meeting_password:
+ description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
+ type: boolean
+ meeting_password_requirement:
+ description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the passcode must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar passcode needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the passcode must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided passcode is weak.
+ type: boolean
+ type: object
+ phone_password:
+ description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
+ type: boolean
+ pmi_password:
+ description: |
+ If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
+ type: boolean
+ require_password_for_scheduled_meeting:
+ description: |
+ Require a passcode for meetings which have already been scheduled.
+ type: boolean
+ require_password_for_scheduled_webinar:
+ description: |
+ Require a passcode for webinars which have already been scheduled.
+ type: boolean
+ waiting_room:
+ description: |
+ When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
+ type: boolean
+ waiting_room_settings:
+ description: Specify the settings to be applied if waiting room is enabled.
+ properties:
+ participants_to_place_in_waiting_room:
+ description: |-
+
+
+ Specify who should be admitted to the waiting room. The value of this field can be one of the following:
+ `0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ users_who_can_admit_participants_from_waiting_room:
+ description: |+
+ Specify who can admit participants from the waiting room. The value of this field can be one of the following:
+ `0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
+
+
+ type: integer
+ whitelisted_domains_for_waiting_room:
+ description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
+ type: string
+ type: object
+ webinar_password:
+ description: |
+ If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
+ type: boolean
+ type: object
+ title: Meeting/Webinar Security Settings
+ type: object
+ application/xml:
+ schema:
+ oneOf:
+ - properties:
+ email_notification:
+ description: ""
+ properties:
+ alternative_host_reminder:
+ default: false
+ description: When an alternative host is set or removed from a meeting.
+ type: boolean
+ cancel_meeting_reminder:
+ default: false
+ description: When a meeting is cancelled.
+ type: boolean
+ jbh_reminder:
+ default: false
+ description: When attendees join meeting before host.
+ type: boolean
+ schedule_for_reminder:
+ default: false
+ description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
+ type: boolean
+ title: "User settings: Notification settings"
+ type: object
+ feature:
+ description: ""
+ properties:
+ cn_meeting:
+ description: Host meeting in China.
+ type: boolean
+ in_meeting:
+ description: Host meeting in India.
+ type: boolean
+ large_meeting:
+ description: Large meeting feature.
+ type: boolean
+ large_meeting_capacity:
+ description: "Large meeting capacity: can be 500 or 1000, depending on if the user has a large meeting capacity plan subscription or not."
+ type: integer
+ meeting_capacity:
+ description: User’s meeting capacity.
+ type: integer
+ webinar:
+ description: Webinar feature.
+ type: boolean
+ webinar_capacity:
+ description: "Webinar capacity: can be 100, 500, 1000, 3000, 5000 or 10000, depending on if the user has a webinar capacity plan subscription or not."
+ type: integer
+ zoom_phone:
+ description: Zoom phone feature.
+ type: boolean
+ title: "User settings: Feature settings"
+ type: object
+ in_meeting:
+ description: ""
+ properties:
+ allow_live_streaming:
+ description: Allow live streaming.
+ type: boolean
+ annotation:
+ default: false
+ description: Allow participants to use annotation tools.
+ type: boolean
+ attendee_on_hold:
+ default: false
+ description: |-
+ Allow host to put attendee on hold.
+
+ **This field has been deprecated and is no longer supported.**
+ type: boolean
+ auto_saving_chat:
+ default: false
+ description: Auto save all in-meeting chats.
+ type: boolean
+ breakout_room:
+ default: false
+ description: Allow host to split meeting participants into separate breakout rooms.
+ type: boolean
+ chat:
+ default: false
+ description: Enable chat during meeting for all participants.
+ type: boolean
+ closed_caption:
+ default: false
+ description: Enable closed captions.
+ type: boolean
+ co_host:
+ default: false
+ description: Allow the host to add co-hosts.
+ type: boolean
+ custom_data_center_regions:
+ description: If set to `true`, you can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting your real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
+ type: boolean
+ custom_live_streaming_service:
+ description: Allow custom live streaming.
+ type: boolean
+ custom_service_instructions:
+ description: Custom service instructions.
+ type: string
+ data_center_regions:
+ description: |
+ If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["DE", "NL", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
+ enum:
+ - HK
+ - AU
+ - IN
+ - TY
+ - CN
+ - US
+ - CA
+ - DE
+ - NL
+ - LA
+ items:
+ type: string
+ type: array
+ e2e_encryption:
+ description: Zoom requires encryption for all data between the Zoom cloud, Zoom client, and Zoom Room. Require encryption for 3rd party endpoints (H323/SIP).
+ type: boolean
+ entry_exit_chime:
+ default: all
+ description: Play sound when participants join or leave: `host` - When host joins or leaves. `all` - When any participant joins or leaves. `none` - No join or leave sound.
+ enum:
+ - host
+ - all
+ - none
+ type: string
+ x-enum-descriptions:
+ - when host joins/leaves
+ - when any participant joins/leaves
+ - no join/leave sound
+ far_end_camera_control:
+ default: false
+ description: Allow another user to take control of the camera.
+ type: boolean
+ feedback:
+ default: false
+ description: Enable option to send feedback to Zoom at the end of the meeting.
+ type: boolean
+ file_transfer:
+ description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for the user or not.
+ type: boolean
+ group_hd:
+ default: false
+ description: Enable group HD video.
+ type: boolean
+ non_verbal_feedback:
+ default: false
+ description: Enable non-verbal feedback through screens.
+ type: boolean
+ polling:
+ default: false
+ description: Add polls to the meeting controls.
+ type: boolean
+ private_chat:
+ default: false
+ description: Enable 1:1 private chat between participants during meetings.
+ type: boolean
+ record_play_voice:
+ description: Record and play their own voice.
+ type: boolean
+ remote_control:
+ default: false
+ description: Enable remote control during screensharing.
+ type: boolean
+ remote_support:
+ default: false
+ description: Allow host to provide 1:1 remote support to a participant.
+ type: boolean
+ request_permission_to_unmute:
+ description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the user or not.
+ type: boolean
+ screen_sharing:
+ description: |
+ Allow host and participants to share their screen or content during meetings
+ type: boolean
+ share_dual_camera:
+ default: false
+ description: Share dual camera (deprecated).
+ type: boolean
+ show_meeting_control_toolbar:
+ description: Always show meeting controls during a meeting.
+ type: boolean
+ virtual_background:
+ default: false
+ description: Enable virtual background.
+ type: boolean
+ virtual_background_settings:
+ description: Settings to manage virtual background.
+ properties:
+ allow_upload_custom:
+ description: Allow user to upload custom backgrounds.
+ type: boolean
+ allow_videos:
+ description: Allow use of videos for virtual backgrounds.
+ type: boolean
+ enable:
+ description: Enable virtual background.
+ type: boolean
+ files:
+ items:
+ properties:
+ id:
+ description: Unique identifier of the file.
+ type: string
+ is_default:
+ description: Indicates whether or not this file is the default virtual background file.
+ type: boolean
+ name:
+ description: File name.
+ type: string
+ size:
+ description: File size.
+ type: string
+ type:
+ description: File type.
+ type: string
+ type: object
+ type: array
+ type: object
+ waiting_room:
+ default: false
+ description: Enable Waiting room - if enabled, attendees can only join after host approves.
+ type: boolean
+ who_can_share_screen:
+ description: |
+ Indicates who can share their screen or content during meetings. The value can be one of the following:
+ `host`: Only host can share the screen.
+ `all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ who_can_share_screen_when_someone_is_sharing:
+ description: |
+ Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
+ `host`: Only a host can share the screen when someone else is sharing.
+ `all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ workplace_by_facebook:
+ description: Allow livestreaming by host through Workplace by Facebook.
+ type: boolean
+ title: "User settings: Meeting settings"
+ type: object
+ profile:
+ properties:
+ recording_storage_location:
+ properties:
+ allowed_values:
+ description: |-
+ Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
+
+ Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
+ items:
+ type: string
+ type: array
+ value:
+ description: Abbreviated country code.
+ type: string
+ type: object
+ title: Profile
+ type: object
+ recording:
+ description: ""
+ properties:
+ ask_host_to_confirm_disclaimer:
+ description: Ask host to confirm the disclaimer.
+ type: boolean
+ ask_participants_to_consent_disclaimer:
+ description: |-
+ This field can be used if `recording_disclaimer` is set to true. This field indicates whether or not you would like to ask participants for consent when a recording starts. The value can be one of the following:
+ * `true`: Ask participants for consent when a recording starts.
+ * `false`: Do not ask participants for consent when a recording starts.
+ type: boolean
+ auto_delete_cmr:
+ default: false
+ description: Auto delete cloud recordings.
+ type: boolean
+ auto_delete_cmr_days:
+ description: A specified number of days of auto delete cloud recordings.
+ maximum: 60
+ minimum: 1
+ type: integer
+ auto_recording:
+ default: local
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record on local
+ - Record on cloud
+ - Disabled
+ cloud_recording:
+ default: false
+ description: Cloud recording.
+ type: boolean
+ host_pause_stop_recording:
+ default: false
+ description: Host can pause/stop the auto recording in the cloud.
+ type: boolean
+ ip_address_access_control:
+ description: |
+ Setting to allow cloud recording access only from specific IP address ranges.
+ properties:
+ enable:
+ description: |+
+ If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
+
+ type: boolean
+ ip_addresses_or_ranges:
+ description: |+
+ IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
+
+ Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
+
+ type: string
+ type: object
+ local_recording:
+ description: Local recording.
+ type: boolean
+ record_audio_file:
+ default: false
+ description: Record an audio only file.
+ type: boolean
+ record_gallery_view:
+ default: false
+ description: Record the gallery view.
+ type: boolean
+ record_speaker_view:
+ default: false
+ description: Record the active speaker view.
+ type: boolean
+ recording_audio_transcript:
+ description: Audio transcript.
+ type: boolean
+ recording_disclaimer:
+ description: |
+ Show a disclaimer to participants before a recording starts
+ type: boolean
+ recording_password_requirement:
+ description: This object represents the minimum passcode requirements set for recordings via Account Recording Settings.
+ properties:
+ have_letter:
+ description: Indicates whether or not passcode must contain at least one alphabetical letter (a, b, c..).
+ type: boolean
+ have_number:
+ description: Indicates whether or not passcode must contain at least one number(1, 2, 3..).
+ type: boolean
+ have_special_character:
+ description: "Indicates whether or not passcode must contain at least one special character(!, @, #..)."
+ type: boolean
+ length:
+ description: Minimum required length for the passcode.
+ maximum: 10
+ type: integer
+ only_allow_numeric:
+ description: Indicates whether or not passcode must contain only numeric characters.
+ type: boolean
+ type: object
+ save_chat_text:
+ default: false
+ description: Save chat text from the meeting.
+ type: boolean
+ show_timestamp:
+ default: false
+ description: Show timestamp on video.
+ type: boolean
+ title: "User settings: Recording settings"
+ type: object
+ schedule_meeting:
+ description: ""
+ properties:
+ audio_type:
+ default: voip
+ description: Determine how participants can join the audio portion of the meeting: `both` - Telephony and VoIP. `telephony` - Audio PSTN telephony only. `voip` - VoIP only. `thirdParty` - Third party audio conference.
+ enum:
+ - both
+ - telephony
+ - voip
+ - thirdParty
+ type: string
+ x-enum-descriptions:
+ - Telephony and VoIP
+ - Audio PSTN telephony only
+ - VoIP only
+ - 3rd party audio conference
+ default_password_for_scheduled_meetings:
+ description: |
+ Passcode for already scheduled meetings
+ type: string
+ embed_password_in_join_link:
+ description: "If the value is set to `true`, the meeting passcode will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the passcode.
+
+ \ "
+ type: boolean
+ force_pmi_jbh_password:
+ description: Require a passcode for personal meetings if attendees can join before host.
+ type: boolean
+ host_video:
+ description: Start meetings with host video on.
+ type: boolean
+ join_before_host:
+ description: Join the meeting before host arrives.
+ type: boolean
+ meeting_password_requirement:
+ description: Account wide meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the passcode must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar passcode needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the passcode must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided passcode is weak.
+ type: boolean
+ type: object
+ participants_video:
+ description: Start meetings with participants video on.
+ type: boolean
+ personal_meeting:
+ description: |+
+ Personal Meeting Setting.
+ `true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
+ `false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
+ For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
+
+
+ type: boolean
+ pmi_password:
+ description: |
+ PMI passcode
+ type: string
+ pstn_password_protected:
+ description: Generate and require passcode for participants joining by phone.
+ type: boolean
+ require_password_for_instant_meetings:
+ description: |
+ Require a passcode for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ require_password_for_pmi_meetings:
+ description: |
+ Require a passcode for Personal Meeting ID (PMI). This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ enum:
+ - jbh_only
+ - all
+ - none
+ type: string
+ x-enum-descriptions:
+ - Only meetings with Join Before Host enabled
+ - All meetings using PMI
+ - Disabled
+ require_password_for_scheduled_meetings:
+ description: |
+ Require a passcode for meetings which have already been scheduled
+ type: boolean
+ require_password_for_scheduling_new_meetings:
+ description: |
+ Require a passcode when scheduling new meetings.This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ use_pmi_for_instant_meetings:
+ description: |
+ Use Personal Meeting ID (PMI) when starting an instant meeting
+ type: boolean
+ use_pmi_for_scheduled_meetings:
+ description: |
+ Use Personal Meeting ID (PMI) when scheduling a meeting
+ type: boolean
+ title: "User settings: Meeting settings"
+ type: object
+ telephony:
+ properties:
+ audio_conference_info:
+ default: ""
+ description: Third party audio conference info.
+ maxLength: 2048
+ type: string
+ show_international_numbers_link:
+ description: Show the international numbers link on the invitation email.
+ type: boolean
+ telephony_regions:
+ description: Indicates where most of the participants call into or call from duriing a meeting.
+ properties:
+ allowed_values:
+ description: Telephony region options provided by Zoom to select from.
+ items:
+ type: string
+ type: array
+ selection_values:
+ description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
+ items:
+ type: string
+ type: array
+ type: object
+ third_party_audio:
+ description: Third party audio conference.
+ type: boolean
+ title: "User settings: Meeting settings"
+ type: object
+ tsp:
+ description: "Account Settings: TSP."
+ properties:
+ call_out:
+ description: Call Out
+ type: boolean
+ call_out_countries:
+ description: Call Out Countries/Regions
+ items: {}
+ type: array
+ show_international_numbers_link:
+ description: Show international numbers link on the invitation email
+ type: boolean
+ title: "User settings: TSP settings"
+ type: object
+ title: User settings
+ type: object
+ - oneOf:
+ - properties:
+ authentication_options:
+ description: Meeting Authentication Options
+ items:
+ properties:
+ default_option:
+ description: Authentication default option
+ type: boolean
+ domains:
+ description: Authentication domains
+ type: string
+ id:
+ description: Authentication id
+ type: string
+ name:
+ description: Authentication name
+ type: string
+ type:
+ description: |2-
+ Authentication type. Specify one of the following authentication types for the authentication profile:
+ * `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
+ * `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
+ * `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
+ enum:
+ - enforce_login
+ - enforce_login_with_same_account
+ - enforce_login_with_domains
+ type: string
+ visible:
+ description: Authentication visible
+ type: boolean
+ type: object
+ type: array
+ meeting_authentication:
+ description: Only authenticated users can join meetings
+ type: boolean
+ - properties:
+ authentication_options:
+ description: Authentication Options
+ items:
+ properties:
+ default_option:
+ description: Authentication default option
+ type: boolean
+ domains:
+ description: Authentication domians
+ type: string
+ id:
+ description: Authentication id
+ type: string
+ name:
+ description: Authentication name
+ type: string
+ type:
+ description: Authentication type
+ enum:
+ - internally
+ - enforce_login
+ - enforce_login_with_domains
+ type: string
+ visible:
+ description: Authentication visible
+ type: boolean
+ type: object
+ type: array
+ recording_authentication:
+ description: Only authenticated users can view cloud recordings
+ type: boolean
+ type: object
+ - properties:
+ meeting_security:
+ properties:
+ auto_security:
+ description: |-
+ `true`: Require that all meetings are secured with at least one security option.
+
+ This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
+ type: boolean
+ embed_password_in_join_link:
+ description: |
+ If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
+ type: boolean
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ end_to_end_encrypted_meetings:
+ description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
+ type: boolean
+ meeting_password:
+ description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
+ type: boolean
+ meeting_password_requirement:
+ description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the passcode must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar passcode needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the passcode must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided passcode is weak.
+ type: boolean
+ type: object
+ phone_password:
+ description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
+ type: boolean
+ pmi_password:
+ description: |
+ If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
+ type: boolean
+ require_password_for_scheduled_meeting:
+ description: |
+ Require a passcode for meetings which have already been scheduled.
+ type: boolean
+ require_password_for_scheduled_webinar:
+ description: |
+ Require a passcode for webinars which have already been scheduled.
+ type: boolean
+ waiting_room:
+ description: |
+ When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
+ type: boolean
+ waiting_room_settings:
+ description: Specify the settings to be applied if waiting room is enabled.
+ properties:
+ participants_to_place_in_waiting_room:
+ description: |-
+
+
+ Specify who should be admitted to the waiting room. The value of this field can be one of the following:
+ `0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ users_who_can_admit_participants_from_waiting_room:
+ description: |+
+ Specify who can admit participants from the waiting room. The value of this field can be one of the following:
+ `0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
+
+
+ type: integer
+ whitelisted_domains_for_waiting_room:
+ description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
+ type: string
+ type: object
+ webinar_password:
+ description: |
+ If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
+ type: boolean
+ type: object
+ title: Meeting/Webinar Security Settings
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ User settings returned.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+
+ **Error Code:** `1120`
+ A valid invitation to join the Zoom account was not found for this user.
+ This error is thrown if you added a user in your account but the user did not accept the invitation on time and the invitation expired - thus making the userId invalid.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User does not exist: $userId.
+ security:
+ - OAuth: []
+ summary: Get user settings
+ tags:
+ - Users
+ patch:
+ description: |-
+ Update a user's settings.
+ **Scopes:** `user:write:admin` `user:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: userSettingsUpdate
+ parameters:
+ - allowEmptyValue: true
+ in: query
+ name: option
+ schema:
+ enum:
+ - meeting_authentication
+ - recording_authentication
+ - meeting_secuirty
+ type: string
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - properties:
+ email_notification:
+ description: ""
+ properties:
+ alternative_host_reminder:
+ default: false
+ description: When an alternative host is set or removed from a meeting.
+ type: boolean
+ cancel_meeting_reminder:
+ default: false
+ description: When a meeting is cancelled.
+ type: boolean
+ jbh_reminder:
+ default: false
+ description: When attendees join meeting before host.
+ type: boolean
+ schedule_for_reminder:
+ default: false
+ description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
+ type: boolean
+ title: "User settings: Notification settings"
+ type: object
+ feature:
+ description: ""
+ properties:
+ large_meeting:
+ description: Enable [large meeting](https://support.zoom.us/hc/en-us/articles/201362823-What-is-a-Large-Meeting-) feature for the user.
+ type: boolean
+ large_meeting_capacity:
+ description: Set the meeting capacity for the user if the user has **Large meeting** feature enabled. The value for the field can be either 500 or 1000.
+ type: integer
+ meeting_capacity:
+ description: Set a user's meeting capacity. User’s meeting capacity denotes the maximum number of participants that can join a meeting scheduled by the user.
+ type: integer
+ webinar:
+ description: Enable Webinar feature for the user.
+ type: boolean
+ webinar_capacity:
+ description: Set the Webinar capacity for a user who has the Webinar feature enabled. The value of this field can be 100, 500, 1000, 3000, 5000 or 10000.
+ type: integer
+ zoom_phone:
+ description: Zoom phone feature.
+ type: boolean
+ title: "User settings: Feature settings"
+ type: object
+ in_meeting:
+ description: ""
+ properties:
+ allow_live_streaming:
+ description: Allow live streaming.
+ type: boolean
+ annotation:
+ default: false
+ description: Allow participants to use annotation tools.
+ type: boolean
+ attendee_on_hold:
+ default: false
+ description: |-
+ Allow host to put attendee on hold.
+
+ **This field has been deprecated and is no longer supported.**
+ type: boolean
+ auto_saving_chat:
+ default: false
+ description: Auto save all in-meeting chats.
+ type: boolean
+ breakout_room:
+ default: false
+ description: Allow host to split meeting participants into separate breakout rooms.
+ type: boolean
+ chat:
+ default: false
+ description: Enable chat during meeting for all participants.
+ type: boolean
+ closed_caption:
+ default: false
+ description: Enable closed captions.
+ type: boolean
+ co_host:
+ default: false
+ description: Allow the host to add co-hosts.
+ type: boolean
+ custom_data_center_regions:
+ description: If set to `true`, you can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting your real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
+ type: boolean
+ custom_live_streaming_service:
+ description: Allow custom live streaming.
+ type: boolean
+ custom_service_instructions:
+ description: Custom service instructions.
+ type: string
+ data_center_regions:
+ description: |
+ If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["DE", "NL", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
+ enum:
+ - HK
+ - AU
+ - IN
+ - TY
+ - CN
+ - US
+ - CA
+ - DE
+ - NL
+ - LA
+ items:
+ type: string
+ type: array
+ e2e_encryption:
+ description: Zoom requires encryption for all data between the Zoom cloud, Zoom client, and Zoom Room. Require encryption for 3rd party endpoints (H323/SIP).
+ type: boolean
+ entry_exit_chime:
+ default: all
+ description: Play sound when participants join or leave: `host` - When host joins or leaves. `all` - When any participant joins or leaves. `none` - No join or leave sound.
+ enum:
+ - host
+ - all
+ - none
+ type: string
+ x-enum-descriptions:
+ - when host joins/leaves
+ - when any participant joins/leaves
+ - no join/leave sound
+ far_end_camera_control:
+ default: false
+ description: Allow another user to take control of the camera.
+ type: boolean
+ feedback:
+ default: false
+ description: Enable option to send feedback to Zoom at the end of the meeting.
+ type: boolean
+ file_transfer:
+ description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for the user or not.
+ type: boolean
+ group_hd:
+ default: false
+ description: Enable group HD video.
+ type: boolean
+ non_verbal_feedback:
+ default: false
+ description: Enable non-verbal feedback through screens.
+ type: boolean
+ polling:
+ default: false
+ description: Add polls to the meeting controls.
+ type: boolean
+ private_chat:
+ default: false
+ description: Enable 1:1 private chat between participants during meetings.
+ type: boolean
+ record_play_voice:
+ description: Record and play their own voice.
+ type: boolean
+ remote_control:
+ default: false
+ description: Enable remote control during screensharing.
+ type: boolean
+ remote_support:
+ default: false
+ description: Allow host to provide 1:1 remote support to a participant.
+ type: boolean
+ request_permission_to_unmute:
+ description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the user or not.
+ type: boolean
+ screen_sharing:
+ description: |
+ Allow host and participants to share their screen or content during meetings
+ type: boolean
+ share_dual_camera:
+ default: false
+ description: Share dual camera (deprecated).
+ type: boolean
+ show_meeting_control_toolbar:
+ description: Always show meeting controls during a meeting.
+ type: boolean
+ virtual_background:
+ default: false
+ description: Enable virtual background.
+ type: boolean
+ virtual_background_settings:
+ description: Settings to manage virtual background.
+ properties:
+ allow_upload_custom:
+ description: Allow user to upload custom backgrounds.
+ type: boolean
+ allow_videos:
+ description: Allow use of videos for virtual backgrounds.
+ type: boolean
+ enable:
+ description: Enable virtual background.
+ type: boolean
+ files:
+ items:
+ properties:
+ id:
+ description: Unique identifier of the file.
+ type: string
+ is_default:
+ description: Indicates whether or not this file is the default virtual background file.
+ type: boolean
+ name:
+ description: File name.
+ type: string
+ size:
+ description: File size.
+ type: string
+ type:
+ description: File type.
+ type: string
+ type: object
+ type: array
+ type: object
+ waiting_room:
+ default: false
+ description: Enable Waiting room - if enabled, attendees can only join after host approves.
+ type: boolean
+ who_can_share_screen:
+ description: |
+ Indicates who can share their screen or content during meetings. The value can be one of the following:
+ `host`: Only host can share the screen.
+ `all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ who_can_share_screen_when_someone_is_sharing:
+ description: |
+ Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
+ `host`: Only a host can share the screen when someone else is sharing.
+ `all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ workplace_by_facebook:
+ description: Allow livestreaming by host through Workplace by Facebook.
+ type: boolean
+ title: "User settings: Meeting settings"
+ type: object
+ profile:
+ properties:
+ recording_storage_location:
+ properties:
+ allowed_values:
+ description: |-
+ Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
+
+ Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
+ items:
+ type: string
+ type: array
+ value:
+ description: Abbreviated country code.
+ type: string
+ type: object
+ title: Profile
+ type: object
+ recording:
+ description: ""
+ properties:
+ ask_host_to_confirm_disclaimer:
+ description: Ask host to confirm the disclaimer.
+ type: boolean
+ ask_participants_to_consent_disclaimer:
+ description: |-
+ This field can be used if `recording_disclaimer` is set to true. This field indicates whether or not you would like to ask participants for consent when a recording starts. The value can be one of the following:
+ * `true`: Ask participants for consent when a recording starts.
+ * `false`: Do not ask participants for consent when a recording starts.
+ type: boolean
+ auto_delete_cmr:
+ default: false
+ description: Auto delete cloud recordings.
+ type: boolean
+ auto_delete_cmr_days:
+ description: A specified number of days of auto delete cloud recordings.
+ maximum: 60
+ minimum: 1
+ type: integer
+ auto_recording:
+ default: local
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record on local
+ - Record on cloud
+ - Disabled
+ cloud_recording:
+ default: false
+ description: Cloud recording.
+ type: boolean
+ host_pause_stop_recording:
+ default: false
+ description: Host can pause/stop the auto recording in the cloud.
+ type: boolean
+ ip_address_access_control:
+ description: |
+ Setting to allow cloud recording access only from specific IP address ranges.
+ properties:
+ enable:
+ description: |+
+ If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
+
+ type: boolean
+ ip_addresses_or_ranges:
+ description: |+
+ IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
+
+ Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
+
+ type: string
+ type: object
+ local_recording:
+ description: Local recording.
+ type: boolean
+ record_audio_file:
+ default: false
+ description: Record an audio only file.
+ type: boolean
+ record_gallery_view:
+ default: false
+ description: Record the gallery view.
+ type: boolean
+ record_speaker_view:
+ default: false
+ description: Record the active speaker view.
+ type: boolean
+ recording_audio_transcript:
+ description: Audio transcript.
+ type: boolean
+ recording_disclaimer:
+ description: |
+ Show a disclaimer to participants before a recording starts
+ type: boolean
+ recording_password_requirement:
+ description: This object represents the minimum passcode requirements set for recordings via Account Recording Settings.
+ properties:
+ have_letter:
+ description: Indicates whether or not passcode must contain at least one alphabetical letter (a, b, c..).
+ type: boolean
+ have_number:
+ description: Indicates whether or not passcode must contain at least one number(1, 2, 3..).
+ type: boolean
+ have_special_character:
+ description: "Indicates whether or not passcode must contain at least one special character(!, @, #..)."
+ type: boolean
+ length:
+ description: Minimum required length for the passcode.
+ maximum: 10
+ type: integer
+ only_allow_numeric:
+ description: Indicates whether or not passcode must contain only numeric characters.
+ type: boolean
+ type: object
+ save_chat_text:
+ default: false
+ description: Save chat text from the meeting.
+ type: boolean
+ show_timestamp:
+ default: false
+ description: Show timestamp on video.
+ type: boolean
+ title: "User settings: Recording settings"
+ type: object
+ schedule_meeting:
+ description: ""
+ properties:
+ audio_type:
+ default: voip
+ description: Determine how participants can join the audio portion of the meeting: `both` - Telephony and VoIP. `telephony` - Audio PSTN telephony only. `voip` - VoIP only. `thirdParty` - Third party audio conference.
+ enum:
+ - both
+ - telephony
+ - voip
+ - thirdParty
+ type: string
+ x-enum-descriptions:
+ - Telephony and VoIP
+ - Audio PSTN telephony only
+ - VoIP only
+ - 3rd party audio conference
+ default_password_for_scheduled_meetings:
+ description: |
+ Passcode for already scheduled meetings
+ type: string
+ embed_password_in_join_link:
+ description: "If the value is set to `true`, the meeting passcode will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the passcode.
+
+ \ "
+ type: boolean
+ force_pmi_jbh_password:
+ description: Require a passcode for personal meetings if attendees can join before host.
+ type: boolean
+ host_video:
+ description: Start meetings with host video on.
+ type: boolean
+ join_before_host:
+ description: Join the meeting before host arrives.
+ type: boolean
+ meeting_password_requirement:
+ description: Account wide meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the passcode must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar passcode needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the passcode must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided passcode is weak.
+ type: boolean
+ type: object
+ participants_video:
+ description: Start meetings with participants video on.
+ type: boolean
+ personal_meeting:
+ description: |+
+ Personal Meeting Setting.
+ `true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
+ `false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
+ For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
+
+
+ type: boolean
+ pmi_password:
+ description: |
+ PMI passcode
+ type: string
+ pstn_password_protected:
+ description: Generate and require passcode for participants joining by phone.
+ type: boolean
+ require_password_for_instant_meetings:
+ description: |
+ Require a passcode for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ require_password_for_pmi_meetings:
+ description: |
+ Require a passcode for Personal Meeting ID (PMI). This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ enum:
+ - jbh_only
+ - all
+ - none
+ type: string
+ x-enum-descriptions:
+ - Only meetings with Join Before Host enabled
+ - All meetings using PMI
+ - Disabled
+ require_password_for_scheduled_meetings:
+ description: |
+ Require a passcode for meetings which have already been scheduled
+ type: boolean
+ require_password_for_scheduling_new_meetings:
+ description: |
+ Require a passcode when scheduling new meetings.This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ use_pmi_for_instant_meetings:
+ description: |
+ Use Personal Meeting ID (PMI) when starting an instant meeting
+ type: boolean
+ use_pmi_for_scheduled_meetings:
+ description: |
+ Use Personal Meeting ID (PMI) when scheduling a meeting
+ type: boolean
+ title: "User settings: Meeting settings"
+ type: object
+ telephony:
+ properties:
+ audio_conference_info:
+ default: ""
+ description: Third party audio conference info.
+ maxLength: 2048
+ type: string
+ show_international_numbers_link:
+ description: Show the international numbers link on the invitation email.
+ type: boolean
+ telephony_regions:
+ description: Indicates where most of the participants call into or call from duriing a meeting.
+ properties:
+ selection_values:
+ description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
+ items:
+ type: string
+ type: array
+ type: object
+ third_party_audio:
+ description: Third party audio conference.
+ type: boolean
+ title: "Telephony update settings: Meeting settings"
+ type: object
+ tsp:
+ description: "Account Settings: TSP."
+ properties:
+ call_out:
+ description: Call Out
+ type: boolean
+ call_out_countries:
+ description: Call Out Countries/Regions
+ items: {}
+ type: array
+ show_international_numbers_link:
+ description: Show international numbers link on the invitation email
+ type: boolean
+ title: "User settings: TSP settings"
+ type: object
+ title: User settings
+ type: object
+ - oneOf:
+ - properties:
+ authentication_option:
+ description: Meeting Authentication Options
+ properties:
+ action:
+ description: Authentication action
+ enum:
+ - update
+ - show
+ - hide
+ type: string
+ default_option:
+ description: Authentication default option
+ type: boolean
+ domains:
+ description: Authentication domains
+ type: string
+ id:
+ description: Authentication id
+ type: string
+ name:
+ description: Authentication name
+ type: string
+ type:
+ description: |2-
+ Authentication type. Specify one of the following authentication types for the authentication profile:
+ * `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
+ * `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
+ * `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
+ enum:
+ - enforce_login
+ - enforce_login_with_same_account
+ - enforce_login_with_domains
+ type: string
+ type: object
+ meeting_authentication:
+ description: Only authenticated users can join meetings
+ type: boolean
+ - properties:
+ authentication_option:
+ description: Authentication Options
+ properties:
+ action:
+ description: Authentication action
+ enum:
+ - update
+ - show
+ - hide
+ type: string
+ default_option:
+ description: Authentication default option
+ type: boolean
+ domians:
+ description: Authentication domians
+ type: string
+ id:
+ description: Authentication id
+ type: string
+ name:
+ description: Authentication name
+ type: string
+ type:
+ description: Authentication type
+ enum:
+ - internally
+ - enforce_login
+ - enforce_login_with_domains
+ type: string
+ type: object
+ recording_authentication:
+ description: Only authenticated users can view cloud recordings
+ type: boolean
+ title: GroupSettingsAuthenticationUpdate
+ type: object
+ - properties:
+ meeting_security:
+ properties:
+ auto_security:
+ description: |-
+ `true`: Require that all meetings are secured with at least one security option.
+
+ This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
+ type: boolean
+ embed_password_in_join_link:
+ description: |
+ If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
+ type: boolean
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ end_to_end_encrypted_meetings:
+ description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
+ type: boolean
+ meeting_password:
+ description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
+ type: boolean
+ meeting_password_requirement:
+ description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the passcode must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar passcode needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the passcode must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided passcode is weak.
+ type: boolean
+ type: object
+ phone_password:
+ description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
+ type: boolean
+ pmi_password:
+ description: |
+ If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
+ type: boolean
+ require_password_for_scheduled_meeting:
+ description: |
+ Require a passcode for meetings which have already been scheduled.
+ type: boolean
+ require_password_for_scheduled_webinar:
+ description: |
+ Require a passcode for webinars which have already been scheduled.
+ type: boolean
+ waiting_room:
+ description: |
+ When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
+ type: boolean
+ waiting_room_settings:
+ description: Specify the settings to be applied if waiting room is enabled.
+ properties:
+ participants_to_place_in_waiting_room:
+ description: |-
+
+
+ Specify who should be admitted to the waiting room. The value of this field can be one of the following:
+ `0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ users_who_can_admit_participants_from_waiting_room:
+ description: |+
+ Specify who can admit participants from the waiting room. The value of this field can be one of the following:
+ `0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
+
+
+ type: integer
+ whitelisted_domains_for_waiting_room:
+ description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
+ type: string
+ type: object
+ webinar_password:
+ description: |
+ If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
+ type: boolean
+ type: object
+ title: Meeting/Webinar Security Settings
+ type: object
+ multipart/form-data:
+ schema:
+ oneOf:
+ - properties:
+ email_notification:
+ description: ""
+ properties:
+ alternative_host_reminder:
+ default: false
+ description: When an alternative host is set or removed from a meeting.
+ type: boolean
+ cancel_meeting_reminder:
+ default: false
+ description: When a meeting is cancelled.
+ type: boolean
+ jbh_reminder:
+ default: false
+ description: When attendees join meeting before host.
+ type: boolean
+ schedule_for_reminder:
+ default: false
+ description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
+ type: boolean
+ title: "User settings: Notification settings"
+ type: object
+ feature:
+ description: ""
+ properties:
+ large_meeting:
+ description: Enable [large meeting](https://support.zoom.us/hc/en-us/articles/201362823-What-is-a-Large-Meeting-) feature for the user.
+ type: boolean
+ large_meeting_capacity:
+ description: Set the meeting capacity for the user if the user has **Large meeting** feature enabled. The value for the field can be either 500 or 1000.
+ type: integer
+ meeting_capacity:
+ description: Set a user's meeting capacity. User’s meeting capacity denotes the maximum number of participants that can join a meeting scheduled by the user.
+ type: integer
+ webinar:
+ description: Enable Webinar feature for the user.
+ type: boolean
+ webinar_capacity:
+ description: Set the Webinar capacity for a user who has the Webinar feature enabled. The value of this field can be 100, 500, 1000, 3000, 5000 or 10000.
+ type: integer
+ zoom_phone:
+ description: Zoom phone feature.
+ type: boolean
+ title: "User settings: Feature settings"
+ type: object
+ in_meeting:
+ description: ""
+ properties:
+ allow_live_streaming:
+ description: Allow live streaming.
+ type: boolean
+ annotation:
+ default: false
+ description: Allow participants to use annotation tools.
+ type: boolean
+ attendee_on_hold:
+ default: false
+ description: |-
+ Allow host to put attendee on hold.
+
+ **This field has been deprecated and is no longer supported.**
+ type: boolean
+ auto_saving_chat:
+ default: false
+ description: Auto save all in-meeting chats.
+ type: boolean
+ breakout_room:
+ default: false
+ description: Allow host to split meeting participants into separate breakout rooms.
+ type: boolean
+ chat:
+ default: false
+ description: Enable chat during meeting for all participants.
+ type: boolean
+ closed_caption:
+ default: false
+ description: Enable closed captions.
+ type: boolean
+ co_host:
+ default: false
+ description: Allow the host to add co-hosts.
+ type: boolean
+ custom_data_center_regions:
+ description: If set to `true`, you can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting your real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
+ type: boolean
+ custom_live_streaming_service:
+ description: Allow custom live streaming.
+ type: boolean
+ custom_service_instructions:
+ description: Custom service instructions.
+ type: string
+ data_center_regions:
+ description: |
+ If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["DE", "NL", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
+ enum:
+ - HK
+ - AU
+ - IN
+ - TY
+ - CN
+ - US
+ - CA
+ - DE
+ - NL
+ - LA
+ items:
+ type: string
+ type: array
+ e2e_encryption:
+ description: Zoom requires encryption for all data between the Zoom cloud, Zoom client, and Zoom Room. Require encryption for 3rd party endpoints (H323/SIP).
+ type: boolean
+ entry_exit_chime:
+ default: all
+ description: Play sound when participants join or leave: `host` - When host joins or leaves. `all` - When any participant joins or leaves. `none` - No join or leave sound.
+ enum:
+ - host
+ - all
+ - none
+ type: string
+ x-enum-descriptions:
+ - when host joins/leaves
+ - when any participant joins/leaves
+ - no join/leave sound
+ far_end_camera_control:
+ default: false
+ description: Allow another user to take control of the camera.
+ type: boolean
+ feedback:
+ default: false
+ description: Enable option to send feedback to Zoom at the end of the meeting.
+ type: boolean
+ file_transfer:
+ description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for the user or not.
+ type: boolean
+ group_hd:
+ default: false
+ description: Enable group HD video.
+ type: boolean
+ non_verbal_feedback:
+ default: false
+ description: Enable non-verbal feedback through screens.
+ type: boolean
+ polling:
+ default: false
+ description: Add polls to the meeting controls.
+ type: boolean
+ private_chat:
+ default: false
+ description: Enable 1:1 private chat between participants during meetings.
+ type: boolean
+ record_play_voice:
+ description: Record and play their own voice.
+ type: boolean
+ remote_control:
+ default: false
+ description: Enable remote control during screensharing.
+ type: boolean
+ remote_support:
+ default: false
+ description: Allow host to provide 1:1 remote support to a participant.
+ type: boolean
+ request_permission_to_unmute:
+ description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the user or not.
+ type: boolean
+ screen_sharing:
+ description: |
+ Allow host and participants to share their screen or content during meetings
+ type: boolean
+ share_dual_camera:
+ default: false
+ description: Share dual camera (deprecated).
+ type: boolean
+ show_meeting_control_toolbar:
+ description: Always show meeting controls during a meeting.
+ type: boolean
+ virtual_background:
+ default: false
+ description: Enable virtual background.
+ type: boolean
+ virtual_background_settings:
+ description: Settings to manage virtual background.
+ properties:
+ allow_upload_custom:
+ description: Allow user to upload custom backgrounds.
+ type: boolean
+ allow_videos:
+ description: Allow use of videos for virtual backgrounds.
+ type: boolean
+ enable:
+ description: Enable virtual background.
+ type: boolean
+ files:
+ items:
+ properties:
+ id:
+ description: Unique identifier of the file.
+ type: string
+ is_default:
+ description: Indicates whether or not this file is the default virtual background file.
+ type: boolean
+ name:
+ description: File name.
+ type: string
+ size:
+ description: File size.
+ type: string
+ type:
+ description: File type.
+ type: string
+ type: object
+ type: array
+ type: object
+ waiting_room:
+ default: false
+ description: Enable Waiting room - if enabled, attendees can only join after host approves.
+ type: boolean
+ who_can_share_screen:
+ description: |
+ Indicates who can share their screen or content during meetings. The value can be one of the following:
+ `host`: Only host can share the screen.
+ `all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ who_can_share_screen_when_someone_is_sharing:
+ description: |
+ Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
+ `host`: Only a host can share the screen when someone else is sharing.
+ `all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ workplace_by_facebook:
+ description: Allow livestreaming by host through Workplace by Facebook.
+ type: boolean
+ title: "User settings: Meeting settings"
+ type: object
+ profile:
+ properties:
+ recording_storage_location:
+ properties:
+ allowed_values:
+ description: |-
+ Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
+
+ Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
+ items:
+ type: string
+ type: array
+ value:
+ description: Abbreviated country code.
+ type: string
+ type: object
+ title: Profile
+ type: object
+ recording:
+ description: ""
+ properties:
+ ask_host_to_confirm_disclaimer:
+ description: Ask host to confirm the disclaimer.
+ type: boolean
+ ask_participants_to_consent_disclaimer:
+ description: |-
+ This field can be used if `recording_disclaimer` is set to true. This field indicates whether or not you would like to ask participants for consent when a recording starts. The value can be one of the following:
+ * `true`: Ask participants for consent when a recording starts.
+ * `false`: Do not ask participants for consent when a recording starts.
+ type: boolean
+ auto_delete_cmr:
+ default: false
+ description: Auto delete cloud recordings.
+ type: boolean
+ auto_delete_cmr_days:
+ description: A specified number of days of auto delete cloud recordings.
+ maximum: 60
+ minimum: 1
+ type: integer
+ auto_recording:
+ default: local
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record on local
+ - Record on cloud
+ - Disabled
+ cloud_recording:
+ default: false
+ description: Cloud recording.
+ type: boolean
+ host_pause_stop_recording:
+ default: false
+ description: Host can pause/stop the auto recording in the cloud.
+ type: boolean
+ ip_address_access_control:
+ description: |
+ Setting to allow cloud recording access only from specific IP address ranges.
+ properties:
+ enable:
+ description: |+
+ If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
+
+ type: boolean
+ ip_addresses_or_ranges:
+ description: |+
+ IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
+
+ Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
+
+ type: string
+ type: object
+ local_recording:
+ description: Local recording.
+ type: boolean
+ record_audio_file:
+ default: false
+ description: Record an audio only file.
+ type: boolean
+ record_gallery_view:
+ default: false
+ description: Record the gallery view.
+ type: boolean
+ record_speaker_view:
+ default: false
+ description: Record the active speaker view.
+ type: boolean
+ recording_audio_transcript:
+ description: Audio transcript.
+ type: boolean
+ recording_disclaimer:
+ description: |
+ Show a disclaimer to participants before a recording starts
+ type: boolean
+ recording_password_requirement:
+ description: This object represents the minimum passcode requirements set for recordings via Account Recording Settings.
+ properties:
+ have_letter:
+ description: Indicates whether or not passcode must contain at least one alphabetical letter (a, b, c..).
+ type: boolean
+ have_number:
+ description: Indicates whether or not passcode must contain at least one number(1, 2, 3..).
+ type: boolean
+ have_special_character:
+ description: "Indicates whether or not passcode must contain at least one special character(!, @, #..)."
+ type: boolean
+ length:
+ description: Minimum required length for the passcode.
+ maximum: 10
+ type: integer
+ only_allow_numeric:
+ description: Indicates whether or not passcode must contain only numeric characters.
+ type: boolean
+ type: object
+ save_chat_text:
+ default: false
+ description: Save chat text from the meeting.
+ type: boolean
+ show_timestamp:
+ default: false
+ description: Show timestamp on video.
+ type: boolean
+ title: "User settings: Recording settings"
+ type: object
+ schedule_meeting:
+ description: ""
+ properties:
+ audio_type:
+ default: voip
+ description: Determine how participants can join the audio portion of the meeting: `both` - Telephony and VoIP. `telephony` - Audio PSTN telephony only. `voip` - VoIP only. `thirdParty` - Third party audio conference.
+ enum:
+ - both
+ - telephony
+ - voip
+ - thirdParty
+ type: string
+ x-enum-descriptions:
+ - Telephony and VoIP
+ - Audio PSTN telephony only
+ - VoIP only
+ - 3rd party audio conference
+ default_password_for_scheduled_meetings:
+ description: |
+ Passcode for already scheduled meetings
+ type: string
+ embed_password_in_join_link:
+ description: "If the value is set to `true`, the meeting passcode will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the passcode.
+
+ \ "
+ type: boolean
+ force_pmi_jbh_password:
+ description: Require a passcode for personal meetings if attendees can join before host.
+ type: boolean
+ host_video:
+ description: Start meetings with host video on.
+ type: boolean
+ join_before_host:
+ description: Join the meeting before host arrives.
+ type: boolean
+ meeting_password_requirement:
+ description: Account wide meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the passcode must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar passcode needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the passcode must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided passcode is weak.
+ type: boolean
+ type: object
+ participants_video:
+ description: Start meetings with participants video on.
+ type: boolean
+ personal_meeting:
+ description: |+
+ Personal Meeting Setting.
+ `true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
+ `false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
+ For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
+
+
+ type: boolean
+ pmi_password:
+ description: |
+ PMI passcode
+ type: string
+ pstn_password_protected:
+ description: Generate and require passcode for participants joining by phone.
+ type: boolean
+ require_password_for_instant_meetings:
+ description: |
+ Require a passcode for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ require_password_for_pmi_meetings:
+ description: |
+ Require a passcode for Personal Meeting ID (PMI). This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ enum:
+ - jbh_only
+ - all
+ - none
+ type: string
+ x-enum-descriptions:
+ - Only meetings with Join Before Host enabled
+ - All meetings using PMI
+ - Disabled
+ require_password_for_scheduled_meetings:
+ description: |
+ Require a passcode for meetings which have already been scheduled
+ type: boolean
+ require_password_for_scheduling_new_meetings:
+ description: |
+ Require a passcode when scheduling new meetings.This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ use_pmi_for_instant_meetings:
+ description: |
+ Use Personal Meeting ID (PMI) when starting an instant meeting
+ type: boolean
+ use_pmi_for_scheduled_meetings:
+ description: |
+ Use Personal Meeting ID (PMI) when scheduling a meeting
+ type: boolean
+ title: "User settings: Meeting settings"
+ type: object
+ telephony:
+ properties:
+ audio_conference_info:
+ default: ""
+ description: Third party audio conference info.
+ maxLength: 2048
+ type: string
+ show_international_numbers_link:
+ description: Show the international numbers link on the invitation email.
+ type: boolean
+ telephony_regions:
+ description: Indicates where most of the participants call into or call from duriing a meeting.
+ properties:
+ selection_values:
+ description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
+ items:
+ type: string
+ type: array
+ type: object
+ third_party_audio:
+ description: Third party audio conference.
+ type: boolean
+ title: "Telephony update settings: Meeting settings"
+ type: object
+ tsp:
+ description: "Account Settings: TSP."
+ properties:
+ call_out:
+ description: Call Out
+ type: boolean
+ call_out_countries:
+ description: Call Out Countries/Regions
+ items: {}
+ type: array
+ show_international_numbers_link:
+ description: Show international numbers link on the invitation email
+ type: boolean
+ title: "User settings: TSP settings"
+ type: object
+ title: User settings
+ type: object
+ - oneOf:
+ - properties:
+ authentication_option:
+ description: Meeting Authentication Options
+ properties:
+ action:
+ description: Authentication action
+ enum:
+ - update
+ - show
+ - hide
+ type: string
+ default_option:
+ description: Authentication default option
+ type: boolean
+ domains:
+ description: Authentication domains
+ type: string
+ id:
+ description: Authentication id
+ type: string
+ name:
+ description: Authentication name
+ type: string
+ type:
+ description: |2-
+ Authentication type. Specify one of the following authentication types for the authentication profile:
+ * `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
+ * `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
+ * `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
+ enum:
+ - enforce_login
+ - enforce_login_with_same_account
+ - enforce_login_with_domains
+ type: string
+ type: object
+ meeting_authentication:
+ description: Only authenticated users can join meetings
+ type: boolean
+ - properties:
+ authentication_option:
+ description: Authentication Options
+ properties:
+ action:
+ description: Authentication action
+ enum:
+ - update
+ - show
+ - hide
+ type: string
+ default_option:
+ description: Authentication default option
+ type: boolean
+ domians:
+ description: Authentication domians
+ type: string
+ id:
+ description: Authentication id
+ type: string
+ name:
+ description: Authentication name
+ type: string
+ type:
+ description: Authentication type
+ enum:
+ - internally
+ - enforce_login
+ - enforce_login_with_domains
+ type: string
+ type: object
+ recording_authentication:
+ description: Only authenticated users can view cloud recordings
+ type: boolean
+ title: GroupSettingsAuthenticationUpdate
+ type: object
+ - properties:
+ meeting_security:
+ properties:
+ auto_security:
+ description: |-
+ `true`: Require that all meetings are secured with at least one security option.
+
+ This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
+ type: boolean
+ embed_password_in_join_link:
+ description: |
+ If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
+ type: boolean
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ end_to_end_encrypted_meetings:
+ description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
+ type: boolean
+ meeting_password:
+ description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
+ type: boolean
+ meeting_password_requirement:
+ description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the passcode must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar passcode needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the passcode must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided passcode is weak.
+ type: boolean
+ type: object
+ phone_password:
+ description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
+ type: boolean
+ pmi_password:
+ description: |
+ If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
+ type: boolean
+ require_password_for_scheduled_meeting:
+ description: |
+ Require a passcode for meetings which have already been scheduled.
+ type: boolean
+ require_password_for_scheduled_webinar:
+ description: |
+ Require a passcode for webinars which have already been scheduled.
+ type: boolean
+ waiting_room:
+ description: |
+ When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
+ type: boolean
+ waiting_room_settings:
+ description: Specify the settings to be applied if waiting room is enabled.
+ properties:
+ participants_to_place_in_waiting_room:
+ description: |-
+
+
+ Specify who should be admitted to the waiting room. The value of this field can be one of the following:
+ `0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ users_who_can_admit_participants_from_waiting_room:
+ description: |+
+ Specify who can admit participants from the waiting room. The value of this field can be one of the following:
+ `0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
+
+
+ type: integer
+ whitelisted_domains_for_waiting_room:
+ description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
+ type: string
+ type: object
+ webinar_password:
+ description: |
+ If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
+ type: boolean
+ type: object
+ title: Meeting/Webinar Security Settings
+ type: object
+ description: User Settings
+ required: true
+ x-examples:
+ application/json:
+ email_notification:
+ alternative_host_reminder: true
+ cancel_meeting_reminder: true
+ jbh_reminder: true
+ schedule_for_reminder: true
+ in_meeting:
+ allow_live_streaming: false
+ annotation: true
+ attendee_on_hold: false
+ auto_saving_chat: false
+ breakout_room: false
+ chat: true
+ closed_caption: false
+ co_host: false
+ e2e_encryption: false
+ entry_exit_chime: none
+ far_end_camera_control: false
+ feedback: true
+ group_hd: false
+ non_verbal_feedback: false
+ polling: false
+ private_chat: true
+ record_play_voice: false
+ remote_control: true
+ remote_support: false
+ show_meeting_control_toolbar: false
+ virtual_background: true
+ waiting_room: false
+ integration:
+ linkedin_sales_navigator: false
+ recording:
+ auto_delete_cmr: false
+ auto_recording: none
+ cloud_recording: true
+ local_recording: true
+ record_audio_file: true
+ record_gallery_view: false
+ record_speaker_view: true
+ recording_audio_transcript: false
+ save_chat_text: true
+ show_timestamp: false
+ schedule_meeting:
+ audio_type: both
+ enforce_login_domains: ""
+ enforce_login_with_domains: false
+ force_pmi_jbh_password: false
+ host_video: false
+ join_before_host: false
+ not_store_meeting_topic: false
+ participants_video: false
+ pmi_password: "324325"
+ pstn_password_protected: false
+ require_password_for_instant_meetings: true
+ require_password_for_pmi_meetings: all
+ require_password_for_scheduling_new_meetings: true
+ use_pmi_for_instant_meetings: false
+ use_pmi_for_scheduled_meetings: false
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `200`
+ User settings updated
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `1108` Only Licensed or On-prem users can enable the large meeting feature.
+ **Error Code:** `1120` A valid invitation to join the Zoom account was not found for this user.
+ This error is thrown if you added a user in your account but the user did not accept the invitation on time and the invitation expired - thus making the userId invalid.
**Error Code:** `1122`
+ Webinar feature can only be enabled for Licensed or On-prem users.
+ **Error Code:** `200`
+ You can't add paid users.
+ You can add max $maxNumber paid users.
+ You can add max $maxNumber free users.
+ You can add max $maxNumber Webinar 100 users.
+ You can add max $maxNumber Webinar 500 users.
+ You can add max $maxNumber Webinar 1000 users.
+ You can add max $maxNumber Webinar 3000 users.
+ You can add max $maxNumber Webinar 5000 users.
+ You can add max $maxNumber Webinar 10000 users.
+ You can add max $maxNumber Large 100 users.
+ You can add max $maxNumber Large 200 users.
+ You can add max $maxNumber Large 300 users.
+ You can add max $maxNumber Large 500 users.
+ You can add max $maxNumber Large 1000 users.
+ You can add max $maxNumber paid users.
+
+
+
+
+
+
+
+
+
+
+
+
+ "404":
+ description: |
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User does not exist: $userId.
+ security:
+ - OAuth: []
+ summary: Update user settings
+ tags:
+ - Users
+ "/users/{userId}/settings/virtual_backgrounds":
+ delete:
+ description: |+
+ Delete existing virtual background file(s) of a user.
+
+ **Prerequisites:**
+ * Virtual background feature must be [enabled](https://support.zoom.us/hc/en-us/articles/210707503-Virtual-Background#h_2ef28080-fce9-4ac2-b567-dc958afab1b7) on the account.
+ **Scope:** `user:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: delUserVB
+ parameters:
+ - description: Provide the id of the file that is to be deleted. To delete multiple files, provide comma separated values for this field.
+ in: query
+ name: file_ids
+ schema:
+ type: string
+ - description: "Unique identifier of the user. Retrieve the value of this field by calling the [List users](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/users) API. "
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ description: |
+ **HTTP Status Code:** `204` **No Content**
+ Deleted.
+ "400":
+ description: |
+ **HTTP Status Code:** `400` **Bad request**
+ **Error Code:** `300`
+ Invalid parameter: file_ids.
+ "404":
+ description: |
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User not exist.
+ User {userId} does not exist or does not belong to this account.
+ summary: Delete virtual background files
+ tags:
+ - Users
+ parameters:
+ - in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ post:
+ description: |+
+ Use this API to [upload virtual background files](https://support.zoom.us/hc/en-us/articles/210707503-Virtual-Background) for a user.
+
+ **Prerequisites:**
+ * Virtual background feature must be [enabled](https://support.zoom.us/hc/en-us/articles/210707503-Virtual-Background#h_2ef28080-fce9-4ac2-b567-dc958afab1b7) on the account.
+ **Scope:** `user:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+
+ operationId: uploadVBuser
+ parameters:
+ - description: Unique identifier of the user. Retrieve the value for this field by calling the [List users](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/users) API.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ $ref: "#/components/requestBodies/uploadVB"
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ id: _Tcj7354w6eHw
+ is_default: false
+ name: u=mdbhhfg3y7&fm=2fdjs0.jpg
+ size: 53434
+ type: image
+ schema:
+ properties:
+ id:
+ description: Unique identifier of the file.
+ type: string
+ is_default:
+ description: Indicate whether or not this file is the default virtual background file.
+ type: boolean
+ name:
+ description: File name.
+ type: string
+ size:
+ description: File size.
+ type: string
+ type:
+ description: File type.
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ id:
+ description: Unique identifier of the file.
+ type: string
+ is_default:
+ description: Indicate whether or not this file is the default virtual background file.
+ type: boolean
+ name:
+ description: File name.
+ type: string
+ size:
+ description: File size.
+ type: string
+ type:
+ description: File type.
+ type: string
+ type: object
+ description: |
+ **HTTP Status Code:** `201` **Created**
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `120`
+ No file uploaded, verify that a file has been uploaded.
+ File size cannot exceed 15M.
+ A maximum of 10 files are allowed for a user.
+ Only jpg/jpeg, gif or png image file can be uploaded.
+
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ Group not found.
+ summary: Upload virtual background files
+ tags:
+ - Users
+ "/users/{userId}/status":
+ put:
+ description: |+
+ An account owner or admins can deactivate as well as activate a user in a Zoom account. Deactivating a user will remove all licenses associated with a user. It will prevent the deactivated user from logging into their Zoom account. A deactivated user can be reactivated. Reactivating a user grants the user access to login to their Zoom account. Use this API to either [deactivate](https://support.zoom.us/hc/en-us/articles/115005269946-Remove-User-from-your-Account#h_6a9bc1c3-d739-4945-b1f2-00b3b88fb5cc) an active user or to [reactivate](https://support.zoom.us/hc/en-us/articles/115005269946-Remove-User-from-your-Account#h_16319724-d120-4be6-af5d-31582d134ea0) a deactivated user .
**Scopes:** `user:write:admin` `user:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: userStatus
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ description: The action.
+ properties:
+ action:
+ description: The action types: `activate` - Activate a deactivated user. `deactivate` - Deactivate a user.
+ enum:
+ - activate
+ - deactivate
+ type: string
+ x-enum-descriptions:
+ - set users status to active
+ - set users status to inactive
+ required:
+ - action
+ type: object
+ multipart/form-data:
+ schema:
+ description: The action.
+ properties:
+ action:
+ description: The action types: `activate` - Activate a deactivated user. `deactivate` - Deactivate a user.
+ enum:
+ - activate
+ - deactivate
+ type: string
+ x-enum-descriptions:
+ - set users status to active
+ - set users status to inactive
+ required:
+ - action
+ type: object
+ description: User status.
+ required: true
+ x-examples:
+ application/json:
+ action: deactivate
+ responses:
+ "200":
+ description: ""
+ "204":
+ content:
+ application/json:
+ examples:
+ response:
+ value: ""
+ description: |-
+ **HTTP Status Code:** `204`
+ Status updated.
+ "400":
+ description: |
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `200`
+ Zoom Room and Admin users' status can not be activated or deactivated.
+ **Error Code:** `3412` Your request to activate the user was not approved at this time because your account has reached the permitted maximum number of $maxAllowedNumber basic users. Please remove existing basic user(s) from your Users list or the Pending Users list before attempting to activate this user.
+ **Error Code:** `2033` Your request to activate the basic user was not approved because you have already reached the maximum basic user limit allowed in your account. For additional help regarding this issue, contact the Zoom Customer Support team.
+ "404":
+ description: |
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User does not exist: $userId.
+ security:
+ - OAuth: []
+ summary: Update user status
+ tags:
+ - Users
+ "/users/{userId}/token":
+ delete:
+ description: |-
+ Revoke a user's SSO token.
After calling this API, the SSO user will be logged out of their current Zoom session.
+ **Scopes:** `user:write:admin` `user:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: userSSOTokenDelete
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ Token deleted.
+ "404":
+ description: |
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User does not exist: $userId.
+ security:
+ - OAuth: []
+ summary: Revoke a user's SSO token
+ tags:
+ - Users
+ get:
+ description: |-
+ Retrieve a user's token.
This token is used for starting meetings with the Client SDK.
+ **Scopes:** `user:read:admin` `user:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ If a user signed into Zoom using Google or Facebook, a null value will be returned for the token. To get the token with this API, ask the user to sign into Zoom using their email and password instead.
+ operationId: userToken
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ - description: User token types: `token` - Used for starting meetings with the client SDK. This token expires in 14 days and a new token will be returned after the expiry. `zak` - Used for generating the start meeting URL. The token expiration time is two hours. For API users, the expiration time is 90 days.
+ in: query
+ name: type
+ schema:
+ enum:
+ - token
+ - zak
+ type: string
+ x-enum-descriptions:
+ - Used for starting meeting with client SDK.
+ - Used for generating the start meeting url. The expiration time is two hours. For API users, the expiration time is 90 days.
+ - description: Use this field in conjunction with the `type` field where the value of `type` field is `zak`. The value of this field denotes the expiry time of the `zak` token in seconds. For example, if you would like the zak token to be expired after one hour of the token generation, the value of this field should be `3600`.
+ in: query
+ name: ttl
+ schema:
+ type: integer
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ token: string
+ schema:
+ properties:
+ token:
+ description: User token.
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ token:
+ description: User token.
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Token returned.
+ "404":
+ description: |
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User does not exist: $userId.
+ security:
+ - OAuth: []
+ summary: Get a user token
+ tags:
+ - Users
+ "/users/{userId}/tsp":
+ get:
+ description: |-
+ A user can have a maximum of two TSP accounts. Use this API to list all TSP accounts of a user.
+ **Scopes:** `tsp:read:admin` `tsp:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ operationId: userTSPs
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ tsp_accounts:
+ - conference_code: "0125"
+ dial_in_numbers:
+ - code: "01"
+ number: "000000000"
+ type: toll
+ id: 111222222
+ leader_pin: "11189898"
+ tsp_bridge: string
+ schema:
+ properties:
+ tsp_accounts:
+ items:
+ description: List of TSP accounts.
+ properties:
+ conference_code:
+ description: "Conference code: numeric value, length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ dial_in_numbers:
+ description: List of dial in numbers.
+ items:
+ properties:
+ code:
+ description: Country code.
+ maxLength: 6
+ type: string
+ country_label:
+ description: Country Label, if passed, will display in place of code.
+ maxLength: 10
+ type: string
+ number:
+ description: "Dial-in number: length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ type:
+ description: |-
+ Dial-in number types: `toll` - Toll number. `tollfree` -Toll free number.
+ `media_link` - Media link
+ enum:
+ - toll
+ - tollfree
+ - media_link
+ type: string
+ x-enum-descriptions:
+ - Toll number
+ - Toll free number
+ - Media link phone number
+ type: object
+ type: array
+ id:
+ description: The ID of the TSP account.
+ enum:
+ - 1
+ - 2
+ type: integer
+ leader_pin:
+ description: "Leader PIN: numeric value, length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ tsp_bridge:
+ description: |
+ Telephony bridge
+ enum:
+ - US_TSP_TB
+ - EU_TSP_TB
+ type: string
+ required:
+ - conference_code
+ - leader_pin
+ title: TSP Accounts List
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ properties:
+ tsp_accounts:
+ items:
+ description: List of TSP accounts.
+ properties:
+ conference_code:
+ description: "Conference code: numeric value, length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ dial_in_numbers:
+ description: List of dial in numbers.
+ items:
+ properties:
+ code:
+ description: Country code.
+ maxLength: 6
+ type: string
+ country_label:
+ description: Country Label, if passed, will display in place of code.
+ maxLength: 10
+ type: string
+ number:
+ description: "Dial-in number: length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ type:
+ description: |-
+ Dial-in number types: `toll` - Toll number. `tollfree` -Toll free number.
+ `media_link` - Media link
+ enum:
+ - toll
+ - tollfree
+ - media_link
+ type: string
+ x-enum-descriptions:
+ - Toll number
+ - Toll free number
+ - Media link phone number
+ type: object
+ type: array
+ id:
+ description: The ID of the TSP account.
+ enum:
+ - 1
+ - 2
+ type: integer
+ leader_pin:
+ description: "Leader PIN: numeric value, length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ tsp_bridge:
+ description: |
+ Telephony bridge
+ enum:
+ - US_TSP_TB
+ - EU_TSP_TB
+ type: string
+ required:
+ - conference_code
+ - leader_pin
+ title: TSP Accounts List
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ TSP account list returned successfully.
+ "400":
+ description: |
+ **HTTP Status Code:** `400`
+ Bad request.
+ **Error Code:** `2024`
+ Account has not enabled TSP.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Not Found.
+ **Error Code:** `1001`
+ User does not exist: $userId.
+ **Error Code:**`1120`
+ A valid invitation to join the Zoom account was not found for this user.
+ This error is thrown if you added a user in your account but the user did not accept the invitation on time and the invitation expired - thus making the userId invalid.
+ summary: List user's TSP accounts
+ tags:
+ - TSP
+ post:
+ description: |
+ Add a user's TSP account.
+ **Scopes:** `tsp:write:admin` `tsp:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: userTSPCreate
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ description: List of TSP accounts.
+ properties:
+ conference_code:
+ description: "Conference code: numeric value, length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ dial_in_numbers:
+ description: List of dial in numbers.
+ items:
+ properties:
+ code:
+ description: Country code.
+ maxLength: 6
+ type: string
+ country_label:
+ description: Country Label, if passed, will display in place of code.
+ maxLength: 10
+ type: string
+ number:
+ description: "Dial-in number: length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ type:
+ description: |-
+ Dial-in number types: `toll` - Toll number. `tollfree` -Toll free number.
+ `media_link` - Media link.
+ enum:
+ - toll
+ - tollfree
+ - media_link
+ type: string
+ x-enum-descriptions:
+ - Toll number
+ - Toll free number
+ - Media link phone number
+ type: object
+ type: array
+ leader_pin:
+ description: "Leader PIN: numeric value, length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ tsp_bridge:
+ description: Telephony bridge
+ enum:
+ - US_TSP_TB
+ - EU_TSP_TB
+ type: string
+ required:
+ - conference_code
+ - leader_pin
+ title: TSP Accounts List
+ type: object
+ multipart/form-data:
+ schema:
+ description: List of TSP accounts.
+ properties:
+ conference_code:
+ description: "Conference code: numeric value, length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ dial_in_numbers:
+ description: List of dial in numbers.
+ items:
+ properties:
+ code:
+ description: Country code.
+ maxLength: 6
+ type: string
+ country_label:
+ description: Country Label, if passed, will display in place of code.
+ maxLength: 10
+ type: string
+ number:
+ description: "Dial-in number: length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ type:
+ description: |-
+ Dial-in number types: `toll` - Toll number. `tollfree` -Toll free number.
+ `media_link` - Media link.
+ enum:
+ - toll
+ - tollfree
+ - media_link
+ type: string
+ x-enum-descriptions:
+ - Toll number
+ - Toll free number
+ - Media link phone number
+ type: object
+ type: array
+ leader_pin:
+ description: "Leader PIN: numeric value, length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ tsp_bridge:
+ description: Telephony bridge
+ enum:
+ - US_TSP_TB
+ - EU_TSP_TB
+ type: string
+ required:
+ - conference_code
+ - leader_pin
+ title: TSP Accounts List
+ type: object
+ description: TSP account.
+ required: true
+ x-examples:
+ application/json:
+ conference_code: "0125"
+ dial_in_numbers:
+ - code: "01"
+ number: "000000000"
+ type: toll
+ leader_pin: "11189898"
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ conference_code: "0125"
+ dial_in_numbers:
+ - code: "01"
+ number: "000000000"
+ type: toll
+ leader_pin: "11189898"
+ tsp_bridge: string
+ schema:
+ description: List of TSP accounts.
+ properties:
+ conference_code:
+ description: "Conference code: numeric value, length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ dial_in_numbers:
+ description: List of dial in numbers.
+ items:
+ properties:
+ code:
+ description: Country code.
+ maxLength: 6
+ type: string
+ country_label:
+ description: Country Label, if passed, will display in place of code.
+ maxLength: 10
+ type: string
+ number:
+ description: "Dial-in number: length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ type:
+ description: |-
+ Dial-in number types: `toll` - Toll number. `tollfree` -Toll free number.
+ `media_link` - Media link.
+ enum:
+ - toll
+ - tollfree
+ - media_link
+ type: string
+ x-enum-descriptions:
+ - Toll number
+ - Toll free number
+ - Media link phone number
+ type: object
+ type: array
+ leader_pin:
+ description: "Leader PIN: numeric value, length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ tsp_bridge:
+ description: Telephony bridge
+ enum:
+ - US_TSP_TB
+ - EU_TSP_TB
+ type: string
+ required:
+ - conference_code
+ - leader_pin
+ title: TSP Accounts List
+ type: object
+ application/xml:
+ schema:
+ description: List of TSP accounts.
+ properties:
+ conference_code:
+ description: "Conference code: numeric value, length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ dial_in_numbers:
+ description: List of dial in numbers.
+ items:
+ properties:
+ code:
+ description: Country code.
+ maxLength: 6
+ type: string
+ country_label:
+ description: Country Label, if passed, will display in place of code.
+ maxLength: 10
+ type: string
+ number:
+ description: "Dial-in number: length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ type:
+ description: |-
+ Dial-in number types: `toll` - Toll number. `tollfree` -Toll free number.
+ `media_link` - Media link.
+ enum:
+ - toll
+ - tollfree
+ - media_link
+ type: string
+ x-enum-descriptions:
+ - Toll number
+ - Toll free number
+ - Media link phone number
+ type: object
+ type: array
+ leader_pin:
+ description: "Leader PIN: numeric value, length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ tsp_bridge:
+ description: Telephony bridge
+ enum:
+ - US_TSP_TB
+ - EU_TSP_TB
+ type: string
+ required:
+ - conference_code
+ - leader_pin
+ title: TSP Accounts List
+ type: object
+ description: |-
+ **HTTP Status Code:** `201`
+ TSP account added.
+ "400":
+ description: |
+ **HTTP Status Code:** `400`
+ Bad Request.
+ **Error Code:**`2024`
+ Account has not enabled TSP.
+ **Error Code:**`300`
+ Media link is required for AT&T TSP accounts.
+ **Error Code:** `300`
+ You can add a max of two tsp configs.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Not Found.
+ **Error Code:** `1001`
+ User does not exist: $userId.
+ **Error Code:**`1120`
+ A valid invitation to join the Zoom account was not found for this user.
+ This error is thrown if you added a user in your account but the user did not accept the invitation on time and the invitation expired - thus making the userId invalid.
+ summary: Add a user's TSP account
+ tags:
+ - TSP
+ "/users/{userId}/tsp/settings":
+ patch:
+ description: |
+ A global dial-in page can provide a list of global access numbers using which audio conferencing can be conducted. By calling this API, you can set the url for the global dial-in page of a user whose Zoom account has TSP and special TSP with third-party audio conferencing options enabled.
+ **Scopes:**`tsp:write:admin` `tsp:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: tspUrlUpdate
+ parameters:
+ - description: The userId or email address of the user.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ audio_url:
+ description: The global dial-in URL for a TSP enabled account. The URL must be valid with a max-length of 512 characters.
+ maxLength: 512
+ type: string
+ title: TSP Global Dial-In URL Setting
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ audio_url:
+ description: The global dial-in URL for a TSP enabled account. The URL must be valid with a max-length of 512 characters.
+ maxLength: 512
+ type: string
+ title: TSP Global Dial-In URL Setting
+ type: object
+ description: Global dial-in URL of the user.
+ x-examples:
+ application/json:
+ audio_url: youraudiourl.dshfgdhsfh
+ responses:
+ "204":
+ description: |-
+ **Status Code:** `204` **No Content**
+ URL set successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code**: `2000`
+ Not TSP special account.
+
+ Ths error means that the account does not have special TSP privilege. Contact Zoom Developer Support for details.
+ **Error Code**: `2024`
+ Account not enable TSP
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ User ID not found.
+ **Error Code**: `1001`
+ User {userId} not exist or not belong to this account.
+ **Error Code**: `1120`
+ Invite not exist.
+
+ This error is thrown if you added a user in your account but the user did not accept the invitation on time and the invitation expired - thus making the userId invalid.
+ security:
+ - OAuth: []
+ summary: Set global dial-in URL for a TSP user
+ tags:
+ - TSP
+ "/users/{userId}/tsp/{tspId}":
+ delete:
+ description: |
+ Delete a user's TSP account.
+ **Scopes:** `tsp:write:admin` `tsp:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: userTSPDelete
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ - description: TSP account ID.
+ in: path
+ name: tspId
+ required: true
+ schema:
+ enum:
+ - 1
+ - 2
+ type: string
+ responses:
+ "204":
+ description: |-
+ **Status Code:** `204` **No Content**
+ TSP account deleted.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ Bad request.
+ **Error Code:**`2024`
+ Account not enable TSP.
+ **Error Code:** `300`
+ The TSP id provided does not exist.
+ **Error Code:** `300`
+ TSP Config does not exist.
+ **Error Code:** `300`
+ At least one tsp config must be available.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Not Found.
+ **Error Code:** `1001`
+ User does not exist: $userId.
+ **Error Code:**`1120`
+ A valid invitation to join the Zoom account was not found for this user.
+ This error is thrown if you added a user in your account but the user did not accept the invitation on time and the invitation expired - thus making the userId invalid.
+ summary: Delete a user's TSP account
+ tags:
+ - TSP
+ get:
+ description: |
+ Each user can have a maximum of two TSP accounts. Use this API to retrieve details of a specific TSP account enabled for a specific user.
+ **Scopes:** `tsp:read:admin` `tsp:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: userTSP
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ - description: TSP account ID.
+ in: path
+ name: tspId
+ required: true
+ schema:
+ enum:
+ - 1
+ - 2
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ conference_code: "1275454"
+ dial_in_numbers:
+ - code: "675"
+ number: "00000000"
+ type: toll
+ id: "0123444444"
+ leader_pin: "111"
+ tsp_bridge: string
+ schema:
+ description: TSP account of the user.
+ properties:
+ conference_code:
+ description: "Conference code: numeric value, length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ dial_in_numbers:
+ description: List of dial in numbers.
+ items:
+ properties:
+ code:
+ description: Country code.
+ maxLength: 6
+ type: string
+ country_label:
+ description: Country Label, if passed, will display in place of code.
+ maxLength: 10
+ type: string
+ number:
+ description: "Dial-in number: length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ type:
+ description: Dial-in number types: `toll` - Toll number. `tollfree` -Toll free number. `media_link` - Media link phone number. This is used for PSTN integration instead of a paid bridge number.
+ enum:
+ - toll
+ - tollfree
+ - media_link
+ type: string
+ x-enum-descriptions:
+ - Toll number
+ - Toll free number
+ - Media link phone number
+ type: object
+ type: array
+ id:
+ description: The ID of the TSP account.
+ type: integer
+ leader_pin:
+ description: "Leader PIN: numeric value, length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ tsp_bridge:
+ description: Telephony bridge
+ enum:
+ - US_TSP_TB
+ - EU_TSP_TB
+ type: string
+ required:
+ - conference_code
+ - leader_pin
+ title: TSP Account
+ type: object
+ application/xml:
+ schema:
+ description: TSP account of the user.
+ properties:
+ conference_code:
+ description: "Conference code: numeric value, length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ dial_in_numbers:
+ description: List of dial in numbers.
+ items:
+ properties:
+ code:
+ description: Country code.
+ maxLength: 6
+ type: string
+ country_label:
+ description: Country Label, if passed, will display in place of code.
+ maxLength: 10
+ type: string
+ number:
+ description: "Dial-in number: length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ type:
+ description: Dial-in number types: `toll` - Toll number. `tollfree` -Toll free number. `media_link` - Media link phone number. This is used for PSTN integration instead of a paid bridge number.
+ enum:
+ - toll
+ - tollfree
+ - media_link
+ type: string
+ x-enum-descriptions:
+ - Toll number
+ - Toll free number
+ - Media link phone number
+ type: object
+ type: array
+ id:
+ description: The ID of the TSP account.
+ type: integer
+ leader_pin:
+ description: "Leader PIN: numeric value, length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ tsp_bridge:
+ description: Telephony bridge
+ enum:
+ - US_TSP_TB
+ - EU_TSP_TB
+ type: string
+ required:
+ - conference_code
+ - leader_pin
+ title: TSP Account
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ TSP account retrieved successfully.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ Bad request.
+ **Error Code:** `300`
+ The TSP id provided does not exist.
+ **Error Code:** `300`
+ TSP Config does not exist.
+ **Error Code:**`2024`
+ Account has not enabled TSP.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Not Found.
+ **Error Code:** `1001`
+ User does not exist: $userId.
+ **Error Code:**`1120`
+ A valid invitation to join the Zoom account was not found for this user.
+ This error is thrown if you added a user in your account but the user did not accept the invitation on time and the invitation expired - thus making the userId invalid.
+ summary: Get a user's TSP account
+ tags:
+ - TSP
+ patch:
+ description: |
+ Update a user's TSP account.
+ **Scopes:** `tsp:write:admin` `tsp:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: userTSPUpdate
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ - description: TSP account ID.
+ in: path
+ name: tspId
+ required: true
+ schema:
+ enum:
+ - 1
+ - 2
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ description: TSP account.
+ properties:
+ conference_code:
+ description: "Conference code: numeric value, length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ dial_in_numbers:
+ description: List of dial in numbers.
+ items:
+ properties:
+ code:
+ description: Country code.
+ maxLength: 6
+ type: string
+ country_label:
+ description: Country Label, if passed, will display in place of code.
+ maxLength: 10
+ type: string
+ number:
+ description: "Dial-in number: length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ type:
+ description: Dial-in number types: `toll` - Toll number. `tollfree` -Toll free number. `media_link` - Media Link Phone Number. It is used for PSTN integration instead of paid bridge number.
+ enum:
+ - toll
+ - tollfree
+ - media_link
+ type: string
+ x-enum-descriptions:
+ - Toll number
+ - Toll free number
+ - Media link phone number
+ type: object
+ type: array
+ leader_pin:
+ description: "Leader PIN: numeric value, length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ tsp_bridge:
+ description: Telephony bridge
+ enum:
+ - US_TSP_TB
+ - EU_TSP_TB
+ type: string
+ required:
+ - conference_code
+ - leader_pin
+ title: TSP Account
+ type: object
+ multipart/form-data:
+ schema:
+ description: TSP account.
+ properties:
+ conference_code:
+ description: "Conference code: numeric value, length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ dial_in_numbers:
+ description: List of dial in numbers.
+ items:
+ properties:
+ code:
+ description: Country code.
+ maxLength: 6
+ type: string
+ country_label:
+ description: Country Label, if passed, will display in place of code.
+ maxLength: 10
+ type: string
+ number:
+ description: "Dial-in number: length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ type:
+ description: Dial-in number types: `toll` - Toll number. `tollfree` -Toll free number. `media_link` - Media Link Phone Number. It is used for PSTN integration instead of paid bridge number.
+ enum:
+ - toll
+ - tollfree
+ - media_link
+ type: string
+ x-enum-descriptions:
+ - Toll number
+ - Toll free number
+ - Media link phone number
+ type: object
+ type: array
+ leader_pin:
+ description: "Leader PIN: numeric value, length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ tsp_bridge:
+ description: Telephony bridge
+ enum:
+ - US_TSP_TB
+ - EU_TSP_TB
+ type: string
+ required:
+ - conference_code
+ - leader_pin
+ title: TSP Account
+ type: object
+ description: TSP account.
+ required: true
+ x-examples:
+ application/json:
+ conference_code: string
+ dial_in_numbers:
+ - code: string
+ number: string
+ type: string
+ leader_pin: string
+ tsp_bridge: string
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:**`204` **No Content**
+ TSP account updated.
+ "400":
+ description: |
+ **HTTP Status Code:** `400`
+ Bad request.
+ **Error Code:**`2024`
+ Account has not enabled TSP.
+ **Error Code:**`300`
+ The TSP id provided does not exist.
+ **Error Code:**`300`
+ TSP Config does not exist.
+ **Error Code:**`300`
+ At least one tsp config must be available.
+ **Error Code:**`300`
+ Media link is required for AT&T TSP accounts.
+ **Error Code:**`300`
+ Invalid parameter: tsp_bridge.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Not Found.
+ **Error Code:** `1001`
+ User does not exist: $userId.
+ **Error Code:**`1120`
+ A valid invitation to join the Zoom account was not found for this user.
+ This error is thrown if you added a user in your account but the user did not accept the invitation on time and the invitation expired - thus making the userId invalid.
+ summary: Update a TSP account
+ tags:
+ - TSP
+ "/users/{userId}/webinar_templates":
+ get:
+ description: |-
+ When you schedule a webinar, you can save the settings for that webinar as a template for scheduling future webinars.
Use this API to list a user's existing [Webinar templates'](https://support.zoom.us/hc/en-us/articles/115001079746-Webinar-Templates) information.
+
+ **Prerequisites:**
+ * Pro or a higher account with Webinar plan enabled.
+ operationId: listWebinarTemplates
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ templates:
+ - id: ull6574eur
+ name: Weekly Meeting Template
+ total_records: 1
+ schema:
+ properties:
+ templates:
+ items:
+ properties:
+ id:
+ description: Unique identifier of the template. If you would like to use this template while scheduling a webinar, you can provide the value of this field in `template_id` field of [Create a Webinar](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinarcreate) API.
+ type: string
+ name:
+ description: Name of the template.
+ type: string
+ type: object
+ type: array
+ total_records:
+ description: Total number of records returned.
+ type: integer
+ type: object
+ application/xml:
+ schema:
+ properties:
+ templates:
+ items:
+ properties:
+ id:
+ description: Unique identifier of the template. If you would like to use this template while scheduling a webinar, you can provide the value of this field in `template_id` field of [Create a Webinar](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinarcreate) API.
+ type: string
+ name:
+ description: Name of the template.
+ type: string
+ type: object
+ type: array
+ total_records:
+ description: Total number of records returned.
+ type: integer
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ List of existing templates returned.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `200` Cannot use webinar API, you need to subscribe webinar plan and then enable webinar for this user:{userId}.
+ **Error Code:** `1001`
+ * User not exist: {userId}.
+ * User {userId} does not exist or does not belong to this account.
+ summary: List webinar templates
+ tags:
+ - Webinars
+ parameters:
+ - in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ "/users/{userId}/webinars":
+ get:
+ description: |-
+ Zoom users with a [Webinar Plan](https://zoom.us/webinar) have access to creating and managing Webinars. Webinar allows a host to broadcast a Zoom meeting to up to 10,000 attendees. Use this API to list all the webinars that are scheduled by or on-behalf a user (Webinar host).
+ **Scopes:** `webinar:read:admin` `webinar:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ **Prerequisites:**
+ * Pro or higher plan with a Webinar Add-on.
+ operationId: webinars
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: |-
+
+ **Deprecated** - This field has been deprecated and we will stop supporting it completely in a future release. Please use "next_page_token" for pagination instead of this field.
+
+ The page number of the current page in the returned records.
+ in: query
+ name: page_number
+ schema:
+ default: 1
+ type: integer
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value: |-
+ {
+ "page_count": "1",
+ "page_number": "1",
+ "page_size": "30",
+ "total_records": "1",
+ "webinars": [
+ {
+ "uuid": "dsghfkhaewfds",
+ "id": 0001000,
+ "host_id": "24654130000000",
+ "topic": "My Webinar",
+ "agenda": "Learn more about Zoom APIs",
+ "type": "5",
+ "duration": "60",
+ "start_time": "2019-09-24T22:00:00Z",
+ "timezone": "America/Los_Angeles",
+ "created_at": "2019-08-30T22:00:00Z",
+ "join_url": "https://zoom.us/0001000/awesomewebinar"
+ }
+ ]
+ }
+ schema:
+ allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: |-
+ **Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
+
+ The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ - properties:
+ webinars:
+ description: List of webinar objects.
+ items:
+ allOf:
+ - properties:
+ agenda:
+ description: Webinar Description. The length of agenda gets truncated to 250 characters when you list all webinars for a user. To view the complete agenda, retrieve details for a single webinar [here](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinar).
+ type: string
+ created_at:
+ description: Time of webinar creation.
+ format: date-time
+ type: string
+ duration:
+ description: Meeting duration.
+ type: integer
+ host_id:
+ description: ID of the host of the webinar.
+ type: string
+ id:
+ description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
+ format: int64
+ type: integer
+ join_url:
+ description: Join URL of the webinar (using which others can join the webinar).
+ type: string
+ start_time:
+ description: Scheduled start time of the Webinar.
+ format: date-time
+ type: string
+ timezone:
+ description: "[Timezone ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) for the Webinar."
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ type:
+ description: Webinar Types: `5` - Webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
+ type: string
+ uuid:
+ description: Unique identifier of a Webinar. Each webinar instance will generate its own UUID. Once a Webinar ends, the value of uuid for the same webinar will be different from when it was scheduled.
+ type: string
+ type: object
+ type: array
+ description: List of webinars.
+ title: User List
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: |-
+ **Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
+
+ The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ - properties:
+ webinars:
+ description: List of webinar objects.
+ items:
+ allOf:
+ - properties:
+ agenda:
+ description: Webinar Description. The length of agenda gets truncated to 250 characters when you list all webinars for a user. To view the complete agenda, retrieve details for a single webinar [here](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinar).
+ type: string
+ created_at:
+ description: Time of webinar creation.
+ format: date-time
+ type: string
+ duration:
+ description: Meeting duration.
+ type: integer
+ host_id:
+ description: ID of the host of the webinar.
+ type: string
+ id:
+ description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
+ format: int64
+ type: integer
+ join_url:
+ description: Join URL of the webinar (using which others can join the webinar).
+ type: string
+ start_time:
+ description: Scheduled start time of the Webinar.
+ format: date-time
+ type: string
+ timezone:
+ description: "[Timezone ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) for the Webinar."
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ type:
+ description: Webinar Types: `5` - Webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
+ type: string
+ uuid:
+ description: Unique identifier of a Webinar. Each webinar instance will generate its own UUID. Once a Webinar ends, the value of uuid for the same webinar will be different from when it was scheduled.
+ type: string
+ type: object
+ type: array
+ description: List of webinars.
+ title: User List
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ List of webinar objects returned.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User {userId} not exist or not belong to this account.
+ security:
+ - OAuth: []
+ summary: List webinars
+ tags:
+ - Webinars
+ post:
+ description: |-
+ Zoom users with a [Webinar Plan](https://zoom.us/webinar) have access to creating and managing Webinars. Webinar allows a host to broadcast a Zoom meeting to up to 10,000 attendees. Use this API to schedule a Webinar for a user (host).
+ **Scopes:** `webinar:write:admin` `webinar:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ **Prerequisites:**
+ * Pro or higher plan with a Webinar Add-on.
+ operationId: webinarCreate
+ parameters:
+ - description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ allOf:
+ - description: Base webinar object for sessions.
+ properties:
+ agenda:
+ description: Webinar description.
+ type: string
+ duration:
+ description: Webinar duration (minutes). Used for scheduled webinars only.
+ type: integer
+ password:
+ description: |+
+ Webinar passcode. Passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ * !]. Max of 10 characters.
+
+ If "Require a passcode when scheduling new meetings" setting has been **enabled** **and** [locked](https://support.zoom.us/hc/en-us/articles/115005269866-Using-Tiered-Settings#locked) for the user, the passcode field will be autogenerated for the Webinar in the response even if it is not provided in the API request.
+
+ **Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
+
+
+
+ type: string
+ recurrence:
+ description: "Recurrence object. Use this object only for a webinar of type `9` i.e., a recurring webinar with fixed time. "
+ properties:
+ end_date_time:
+ description: Select a date when the webinar will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the webinar will recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring webinar of type** `3` to state which day in a month, the webinar should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the webinar to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the webinar to recur once every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state the week of the month when the webinar should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the webinar should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state a specific day in a week when the monthly webinar should recur. To use this field, you must also use the `monthly_week` field. `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |-
+ Define the interval at which the webinar should recur. For instance, if you would like to schedule a Webinar that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily webinar, the maximum interval you can set is `90` days. For a weekly webinar, the maximum interval that you can set is `12` weeks. For a monthly webinar, the maximum interval that you can set is `3` months.
+ type: integer
+ type:
+ description: Recurrence webinar types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ description: |+
+ Use this field **only if you're scheduling a recurring webinar of type** `2` to state which day(s) of the week the webinar should repeat. The value for this field could be a number between `1` to `7` in string format. For instance, if the Webinar should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the webinar to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the Webinar should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+
+ type: string
+ required:
+ - type
+ title: Recurrence Webinar
+ type: object
+ settings:
+ description: Create Webinar settings.
+ properties:
+ allow_multiple_devices:
+ description: Allow attendees to join from multiple devices.
+ type: boolean
+ alternative_hosts:
+ description: Alternative host emails or IDs. Multiple values separated by comma.
+ type: string
+ approval_type:
+ default: 2
+ description: |-
+ The default value is `2`. To enable registration required, set the approval type to `0` or `1`. Values include:
+
+ `0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ attendees_and_panelists_reminder_email_notification:
+ description: Send reminder email to attendees and panelists.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send reminder email to attendees and panelists.
+
+ * `false`: Do not send reminder email to attendees and panelists.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 hour before webinar.
+ - Send 1 day before webinar.
+ - Send 1 hour and 1 day before webinar.
+ - Send 1 week before webinar.
+ - Send 1 hour and 1 week before webinar.
+ - Send 1 day and 1 week before webinar.
+ - Send 1 hour, 1 day and 1 week before webinar.
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the meeting.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: Meeting authentication domains. This option, allows you to specify the rule so that Zoom users, whose email address contains a certain domain, can join the Webinar. You can either provide multiple domains, using a comma in between and/or use a wildcard for listing domains.
+ type: string
+ authentication_option:
+ description: Specify the authentication type for users to join a Webinar with`meeting_authentication` setting set to `true`. The value of this field can be retrieved from the `id` field within `authentication_options` array in the response of [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings).
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ close_registration:
+ description: Close registration after event date.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ email_language:
+ description: |-
+ Set the email language to one of the following:
+ `en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
+ type: string
+ enforce_login:
+ description: |-
+ Only signed-in users can join this meeting.
+
+ **This field is deprecated and will not be supported in future.**
Instead of this field, use the "meeting_authentication", "authentication_option" and/or "authentication_domains" fields to establish the authentication mechanism for this Webinar.
+ type: boolean
+ enforce_login_domains:
+ description: |-
+ Only signed-in users with specified domains can join meetings.
+
+ **This field is deprecated and will not be supported in future.**
Instead of this field, use the "authentication_domains" field for this Webinar.
+ type: string
+ follow_up_absentees_email_notification:
+ description: Send follow-up email to absentees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to absentees.
+
+ * `false`: Do not send follow-up email to absentees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 days after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ follow_up_attendees_email_notification:
+ description: Send follow-up email to attendees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to attendees.
+
+ * `false`: Do not send follow-up email to attendees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 day after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ hd_video:
+ default: false
+ description: Default to HD video.
+ type: boolean
+ host_video:
+ description: Start video when host joins webinar.
+ type: boolean
+ meeting_authentication:
+ description: Only [authenticated](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) users can join meeting if the value of this field is set to `true`.
+ type: boolean
+ on_demand:
+ default: false
+ description: Make the webinar on-demand
+ type: boolean
+ panelists_invitation_email_notification:
+ description: |-
+ * `true`: Send invitation email to panelists.
+
+ * `false`: Do not send invitation email to panelists.
+ type: boolean
+ panelists_video:
+ description: Start video when panelists join webinar.
+ type: boolean
+ post_webinar_survey:
+ description: Zoom will open a survey page in attendees' browsers after leaving the webinar
+ type: boolean
+ practice_session:
+ default: false
+ description: Enable practice session.
+ type: boolean
+ question_and_answer:
+ description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
+ properties:
+ allow_anonymous_questions:
+ description: |-
+ * `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
+
+ * `false`: Do not allow anonymous questions.
+ type: boolean
+ answer_questions:
+ description: |-
+ Indicate whether you want attendees to be able to view answered questions only or view all questions.
+
+ * `only`: Attendees are able to view answered questions only.
+
+ * `all`: Attendees are able to view all questions submitted in the Q&A.
+ enum:
+ - only
+ - all
+ type: string
+ attendees_can_comment:
+ description: |-
+ * `true`: Attendees can answer questions or leave a comment in the question thread.
+
+ * `false`: Attendees can not answer questions or leave a comment in the question thread
+ type: boolean
+ attendees_can_upvote:
+ description: |-
+ * `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
+
+ * `false`: Attendees can not click the thumbs up butoon on questions.
+ type: boolean
+ enable:
+ description: |-
+ * `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
+
+ * `false`: Disable Q&A for webinar.
+ type: boolean
+ type: object
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registrants_restrict_number:
+ default: 0
+ description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
+ maximum: 20000
+ minimum: 0
+ type: integer
+ registration_type:
+ default: 1
+ description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: Show social share buttons on the registration page.
+ type: boolean
+ survey_url:
+ description: Survey url for post webinar survey
+ type: string
+ type: object
+ start_time:
+ description: |-
+ Webinar start time. We support two formats for `start_time` - local time and GMT.
+
+ To set time as GMT the format should be `yyyy-MM-dd`T`HH:mm:ssZ`.
+
+ To set time using a specific timezone, use `yyyy-MM-dd`T`HH:mm:ss` format and specify the timezone [ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) in the `timezone` field OR leave it blank and the timezone set on your Zoom account will be used. You can also set the time as UTC as the timezone field.
+
+ The `start_time` should only be used for scheduled and / or recurring webinars with fixed time.
+ format: date-time
+ type: string
+ timezone:
+ description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) list for supported time zones and their formats.
+ type: string
+ topic:
+ description: Webinar topic.
+ type: string
+ tracking_fields:
+ description: Tracking fields
+ items:
+ properties:
+ field:
+ description: Tracking fields type
+ type: string
+ value:
+ description: Tracking fields value
+ type: string
+ required:
+ - field
+ type: object
+ type: array
+ type:
+ default: 5
+ description: Webinar Types: `5` - Webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
+ enum:
+ - 5
+ - 6
+ - 9
+ type: integer
+ x-enum-descriptions:
+ - Webinar
+ - Recurring Webinar with no fixed time
+ - Recurring Webinar with fixed time
+ type: object
+ description: Webinar object.
+ type: object
+ multipart/form-data:
+ schema:
+ allOf:
+ - description: Base webinar object for sessions.
+ properties:
+ agenda:
+ description: Webinar description.
+ type: string
+ duration:
+ description: Webinar duration (minutes). Used for scheduled webinars only.
+ type: integer
+ password:
+ description: |+
+ Webinar passcode. Passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ * !]. Max of 10 characters.
+
+ If "Require a passcode when scheduling new meetings" setting has been **enabled** **and** [locked](https://support.zoom.us/hc/en-us/articles/115005269866-Using-Tiered-Settings#locked) for the user, the passcode field will be autogenerated for the Webinar in the response even if it is not provided in the API request.
+
+ **Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
+
+
+
+ type: string
+ recurrence:
+ description: "Recurrence object. Use this object only for a webinar of type `9` i.e., a recurring webinar with fixed time. "
+ properties:
+ end_date_time:
+ description: Select a date when the webinar will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the webinar will recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring webinar of type** `3` to state which day in a month, the webinar should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the webinar to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the webinar to recur once every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state the week of the month when the webinar should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the webinar should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state a specific day in a week when the monthly webinar should recur. To use this field, you must also use the `monthly_week` field. `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |-
+ Define the interval at which the webinar should recur. For instance, if you would like to schedule a Webinar that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily webinar, the maximum interval you can set is `90` days. For a weekly webinar, the maximum interval that you can set is `12` weeks. For a monthly webinar, the maximum interval that you can set is `3` months.
+ type: integer
+ type:
+ description: Recurrence webinar types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ description: |+
+ Use this field **only if you're scheduling a recurring webinar of type** `2` to state which day(s) of the week the webinar should repeat. The value for this field could be a number between `1` to `7` in string format. For instance, if the Webinar should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the webinar to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the Webinar should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+
+ type: string
+ required:
+ - type
+ title: Recurrence Webinar
+ type: object
+ settings:
+ description: Create Webinar settings.
+ properties:
+ allow_multiple_devices:
+ description: Allow attendees to join from multiple devices.
+ type: boolean
+ alternative_hosts:
+ description: Alternative host emails or IDs. Multiple values separated by comma.
+ type: string
+ approval_type:
+ default: 2
+ description: |-
+ The default value is `2`. To enable registration required, set the approval type to `0` or `1`. Values include:
+
+ `0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ attendees_and_panelists_reminder_email_notification:
+ description: Send reminder email to attendees and panelists.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send reminder email to attendees and panelists.
+
+ * `false`: Do not send reminder email to attendees and panelists.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 hour before webinar.
+ - Send 1 day before webinar.
+ - Send 1 hour and 1 day before webinar.
+ - Send 1 week before webinar.
+ - Send 1 hour and 1 week before webinar.
+ - Send 1 day and 1 week before webinar.
+ - Send 1 hour, 1 day and 1 week before webinar.
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the meeting.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: Meeting authentication domains. This option, allows you to specify the rule so that Zoom users, whose email address contains a certain domain, can join the Webinar. You can either provide multiple domains, using a comma in between and/or use a wildcard for listing domains.
+ type: string
+ authentication_option:
+ description: Specify the authentication type for users to join a Webinar with`meeting_authentication` setting set to `true`. The value of this field can be retrieved from the `id` field within `authentication_options` array in the response of [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings).
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ close_registration:
+ description: Close registration after event date.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ email_language:
+ description: |-
+ Set the email language to one of the following:
+ `en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
+ type: string
+ enforce_login:
+ description: |-
+ Only signed-in users can join this meeting.
+
+ **This field is deprecated and will not be supported in future.**
Instead of this field, use the "meeting_authentication", "authentication_option" and/or "authentication_domains" fields to establish the authentication mechanism for this Webinar.
+ type: boolean
+ enforce_login_domains:
+ description: |-
+ Only signed-in users with specified domains can join meetings.
+
+ **This field is deprecated and will not be supported in future.**
Instead of this field, use the "authentication_domains" field for this Webinar.
+ type: string
+ follow_up_absentees_email_notification:
+ description: Send follow-up email to absentees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to absentees.
+
+ * `false`: Do not send follow-up email to absentees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 days after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ follow_up_attendees_email_notification:
+ description: Send follow-up email to attendees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to attendees.
+
+ * `false`: Do not send follow-up email to attendees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 day after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ hd_video:
+ default: false
+ description: Default to HD video.
+ type: boolean
+ host_video:
+ description: Start video when host joins webinar.
+ type: boolean
+ meeting_authentication:
+ description: Only [authenticated](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) users can join meeting if the value of this field is set to `true`.
+ type: boolean
+ on_demand:
+ default: false
+ description: Make the webinar on-demand
+ type: boolean
+ panelists_invitation_email_notification:
+ description: |-
+ * `true`: Send invitation email to panelists.
+
+ * `false`: Do not send invitation email to panelists.
+ type: boolean
+ panelists_video:
+ description: Start video when panelists join webinar.
+ type: boolean
+ post_webinar_survey:
+ description: Zoom will open a survey page in attendees' browsers after leaving the webinar
+ type: boolean
+ practice_session:
+ default: false
+ description: Enable practice session.
+ type: boolean
+ question_and_answer:
+ description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
+ properties:
+ allow_anonymous_questions:
+ description: |-
+ * `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
+
+ * `false`: Do not allow anonymous questions.
+ type: boolean
+ answer_questions:
+ description: |-
+ Indicate whether you want attendees to be able to view answered questions only or view all questions.
+
+ * `only`: Attendees are able to view answered questions only.
+
+ * `all`: Attendees are able to view all questions submitted in the Q&A.
+ enum:
+ - only
+ - all
+ type: string
+ attendees_can_comment:
+ description: |-
+ * `true`: Attendees can answer questions or leave a comment in the question thread.
+
+ * `false`: Attendees can not answer questions or leave a comment in the question thread
+ type: boolean
+ attendees_can_upvote:
+ description: |-
+ * `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
+
+ * `false`: Attendees can not click the thumbs up butoon on questions.
+ type: boolean
+ enable:
+ description: |-
+ * `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
+
+ * `false`: Disable Q&A for webinar.
+ type: boolean
+ type: object
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registrants_restrict_number:
+ default: 0
+ description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
+ maximum: 20000
+ minimum: 0
+ type: integer
+ registration_type:
+ default: 1
+ description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: Show social share buttons on the registration page.
+ type: boolean
+ survey_url:
+ description: Survey url for post webinar survey
+ type: string
+ type: object
+ start_time:
+ description: |-
+ Webinar start time. We support two formats for `start_time` - local time and GMT.
+
+ To set time as GMT the format should be `yyyy-MM-dd`T`HH:mm:ssZ`.
+
+ To set time using a specific timezone, use `yyyy-MM-dd`T`HH:mm:ss` format and specify the timezone [ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) in the `timezone` field OR leave it blank and the timezone set on your Zoom account will be used. You can also set the time as UTC as the timezone field.
+
+ The `start_time` should only be used for scheduled and / or recurring webinars with fixed time.
+ format: date-time
+ type: string
+ timezone:
+ description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) list for supported time zones and their formats.
+ type: string
+ topic:
+ description: Webinar topic.
+ type: string
+ tracking_fields:
+ description: Tracking fields
+ items:
+ properties:
+ field:
+ description: Tracking fields type
+ type: string
+ value:
+ description: Tracking fields value
+ type: string
+ required:
+ - field
+ type: object
+ type: array
+ type:
+ default: 5
+ description: Webinar Types: `5` - Webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
+ enum:
+ - 5
+ - 6
+ - 9
+ type: integer
+ x-enum-descriptions:
+ - Webinar
+ - Recurring Webinar with no fixed time
+ - Recurring Webinar with fixed time
+ type: object
+ description: Webinar object.
+ type: object
+ required: true
+ x-examples:
+ application/json:
+ agenda: Test Webinar
+ duration: 60:00
+ password: avfhfgh
+ recurrence:
+ end_date_time: 2020-09-22T06:59:00Z
+ repeat_interval: 1
+ type: 1
+ settings:
+ allow_multiple_devices: "false"
+ approval_type: 0
+ attendees_and_panelists_reminder_email_notification:
+ enable: true
+ type: 1
+ audio: both
+ auto_recording: none
+ close_registration: "true"
+ email_language: en-US
+ enforce_login: "false"
+ follow_up_absentees_email_notification:
+ enable: true
+ type: 1
+ follow_up_attendees_email_notification:
+ enable: true
+ type: 1
+ hd_video: "true"
+ host_video: "true"
+ panelists_invitation_email_notification: true
+ panelists_video: "true"
+ practice_session: "true"
+ registrants_confirmation_email: true
+ registrants_email_notification: true
+ registration_type: 2
+ show_share_button: "true"
+ start_time: 2020-09-20T06:59:00Z
+ timezone: America/Los_Angeles
+ topic: Test Webinar
+ type: 5
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ agenda: string
+ created_at: string [date-time]
+ duration: integer
+ host_id: string
+ id: integer
+ join_url: string
+ occurrences:
+ - duration: integer
+ occurrence_id: integer
+ start_time: string [date-time]
+ status: string
+ settings:
+ allow_multiple_devices: boolean
+ alternative_hosts: string
+ approval_type: integer
+ attendees_and_panelists_reminder_email_notification:
+ enable: boolean
+ type: integer
+ audio: string
+ auto_recording: string
+ close_registration: boolean
+ email_language: string
+ enforce_login: boolean
+ enforce_login_domains: string
+ follow_up_absentees_email_notification:
+ enable: boolean
+ type: integer
+ follow_up_attendees_email_notification:
+ enable: boolean
+ type: integer
+ hd_video: boolean
+ host_video: boolean
+ panelists_invitation_email_notification: boolean
+ panelists_video: boolean
+ practice_session: boolean
+ registrants_confirmation_email: boolean
+ registrants_email_notification: boolean
+ registration_type: integer
+ show_share_button: boolean
+ start_time: string [date-time]
+ start_url: string
+ timezone: string
+ topic: string
+ type: integer
+ uuid: string
+ schema:
+ allOf:
+ - properties:
+ host_email:
+ description: Email address of the meeting host.
+ format: email
+ type: string
+ host_id:
+ description: ID of the user set as host of the webinar.
+ type: string
+ id:
+ description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
+ format: int64
+ type: integer
+ registrants_confirmation_email:
+ description: Specify whether or not registrants of this Webinar should receieve confirmation emails.
+ type: boolean
+ template_id:
+ description: |-
+ Unique identifier of the Webinar template. Use this field only if you would like to [schedule the webinar using an existing template](https://support.zoom.us/hc/en-us/articles/115001079746-Webinar-Templates#schedule). The value of this field can be retrieved from [List Webinar Templates](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/listwebinartemplates) API.
+ You must provide the user ID of the host instead of the email address in the `userId` path parameter in order to use a template for scheduling a Webinar.
+ type: string
+ uuid:
+ description: Unique identifier of a Webinar. Each Webinar instance will generate its own UUID(i.e., after a Webinar ends, a new UUID will be generated for the next instance of the Webinar). Once a Webinar ends, the value of uuid for the same webinar will be different from when it was scheduled.
+ type: string
+ type: object
+ - description: Webinar object.
+ properties:
+ agenda:
+ description: Webinar agenda.
+ type: string
+ created_at:
+ description: Create time.
+ format: date-time
+ type: string
+ duration:
+ description: Webinar duration.
+ type: integer
+ join_url:
+ description: URL to join the Webinar. This URL should only be shared with the users who should be invited to the Webinar.
+ type: string
+ occurrences:
+ description: Array of occurrence objects.
+ items:
+ description: Occurence object. This object is only returned for Recurring Webinars.
+ properties:
+ duration:
+ description: Duration.
+ type: integer
+ occurrence_id:
+ description: "Occurrence ID: Unique Identifier that identifies an occurrence of a recurring webinar. [Recurring webinars](https://support.zoom.us/hc/en-us/articles/216354763-How-to-Schedule-A-Recurring-Webinar) can have a maximum of 50 occurrences."
+ type: string
+ start_time:
+ description: Start time.
+ format: date-time
+ type: string
+ status:
+ description: Occurrence status.
+ type: string
+ type: object
+ type: array
+ password:
+ description: |+
+ Webinar passcode.
+
+ If "Require a passcode when scheduling new meetings" setting has been **enabled** **and** [locked](https://support.zoom.us/hc/en-us/articles/115005269866-Using-Tiered-Settings#locked) for the user, the passcode field will be autogenerated for the Webinar in the response even if it is not provided in the API request.
+ **Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
+
+
+
+
+
+ maxLength: 10
+ type: string
+ recurrence:
+ description: "Recurrence object. Use this object only for a webinar of type `9` i.e., a recurring webinar with fixed time. "
+ properties:
+ end_date_time:
+ description: Select a date when the webinar will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the webinar will recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring webinar of type** `3` to state which day in a month, the webinar should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the webinar to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the webinar to recur once every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state the week of the month when the webinar should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the webinar should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state a specific day in a week when the monthly webinar should recur. To use this field, you must also use the `monthly_week` field. `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |-
+ Define the interval at which the webinar should recur. For instance, if you would like to schedule a Webinar that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily webinar, the maximum interval you can set is `90` days. For a weekly webinar, the maximum interval that you can set is `12` weeks. For a monthly webinar, the maximum interval that you can set is `3` months.
+ type: integer
+ type:
+ description: Recurrence webinar types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ description: |+
+ Use this field **only if you're scheduling a recurring webinar of type** `2` to state which day(s) of the week the webinar should repeat. The value for this field could be a number between `1` to `7` in string format. For instance, if the Webinar should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the webinar to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the Webinar should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+
+ type: string
+ required:
+ - type
+ title: Recurrence Webinar
+ type: object
+ settings:
+ description: Webinar settings.
+ properties:
+ allow_multiple_devices:
+ description: Allow attendees to join from multiple devices.
+ type: boolean
+ alternative_hosts:
+ description: Alternative host emails or IDs. Multiple values separated by comma.
+ type: string
+ approval_type:
+ default: 2
+ description: "`0` - Automatically approve. `1` - Manually approve. `2` - No registration required."
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ attendees_and_panelists_reminder_email_notification:
+ description: Send reminder email to attendees and panelists.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send reminder email to attendees and panelists.
+
+ * `false`: Do not send reminder email to attendees and panelists.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 hour before webinar.
+ - Send 1 day before webinar.
+ - Send 1 hour and 1 day before webinar.
+ - Send 1 week before webinar.
+ - Send 1 hour and 1 week before webinar.
+ - Send 1 day and 1 week before webinar.
+ - Send 1 hour, 1 day and 1 week before webinar.
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the webinar.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
+ type: string
+ authentication_name:
+ description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
+ type: string
+ authentication_option:
+ description: Webinar authentication option id.
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ close_registration:
+ description: Close registration after event date.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ email_language:
+ description: |-
+ Set the email language to one of the following:
+ `en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
+ type: string
+ enforce_login:
+ description: |-
+ Only signed in users can join this meeting.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
+ type: boolean
+ enforce_login_domains:
+ description: |-
+ Only signed in users with specified domains can join meetings.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
+ type: string
+ follow_up_absentees_email_notification:
+ description: Send follow-up email to absentees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to absentees.
+
+ * `false`: Do not send follow-up email to absentees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 days after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ follow_up_attendees_email_notification:
+ description: Send follow-up email to attendees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to attendees.
+
+ * `false`: Do not send follow-up email to attendees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 day after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ hd_video:
+ default: false
+ description: Default to HD video.
+ type: boolean
+ host_video:
+ description: Start video when host joins webinar.
+ type: boolean
+ meeting_authentication:
+ description: "`true`- Only authenticated users can join Webinar."
+ type: boolean
+ notify_registrants:
+ description: Send notification email to registrants when the host updates a webinar.
+ type: boolean
+ on_demand:
+ default: false
+ description: Make the webinar on-demand
+ type: boolean
+ panelists_invitation_email_notification:
+ description: |-
+ * `true`: Send invitation email to panelists.
+
+ * `false`: Do not send invitation email to panelists.
+ type: boolean
+ panelists_video:
+ description: Start video when panelists join webinar.
+ type: boolean
+ post_webinar_survey:
+ description: Zoom will open a survey page in attendees' browsers after leaving the webinar
+ type: boolean
+ practice_session:
+ default: false
+ description: Enable practice session.
+ type: boolean
+ question_and_answer:
+ description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
+ properties:
+ allow_anonymous_questions:
+ description: |-
+ * `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
+
+ * `false`: Do not allow anonymous questions.
+ type: boolean
+ answer_questions:
+ description: |-
+ Indicate whether you want attendees to be able to view answered questions only or view all questions.
+
+ * `only`: Attendees are able to view answered questions only.
+
+ * `all`: Attendees are able to view all questions submitted in the Q&A.
+ enum:
+ - only
+ - all
+ type: string
+ attendees_can_comment:
+ description: |-
+ * `true`: Attendees can answer questions or leave a comment in the question thread.
+
+ * `false`: Attendees can not answer questions or leave a comment in the question thread
+ type: boolean
+ attendees_can_upvote:
+ description: |-
+ * `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
+
+ * `false`: Attendees can not click the thumbs up butoon on questions.
+ type: boolean
+ enable:
+ description: |-
+ * `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
+
+ * `false`: Disable Q&A for webinar.
+ type: boolean
+ type: object
+ registrants_confirmation_email:
+ description: Send confirmation email to registrants
+ type: boolean
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registrants_restrict_number:
+ default: 0
+ description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
+ maximum: 20000
+ minimum: 0
+ type: integer
+ registration_type:
+ default: 1
+ description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: Show social share buttons on the registration page.
+ type: boolean
+ survey_url:
+ description: Survey url for post webinar survey
+ type: string
+ type: object
+ start_time:
+ description: Webinar start time in GMT/UTC.
+ format: date-time
+ type: string
+ start_url:
+ description: |-
+
+ type: string
+ timezone:
+ description: Time zone to format start_time.
+ type: string
+ topic:
+ description: Webinar topic.
+ maxLength: 200
+ type: string
+ tracking_fields:
+ description: Tracking fields
+ items:
+ properties:
+ field:
+ description: Tracking fields type
+ type: string
+ value:
+ description: Tracking fields value
+ type: string
+ type: object
+ type: array
+ type:
+ default: 5
+ description: Webinar Types: `5` - Webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
+ enum:
+ - 5
+ - 6
+ - 9
+ type: integer
+ x-enum-descriptions:
+ - Webinar
+ - Recurring Webinar with no fixed time
+ - Recurring Webinar with fixed time
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ host_email:
+ description: Email address of the meeting host.
+ format: email
+ type: string
+ host_id:
+ description: ID of the user set as host of the webinar.
+ type: string
+ id:
+ description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
+ format: int64
+ type: integer
+ registrants_confirmation_email:
+ description: Specify whether or not registrants of this Webinar should receieve confirmation emails.
+ type: boolean
+ template_id:
+ description: |-
+ Unique identifier of the Webinar template. Use this field only if you would like to [schedule the webinar using an existing template](https://support.zoom.us/hc/en-us/articles/115001079746-Webinar-Templates#schedule). The value of this field can be retrieved from [List Webinar Templates](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/listwebinartemplates) API.
+ You must provide the user ID of the host instead of the email address in the `userId` path parameter in order to use a template for scheduling a Webinar.
+ type: string
+ uuid:
+ description: Unique identifier of a Webinar. Each Webinar instance will generate its own UUID(i.e., after a Webinar ends, a new UUID will be generated for the next instance of the Webinar). Once a Webinar ends, the value of uuid for the same webinar will be different from when it was scheduled.
+ type: string
+ type: object
+ - description: Webinar object.
+ properties:
+ agenda:
+ description: Webinar agenda.
+ type: string
+ created_at:
+ description: Create time.
+ format: date-time
+ type: string
+ duration:
+ description: Webinar duration.
+ type: integer
+ join_url:
+ description: URL to join the Webinar. This URL should only be shared with the users who should be invited to the Webinar.
+ type: string
+ occurrences:
+ description: Array of occurrence objects.
+ items:
+ description: Occurence object. This object is only returned for Recurring Webinars.
+ properties:
+ duration:
+ description: Duration.
+ type: integer
+ occurrence_id:
+ description: "Occurrence ID: Unique Identifier that identifies an occurrence of a recurring webinar. [Recurring webinars](https://support.zoom.us/hc/en-us/articles/216354763-How-to-Schedule-A-Recurring-Webinar) can have a maximum of 50 occurrences."
+ type: string
+ start_time:
+ description: Start time.
+ format: date-time
+ type: string
+ status:
+ description: Occurrence status.
+ type: string
+ type: object
+ type: array
+ password:
+ description: |+
+ Webinar passcode.
+
+ If "Require a passcode when scheduling new meetings" setting has been **enabled** **and** [locked](https://support.zoom.us/hc/en-us/articles/115005269866-Using-Tiered-Settings#locked) for the user, the passcode field will be autogenerated for the Webinar in the response even if it is not provided in the API request.
+ **Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
+
+
+
+
+
+ maxLength: 10
+ type: string
+ recurrence:
+ description: "Recurrence object. Use this object only for a webinar of type `9` i.e., a recurring webinar with fixed time. "
+ properties:
+ end_date_time:
+ description: Select a date when the webinar will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the webinar will recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring webinar of type** `3` to state which day in a month, the webinar should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the webinar to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the webinar to recur once every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state the week of the month when the webinar should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the webinar should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state a specific day in a week when the monthly webinar should recur. To use this field, you must also use the `monthly_week` field. `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |-
+ Define the interval at which the webinar should recur. For instance, if you would like to schedule a Webinar that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily webinar, the maximum interval you can set is `90` days. For a weekly webinar, the maximum interval that you can set is `12` weeks. For a monthly webinar, the maximum interval that you can set is `3` months.
+ type: integer
+ type:
+ description: Recurrence webinar types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ description: |+
+ Use this field **only if you're scheduling a recurring webinar of type** `2` to state which day(s) of the week the webinar should repeat. The value for this field could be a number between `1` to `7` in string format. For instance, if the Webinar should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the webinar to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the Webinar should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+
+ type: string
+ required:
+ - type
+ title: Recurrence Webinar
+ type: object
+ settings:
+ description: Webinar settings.
+ properties:
+ allow_multiple_devices:
+ description: Allow attendees to join from multiple devices.
+ type: boolean
+ alternative_hosts:
+ description: Alternative host emails or IDs. Multiple values separated by comma.
+ type: string
+ approval_type:
+ default: 2
+ description: "`0` - Automatically approve. `1` - Manually approve. `2` - No registration required."
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ attendees_and_panelists_reminder_email_notification:
+ description: Send reminder email to attendees and panelists.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send reminder email to attendees and panelists.
+
+ * `false`: Do not send reminder email to attendees and panelists.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 hour before webinar.
+ - Send 1 day before webinar.
+ - Send 1 hour and 1 day before webinar.
+ - Send 1 week before webinar.
+ - Send 1 hour and 1 week before webinar.
+ - Send 1 day and 1 week before webinar.
+ - Send 1 hour, 1 day and 1 week before webinar.
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the webinar.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
+ type: string
+ authentication_name:
+ description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
+ type: string
+ authentication_option:
+ description: Webinar authentication option id.
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ close_registration:
+ description: Close registration after event date.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ email_language:
+ description: |-
+ Set the email language to one of the following:
+ `en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
+ type: string
+ enforce_login:
+ description: |-
+ Only signed in users can join this meeting.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
+ type: boolean
+ enforce_login_domains:
+ description: |-
+ Only signed in users with specified domains can join meetings.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
+ type: string
+ follow_up_absentees_email_notification:
+ description: Send follow-up email to absentees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to absentees.
+
+ * `false`: Do not send follow-up email to absentees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 days after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ follow_up_attendees_email_notification:
+ description: Send follow-up email to attendees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to attendees.
+
+ * `false`: Do not send follow-up email to attendees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 day after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ hd_video:
+ default: false
+ description: Default to HD video.
+ type: boolean
+ host_video:
+ description: Start video when host joins webinar.
+ type: boolean
+ meeting_authentication:
+ description: "`true`- Only authenticated users can join Webinar."
+ type: boolean
+ notify_registrants:
+ description: Send notification email to registrants when the host updates a webinar.
+ type: boolean
+ on_demand:
+ default: false
+ description: Make the webinar on-demand
+ type: boolean
+ panelists_invitation_email_notification:
+ description: |-
+ * `true`: Send invitation email to panelists.
+
+ * `false`: Do not send invitation email to panelists.
+ type: boolean
+ panelists_video:
+ description: Start video when panelists join webinar.
+ type: boolean
+ post_webinar_survey:
+ description: Zoom will open a survey page in attendees' browsers after leaving the webinar
+ type: boolean
+ practice_session:
+ default: false
+ description: Enable practice session.
+ type: boolean
+ question_and_answer:
+ description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
+ properties:
+ allow_anonymous_questions:
+ description: |-
+ * `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
+
+ * `false`: Do not allow anonymous questions.
+ type: boolean
+ answer_questions:
+ description: |-
+ Indicate whether you want attendees to be able to view answered questions only or view all questions.
+
+ * `only`: Attendees are able to view answered questions only.
+
+ * `all`: Attendees are able to view all questions submitted in the Q&A.
+ enum:
+ - only
+ - all
+ type: string
+ attendees_can_comment:
+ description: |-
+ * `true`: Attendees can answer questions or leave a comment in the question thread.
+
+ * `false`: Attendees can not answer questions or leave a comment in the question thread
+ type: boolean
+ attendees_can_upvote:
+ description: |-
+ * `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
+
+ * `false`: Attendees can not click the thumbs up butoon on questions.
+ type: boolean
+ enable:
+ description: |-
+ * `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
+
+ * `false`: Disable Q&A for webinar.
+ type: boolean
+ type: object
+ registrants_confirmation_email:
+ description: Send confirmation email to registrants
+ type: boolean
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registrants_restrict_number:
+ default: 0
+ description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
+ maximum: 20000
+ minimum: 0
+ type: integer
+ registration_type:
+ default: 1
+ description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: Show social share buttons on the registration page.
+ type: boolean
+ survey_url:
+ description: Survey url for post webinar survey
+ type: string
+ type: object
+ start_time:
+ description: Webinar start time in GMT/UTC.
+ format: date-time
+ type: string
+ start_url:
+ description: |-
+
+ type: string
+ timezone:
+ description: Time zone to format start_time.
+ type: string
+ topic:
+ description: Webinar topic.
+ maxLength: 200
+ type: string
+ tracking_fields:
+ description: Tracking fields
+ items:
+ properties:
+ field:
+ description: Tracking fields type
+ type: string
+ value:
+ description: Tracking fields value
+ type: string
+ type: object
+ type: array
+ type:
+ default: 5
+ description: Webinar Types: `5` - Webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
+ enum:
+ - 5
+ - 6
+ - 9
+ type: integer
+ x-enum-descriptions:
+ - Webinar
+ - Recurring Webinar with no fixed time
+ - Recurring Webinar with fixed time
+ type: object
+ description: |-
+ **HTTP Status Code:** `201`
+ Webinar created.
+ headers:
+ Content-Location:
+ description: Location of created Webinar
+ schema:
+ type: string
+ "400":
+ description: |-
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `200`
+ Subscription plan for webinar is missing. Enable webinar for this user once the subscription plan is added:{userId}.
+ "404":
+ description: |
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `1001`
+ User {userId} not exist or not belong to this account.
+ security:
+ - OAuth: []
+ summary: Create a webinar
+ tags:
+ - Webinars
+ "/webinars/{webinarId}":
+ delete:
+ description: |-
+ Delete a Webinar.
+ **Scopes:** `webinar:write:admin` `webinar:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ **Prerequisites:**
+ * Pro or higher plan with a Webinar Add-on.
+ operationId: webinarDelete
+ parameters:
+ - description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: The meeting occurrence ID.
+ in: query
+ name: occurrence_id
+ schema:
+ type: string
+ - description: |-
+ `true`: Notify panelists and registrants about the webinar cancellation via email.
+
+ `false`: Do not send any email notification to webinar registrants and panelists.
+
+ The default value of this field is `false`.
+ in: query
+ name: cancel_webinar_reminder
+ schema:
+ type: string
+ responses:
+ "200":
+ description: |-
+ **HTTP Status Code:** `200`
+ Success
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ Webinar deleted.
+ "300":
+ description: "**HTTP Status Code:** `300` Invalid webinar ID."
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ Bad request
+ **Error Code:** `1010`
+ User does not belong to this account:{accountId}.
+ **Error Code:** `3002`
+ Sorry, you cannot delete this webinar since it is in progress.
+ **Error Code:** `3003`
+ You are not the webinar host.
+ **Error Code:** `3007`
+ Sorry, you cannot delete this webinar since it has ended.
+ **Error Code:** `3018`
+ Not allowed to delete PMI.
+ **Error Code:** `3037`
+ Not allowed to delete PAC.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Webinar not found.
+ **Error Code:** `1001`
+ User {userId} does not exist or does not belong to this account.
+ **Error Code:** `3001`
+ Webinar {webinarId} not found or has expired.
+ security:
+ - OAuth: []
+ summary: Delete a webinar
+ tags:
+ - Webinars
+ get:
+ description: |-
+ Zoom users with a [Webinar Plan](https://zoom.us/webinar) have access to creating and managing Webinars. Webinar allows a host to broadcast a Zoom meeting to up to 10,000 attendees. Use this API to get details of a scheduled webinar.
+ **Scopes:** `webinar:read:admin` `webinar:read`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light` **Prerequisites:**
+ * Pro or higher plan with a Webinar Add-on.
+ operationId: webinar
+ parameters:
+ - description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: Unique Identifier that identifies an occurrence of a recurring webinar. [Recurring webinars](https://support.zoom.us/hc/en-us/articles/216354763-How-to-Schedule-A-Recurring-Webinar) can have a maximum of 50 occurrences. When you create a recurring Webinar using [Create a Webinar API](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinarcreate), you can retrieve the Occurrence ID from the response of the API call.
+ in: query
+ name: occurrence_id
+ schema:
+ type: string
+ - description: Set the value of this field to `true` if you would like to view Webinar details of all previous occurrences of a recurring Webinar.
+ in: query
+ name: show_previous_occurrences
+ schema:
+ type: boolean
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ created_at: 2019-09-13T15:35:00Z
+ duration: 60
+ host_id: Labcjskdfsjgfg
+ id: 12345678
+ join_url: https://zoom.us/j/12345678
+ settings:
+ allow_multiple_devices: true
+ alternative_hosts: ""
+ approval_type: 2
+ attendees_and_panelists_reminder_email_notification:
+ enable: true
+ type: 1
+ audio: both
+ auto_recording: local
+ close_registration: true
+ contact_email: wonderfulemail@someemail.dsgfdjf
+ contact_name: Wonderful person
+ email_language: en-US
+ enforce_login: false
+ enforce_login_domains: ""
+ follow_up_absentees_email_notification:
+ enable: true
+ type: 1
+ follow_up_attendees_email_notification:
+ enable: true
+ type: 1
+ global_dial_in_countries:
+ - US
+ global_dial_in_numbers:
+ - city: New York
+ country: US
+ country_name: US
+ number: +1 00000
+ type: toll
+ - city: San Jose
+ country: US
+ country_name: US
+ number: +1 111111111
+ type: toll
+ - city: San Jose
+ country: US
+ country_name: US
+ number: +1 11111110
+ type: toll
+ hd_video: false
+ host_video: false
+ on_demand: false
+ panelists_invitation_email_notification: true
+ panelists_video: false
+ practice_session: false
+ question_answer: true
+ registrants_confirmation_email: true
+ registrants_email_notification: true
+ registrants_restrict_number: 0
+ show_share_button: true
+ start_time: 2019-08-30T22:00:00Z
+ start_url: https://zoom.us/s/00000011110?zhghTlUT1Rjd2FXRgh0amxoejNQZ1EiLCJjaWQiOiIifQ.NJ0CXWQ-yhI8Xv01JvxityBtzp3Bt7odMOEG2L8DLmY
+ timezone: America/New_York
+ topic: Test Webinar
+ type: 5
+ uuid: nWMHAAAAAAAAAAAAAUDP1A==
+ schema:
+ allOf:
+ - properties:
+ host_email:
+ description: Email address of the meeting host.
+ format: email
+ type: string
+ host_id:
+ description: ID of the user set as host of webinar.
+ type: string
+ id:
+ description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
+ format: int64
+ type: integer
+ uuid:
+ description: |+
+ Unique Webinar ID. Each Webinar instance will generate its own Webinar UUID (i.e., after a Webinar ends, a new UUID will be generated for the next instance of the Webinar). You can retrieve a list of UUIDs from past Webinar instances using [this API](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/pastwebinars). Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
+
+ type: string
+ type: object
+ - description: Webinar object.
+ properties:
+ agenda:
+ description: Webinar agenda.
+ type: string
+ created_at:
+ description: Create time.
+ format: date-time
+ type: string
+ duration:
+ description: Webinar duration.
+ type: integer
+ join_url:
+ description: URL to join the Webinar. This URL should only be shared with the users who should be invited to the Webinar.
+ type: string
+ occurrences:
+ description: Array of occurrence objects.
+ items:
+ description: Occurence object. This object is only returned for Recurring Webinars.
+ properties:
+ duration:
+ description: Duration.
+ type: integer
+ occurrence_id:
+ description: "Occurrence ID: Unique Identifier that identifies an occurrence of a recurring webinar. [Recurring webinars](https://support.zoom.us/hc/en-us/articles/216354763-How-to-Schedule-A-Recurring-Webinar) can have a maximum of 50 occurrences."
+ type: string
+ start_time:
+ description: Start time.
+ format: date-time
+ type: string
+ status:
+ description: Occurrence status.
+ type: string
+ type: object
+ type: array
+ password:
+ description: |+
+ Webinar passcode.
+
+ If "Require a passcode when scheduling new meetings" setting has been **enabled** **and** [locked](https://support.zoom.us/hc/en-us/articles/115005269866-Using-Tiered-Settings#locked) for the user, the passcode field will be autogenerated for the Webinar in the response even if it is not provided in the API request.
+ **Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
+
+
+
+
+
+ maxLength: 10
+ type: string
+ recurrence:
+ description: "Recurrence object. Use this object only for a webinar of type `9` i.e., a recurring webinar with fixed time. "
+ properties:
+ end_date_time:
+ description: Select a date when the webinar will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the webinar will recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring webinar of type** `3` to state which day in a month, the webinar should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the webinar to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the webinar to recur once every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state the week of the month when the webinar should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the webinar should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state a specific day in a week when the monthly webinar should recur. To use this field, you must also use the `monthly_week` field. `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |-
+ Define the interval at which the webinar should recur. For instance, if you would like to schedule a Webinar that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily webinar, the maximum interval you can set is `90` days. For a weekly webinar, the maximum interval that you can set is `12` weeks. For a monthly webinar, the maximum interval that you can set is `3` months.
+ type: integer
+ type:
+ description: Recurrence webinar types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ description: |+
+ Use this field **only if you're scheduling a recurring webinar of type** `2` to state which day(s) of the week the webinar should repeat. The value for this field could be a number between `1` to `7` in string format. For instance, if the Webinar should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the webinar to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the Webinar should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+
+ type: string
+ required:
+ - type
+ title: Recurrence Webinar
+ type: object
+ settings:
+ description: Webinar settings.
+ properties:
+ allow_multiple_devices:
+ description: Allow attendees to join from multiple devices.
+ type: boolean
+ alternative_hosts:
+ description: Alternative host emails or IDs. Multiple values separated by comma.
+ type: string
+ approval_type:
+ default: 2
+ description: "`0` - Automatically approve. `1` - Manually approve. `2` - No registration required."
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ attendees_and_panelists_reminder_email_notification:
+ description: Send reminder email to attendees and panelists.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send reminder email to attendees and panelists.
+
+ * `false`: Do not send reminder email to attendees and panelists.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 hour before webinar.
+ - Send 1 day before webinar.
+ - Send 1 hour and 1 day before webinar.
+ - Send 1 week before webinar.
+ - Send 1 hour and 1 week before webinar.
+ - Send 1 day and 1 week before webinar.
+ - Send 1 hour, 1 day and 1 week before webinar.
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the webinar.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
+ type: string
+ authentication_name:
+ description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
+ type: string
+ authentication_option:
+ description: Webinar authentication option id.
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ close_registration:
+ description: Close registration after event date.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ email_language:
+ description: |-
+ Set the email language to one of the following:
+ `en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
+ type: string
+ enforce_login:
+ description: |-
+ Only signed in users can join this meeting.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
+ type: boolean
+ enforce_login_domains:
+ description: |-
+ Only signed in users with specified domains can join meetings.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
+ type: string
+ follow_up_absentees_email_notification:
+ description: Send follow-up email to absentees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to absentees.
+
+ * `false`: Do not send follow-up email to absentees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 days after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ follow_up_attendees_email_notification:
+ description: Send follow-up email to attendees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to attendees.
+
+ * `false`: Do not send follow-up email to attendees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 day after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ hd_video:
+ default: false
+ description: Default to HD video.
+ type: boolean
+ host_video:
+ description: Start video when host joins webinar.
+ type: boolean
+ meeting_authentication:
+ description: "`true`- Only authenticated users can join Webinar."
+ type: boolean
+ notify_registrants:
+ description: Send notification email to registrants when the host updates a webinar.
+ type: boolean
+ on_demand:
+ default: false
+ description: Make the webinar on-demand
+ type: boolean
+ panelists_invitation_email_notification:
+ description: |-
+ * `true`: Send invitation email to panelists.
+
+ * `false`: Do not send invitation email to panelists.
+ type: boolean
+ panelists_video:
+ description: Start video when panelists join webinar.
+ type: boolean
+ post_webinar_survey:
+ description: Zoom will open a survey page in attendees' browsers after leaving the webinar
+ type: boolean
+ practice_session:
+ default: false
+ description: Enable practice session.
+ type: boolean
+ question_and_answer:
+ description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
+ properties:
+ allow_anonymous_questions:
+ description: |-
+ * `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
+
+ * `false`: Do not allow anonymous questions.
+ type: boolean
+ answer_questions:
+ description: |-
+ Indicate whether you want attendees to be able to view answered questions only or view all questions.
+
+ * `only`: Attendees are able to view answered questions only.
+
+ * `all`: Attendees are able to view all questions submitted in the Q&A.
+ enum:
+ - only
+ - all
+ type: string
+ attendees_can_comment:
+ description: |-
+ * `true`: Attendees can answer questions or leave a comment in the question thread.
+
+ * `false`: Attendees can not answer questions or leave a comment in the question thread
+ type: boolean
+ attendees_can_upvote:
+ description: |-
+ * `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
+
+ * `false`: Attendees can not click the thumbs up butoon on questions.
+ type: boolean
+ enable:
+ description: |-
+ * `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
+
+ * `false`: Disable Q&A for webinar.
+ type: boolean
+ type: object
+ registrants_confirmation_email:
+ description: Send confirmation email to registrants
+ type: boolean
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registrants_restrict_number:
+ default: 0
+ description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
+ maximum: 20000
+ minimum: 0
+ type: integer
+ registration_type:
+ default: 1
+ description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: Show social share buttons on the registration page.
+ type: boolean
+ survey_url:
+ description: Survey url for post webinar survey
+ type: string
+ type: object
+ start_time:
+ description: Webinar start time in GMT/UTC.
+ format: date-time
+ type: string
+ start_url:
+ description: |-
+
+ type: string
+ timezone:
+ description: Time zone to format start_time.
+ type: string
+ topic:
+ description: Webinar topic.
+ maxLength: 200
+ type: string
+ tracking_fields:
+ description: Tracking fields
+ items:
+ properties:
+ field:
+ description: Tracking fields type
+ type: string
+ value:
+ description: Tracking fields value
+ type: string
+ type: object
+ type: array
+ type:
+ default: 5
+ description: Webinar Types: `5` - Webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
+ enum:
+ - 5
+ - 6
+ - 9
+ type: integer
+ x-enum-descriptions:
+ - Webinar
+ - Recurring Webinar with no fixed time
+ - Recurring Webinar with fixed time
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ host_email:
+ description: Email address of the meeting host.
+ format: email
+ type: string
+ host_id:
+ description: ID of the user set as host of webinar.
+ type: string
+ id:
+ description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
+ format: int64
+ type: integer
+ uuid:
+ description: |+
+ Unique Webinar ID. Each Webinar instance will generate its own Webinar UUID (i.e., after a Webinar ends, a new UUID will be generated for the next instance of the Webinar). You can retrieve a list of UUIDs from past Webinar instances using [this API](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/pastwebinars). Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
+
+ type: string
+ type: object
+ - description: Webinar object.
+ properties:
+ agenda:
+ description: Webinar agenda.
+ type: string
+ created_at:
+ description: Create time.
+ format: date-time
+ type: string
+ duration:
+ description: Webinar duration.
+ type: integer
+ join_url:
+ description: URL to join the Webinar. This URL should only be shared with the users who should be invited to the Webinar.
+ type: string
+ occurrences:
+ description: Array of occurrence objects.
+ items:
+ description: Occurence object. This object is only returned for Recurring Webinars.
+ properties:
+ duration:
+ description: Duration.
+ type: integer
+ occurrence_id:
+ description: "Occurrence ID: Unique Identifier that identifies an occurrence of a recurring webinar. [Recurring webinars](https://support.zoom.us/hc/en-us/articles/216354763-How-to-Schedule-A-Recurring-Webinar) can have a maximum of 50 occurrences."
+ type: string
+ start_time:
+ description: Start time.
+ format: date-time
+ type: string
+ status:
+ description: Occurrence status.
+ type: string
+ type: object
+ type: array
+ password:
+ description: |+
+ Webinar passcode.
+
+ If "Require a passcode when scheduling new meetings" setting has been **enabled** **and** [locked](https://support.zoom.us/hc/en-us/articles/115005269866-Using-Tiered-Settings#locked) for the user, the passcode field will be autogenerated for the Webinar in the response even if it is not provided in the API request.
+ **Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
+
+
+
+
+
+ maxLength: 10
+ type: string
+ recurrence:
+ description: "Recurrence object. Use this object only for a webinar of type `9` i.e., a recurring webinar with fixed time. "
+ properties:
+ end_date_time:
+ description: Select a date when the webinar will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the webinar will recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring webinar of type** `3` to state which day in a month, the webinar should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the webinar to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the webinar to recur once every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state the week of the month when the webinar should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the webinar should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state a specific day in a week when the monthly webinar should recur. To use this field, you must also use the `monthly_week` field. `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |-
+ Define the interval at which the webinar should recur. For instance, if you would like to schedule a Webinar that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily webinar, the maximum interval you can set is `90` days. For a weekly webinar, the maximum interval that you can set is `12` weeks. For a monthly webinar, the maximum interval that you can set is `3` months.
+ type: integer
+ type:
+ description: Recurrence webinar types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ description: |+
+ Use this field **only if you're scheduling a recurring webinar of type** `2` to state which day(s) of the week the webinar should repeat. The value for this field could be a number between `1` to `7` in string format. For instance, if the Webinar should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the webinar to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the Webinar should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+
+ type: string
+ required:
+ - type
+ title: Recurrence Webinar
+ type: object
+ settings:
+ description: Webinar settings.
+ properties:
+ allow_multiple_devices:
+ description: Allow attendees to join from multiple devices.
+ type: boolean
+ alternative_hosts:
+ description: Alternative host emails or IDs. Multiple values separated by comma.
+ type: string
+ approval_type:
+ default: 2
+ description: "`0` - Automatically approve. `1` - Manually approve. `2` - No registration required."
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ attendees_and_panelists_reminder_email_notification:
+ description: Send reminder email to attendees and panelists.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send reminder email to attendees and panelists.
+
+ * `false`: Do not send reminder email to attendees and panelists.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 hour before webinar.
+ - Send 1 day before webinar.
+ - Send 1 hour and 1 day before webinar.
+ - Send 1 week before webinar.
+ - Send 1 hour and 1 week before webinar.
+ - Send 1 day and 1 week before webinar.
+ - Send 1 hour, 1 day and 1 week before webinar.
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the webinar.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
+ type: string
+ authentication_name:
+ description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
+ type: string
+ authentication_option:
+ description: Webinar authentication option id.
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ close_registration:
+ description: Close registration after event date.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ email_language:
+ description: |-
+ Set the email language to one of the following:
+ `en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
+ type: string
+ enforce_login:
+ description: |-
+ Only signed in users can join this meeting.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
+ type: boolean
+ enforce_login_domains:
+ description: |-
+ Only signed in users with specified domains can join meetings.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
+ type: string
+ follow_up_absentees_email_notification:
+ description: Send follow-up email to absentees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to absentees.
+
+ * `false`: Do not send follow-up email to absentees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 days after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ follow_up_attendees_email_notification:
+ description: Send follow-up email to attendees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to attendees.
+
+ * `false`: Do not send follow-up email to attendees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 day after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ hd_video:
+ default: false
+ description: Default to HD video.
+ type: boolean
+ host_video:
+ description: Start video when host joins webinar.
+ type: boolean
+ meeting_authentication:
+ description: "`true`- Only authenticated users can join Webinar."
+ type: boolean
+ notify_registrants:
+ description: Send notification email to registrants when the host updates a webinar.
+ type: boolean
+ on_demand:
+ default: false
+ description: Make the webinar on-demand
+ type: boolean
+ panelists_invitation_email_notification:
+ description: |-
+ * `true`: Send invitation email to panelists.
+
+ * `false`: Do not send invitation email to panelists.
+ type: boolean
+ panelists_video:
+ description: Start video when panelists join webinar.
+ type: boolean
+ post_webinar_survey:
+ description: Zoom will open a survey page in attendees' browsers after leaving the webinar
+ type: boolean
+ practice_session:
+ default: false
+ description: Enable practice session.
+ type: boolean
+ question_and_answer:
+ description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
+ properties:
+ allow_anonymous_questions:
+ description: |-
+ * `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
+
+ * `false`: Do not allow anonymous questions.
+ type: boolean
+ answer_questions:
+ description: |-
+ Indicate whether you want attendees to be able to view answered questions only or view all questions.
+
+ * `only`: Attendees are able to view answered questions only.
+
+ * `all`: Attendees are able to view all questions submitted in the Q&A.
+ enum:
+ - only
+ - all
+ type: string
+ attendees_can_comment:
+ description: |-
+ * `true`: Attendees can answer questions or leave a comment in the question thread.
+
+ * `false`: Attendees can not answer questions or leave a comment in the question thread
+ type: boolean
+ attendees_can_upvote:
+ description: |-
+ * `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
+
+ * `false`: Attendees can not click the thumbs up butoon on questions.
+ type: boolean
+ enable:
+ description: |-
+ * `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
+
+ * `false`: Disable Q&A for webinar.
+ type: boolean
+ type: object
+ registrants_confirmation_email:
+ description: Send confirmation email to registrants
+ type: boolean
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registrants_restrict_number:
+ default: 0
+ description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
+ maximum: 20000
+ minimum: 0
+ type: integer
+ registration_type:
+ default: 1
+ description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: Show social share buttons on the registration page.
+ type: boolean
+ survey_url:
+ description: Survey url for post webinar survey
+ type: string
+ type: object
+ start_time:
+ description: Webinar start time in GMT/UTC.
+ format: date-time
+ type: string
+ start_url:
+ description: |-
+
+ type: string
+ timezone:
+ description: Time zone to format start_time.
+ type: string
+ topic:
+ description: Webinar topic.
+ maxLength: 200
+ type: string
+ tracking_fields:
+ description: Tracking fields
+ items:
+ properties:
+ field:
+ description: Tracking fields type
+ type: string
+ value:
+ description: Tracking fields value
+ type: string
+ type: object
+ type: array
+ type:
+ default: 5
+ description: Webinar Types: `5` - Webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
+ enum:
+ - 5
+ - 6
+ - 9
+ type: integer
+ x-enum-descriptions:
+ - Webinar
+ - Recurring Webinar with no fixed time
+ - Recurring Webinar with fixed time
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Success
+ "300":
+ description: "**HTTP Status Code:** `300` Invalid webinar ID."
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ Bad request
+ **Error Code:** `1010`
+ User does not belong to this account:{accountId}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Webinar not found.
+ **Error Code:** `1001`
+ User {userId} does not exist or does not belong to this account.
+ **Error Code:** `3001`
+ Webinar {webinarId} not found or has expired.
+ security:
+ - OAuth: []
+ summary: Get a webinar
+ tags:
+ - Webinars
+ patch:
+ description: |-
+ Zoom users with a [Webinar Plan](https://zoom.us/webinar) have access to creating and managing Webinars. Webinar allows a host to broadcast a Zoom meeting to up to 10,000 attendees.
+ Use this API to make updates to a scheduled Webinar.
+ **Scopes:** `webinar:write:admin` `webinar:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ **Prerequisites:**
+ * Pro or higher plan with a Webinar Add-on.
+ operationId: webinarUpdate
+ parameters:
+ - description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: "Webinar occurrence id. Support change of agenda, start_time, duration, settings: {host_video, panelist_video, hd_video, watermark, auto_recording}"
+ in: query
+ name: occurrence_id
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ allOf:
+ - description: Base webinar object for sessions.
+ properties:
+ agenda:
+ description: Webinar description.
+ type: string
+ duration:
+ description: Webinar duration (minutes). Used for scheduled webinar only.
+ type: integer
+ password:
+ description: |+
+ [Webinar passcode](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords). By default, passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ * !] and can have a maximum of 10 characters.
+
+ **Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
+
+ If "**Require a passcode when scheduling new meetings**" setting has been **enabled** **and** [locked](https://support.zoom.us/hc/en-us/articles/115005269866-Using-Tiered-Settings#locked) for the user, the passcode field will be autogenerated for the Webinar in the response even if it is not provided in the API request.
+
+
+
+
+
+
+
+ maxLength: 10
+ type: string
+ recurrence:
+ description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
+ properties:
+ end_date_time:
+ description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ default: 1
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |+
+ Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
+
+ type: integer
+ type:
+ description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ default: "1"
+ description: |-
+ This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - "1"
+ - "2"
+ - "3"
+ - "4"
+ - "5"
+ - "6"
+ - "7"
+ type: string
+ required:
+ - type
+ type: object
+ settings:
+ allOf:
+ - description: Webinar settings.
+ properties:
+ allow_multiple_devices:
+ description: Allow attendees to join from multiple devices.
+ type: boolean
+ alternative_hosts:
+ description: Alternative host emails or IDs. Multiple values separated by comma.
+ type: string
+ approval_type:
+ default: 2
+ description: "`0` - Automatically approve. `1` - Manually approve. `2` - No registration required."
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ attendees_and_panelists_reminder_email_notification:
+ description: Send reminder email to attendees and panelists.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send reminder email to attendees and panelists.
+
+ * `false`: Do not send reminder email to attendees and panelists.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 hour before webinar.
+ - Send 1 day before webinar.
+ - Send 1 hour and 1 day before webinar.
+ - Send 1 week before webinar.
+ - Send 1 hour and 1 week before webinar.
+ - Send 1 day and 1 week before webinar.
+ - Send 1 hour, 1 day and 1 week before webinar.
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the webinar.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
+ type: string
+ authentication_name:
+ description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
+ type: string
+ authentication_option:
+ description: Webinar authentication option id.
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ close_registration:
+ description: Close registration after event date.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ email_language:
+ description: |-
+ Set the email language to one of the following:
+ `en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
+ type: string
+ enforce_login:
+ description: |-
+ Only signed in users can join this meeting.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
+ type: boolean
+ enforce_login_domains:
+ description: |-
+ Only signed in users with specified domains can join meetings.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
+ type: string
+ follow_up_absentees_email_notification:
+ description: Send follow-up email to absentees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to absentees.
+
+ * `false`: Do not send follow-up email to absentees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 days after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ follow_up_attendees_email_notification:
+ description: Send follow-up email to attendees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to attendees.
+
+ * `false`: Do not send follow-up email to attendees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 day after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ hd_video:
+ default: false
+ description: Default to HD video.
+ type: boolean
+ host_video:
+ description: Start video when host joins webinar.
+ type: boolean
+ meeting_authentication:
+ description: "`true`- Only authenticated users can join Webinar."
+ type: boolean
+ notify_registrants:
+ description: Send notification email to registrants when the host updates a webinar.
+ type: boolean
+ on_demand:
+ default: false
+ description: Make the webinar on-demand
+ type: boolean
+ panelists_invitation_email_notification:
+ description: |-
+ * `true`: Send invitation email to panelists.
+
+ * `false`: Do not send invitation email to panelists.
+ type: boolean
+ panelists_video:
+ description: Start video when panelists join webinar.
+ type: boolean
+ post_webinar_survey:
+ description: Zoom will open a survey page in attendees' browsers after leaving the webinar
+ type: boolean
+ practice_session:
+ default: false
+ description: Enable practice session.
+ type: boolean
+ question_and_answer:
+ description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
+ properties:
+ allow_anonymous_questions:
+ description: |-
+ * `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
+
+ * `false`: Do not allow anonymous questions.
+ type: boolean
+ answer_questions:
+ description: |-
+ Indicate whether you want attendees to be able to view answered questions only or view all questions.
+
+ * `only`: Attendees are able to view answered questions only.
+
+ * `all`: Attendees are able to view all questions submitted in the Q&A.
+ enum:
+ - only
+ - all
+ type: string
+ attendees_can_comment:
+ description: |-
+ * `true`: Attendees can answer questions or leave a comment in the question thread.
+
+ * `false`: Attendees can not answer questions or leave a comment in the question thread
+ type: boolean
+ attendees_can_upvote:
+ description: |-
+ * `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
+
+ * `false`: Attendees can not click the thumbs up butoon on questions.
+ type: boolean
+ enable:
+ description: |-
+ * `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
+
+ * `false`: Disable Q&A for webinar.
+ type: boolean
+ type: object
+ registrants_confirmation_email:
+ description: Send confirmation email to registrants
+ type: boolean
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registrants_restrict_number:
+ default: 0
+ description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
+ maximum: 20000
+ minimum: 0
+ type: integer
+ registration_type:
+ default: 1
+ description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: Show social share buttons on the registration page.
+ type: boolean
+ survey_url:
+ description: Survey url for post webinar survey
+ type: string
+ type: object
+ - properties:
+ registrants_confirmation_email:
+ description: Send confirmation email to registrants.
+ type: boolean
+ type: object
+ start_time:
+ description: Webinar start time, in the format "yyyy-MM-dd'T'HH:mm:ss'Z'." Should be in GMT time. In the format "yyyy-MM-dd'T'HH:mm:ss." This should be in local time and the timezone should be specified. Only used for scheduled webinars and recurring webinars with a fixed time.
+ format: date-time
+ type: string
+ timezone:
+ description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [time zone](#timezones) list for supported time zones and their formats.
+ type: string
+ topic:
+ description: Webinar topic.
+ type: string
+ tracking_fields:
+ description: Tracking fields
+ items:
+ properties:
+ field:
+ description: Tracking fields type
+ type: string
+ value:
+ description: Tracking fields value
+ type: string
+ type: object
+ type: array
+ type:
+ default: 5
+ description: Webinar Types: `5` - webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
+ enum:
+ - 5
+ - 6
+ - 9
+ type: integer
+ x-enum-descriptions:
+ - Webinar
+ - Recurring Webinar with no fixed time
+ - Recurring Webinar with fixed time
+ type: object
+ description: Webinar object
+ type: object
+ multipart/form-data:
+ schema:
+ allOf:
+ - description: Base webinar object for sessions.
+ properties:
+ agenda:
+ description: Webinar description.
+ type: string
+ duration:
+ description: Webinar duration (minutes). Used for scheduled webinar only.
+ type: integer
+ password:
+ description: |+
+ [Webinar passcode](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords). By default, passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ * !] and can have a maximum of 10 characters.
+
+ **Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
+
+ If "**Require a passcode when scheduling new meetings**" setting has been **enabled** **and** [locked](https://support.zoom.us/hc/en-us/articles/115005269866-Using-Tiered-Settings#locked) for the user, the passcode field will be autogenerated for the Webinar in the response even if it is not provided in the API request.
+
+
+
+
+
+
+
+ maxLength: 10
+ type: string
+ recurrence:
+ description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
+ properties:
+ end_date_time:
+ description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ default: 1
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |+
+ Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
+
+ type: integer
+ type:
+ description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ default: "1"
+ description: |-
+ This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - "1"
+ - "2"
+ - "3"
+ - "4"
+ - "5"
+ - "6"
+ - "7"
+ type: string
+ required:
+ - type
+ type: object
+ settings:
+ allOf:
+ - description: Webinar settings.
+ properties:
+ allow_multiple_devices:
+ description: Allow attendees to join from multiple devices.
+ type: boolean
+ alternative_hosts:
+ description: Alternative host emails or IDs. Multiple values separated by comma.
+ type: string
+ approval_type:
+ default: 2
+ description: "`0` - Automatically approve. `1` - Manually approve. `2` - No registration required."
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ attendees_and_panelists_reminder_email_notification:
+ description: Send reminder email to attendees and panelists.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send reminder email to attendees and panelists.
+
+ * `false`: Do not send reminder email to attendees and panelists.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 hour before webinar.
+ - Send 1 day before webinar.
+ - Send 1 hour and 1 day before webinar.
+ - Send 1 week before webinar.
+ - Send 1 hour and 1 week before webinar.
+ - Send 1 day and 1 week before webinar.
+ - Send 1 hour, 1 day and 1 week before webinar.
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the webinar.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
+ type: string
+ authentication_name:
+ description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
+ type: string
+ authentication_option:
+ description: Webinar authentication option id.
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ close_registration:
+ description: Close registration after event date.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ email_language:
+ description: |-
+ Set the email language to one of the following:
+ `en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
+ type: string
+ enforce_login:
+ description: |-
+ Only signed in users can join this meeting.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
+ type: boolean
+ enforce_login_domains:
+ description: |-
+ Only signed in users with specified domains can join meetings.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
+ type: string
+ follow_up_absentees_email_notification:
+ description: Send follow-up email to absentees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to absentees.
+
+ * `false`: Do not send follow-up email to absentees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 days after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ follow_up_attendees_email_notification:
+ description: Send follow-up email to attendees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to attendees.
+
+ * `false`: Do not send follow-up email to attendees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 day after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ hd_video:
+ default: false
+ description: Default to HD video.
+ type: boolean
+ host_video:
+ description: Start video when host joins webinar.
+ type: boolean
+ meeting_authentication:
+ description: "`true`- Only authenticated users can join Webinar."
+ type: boolean
+ notify_registrants:
+ description: Send notification email to registrants when the host updates a webinar.
+ type: boolean
+ on_demand:
+ default: false
+ description: Make the webinar on-demand
+ type: boolean
+ panelists_invitation_email_notification:
+ description: |-
+ * `true`: Send invitation email to panelists.
+
+ * `false`: Do not send invitation email to panelists.
+ type: boolean
+ panelists_video:
+ description: Start video when panelists join webinar.
+ type: boolean
+ post_webinar_survey:
+ description: Zoom will open a survey page in attendees' browsers after leaving the webinar
+ type: boolean
+ practice_session:
+ default: false
+ description: Enable practice session.
+ type: boolean
+ question_and_answer:
+ description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
+ properties:
+ allow_anonymous_questions:
+ description: |-
+ * `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
+
+ * `false`: Do not allow anonymous questions.
+ type: boolean
+ answer_questions:
+ description: |-
+ Indicate whether you want attendees to be able to view answered questions only or view all questions.
+
+ * `only`: Attendees are able to view answered questions only.
+
+ * `all`: Attendees are able to view all questions submitted in the Q&A.
+ enum:
+ - only
+ - all
+ type: string
+ attendees_can_comment:
+ description: |-
+ * `true`: Attendees can answer questions or leave a comment in the question thread.
+
+ * `false`: Attendees can not answer questions or leave a comment in the question thread
+ type: boolean
+ attendees_can_upvote:
+ description: |-
+ * `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
+
+ * `false`: Attendees can not click the thumbs up butoon on questions.
+ type: boolean
+ enable:
+ description: |-
+ * `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
+
+ * `false`: Disable Q&A for webinar.
+ type: boolean
+ type: object
+ registrants_confirmation_email:
+ description: Send confirmation email to registrants
+ type: boolean
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registrants_restrict_number:
+ default: 0
+ description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
+ maximum: 20000
+ minimum: 0
+ type: integer
+ registration_type:
+ default: 1
+ description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: Show social share buttons on the registration page.
+ type: boolean
+ survey_url:
+ description: Survey url for post webinar survey
+ type: string
+ type: object
+ - properties:
+ registrants_confirmation_email:
+ description: Send confirmation email to registrants.
+ type: boolean
+ type: object
+ start_time:
+ description: Webinar start time, in the format "yyyy-MM-dd'T'HH:mm:ss'Z'." Should be in GMT time. In the format "yyyy-MM-dd'T'HH:mm:ss." This should be in local time and the timezone should be specified. Only used for scheduled webinars and recurring webinars with a fixed time.
+ format: date-time
+ type: string
+ timezone:
+ description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [time zone](#timezones) list for supported time zones and their formats.
+ type: string
+ topic:
+ description: Webinar topic.
+ type: string
+ tracking_fields:
+ description: Tracking fields
+ items:
+ properties:
+ field:
+ description: Tracking fields type
+ type: string
+ value:
+ description: Tracking fields value
+ type: string
+ type: object
+ type: array
+ type:
+ default: 5
+ description: Webinar Types: `5` - webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
+ enum:
+ - 5
+ - 6
+ - 9
+ type: integer
+ x-enum-descriptions:
+ - Webinar
+ - Recurring Webinar with no fixed time
+ - Recurring Webinar with fixed time
+ type: object
+ description: Webinar object
+ type: object
+ description: Webinar.
+ required: true
+ x-examples:
+ application/json:
+ agenda: string
+ duration: integer
+ password: string
+ settings:
+ allow_multiple_devices: boolean
+ alternative_hosts: string
+ approval_type: integer
+ attendees_and_panelists_reminder_email_notification:
+ enable: boolean
+ type: integer
+ audio: string
+ auto_recording: string
+ close_registration: boolean
+ email_language: string
+ enforce_login: boolean
+ enforce_login_domains: string
+ follow_up_absentees_email_notification:
+ enable: boolean
+ type: integer
+ follow_up_attendees_email_notification:
+ enable: boolean
+ type: integer
+ hd_video: boolean
+ host_video: boolean
+ notify_registrants: boolean
+ panelists_invitation_email_notification: boolean
+ panelists_video: boolean
+ practice_session: boolean
+ registrants_confirmation_email: boolean
+ registrants_email_notification: boolean
+ registration_type: integer
+ show_share_button: boolean
+ start_time: string [date-time]
+ timezone: string
+ topic: string
+ type: integer
+ responses:
+ "200":
+ description: |-
+ **HTTP Status Code:** `200`
+ Webinar subscription plan is missing. Enable webinar for this user once the subscription is added:{userId}.
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ Webinar updated.
+ "300":
+ description: |-
+ **HTTP Status Code:** `300` Invalid webinar Id.
+ Invalid recurrence settings.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ Bad request
+ **Error Code:** `1010`
+ User does not belong to this account:{accountId}.
+ **Error Code:** `3003`
+ You are not the meeting host.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Webinar not found.
+ **Error Code:** `1001`
+ User {userId} does not exist or does not belong to this account.
+ **Error Code:** `3001`
+ Webinar {webinarId} not found or has expired.
+ security:
+ - OAuth: []
+ summary: Update a webinar
+ tags:
+ - Webinars
+ "/webinars/{webinarId}/batch_registrants":
+ parameters:
+ - in: path
+ name: webinarId
+ required: true
+ schema:
+ type: string
+ post:
+ description: |+
+ Use this API to register up to 30 registrants at once for a scheduled webinar that requires [registration](https://support.zoom.us/hc/en-us/articles/204619915-Scheduling-a-webinar-with-registration).
+
+ **Prerequisites:**
+ * The webinar host must be a Licensed user.
+ * The webinar should be of type `5`, i.e., it should be a scheduled webinar. Other types of webinars are not supported by this API.
+ **Scope:** `webinar:write`, `webinar:write:admin`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
+
+
+
+
+
+
+
+ operationId: addBatchWebinarRegistrants
+ parameters:
+ - description: Unique identifier of the webinar.
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ auto_approve:
+ description: |-
+ If a meeting was scheduled with approval_type `1` (manual approval), but you would like to automatically approve the registrants that are added via this API, you can set the value of this field to `true`.
+
+ You **cannot** use this field to change approval setting for a meeting that was originally scheduled with approval_type `0` (automatic approval).
+ type: boolean
+ registrants:
+ items:
+ properties:
+ email:
+ description: Email address of the registrant.
+ format: email
+ type: string
+ first_name:
+ description: First name of the registrant.
+ type: string
+ last_name:
+ description: Last name of the registrant.
+ type: string
+ required:
+ - first_name
+ - email
+ type: object
+ type: array
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ auto_approve:
+ description: |-
+ If a meeting was scheduled with approval_type `1` (manual approval), but you would like to automatically approve the registrants that are added via this API, you can set the value of this field to `true`.
+
+ You **cannot** use this field to change approval setting for a meeting that was originally scheduled with approval_type `0` (automatic approval).
+ type: boolean
+ registrants:
+ items:
+ properties:
+ email:
+ description: Email address of the registrant.
+ format: email
+ type: string
+ first_name:
+ description: First name of the registrant.
+ type: string
+ last_name:
+ description: Last name of the registrant.
+ type: string
+ required:
+ - first_name
+ - email
+ type: object
+ type: array
+ type: object
+ x-examples:
+ application/json:
+ auto_approve: false
+ registrants:
+ - email: AqJiu@BkIJbPQOXXngjYCpbrlI.zyax
+ first_name: Harry
+ last_name: CHarles
+ - email: DEih6AZ@mvRTbzqfUSOItBkyPDbNbAW.ouz
+ first_name: Mary
+ last_name: Jones
+ - email: i8OzhqFt2h@YKJmTmm.tge
+ first_name: Shekhar
+ last_name: Kumar
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ registrants:
+ - email: AqJiu@BkIJbPQOXXngjYCpbrlI.zyax
+ join_url: " https://zoom.us/w/9999999?tk=oZuwHfdgAAAAAAAAAAAAAAAA&uuid=WN_XW4_SdxBBBBxLDQt"
+ registrant_id: conseret14re
+ - email: DEih6AZ@mvRTbzqfUSOItBkyPDbNbAW.ouz
+ join_url: " https://zoom.us/w/9999999?tk=oZu52542356AAAAAA&uuid=WN_XW4_SdxBBBBxLDQt"
+ registrant_id: fdgsfh2ey82fuh
+ - email: i8OzhqFt2h@YKJmTmm.tge
+ join_url: " https://zoom.us/w/9999999?tk=ozghdfdsghf36AAA&uuid=WN_XW4_SdxBBBBxLDQt"
+ registrant_id: hdsfhjf3iwh
+ schema:
+ properties:
+ registrants:
+ items:
+ properties:
+ email:
+ description: Email address of the registrant.
+ type: string
+ join_url:
+ description: Unique URL using which registrant can join the webinar.
+ type: string
+ registrant_id:
+ description: Unique identifier of the registrant.
+ type: string
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ properties:
+ registrants:
+ items:
+ properties:
+ email:
+ description: Email address of the registrant.
+ type: string
+ join_url:
+ description: Unique URL using which registrant can join the webinar.
+ type: string
+ registrant_id:
+ description: Unique identifier of the registrant.
+ type: string
+ type: object
+ type: array
+ type: object
+ description: |-
+ **HTTP Status Code:** `200` **OK**
+ Registrants added.
+ "400":
+ description: |+
+ **HTTP Status Code:** `400` **Bad Request**
+ **Error Code:** `200` Webinar plan is missing. You must subscribe to the webinar plan and enable webinar for this user: {0} in order to perform this action.
+ **Error Code:** `300`
+ This API can only be used for scheduled webinar(webinar type: 5). Batch registration is not supported for other webinar types.
+ **Error Code:** `3038`
+ This webinar is over, you can no longer register for this webinar. If you have any questions, please contact the webinar host.
+ **Error Code:** `3000` Registration has not been enabled for this webinar: {0}.
+
+ "404":
+ description: |+
+ **HTTP Status Code:** `404` **Not Found**
+ **Error Code:** `3001`
+ Webinar does not exist: {0}.
+ **Error Code:** `3043`
+ Webinar has reached maximum attendee capacity.
+ **Error Code:** `404`
+ Registration has not been enabled for this meeting: {meetingId}.
+
+
+
+ security:
+ - OAuth: []
+ - Bearer: []
+ summary: Perform batch registration
+ tags:
+ - Webinars
+ "/webinars/{webinarId}/panelists":
+ delete:
+ description: |-
+ Remove all the panelists from a Webinar.
+ **Scopes:** `webinar:write:admin` `webinar:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ **Prerequisites:**
+ * Pro or a higher plan with [Webinar Add-on](https://zoom.us/webinar).
+ operationId: webinarPanelistsDelete
+ parameters:
+ - description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ Panelists removed.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ Bad request
+ **Error Code:** `1010`
+ User does not belong to this account:{accountId}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Webinar not found.
+ **Error Code:** `1001`
+ User {userId} does not exist or does not belong to this account.
+ **Error Code:** `3001`
+ Webinar {webinarId} not found or has expired.
+ security:
+ - OAuth: []
+ summary: Remove panelists
+ tags:
+ - Webinars
+ get:
+ description: |-
+ Panelists in a Webinar can view and send video, screen share, annotate, etc and do much more compared to attendees in a Webinar.
+
+ Use this API to list all the panelists of a Webinar.
+ **Scopes:** `webinar:read:admin` `webinar:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ **Prerequisites:**
+ * Pro or a higher plan with [Webinar Add-on](https://zoom.us/webinar).
+ operationId: webinarPanelists
+ parameters:
+ - description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ panelists:
+ - email: maryjkdfdsgfshdgf@jdfdkjdglfk.jkfgdj
+ name: Mary
+ - email: dfdsgfsdhf@jkgfdgfkdhgfdjg.fkjgdf
+ name: Mike
+ total_records: "2"
+ schema:
+ allOf:
+ - description: List of panelists.
+ properties:
+ panelists:
+ description: List of panelist objects.
+ items:
+ allOf:
+ - properties:
+ id:
+ description: Panelist's ID.
+ type: string
+ type: object
+ - description: Panelist base object.
+ properties:
+ email:
+ description: Panelist's email.
+ format: email
+ type: string
+ name:
+ description: Panelist's full name.
+ type: string
+ type: object
+ - properties:
+ join_url:
+ description: Join URL.
+ type: string
+ type: object
+ type: array
+ total_records:
+ description: Total records.
+ type: integer
+ title: Panelist List
+ type: object
+ description: Webinar panelist.
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - description: List of panelists.
+ properties:
+ panelists:
+ description: List of panelist objects.
+ items:
+ allOf:
+ - properties:
+ id:
+ description: Panelist's ID.
+ type: string
+ type: object
+ - description: Panelist base object.
+ properties:
+ email:
+ description: Panelist's email.
+ format: email
+ type: string
+ name:
+ description: Panelist's full name.
+ type: string
+ type: object
+ - properties:
+ join_url:
+ description: Join URL.
+ type: string
+ type: object
+ type: array
+ total_records:
+ description: Total records.
+ type: integer
+ title: Panelist List
+ type: object
+ description: Webinar panelist.
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Webinar plan subscription missing. Enable webinar for this user once the subscription is added.
+ "300":
+ description: "**HTTP Status Code:** `300` "
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ Bad request
+ **Error Code:** `1010`
+ User does not belong to this account:{accountId}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Webinar not found.
+ **Error Code:** `1001`
+ User {userId} does not exist or does not belong to this account.
+ **Error Code:** `3001`
+ Webinar {webinarId} not found or has expired.
+ security:
+ - OAuth: []
+ summary: List panelists
+ tags:
+ - Webinars
+ post:
+ description: |-
+ Panelists in a Webinar can view and send video, screen share, annotate, etc and do much more compared to attendees in a webinar. Use this API to [add panelists](https://support.zoom.us/hc/en-us/articles/115005657826-Inviting-Panelists-to-a-Webinar#h_7550d59e-23f5-4703-9e22-e76bded1ed70) to a scheduled webinar.
+ **Scopes:** `webinar:write:admin` `webinar:write`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+
+
+ **Prerequisites:**
+ * Pro or a higher plan with [Webinar Add-on](https://zoom.us/webinar).
+ operationId: webinarPanelistCreate
+ parameters:
+ - description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ description: Webinar panelist.
+ properties:
+ panelists:
+ description: List of panelist objects.
+ items:
+ allOf:
+ - description: Panelist base object.
+ properties:
+ email:
+ description: Panelist's email.
+ format: email
+ type: string
+ name:
+ description: Panelist's full name.
+ type: string
+ type: object
+ maximum: 30
+ type: array
+ type: object
+ multipart/form-data:
+ schema:
+ description: Webinar panelist.
+ properties:
+ panelists:
+ description: List of panelist objects.
+ items:
+ allOf:
+ - description: Panelist base object.
+ properties:
+ email:
+ description: Panelist's email.
+ format: email
+ type: string
+ name:
+ description: Panelist's full name.
+ type: string
+ type: object
+ maximum: 30
+ type: array
+ type: object
+ required: true
+ x-examples:
+ application/json:
+ panelists:
+ - email: maryjkdfdsgfshdgf@jdfdkjdglfk.jkfgdj
+ name: Mary
+ - email: dfdsgfsdhf@jkgfdgfkdhgfdjg.fkjgdf
+ name: Mike
+ responses:
+ "200":
+ description: |-
+ **HTTP Status Code:** `200`
+ Webinar plan subscription missing. Enable webinar for this user once the subscription is added.
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ id: doetwerggrlor
+ updated_at: 2019-01-25T10:04:27.051Z
+ schema:
+ properties:
+ id:
+ description: Webinar Id.
+ type: string
+ updated_at:
+ description: The time at which the panelist was added.
+ format: date-time
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ id:
+ description: Webinar Id.
+ type: string
+ updated_at:
+ description: The time at which the panelist was added.
+ format: date-time
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `201`
+ Panelist created.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ Bad request
+ **Error Code:** `1010`
+ User does not belong to this account:{accountId}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Webinar not found.
+ **Error Code:** `1001`
+ User {userId} does not exist or does not belong to this account.
+ **Error Code:** `3001`
+ Webinar {webinarId} not found or has expired.
+ security:
+ - OAuth: []
+ summary: Add panelists
+ tags:
+ - Webinars
+ "/webinars/{webinarId}/panelists/{panelistId}":
+ delete:
+ description: |-
+ [Remove](https://support.zoom.us/hc/en-us/articles/115005657826-Inviting-Panelists-to-a-Webinar#h_de31f237-a91c-4fb2-912b-ecfba8ec5ffb) a single panelist from a webinar. You can retrieve the `panelistId` by calling **List Panelists API**.
+ **Scopes:** `webinar:write:admin` `webinar:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+
+ **Prerequisites:**
+ * Pro or a higher plan with [Webinar Add-on](https://zoom.us/webinar).
+ operationId: webinarPanelistDelete
+ parameters:
+ - description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: The panelist ID or panelist email.
+ in: path
+ name: panelistId
+ required: true
+ schema:
+ type: integer
+ responses:
+ "200":
+ description: |-
+ **HTTP Status Code:** `200`
+ Webinar plan subscription is missing. Enable webinar for this user once the subscription is added:{userId}.
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ Panelists removed.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ Bad request
+ **Error Code:** `1010`
+ User does not belong to this account:{accountId}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Webinar not found.
+ **Error Code:** `1001`
+ User {email} does not exist or does not belong to this account.
+ **Error Code:** `3001`
+ Webinar {webinarId} not found or has expired.
+ security:
+ - OAuth: []
+ summary: Remove a panelist
+ tags:
+ - Webinars
+ "/webinars/{webinarId}/polls":
+ get:
+ description: |+
+ List all the [polls](https://support.zoom.us/hc/en-us/articles/203749865-Polling-for-Webinars) of a Webinar.
+ **Scopes:** `webinar:read:admin` `webinar:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: webinarPolls
+ parameters:
+ - description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ id: cdjfhdsdfd
+ questions:
+ - answers:
+ - Good
+ - Not so good
+ name: How are you?
+ type: multiple
+ status: ended
+ title: Learn something new
+ schema:
+ allOf:
+ - properties:
+ polls:
+ description: Array of Polls
+ items:
+ allOf:
+ - properties:
+ id:
+ description: ID of Poll
+ type: string
+ status:
+ description: Status of Poll: `notstart` - Poll not started `started` - Poll started `ended` - Poll ended `sharing` - Sharing poll results
+ enum:
+ - notstart
+ - started
+ - ended
+ - sharing
+ type: string
+ x-enum-descriptions:
+ - Poll not start
+ - Poll started
+ - Poll ended
+ - Poll is sharing
+ - description: Poll
+ properties:
+ questions:
+ description: Array of Polls
+ items:
+ properties:
+ answers:
+ description: Answers to the questions
+ items:
+ type: string
+ type: array
+ name:
+ description: Question to be asked to the attendees.
+ type: string
+ type:
+ description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
+ enum:
+ - single
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - single answer
+ - multiple answer
+ type: object
+ type: array
+ title:
+ description: Title for the poll.
+ type: string
+ title: Poll
+ type: object
+ type: array
+ total_records:
+ description: The number of all records available across pages
+ type: integer
+ description: Poll List
+ title: Poll List
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ polls:
+ description: Array of Polls
+ items:
+ allOf:
+ - properties:
+ id:
+ description: ID of Poll
+ type: string
+ status:
+ description: Status of Poll: `notstart` - Poll not started `started` - Poll started `ended` - Poll ended `sharing` - Sharing poll results
+ enum:
+ - notstart
+ - started
+ - ended
+ - sharing
+ type: string
+ x-enum-descriptions:
+ - Poll not start
+ - Poll started
+ - Poll ended
+ - Poll is sharing
+ - description: Poll
+ properties:
+ questions:
+ description: Array of Polls
+ items:
+ properties:
+ answers:
+ description: Answers to the questions
+ items:
+ type: string
+ type: array
+ name:
+ description: Question to be asked to the attendees.
+ type: string
+ type:
+ description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
+ enum:
+ - single
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - single answer
+ - multiple answer
+ type: object
+ type: array
+ title:
+ description: Title for the poll.
+ type: string
+ title: Poll
+ type: object
+ type: array
+ total_records:
+ description: The number of all records available across pages
+ type: integer
+ description: Poll List
+ title: Poll List
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ List polls of a Webinar returned
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Webinar not found.
+ security:
+ - OAuth: []
+ summary: "List a webinar's polls "
+ tags:
+ - Webinars
+ post:
+ description: |+
+ Create a [poll](https://support.zoom.us/hc/en-us/articles/203749865-Polling-for-Webinars) for a webinar.
+ **Scopes:** `webinar:write:admin` `webinar:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: webinarPollCreate
+ parameters:
+ - description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ allOf:
+ - description: Poll
+ properties:
+ questions:
+ description: Array of Polls
+ items:
+ properties:
+ answers:
+ description: Answers to the questions
+ items:
+ type: string
+ type: array
+ name:
+ description: Question to be asked to the attendees.
+ type: string
+ type:
+ description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
+ enum:
+ - single
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - single answer
+ - multiple answer
+ type: object
+ type: array
+ title:
+ description: Title for the poll.
+ type: string
+ title: Poll
+ type: object
+ multipart/form-data:
+ schema:
+ allOf:
+ - description: Poll
+ properties:
+ questions:
+ description: Array of Polls
+ items:
+ properties:
+ answers:
+ description: Answers to the questions
+ items:
+ type: string
+ type: array
+ name:
+ description: Question to be asked to the attendees.
+ type: string
+ type:
+ description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
+ enum:
+ - single
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - single answer
+ - multiple answer
+ type: object
+ type: array
+ title:
+ description: Title for the poll.
+ type: string
+ title: Poll
+ type: object
+ description: Webinar poll object
+ required: true
+ x-examples:
+ application/json:
+ questions:
+ - answers:
+ - Good
+ - Not so good
+ name: How are you?
+ type: multiple
+ title: Learn something new
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ id: cdjfhdsdfd
+ questions:
+ - answers:
+ - Good
+ - Not so good
+ name: How are you?
+ type: multiple
+ status: ended
+ title: Learn something new
+ schema:
+ allOf:
+ - properties:
+ id:
+ description: Webinar Poll ID
+ type: string
+ status:
+ description: Status of the Webinar Poll: `notstart` - Poll not started `started` - Poll started `ended` - Poll ended `sharing` - Sharing poll results
+ enum:
+ - notstart
+ - started
+ - ended
+ - sharing
+ type: string
+ x-enum-descriptions:
+ - Poll not start
+ - Poll started
+ - Poll ended
+ - Poll is sharing
+ type: object
+ - description: Poll
+ properties:
+ questions:
+ description: Array of Polls
+ items:
+ properties:
+ answers:
+ description: Answers to the questions
+ items:
+ type: string
+ type: array
+ name:
+ description: Question to be asked to the attendees.
+ type: string
+ type:
+ description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
+ enum:
+ - single
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - single answer
+ - multiple answer
+ type: object
+ type: array
+ title:
+ description: Title for the poll.
+ type: string
+ title: Poll
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ id:
+ description: Webinar Poll ID
+ type: string
+ status:
+ description: Status of the Webinar Poll: `notstart` - Poll not started `started` - Poll started `ended` - Poll ended `sharing` - Sharing poll results
+ enum:
+ - notstart
+ - started
+ - ended
+ - sharing
+ type: string
+ x-enum-descriptions:
+ - Poll not start
+ - Poll started
+ - Poll ended
+ - Poll is sharing
+ type: object
+ - description: Poll
+ properties:
+ questions:
+ description: Array of Polls
+ items:
+ properties:
+ answers:
+ description: Answers to the questions
+ items:
+ type: string
+ type: array
+ name:
+ description: Question to be asked to the attendees.
+ type: string
+ type:
+ description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
+ enum:
+ - single
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - single answer
+ - multiple answer
+ type: object
+ type: array
+ title:
+ description: Title for the poll.
+ type: string
+ title: Poll
+ type: object
+ description: |-
+ **HTTP Status Code:** `201`
+ Webinar Poll Created
+ headers:
+ Content-Location:
+ description: Location of created Webinar Poll
+ schema:
+ type: string
+ "300":
+ description: "**HTTP Status Code:** `300` Invalid webinarId."
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Webinar not found.
+ security:
+ - OAuth: []
+ summary: Create a webinar's poll
+ tags:
+ - Webinars
+ "/webinars/{webinarId}/polls/{pollId}":
+ delete:
+ description: |+
+ Delete a webinar's [poll](https://support.zoom.us/hc/en-us/articles/203749865-Polling-for-Webinars).
+ **Scopes:** `webinar:write:admin` `webinar:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: webinarPollDelete
+ parameters:
+ - description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: The poll ID
+ in: path
+ name: pollId
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ Webinar Poll deleted
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Webinar poll not found.
+ **Error Code:** `3001`
+ Webinar {webinarId} not found or has expired.
+ security:
+ - OAuth: []
+ summary: Delete a webinar poll
+ tags:
+ - Webinars
+ get:
+ description: |+
+ Get a webinar's [poll](https://support.zoom.us/hc/en-us/articles/203749865-Polling-for-Webinars) details.
+ **Scopes:** `webinar:read:admin` `webinar:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: webinarPollGet
+ parameters:
+ - description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: The poll ID
+ in: path
+ name: pollId
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ id: cdjfhdsdfd
+ questions:
+ - answers:
+ - Good
+ - Not so good
+ name: How are you?
+ type: multiple
+ status: ended
+ title: Learn something new
+ schema:
+ allOf:
+ - properties:
+ id:
+ description: Webinar Poll ID
+ type: string
+ status:
+ description: Status of the Webinar Poll: `notstart` - Poll not started `started` - Poll started `ended` - Poll ended `sharing` - Sharing poll results
+ enum:
+ - notstart
+ - started
+ - ended
+ - sharing
+ type: string
+ x-enum-descriptions:
+ - Poll not start
+ - Poll started
+ - Poll ended
+ - Poll is sharing
+ type: object
+ - description: Poll
+ properties:
+ questions:
+ description: Array of Polls
+ items:
+ properties:
+ answers:
+ description: Answers to the questions
+ items:
+ type: string
+ type: array
+ name:
+ description: Question to be asked to the attendees.
+ type: string
+ type:
+ description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
+ enum:
+ - single
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - single answer
+ - multiple answer
+ type: object
+ type: array
+ title:
+ description: Title for the poll.
+ type: string
+ title: Poll
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ id:
+ description: Webinar Poll ID
+ type: string
+ status:
+ description: Status of the Webinar Poll: `notstart` - Poll not started `started` - Poll started `ended` - Poll ended `sharing` - Sharing poll results
+ enum:
+ - notstart
+ - started
+ - ended
+ - sharing
+ type: string
+ x-enum-descriptions:
+ - Poll not start
+ - Poll started
+ - Poll ended
+ - Poll is sharing
+ type: object
+ - description: Poll
+ properties:
+ questions:
+ description: Array of Polls
+ items:
+ properties:
+ answers:
+ description: Answers to the questions
+ items:
+ type: string
+ type: array
+ name:
+ description: Question to be asked to the attendees.
+ type: string
+ type:
+ description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
+ enum:
+ - single
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - single answer
+ - multiple answer
+ type: object
+ type: array
+ title:
+ description: Title for the poll.
+ type: string
+ title: Poll
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Webinar Poll object returned
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Webinar not found.
+ **Error Code:** `3001`
+ Webinar {webinarId} not found or has expired.
+ security:
+ - OAuth: []
+ summary: Get a webinar poll
+ tags:
+ - Webinars
+ put:
+ description: |+
+ Update a webinar's [poll](https://support.zoom.us/hc/en-us/articles/203749865-Polling-for-Webinars).
+ **Scopes:** `webinar:write:admin` `webinar:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: webinarPollUpdate
+ parameters:
+ - description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: The poll ID
+ in: path
+ name: pollId
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ allOf:
+ - description: Poll
+ properties:
+ questions:
+ description: Array of Polls
+ items:
+ properties:
+ answers:
+ description: Answers to the questions
+ items:
+ type: string
+ type: array
+ name:
+ description: Question to be asked to the attendees.
+ type: string
+ type:
+ description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
+ enum:
+ - single
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - single answer
+ - multiple answer
+ type: object
+ type: array
+ title:
+ description: Title for the poll.
+ type: string
+ title: Poll
+ type: object
+ multipart/form-data:
+ schema:
+ allOf:
+ - description: Poll
+ properties:
+ questions:
+ description: Array of Polls
+ items:
+ properties:
+ answers:
+ description: Answers to the questions
+ items:
+ type: string
+ type: array
+ name:
+ description: Question to be asked to the attendees.
+ type: string
+ type:
+ description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
+ enum:
+ - single
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - single answer
+ - multiple answer
+ type: object
+ type: array
+ title:
+ description: Title for the poll.
+ type: string
+ title: Poll
+ type: object
+ description: Webinar Poll
+ required: true
+ x-examples:
+ application/json:
+ questions:
+ - answers:
+ - Good
+ - Not so good
+ name: How are you?
+ type: multiple
+ title: Learn something new
+ responses:
+ "204":
+ description: |-
+ **HTTP Status Code:** `204`
+ Webinar Poll Updated
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Webinar poll not found.
+ **Error Code:** `3001`
+ Webinar {webinarId} not found or has expired.
+ security:
+ - OAuth: []
+ summary: Update a webinar poll
+ tags:
+ - Webinars
+ "/webinars/{webinarId}/registrants":
+ get:
+ description: |+
+ Zoom users with a [Webinar Plan](https://zoom.us/webinar) have access to creating and managing Webinars. Webinar allows a host to broadcast a Zoom meeting to up to 10,000 attendees. Scheduling a [Webinar with registration](https://support.zoom.us/hc/en-us/articles/204619915-Scheduling-a-Webinar-with-Registration) requires your registrants to complete a brief form before receiving the link to join the Webinar.
+ Use this API to list all the users that have registered for a webinar.
+ **Prerequisites:**
+ * Pro or higher plan with a Webinar Add-on.
+ **Scopes:** `webinar:read:admin` `webinar:read`
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+
+ operationId: webinarRegistrants
+ parameters:
+ - description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: The meeting occurrence ID.
+ in: query
+ name: occurrence_id
+ schema:
+ type: string
+ - description: The registrant status: `pending` - Registrant's status is pending. `approved` - Registrant's status is approved. `denied` - Registrant's status is denied.
+ in: query
+ name: status
+ schema:
+ default: approved
+ enum:
+ - pending
+ - approved
+ - denied
+ type: string
+ x-enum-descriptions:
+ - registrants status is pending
+ - registrants status is approved
+ - registrants status is denied
+ - description: The tracking source ID for the registrants. Useful if you share the webinar registration page in multiple locations. See [Creating source tracking links for webinar registration](https://support.zoom.us/hc/en-us/articles/360000315683-Creating-source-tracking-links-for-webinar-registration) for details.
+ in: query
+ name: tracking_source_id
+ schema:
+ type: string
+ - description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ - description: |-
+
+ **Deprecated** - This field has been deprecated and we will stop supporting it completely in a future release. Please use "next_page_token" for pagination instead of this field.
+
+ The page number of the current page in the returned records.
+ in: query
+ name: page_number
+ schema:
+ default: 1
+ type: integer
+ - description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ page_count: "1"
+ page_number: "1"
+ page_size: "30"
+ registrants:
+ - address: dsfhkdjsfh st
+ city: jackson heights
+ comments: Looking forward to the Webinar
+ country: US
+ create_time: 2019-02-26T23:01:16.899Z
+ custom_questions:
+ - title: What do you hope to learn from this Webinar?
+ value: Look forward to learning how you come up with new recipes and what other services you offer.
+ email: sjfkghdsg@someemail.dfgjd
+ first_name: Jill
+ id: "24000002122"
+ industry: Food
+ job_title: Chef
+ join_url: https://zoom.us/webinar/mywebinarissocooldighdghodghodg
+ last_name: Chill
+ no_of_employees: "10"
+ org: Cooking Org
+ phone: "00000000"
+ purchasing_time_frame: 1-3 months
+ role_in_purchase_process: Influencer
+ state: NY
+ status: approved
+ zip: "11371"
+ total_records: "1"
+ schema:
+ allOf:
+ - allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: |-
+ **Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
+
+ The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ - properties:
+ registrants:
+ description: List of registrant objects.
+ items:
+ allOf:
+ - properties:
+ id:
+ description: Registrant ID.
+ type: string
+ type: object
+ - allOf:
+ - description: Registrant base object.
+ properties:
+ address:
+ description: Registrant's address.
+ type: string
+ city:
+ description: Registrant's city.
+ type: string
+ comments:
+ description: A field that allows registrants to provide any questions or comments that they might have.
+ type: string
+ country:
+ description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
+ type: string
+ custom_questions:
+ description: Custom questions.
+ items:
+ description: Custom Question.
+ properties:
+ title:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ email:
+ description: A valid email address of the registrant.
+ maxLength: 128
+ type: string
+ first_name:
+ description: Registrant's first name.
+ maxLength: 64
+ type: string
+ industry:
+ description: Registrant's Industry.
+ type: string
+ job_title:
+ description: Registrant's job title.
+ type: string
+ last_name:
+ description: Registrant's last name.
+ maxLength: 64
+ type: string
+ no_of_employees:
+ description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
+ type: string
+ org:
+ description: Registrant's Organization.
+ type: string
+ phone:
+ description: Registrant's Phone number.
+ type: string
+ purchasing_time_frame:
+ description: |-
+ This field can be included to gauge interest of webinar attendees towards buying your product or service.
+
+ Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
+ type: string
+ role_in_purchase_process:
+ description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
+ type: string
+ state:
+ description: Registrant's State/Province.
+ type: string
+ zip:
+ description: Registrant's Zip/Postal Code.
+ type: string
+ required:
+ - email
+ - first_name
+ type: object
+ description: " Registrant."
+ type: object
+ - properties:
+ create_time:
+ description: The time at which the registrant registered.
+ format: date-time
+ type: string
+ join_url:
+ description: The URL using which an approved registrant can join the webinar.
+ format: string
+ type: string
+ status:
+ description: "The status of the registrant's registration. `approved`: User has been successfully approved for the webinar. `pending`: The registration is still pending. `denied`: User has been denied from joining the webinar."
+ type: string
+ type: object
+ type: array
+ description: List of users.
+ title: Registration List
+ type: object
+ description: List of users.
+ title: Registration List
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: |-
+ **Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
+
+ The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ - properties:
+ registrants:
+ description: List of registrant objects.
+ items:
+ allOf:
+ - properties:
+ id:
+ description: Registrant ID.
+ type: string
+ type: object
+ - allOf:
+ - description: Registrant base object.
+ properties:
+ address:
+ description: Registrant's address.
+ type: string
+ city:
+ description: Registrant's city.
+ type: string
+ comments:
+ description: A field that allows registrants to provide any questions or comments that they might have.
+ type: string
+ country:
+ description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
+ type: string
+ custom_questions:
+ description: Custom questions.
+ items:
+ description: Custom Question.
+ properties:
+ title:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ email:
+ description: A valid email address of the registrant.
+ maxLength: 128
+ type: string
+ first_name:
+ description: Registrant's first name.
+ maxLength: 64
+ type: string
+ industry:
+ description: Registrant's Industry.
+ type: string
+ job_title:
+ description: Registrant's job title.
+ type: string
+ last_name:
+ description: Registrant's last name.
+ maxLength: 64
+ type: string
+ no_of_employees:
+ description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
+ type: string
+ org:
+ description: Registrant's Organization.
+ type: string
+ phone:
+ description: Registrant's Phone number.
+ type: string
+ purchasing_time_frame:
+ description: |-
+ This field can be included to gauge interest of webinar attendees towards buying your product or service.
+
+ Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
+ type: string
+ role_in_purchase_process:
+ description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
+ type: string
+ state:
+ description: Registrant's State/Province.
+ type: string
+ zip:
+ description: Registrant's Zip/Postal Code.
+ type: string
+ required:
+ - email
+ - first_name
+ type: object
+ description: " Registrant."
+ type: object
+ - properties:
+ create_time:
+ description: The time at which the registrant registered.
+ format: date-time
+ type: string
+ join_url:
+ description: The URL using which an approved registrant can join the webinar.
+ format: string
+ type: string
+ status:
+ description: "The status of the registrant's registration. `approved`: User has been successfully approved for the webinar. `pending`: The registration is still pending. `denied`: User has been denied from joining the webinar."
+ type: string
+ type: object
+ type: array
+ description: List of users.
+ title: Registration List
+ type: object
+ description: List of users.
+ title: Registration List
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Webinar plan subscription is missing. Enable webinar for this user once the subscription is added:{userId}.
+ "300":
+ description: "**HTTP Status Code:** `300` Invalid webinar ID."
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ Bad request
+ **Error Code:** `1010`
+ User does not belong to this account:{accountId}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Webinar not found.
+ **Error Code:** `1001`
+ User {userId} does not exist or does not belong to this account.
+ **Error Code:** `3001`
+ Webinar {webinarId} not found or has expired.
+ security:
+ - OAuth: []
+ summary: List webinar registrants
+ tags:
+ - Webinars
+ parameters:
+ - in: path
+ name: webinarId
+ required: true
+ schema:
+ type: string
+ post:
+ description: |-
+ Zoom users with a [Webinar Plan](https://zoom.us/webinar) have access to creating and managing Webinars. Webinar allows a host to broadcast a Zoom meeting to up to 10,000 attendees. Scheduling a [Webinar with registration](https://support.zoom.us/hc/en-us/articles/204619915-Scheduling-a-Webinar-with-Registration) requires your registrants to complete a brief form before receiving the link to join the Webinar. Use this API to create and submit the registration of a user for a webinar.
+ **Scopes:** `webinar:write:admin` `webinar:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ **Prerequisites:**
+ * Pro or higher plan with a Webinar Add-on.
+ operationId: webinarRegistrantCreate
+ parameters:
+ - description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: Occurrence ID. Get this value from the webinar get API. Multiple values separated by a comma.
+ in: query
+ name: occurrence_ids
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ allOf:
+ - description: Registrant base object.
+ properties:
+ address:
+ description: Registrant's address.
+ type: string
+ city:
+ description: Registrant's city.
+ type: string
+ comments:
+ description: A field that allows registrants to provide any questions or comments that they might have.
+ type: string
+ country:
+ description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
+ type: string
+ custom_questions:
+ description: Custom questions.
+ items:
+ description: Custom Question.
+ properties:
+ title:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ email:
+ description: A valid email address of the registrant.
+ maxLength: 128
+ type: string
+ first_name:
+ description: Registrant's first name.
+ maxLength: 64
+ type: string
+ industry:
+ description: Registrant's Industry.
+ type: string
+ job_title:
+ description: Registrant's job title.
+ type: string
+ last_name:
+ description: Registrant's last name.
+ maxLength: 64
+ type: string
+ no_of_employees:
+ description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
+ type: string
+ org:
+ description: Registrant's Organization.
+ type: string
+ phone:
+ description: Registrant's Phone number.
+ type: string
+ purchasing_time_frame:
+ description: |-
+ This field can be included to gauge interest of webinar attendees towards buying your product or service.
+
+ Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
+ type: string
+ role_in_purchase_process:
+ description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
+ type: string
+ state:
+ description: Registrant's State/Province.
+ type: string
+ zip:
+ description: Registrant's Zip/Postal Code.
+ type: string
+ required:
+ - email
+ - first_name
+ type: object
+ description: Webinar registrant.
+ type: object
+ multipart/form-data:
+ schema:
+ allOf:
+ - description: Registrant base object.
+ properties:
+ address:
+ description: Registrant's address.
+ type: string
+ city:
+ description: Registrant's city.
+ type: string
+ comments:
+ description: A field that allows registrants to provide any questions or comments that they might have.
+ type: string
+ country:
+ description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
+ type: string
+ custom_questions:
+ description: Custom questions.
+ items:
+ description: Custom Question.
+ properties:
+ title:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ email:
+ description: A valid email address of the registrant.
+ maxLength: 128
+ type: string
+ first_name:
+ description: Registrant's first name.
+ maxLength: 64
+ type: string
+ industry:
+ description: Registrant's Industry.
+ type: string
+ job_title:
+ description: Registrant's job title.
+ type: string
+ last_name:
+ description: Registrant's last name.
+ maxLength: 64
+ type: string
+ no_of_employees:
+ description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
+ type: string
+ org:
+ description: Registrant's Organization.
+ type: string
+ phone:
+ description: Registrant's Phone number.
+ type: string
+ purchasing_time_frame:
+ description: |-
+ This field can be included to gauge interest of webinar attendees towards buying your product or service.
+
+ Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
+ type: string
+ role_in_purchase_process:
+ description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
+ type: string
+ state:
+ description: Registrant's State/Province.
+ type: string
+ zip:
+ description: Registrant's Zip/Postal Code.
+ type: string
+ required:
+ - email
+ - first_name
+ type: object
+ description: Webinar registrant.
+ type: object
+ required: true
+ x-examples:
+ application/json:
+ address: dsfhkdjsfh st
+ city: jackson heights
+ comments: Looking forward to the Webinar
+ country: US
+ custom_questions:
+ - title: What do you hope to learn from this Webinar?
+ value: Look forward to learning how you come up with new recipes and what other services you offer.
+ email: sjfkghdsg@someemail.dfgjd
+ first_name: Jill
+ industry: Food
+ job_title: Chef
+ last_name: Chill
+ no_of_employees: "10"
+ org: Cooking Org
+ phone: "00000000"
+ purchasing_time_frame: 1-3 months
+ role_in_purchase_process: Influencer
+ state: NY
+ zip: "11371"
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ id: velit dolore minim Ut
+ join_url: pariatur
+ registrant_id: culpa deserunt ea est commodo
+ start_time: 1974-02-26T23:01:16.899Z
+ topic: et laboris Lorem in Ut
+ schema:
+ properties:
+ id:
+ description: Webinar ID
+ type: string
+ join_url:
+ description: Unique URL for this registrant to join the Webinar. This URL should only be shared with the registrant for whom the API request was made.
+ type: string
+ registrant_id:
+ description: Registrant ID
+ type: string
+ start_time:
+ description: Start time
+ format: date-time
+ type: string
+ topic:
+ description: Topic
+ maxLength: 200
+ type: string
+ type: object
+ application/xml:
+ schema:
+ properties:
+ id:
+ description: Webinar ID
+ type: string
+ join_url:
+ description: Unique URL for this registrant to join the Webinar. This URL should only be shared with the registrant for whom the API request was made.
+ type: string
+ registrant_id:
+ description: Registrant ID
+ type: string
+ start_time:
+ description: Start time
+ format: date-time
+ type: string
+ topic:
+ description: Topic
+ maxLength: 200
+ type: string
+ type: object
+ description: |-
+ **HTTP Status Code:** `201`
+ Registration created.
+ "300":
+ description: |-
+ **HTTP Status Code:** `300` Invalid webinar ID.
+ Invalid parameter: occurrence_ids.
+ Invalid user name.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ Bad request
+ **Error Code:** `1010`
+ User does not belong to this account:{accountId}.
+ **Error Code:** `3000`
+ This webinar does not have registration as required:{webinarId}.
+ **Error Code:** `3027`
+ Host can not register.
+ **Error Code:** `3034`
+ If you have been invited, please input your work email address.
+ **Error Code:** `3038`
+ Webinar is over, you can not register now. If you have any questions, please contact Webinar host.
+ "404":
+ description: |
+ **HTTP Status Code:** `404`
+ Webinar not found.
+ **Error Code:** `1001`
+ User {userId} does not exist or does not belong to this account.
+ **Error Code:** `3001`
+ Webinar {webinarId} not found or has expired.
+ security:
+ - OAuth: []
+ summary: Add a webinar registrant
+ tags:
+ - Webinars
+ "/webinars/{webinarId}/registrants/questions":
+ get:
+ description: |+
+ Scheduling a [Webinar with registration](https://support.zoom.us/hc/en-us/articles/204619915-Scheduling-a-Webinar-with-Registration) requires your registrants to complete a brief form with fields and questions before they can receive the link to join the Webinar. Use this API to list registration questions and fields that are to be answered by users while registering for a Webinar.
+ **Prerequisites:**
+ * Pro or higher plan with a Webinar Add-on.
+ **Scopes:** `webinar:read:admin` `webinar:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: webinarRegistrantsQuestionsGet
+ parameters:
+ - description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ custom_questions:
+ - answers:
+ - array of answer choices
+ required: boolean
+ title: string
+ type: string
+ questions:
+ - field_name: string
+ required: boolean
+ schema:
+ allOf:
+ - description: Webinar Registrant Questions
+ properties:
+ custom_questions:
+ description: Array of Registrant Custom Questions.
+ items:
+ properties:
+ answers:
+ description: An array of answer choices. Can't be used for short answer type.
+ items:
+ type: string
+ type: array
+ required:
+ description: State whether or not the custom question is required to be answered by a registrant.
+ type: boolean
+ title:
+ description: Custom question.
+ type: string
+ type:
+ description: The question-answer type.
+ enum:
+ - short
+ - single_radio
+ - single_dropdown
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - Short Answer
+ - Single Radio Answer
+ - Single Dropdown Answer
+ - Multiple Answer
+ type: array
+ questions:
+ description: Array of registration fields whose values should be provided by registrants during registration.
+ items:
+ properties:
+ field_name:
+ description: Field name
+ enum:
+ - last_name
+ - address
+ - city
+ - country
+ - zip
+ - state
+ - phone
+ - industry
+ - org
+ - job_title
+ - purchasing_time_frame
+ - role_in_purchase_process
+ - no_of_employees
+ - comments
+ type: string
+ x-enum-descriptions:
+ - Last Name
+ - Address
+ - City
+ - Country/Region
+ - Zip/Postal Code
+ - State/Province
+ - Phone
+ - Industry
+ - Organization
+ - Job Title
+ - Purchasing Time Frame
+ - Role in Purchase Process
+ - Number of Employees
+ - Questions & Comments
+ required:
+ description: State whether the selected fields are required or optional.
+ type: boolean
+ type: array
+ title: Webinar Registrant Questions
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - description: Webinar Registrant Questions
+ properties:
+ custom_questions:
+ description: Array of Registrant Custom Questions.
+ items:
+ properties:
+ answers:
+ description: An array of answer choices. Can't be used for short answer type.
+ items:
+ type: string
+ type: array
+ required:
+ description: State whether or not the custom question is required to be answered by a registrant.
+ type: boolean
+ title:
+ description: Custom question.
+ type: string
+ type:
+ description: The question-answer type.
+ enum:
+ - short
+ - single_radio
+ - single_dropdown
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - Short Answer
+ - Single Radio Answer
+ - Single Dropdown Answer
+ - Multiple Answer
+ type: array
+ questions:
+ description: Array of registration fields whose values should be provided by registrants during registration.
+ items:
+ properties:
+ field_name:
+ description: Field name
+ enum:
+ - last_name
+ - address
+ - city
+ - country
+ - zip
+ - state
+ - phone
+ - industry
+ - org
+ - job_title
+ - purchasing_time_frame
+ - role_in_purchase_process
+ - no_of_employees
+ - comments
+ type: string
+ x-enum-descriptions:
+ - Last Name
+ - Address
+ - City
+ - Country/Region
+ - Zip/Postal Code
+ - State/Province
+ - Phone
+ - Industry
+ - Organization
+ - Job Title
+ - Purchasing Time Frame
+ - Role in Purchase Process
+ - Number of Employees
+ - Questions & Comments
+ required:
+ description: State whether the selected fields are required or optional.
+ type: boolean
+ type: array
+ title: Webinar Registrant Questions
+ type: object
+ description: |-
+ **HTTP Status Code:** `200`
+ Webinar Registrant Question object returned
+ "404":
+ description: "**HTTP Status Code:** `404` Webinar not found"
+ security:
+ - OAuth: []
+ summary: List registration questions
+ tags:
+ - Webinars
+ patch:
+ description: |+
+ Scheduling a [Webinar with registration](https://support.zoom.us/hc/en-us/articles/204619915-Scheduling-a-Webinar-with-Registration) requires your registrants to complete a brief form with fields and questions before they can receive the link to join the Webinar. Use this API to update registration questions and fields of a scheduled Webinar that are to be answered by users while registering for a Webinar.
+ **Prerequisites:**
+ * Pro or higher plan with a Webinar Add-on.
+ * Registration option for Webinar should be set as required to use this API.
+ **Scopes:** `webinar:write:admin` `webinar:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+
+ operationId: webinarRegistrantQuestionUpdate
+ parameters:
+ - description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ allOf:
+ - description: Webinar Registrant Questions
+ properties:
+ custom_questions:
+ description: Array of Registrant Custom Questions.
+ items:
+ properties:
+ answers:
+ description: An array of answer choices. Can't be used for short answer type.
+ items:
+ type: string
+ type: array
+ required:
+ description: State whether or not the custom question is required to be answered by a registrant.
+ type: boolean
+ title:
+ description: Custom question.
+ type: string
+ type:
+ description: The question-answer type.
+ enum:
+ - short
+ - single_radio
+ - single_dropdown
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - Short Answer
+ - Single Radio Answer
+ - Single Dropdown Answer
+ - Multiple Answer
+ type: array
+ questions:
+ description: Array of registration fields whose values should be provided by registrants during registration.
+ items:
+ properties:
+ field_name:
+ description: Field name
+ enum:
+ - last_name
+ - address
+ - city
+ - country
+ - zip
+ - state
+ - phone
+ - industry
+ - org
+ - job_title
+ - purchasing_time_frame
+ - role_in_purchase_process
+ - no_of_employees
+ - comments
+ type: string
+ x-enum-descriptions:
+ - Last Name
+ - Address
+ - City
+ - Country/Region
+ - Zip/Postal Code
+ - State/Province
+ - Phone
+ - Industry
+ - Organization
+ - Job Title
+ - Purchasing Time Frame
+ - Role in Purchase Process
+ - Number of Employees
+ - Questions & Comments
+ required:
+ description: State whether the selected fields are required or optional.
+ type: boolean
+ type: array
+ title: Webinar Registrant Questions
+ type: object
+ multipart/form-data:
+ schema:
+ allOf:
+ - description: Webinar Registrant Questions
+ properties:
+ custom_questions:
+ description: Array of Registrant Custom Questions.
+ items:
+ properties:
+ answers:
+ description: An array of answer choices. Can't be used for short answer type.
+ items:
+ type: string
+ type: array
+ required:
+ description: State whether or not the custom question is required to be answered by a registrant.
+ type: boolean
+ title:
+ description: Custom question.
+ type: string
+ type:
+ description: The question-answer type.
+ enum:
+ - short
+ - single_radio
+ - single_dropdown
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - Short Answer
+ - Single Radio Answer
+ - Single Dropdown Answer
+ - Multiple Answer
+ type: array
+ questions:
+ description: Array of registration fields whose values should be provided by registrants during registration.
+ items:
+ properties:
+ field_name:
+ description: Field name
+ enum:
+ - last_name
+ - address
+ - city
+ - country
+ - zip
+ - state
+ - phone
+ - industry
+ - org
+ - job_title
+ - purchasing_time_frame
+ - role_in_purchase_process
+ - no_of_employees
+ - comments
+ type: string
+ x-enum-descriptions:
+ - Last Name
+ - Address
+ - City
+ - Country/Region
+ - Zip/Postal Code
+ - State/Province
+ - Phone
+ - Industry
+ - Organization
+ - Job Title
+ - Purchasing Time Frame
+ - Role in Purchase Process
+ - Number of Employees
+ - Questions & Comments
+ required:
+ description: State whether the selected fields are required or optional.
+ type: boolean
+ type: array
+ title: Webinar Registrant Questions
+ type: object
+ description: Webinar Registrant Questions
+ required: true
+ x-examples:
+ application/json:
+ custom_questions:
+ - answers:
+ - array of answer choices
+ required: boolean
+ title: string
+ type: string
+ questions:
+ - field_name: string
+ required: boolean
+ responses:
+ "204":
+ description: "**HTTP Status Code:** `204` Webinar Registrant Questions Updated"
+ "404":
+ description: "**HTTP Status Code:** `404` Webinar not found"
+ security:
+ - OAuth: []
+ summary: Update registration questions
+ tags:
+ - Webinars
+ "/webinars/{webinarId}/registrants/status":
+ put:
+ description: |+
+ Update a webinar registrant's status. Using this API, you can specify whether you want to approve a registration, deny a registration or cancel a previously approved registration.
+ **Scopes:** `webinar:write:admin` `webinar:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+
+ operationId: webinarRegistrantStatus
+ parameters:
+ - description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: The meeting occurrence ID.
+ in: query
+ name: occurrence_id
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ action:
+ description: "Used to approve a registrant, deny a registrant, or cancel a previously approved registrant. "
+ enum:
+ - approve
+ - cancel
+ - deny
+ type: string
+ x-enum-descriptions:
+ - Approve registrant
+ - Cancel registrant
+ - Deny registrant
+ registrants:
+ description: List of registrants.
+ items:
+ properties:
+ email:
+ description: Registrant's email address.
+ type: string
+ id:
+ description: Registrant ID
+ type: string
+ type: object
+ maximum: 30
+ type: array
+ required:
+ - action
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ action:
+ description: "Used to approve a registrant, deny a registrant, or cancel a previously approved registrant. "
+ enum:
+ - approve
+ - cancel
+ - deny
+ type: string
+ x-enum-descriptions:
+ - Approve registrant
+ - Cancel registrant
+ - Deny registrant
+ registrants:
+ description: List of registrants.
+ items:
+ properties:
+ email:
+ description: Registrant's email address.
+ type: string
+ id:
+ description: Registrant ID
+ type: string
+ type: object
+ maximum: 30
+ type: array
+ required:
+ - action
+ type: object
+ required: true
+ x-examples:
+ application/json:
+ action: string
+ registrants:
+ - email: string
+ id: string
+ responses:
+ "200":
+ description: |-
+ **HTTP Status Code:** `200`
+ The webinar plan subscription is missing. Enable webinar for this user once the subscription is added: {userId}.
+ "300":
+ description: "**HTTP Status Code:** `300` Invalid webinar ID."
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ Bad request
+ **Error Code:** `1010`
+ User does not belong to this account:{accountId}.
+ **Error Code:** `3035`
+ Webinar has reached maximum attendee capacity.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Webinar not found.
+ **Error Code:** `1001`
+ User {userId} does not exist or does not belong to this account.
+ **Error Code:** `3001`
+ Webinar {webinarId} not found or has expired.
+ security:
+ - OAuth: []
+ summary: Update registrant's status
+ tags:
+ - Webinars
+ "/webinars/{webinarId}/registrants/{registrantId}":
+ delete:
+ description: |-
+ Delete a webinar registrant.
+ **Scopes**: `webinar:write:admin` `webinar:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ operationId: deleteWebinarRegistrant
+ parameters:
+ - description: The webinar ID.
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ type: integer
+ - description: The registrant ID.
+ in: path
+ name: registrantId
+ required: true
+ schema:
+ type: string
+ - description: The webinar occurence ID.
+ in: query
+ name: occurrence_id
+ schema:
+ type: string
+ responses:
+ "204":
+ description: |-
+ **HTTP status code:** `204`
+ OK
+ "400":
+ description: |-
+ **HTTP status code:** `400`
+ Bad Request
+
+ **Error code:** `200`
+ Webinar plan is missing. You must subscribe to the webinar plan and enable webinars for this user in order to perform this action: {0}.
+
+ **Error code:** `300`
+ The value that you entered for the Registrant ID field is invalid. Enter a valid value and try again.
+
+ **Error code:** `404`
+ Registration has not been enabled for this webinar: {0}.
+
+ **Error code:** `3000`
+ Registrant {0} was not found.
+
+ **Error code:** `3001`
+ Webinar does not exist: {0}.
+ summary: Delete a webinar registrant
+ tags:
+ - Webinars
+ get:
+ description: |-
+ Zoom users with a [Webinar Plan](https://zoom.us/webinar) have access to creating and managing Webinars. Webinar allows a host to broadcast a Zoom meeting to up to 10,000 attendees. Scheduling a [Webinar with registration](https://support.zoom.us/hc/en-us/articles/204619915-Scheduling-a-Webinar-with-Registration) requires your registrants to complete a brief form before receiving the link to join the Webinar. Use this API to get details on a specific user who has registered for the Webinar.
+ **Scopes:** `webinar:read:admin` `webinar:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ **Prerequisites:**
+ * The account must have a Webinar plan.
+ operationId: webinarRegistrantGet
+ parameters:
+ - description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ - description: The registrant ID.
+ in: path
+ name: registrantId
+ required: true
+ schema:
+ type: string
+ - description: The meeting occurrence ID.
+ in: query
+ name: occurrence_id
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ page_count: "1"
+ page_number: "1"
+ page_size: "30"
+ registrants:
+ - address: dsfhkdjsfh st
+ city: jackson heights
+ comments: Looking forward to the Webinar
+ country: US
+ create_time: 2019-02-26T23:01:16.899Z
+ custom_questions:
+ - title: What do you hope to learn from this Webinar?
+ value: Look forward to learning how you come up with new recipes and what other services you offer.
+ email: sjfkghdsg@someemail.dfgjd
+ first_name: Jill
+ id: "24000002122"
+ industry: Food
+ job_title: Chef
+ join_url: https://zoom.us/webinar/mywebinarissocooldighdghodghodg
+ last_name: Chill
+ no_of_employees: "10"
+ org: Cooking Org
+ phone: "00000000"
+ purchasing_time_frame: 1-3 months
+ role_in_purchase_process: Influencer
+ state: NY
+ status: approved
+ zip: "11371"
+ total_records: "1"
+ schema:
+ allOf:
+ - properties:
+ id:
+ type: string
+ - allOf:
+ - description: Registrant base object.
+ properties:
+ address:
+ description: Registrant's address.
+ type: string
+ city:
+ description: Registrant's city.
+ type: string
+ comments:
+ description: A field that allows registrants to provide any questions or comments that they might have.
+ type: string
+ country:
+ description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
+ type: string
+ custom_questions:
+ description: Custom questions.
+ items:
+ description: Custom Question.
+ properties:
+ title:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ email:
+ description: A valid email address of the registrant.
+ maxLength: 128
+ type: string
+ first_name:
+ description: Registrant's first name.
+ maxLength: 64
+ type: string
+ industry:
+ description: Registrant's Industry.
+ type: string
+ job_title:
+ description: Registrant's job title.
+ type: string
+ last_name:
+ description: Registrant's last name.
+ maxLength: 64
+ type: string
+ no_of_employees:
+ description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
+ type: string
+ org:
+ description: Registrant's Organization.
+ type: string
+ phone:
+ description: Registrant's Phone number.
+ type: string
+ purchasing_time_frame:
+ description: |-
+ This field can be included to gauge interest of webinar attendees towards buying your product or service.
+
+ Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
+ type: string
+ role_in_purchase_process:
+ description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
+ type: string
+ state:
+ description: Registrant's State/Province.
+ type: string
+ zip:
+ description: Registrant's Zip/Postal Code.
+ type: string
+ required:
+ - email
+ - first_name
+ type: object
+ description: Webinar registrant.
+ type: object
+ - properties:
+ create_time:
+ format: date-time
+ type: string
+ join_url:
+ format: string
+ type: string
+ status:
+ type: string
+ title: Webianr Registrant
+ type: object
+ application/xml:
+ schema:
+ allOf:
+ - properties:
+ id:
+ type: string
+ - allOf:
+ - description: Registrant base object.
+ properties:
+ address:
+ description: Registrant's address.
+ type: string
+ city:
+ description: Registrant's city.
+ type: string
+ comments:
+ description: A field that allows registrants to provide any questions or comments that they might have.
+ type: string
+ country:
+ description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
+ type: string
+ custom_questions:
+ description: Custom questions.
+ items:
+ description: Custom Question.
+ properties:
+ title:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ email:
+ description: A valid email address of the registrant.
+ maxLength: 128
+ type: string
+ first_name:
+ description: Registrant's first name.
+ maxLength: 64
+ type: string
+ industry:
+ description: Registrant's Industry.
+ type: string
+ job_title:
+ description: Registrant's job title.
+ type: string
+ last_name:
+ description: Registrant's last name.
+ maxLength: 64
+ type: string
+ no_of_employees:
+ description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
+ type: string
+ org:
+ description: Registrant's Organization.
+ type: string
+ phone:
+ description: Registrant's Phone number.
+ type: string
+ purchasing_time_frame:
+ description: |-
+ This field can be included to gauge interest of webinar attendees towards buying your product or service.
+
+ Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
+ type: string
+ role_in_purchase_process:
+ description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
+ type: string
+ state:
+ description: Registrant's State/Province.
+ type: string
+ zip:
+ description: Registrant's Zip/Postal Code.
+ type: string
+ required:
+ - email
+ - first_name
+ type: object
+ description: Webinar registrant.
+ type: object
+ - properties:
+ create_time:
+ format: date-time
+ type: string
+ join_url:
+ format: string
+ type: string
+ status:
+ type: string
+ title: Webianr Registrant
+ type: object
+ description: Success.
+ "300":
+ description: Invalid webinar ID.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ Bad request
+ **Error Code:** `1010`
+ User does not belong to this account:{accountId}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Webinar not found.
+ **Error Code:** `1001`
+ User {userId} does not exist or does not belong to this account.
+ **Error Code:** `3001`
+ Webinar {webinarId} not found or has expired.
+ security:
+ - OAuth: []
+ summary: Get a webinar registrant
+ tags:
+ - Webinars
+ parameters:
+ - in: path
+ name: webinarId
+ required: true
+ schema:
+ type: string
+ - in: path
+ name: registrantId
+ required: true
+ schema:
+ type: string
+ "/webinars/{webinarId}/status":
+ put:
+ description: |-
+ Update a webinar's status. Use this API to end an ongoing webinar.
+ **Scopes:** `webinar:write:admin` `webinar:write`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
+ **Prerequisites:**
+ * The account must hold a valid [Webinar plan](https://zoom.us/webinar).
+ operationId: webinarStatus
+ parameters:
+ - description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ requestBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ action:
+ enum:
+ - end
+ type: string
+ x-enum-descriptions:
+ - end a webinar
+ multipart/form-data:
+ schema:
+ properties:
+ action:
+ enum:
+ - end
+ type: string
+ x-enum-descriptions:
+ - end a webinar
+ required: true
+ x-examples:
+ application/json:
+ action: end
+ responses:
+ "200":
+ description: Webinar plan subscription is missing. Enable webinar for this user once the subscription is added:{userId}.
+ "204":
+ description: Webinar's status updated.
+ "400":
+ description: |-
+ **HTTP Status Code:** `400`
+ Bad request
+ **Error Code:** `1010`
+ User does not belong to this account:{accountId}.
+ **Error Code:** `3003`
+ You are not the meeting host.
+ **Error Code:** `3063`
+ Can not end on-premise user's meeting:{meetingId}.
+ "404":
+ description: |-
+ **HTTP Status Code:** `404`
+ Webinar not found.
+ **Error Code:** `1001`
+ User {userId} does not exist or does not belong to this account.
+ **Error Code:** `3001`
+ Webinar {webinarId} not found or has expired.
+ security:
+ - OAuth: []
+ summary: Update webinar status
+ tags:
+ - Webinars
+ "/webinars/{webinarId}/tracking_sources":
+ get:
+ description: |
+ [Webinar Registration Tracking Sources](https://support.zoom.us/hc/en-us/articles/360000315683-Webinar-Registration-Source-Tracking) allow you to see where your registrants are coming from if you share the webinar registration page in multiple platforms. You can then use the source tracking to see the number of registrants generated from each platform. Use this API to list information on all the tracking sources of a Webinar.
+ **Scopes:** `webinar:read:admin`, `webinar:read`
+
+ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
+ **Prerequisites**:
+ * [Webinar license](https://zoom.us/webinar).
+ * Registration must be required for the Webinar.
+ operationId: getTrackingSources
+ parameters:
+ - description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ responses:
+ "200":
+ content:
+ application/json:
+ examples:
+ response:
+ value:
+ total_records: 1
+ tracking_sources:
+ - id: "1100011100"
+ registrationr_count: 1
+ source_name: general
+ tracking_url: https://zoom.us/webinar/register/1100011100/WN_6ToMP5n6Quas2SdMjIWu7Q
+ visitor_count: 2
+ schema:
+ properties:
+ total_records:
+ description: The total number of registration records for this Webinar.
+ type: integer
+ tracking_sources:
+ description: Tracking Sources object.
+ items:
+ properties:
+ id:
+ description: Unique Identifier of the tracking source.
+ type: string
+ registration_count:
+ description: Number of registrations made from this source.
+ type: integer
+ source_name:
+ description: Name of the source (platform) where the registration URL was shared.
+ type: string
+ tracking_url:
+ description: Tracking URL. The URL that was shared for the registration.
+ type: string
+ visitor_count:
+ description: Number of visitors who visited the registration page from this source.
+ type: integer
+ type: object
+ type: array
+ type: object
+ application/xml:
+ schema:
+ properties:
+ total_records:
+ description: The total number of registration records for this Webinar.
+ type: integer
+ tracking_sources:
+ description: Tracking Sources object.
+ items:
+ properties:
+ id:
+ description: Unique Identifier of the tracking source.
+ type: string
+ registration_count:
+ description: Number of registrations made from this source.
+ type: integer
+ source_name:
+ description: Name of the source (platform) where the registration URL was shared.
+ type: string
+ tracking_url:
+ description: Tracking URL. The URL that was shared for the registration.
+ type: string
+ visitor_count:
+ description: Number of visitors who visited the registration page from this source.
+ type: integer
+ type: object
+ type: array
+ type: object
+ description: "**HTTP Status Code:** `200`"
+ security:
+ - OAuth: []
+ summary: Get webinar tracking sources
+ tags:
+ - Webinars
+ parameters:
+ - in: path
+ name: webinarId
+ required: true
+ schema:
+ type: string
+components:
+ parameters:
+ AccountId:
+ description: The account ID.
+ in: path
+ name: accountId
+ required: true
+ schema:
+ type: string
+ DeviceId:
+ description: The device ID.
+ in: path
+ name: deviceId
+ required: true
+ schema:
+ type: string
+ FeedbackId:
+ description: Feedback Detail Id
+ in: path
+ name: feedbackId
+ required: true
+ schema:
+ type: string
+ FromDate:
+ description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
+ in: query
+ name: from
+ required: true
+ schema:
+ format: date
+ type: string
+ GroupId:
+ description: |-
+ The group ID.
+ Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups).
+ in: path
+ name: groupId
+ required: true
+ schema:
+ type: string
+ LoginType:
+ description: "`0` - Facebook. `1` - Google. `99` - API. `100` - Zoom. `101` - SSO."
+ in: query
+ name: login_type
+ schema:
+ enum:
+ - "0"
+ - "1"
+ - "99"
+ - "100"
+ - "101"
+ type: string
+ x-enum-descriptions:
+ - Facebook
+ - Google
+ - API
+ - Zoom
+ - SSO
+ Mc:
+ description: Query Metadata of Recording if an On-Premise Meeting Connector was used for the meeting.
+ in: query
+ name: mc
+ schema:
+ default: "false"
+ type: string
+ MeetingId:
+ description: |-
+ The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
+
+ While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ MeetingId4Metrics:
+ description: |-
+ The meeting ID or the meeting UUID. If a meeting ID is provided in the request instead of a UUID, the response will be for the latest meeting instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ MeetingId4Recording:
+ description: |-
+ To get Cloud Recordings of a meeting, provide the meeting ID or meeting UUID. If the meeting ID is provided instead of UUID,the response will be for the latest meeting instance.
+
+ To get Cloud Recordings of a webinar, provide the webinar ID or the webinar UUID. If the webinar ID is provided instead of UUID,the response will be for the latest webinar instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875=="), you must **double encode** the UUID before making an API request.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ MeetingIdNumber:
+ description: The meeting ID or UUID.
+ in: path
+ name: meetingId
+ required: true
+ schema:
+ type: string
+ MeetingType:
+ description: "The meeting types: `scheduled` - This includes all valid past meetings (unexpired), live meetings and upcoming scheduled meetings. It is equivalent to the combined list of \"Previous Meetings\" and \"Upcoming Meetings\" displayed in the user's [Meetings page](https://zoom.us/meeting) on the Zoom Web Portal. `live` - All the ongoing meetings. `upcoming` - All upcoming meetings including live meetings."
+ in: query
+ name: type
+ schema:
+ default: live
+ enum:
+ - scheduled
+ - live
+ - upcoming
+ type: string
+ x-enum-descriptions:
+ - all the scheduled meetings
+ - all the live meetings
+ - all the upcoming meetings
+ MeetingTypePast:
+ description: |-
+ Specify a value to get the response for the corresponding meeting type. The value of this field can be one of the following:
`past` - Meeting that already occurred in the specified date range. `pastOne` - Past meetings that were attended by only one user. `live` - Live meetings.
+
+ If you do not provide this field, the default value will be `live` and thus, the API will only query responses for live meetings.
+ in: query
+ name: type
+ schema:
+ default: live
+ enum:
+ - past
+ - pastOne
+ - live
+ type: string
+ x-enum-descriptions:
+ - past meetings
+ - past one user meetings
+ - live meetings
+ MeetingTypePast2:
+ description: "The meeting types: `past` - Past meetings. `live` - Live Meetings."
+ in: query
+ name: type
+ schema:
+ default: live
+ enum:
+ - past
+ - pastOne
+ - live
+ type: string
+ x-enum-descriptions:
+ - past meeting
+ - single past user meetings
+ - live meeting
+ MeetingTypePast3:
+ description: "The meeting types: `past` - Past meetings. `pastOne` - Past one user meetings. `live` - Live meetings."
+ in: query
+ name: type
+ schema:
+ default: live
+ enum:
+ - past
+ - pastOne
+ - live
+ type: string
+ x-enum-descriptions:
+ - past meeting
+ - past one user meeting
+ - live meeting
+ MeetingUUID:
+ description: The meeting UUID. Each meeting instance will generate its own Meeting UUID (i.e., after a meeting ends, a new UUID will be generated for the next instance of the meeting). Please double encode your UUID when using it for other API calls if the UUID begins with a '/'or contains '//' in it.
+ in: path
+ name: meetingUUID
+ required: true
+ schema:
+ type: string
+ MemberId:
+ description: The member ID.
+ in: path
+ name: memberId
+ required: true
+ schema:
+ type: string
+ NextPageToken:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ OccurrenceId:
+ description: The meeting occurrence ID.
+ in: query
+ name: occurrence_id
+ schema:
+ type: string
+ PageNumber:
+ description: |-
+
+ **Deprecated** - This field has been deprecated and we will stop supporting it completely in a future release. Please use "next_page_token" for pagination instead of this field.
+
+ The page number of the current page in the returned records.
+ in: query
+ name: page_number
+ schema:
+ default: 1
+ type: integer
+ PageSize:
+ description: The number of records returned within a single API call.
+ in: query
+ name: page_size
+ schema:
+ default: 30
+ maximum: 300
+ type: integer
+ PageSize4Qos:
+ description: The number of items returned per page.
+ in: query
+ name: page_size
+ schema:
+ default: 1
+ maximum: 10
+ type: integer
+ PageToken:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes.
+ in: query
+ name: next_page_token
+ schema:
+ type: string
+ ParticipantId:
+ description: Participant ID.
+ in: path
+ name: participantId
+ required: true
+ schema:
+ type: string
+ RecordingDeleteAction:
+ description: The recording delete actions: `trash` - Move recording to trash. `delete` - Delete recording permanently.
+ in: query
+ name: action
+ schema:
+ default: trash
+ enum:
+ - trash
+ - delete
+ type: string
+ x-enum-descriptions:
+ - move recording to trash
+ - delete recording permanently
+ RecordingId:
+ description: The recording ID.
+ in: path
+ name: recordingId
+ required: true
+ schema:
+ type: string
+ RegistrantId:
+ description: The registrant ID.
+ in: path
+ name: registrantId
+ required: true
+ schema:
+ type: string
+ RegistrantStatus:
+ description: The registrant status: `pending` - Registrant's status is pending. `approved` - Registrant's status is approved. `denied` - Registrant's status is denied.
+ in: query
+ name: status
+ schema:
+ default: approved
+ enum:
+ - pending
+ - approved
+ - denied
+ type: string
+ x-enum-descriptions:
+ - registrants status is pending
+ - registrants status is approved
+ - registrants status is denied
+ RoleId:
+ description: The role ID
+ in: path
+ name: roleId
+ required: true
+ schema:
+ type: string
+ SessionId:
+ description: IM chat session ID.
+ in: path
+ name: sessionId
+ required: true
+ schema:
+ type: string
+ TSPId:
+ description: TSP account ID.
+ in: path
+ name: tspId
+ required: true
+ schema:
+ enum:
+ - 1
+ - 2
+ type: string
+ ToDate:
+ description: End date.
+ in: query
+ name: to
+ required: true
+ schema:
+ format: date
+ type: string
+ TrackingSourceId:
+ description: The tracking source ID for the registrants. Useful if you share the webinar registration page in multiple locations. See [Creating source tracking links for webinar registration](https://support.zoom.us/hc/en-us/articles/360000315683-Creating-source-tracking-links-for-webinar-registration) for details.
+ in: query
+ name: tracking_source_id
+ schema:
+ type: string
+ TransferEmail:
+ description: Transfer email.
+ in: query
+ name: transfer_email
+ required: false
+ schema:
+ type: string
+ TransferMeeting:
+ description: Transfer meeting.
+ in: query
+ name: transfer_meeting
+ required: false
+ schema:
+ type: boolean
+ TransferRecording:
+ description: Transfer recording.
+ in: query
+ name: transfer_recording
+ required: false
+ schema:
+ type: boolean
+ TransferWebinar:
+ description: Transfer webinar.
+ in: query
+ name: transfer_webinar
+ required: false
+ schema:
+ type: boolean
+ Trash:
+ description: |-
+ Query trash.
+ `true`: List recordings from trash. `false`: Do not list recordings from the trash. The default value is `false`. If you set it to `true`, you can use the `trash_type` property to indicate the type of Cloud recording that you need to retrieve.
+ in: query
+ name: trash
+ schema:
+ default: false
+ type: boolean
+ UserId:
+ description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
+ in: path
+ name: userId
+ required: true
+ schema:
+ type: string
+ WebhookId:
+ description: The webhook ID.
+ in: path
+ name: webhookId
+ required: true
+ schema:
+ type: string
+ WebinarId:
+ description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ format: int64
+ type: integer
+ WebinarId4Metrics:
+ description: |-
+ The webinar ID or the webinar UUID. If a webinar ID is provided in the request instead of a UUID, the response will be for the latest webinar instance.
+
+ If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
+ in: path
+ name: webinarId
+ required: true
+ schema:
+ type: string
+ WebinarTypePast:
+ description: The webinar type.
+ in: query
+ name: type
+ schema:
+ default: live
+ enum:
+ - past
+ - live
+ type: string
+ x-enum-descriptions:
+ - past webinars
+ - live webinars
+ WebinarTypePast2:
+ description: The webinar type.
+ in: query
+ name: type
+ schema:
+ default: live
+ enum:
+ - past
+ - live
+ type: string
+ x-enum-descriptions:
+ - past webinar
+ - live webinar
+ WebinarUUID:
+ description: The Webinar UUID. Each Webinar instance will generate its own Webinar UUID (i.e., after a Webinar ends, a new UUID will be generated for the next instance of the Webinar). Please double encode your UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it.
+ in: path
+ name: WebinarUUID
+ required: true
+ schema:
+ type: string
+ ZoomRoomId:
+ description: The Zoom room ID.
+ in: path
+ name: zoomroomId
+ required: true
+ schema:
+ type: string
+ trash_type:
+ description: |-
+ The type of Cloud recording that you would like to retrieve from the trash. The value can be one of the following:
+ `meeting_recordings`: List all meeting recordings from the trash.
+ `recording_file`: List all individual recording files from the trash.
+ in: query
+ name: trash_type
+ schema:
+ default: meeting_recordings
+ type: string
+ requestBodies:
+ recordingStatusUpdateBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ action:
+ enum:
+ - recover
+ type: string
+ x-enum-descriptions:
+ - recover meeting recording
+ multipart/form-data:
+ schema:
+ properties:
+ action:
+ enum:
+ - recover
+ type: string
+ x-enum-descriptions:
+ - recover meeting recording
+ required: true
+ x-examples:
+ application/json:
+ action: recover
+ updateChannelBody:
+ content:
+ application/json:
+ schema:
+ properties:
+ name:
+ description: A new name for the channel.
+ type: string
+ required:
+ - name
+ type: object
+ multipart/form-data:
+ schema:
+ properties:
+ name:
+ description: A new name for the channel.
+ type: string
+ required:
+ - name
+ type: object
+ x-examples:
+ application/json:
+ name: Share happiness channel
+ uploadVB:
+ content:
+ multipart/form-data:
+ schema:
+ properties:
+ file:
+ description: Provide the file's path here.
+ type: string
+ type: object
+ schemas:
+ Account:
+ description: The account object represents an account on Zoom. The account owner is the user who created the account or had an account created for them. You can read more about the Zoom account structure here.
+ properties:
+ email:
+ description: User's email address.
+ type: string
+ first_name:
+ description: User's first name.
+ type: string
+ last_name:
+ description: User's last name.
+ type: string
+ options:
+ description: Account options object.
+ properties:
+ billing_auto_renew:
+ description: Toggle whether automatic billing renewal is on or off.
+ type: boolean
+ meeting_connector_list:
+ description: |-
+ Specify the IP addresses of the Meeting Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Meeting Connectors of a master account will be shared with the sub account.
+
+
+ **Note:** This option can only be used if the value of `share_mc` is set to `true`.
+ items:
+ type: string
+ type: array
+ pay_mode:
+ default: master
+ description: Payee: `master` - master account holder pays. `sub` - Sub account holder pays.
+ enum:
+ - master
+ - sub
+ type: string
+ x-enum-descriptions:
+ - master account holder pays
+ - Sub account holder pays
+ room_connector_list:
+ description: |-
+ Specify the IP addresses of the Room Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Room Connectors of a master account will be shared with the sub account.
+
+
+ **Note:** This option can only be used if the value of `share_rc` is set to `true`.
+ items:
+ type: string
+ type: array
+ share_mc:
+ default: false
+ description: Enable/disable the option for a sub account to use shared [Meeting Connector(s)](https://support.zoom.us/hc/en-us/articles/201363093-Getting-Started-with-the-Meeting-Connector) that are set up by the master account. Meeting Connectors can only be used by On-prem users.
+ type: boolean
+ share_rc:
+ default: false
+ description: Enable/disable the option for a sub account to use shared [Virtual Room Connector(s)](https://support.zoom.us/hc/en-us/articles/202134758-Getting-Started-With-Virtual-Room-Connector) that are set up by the master account. Virtual Room Connectors can only be used by On-prem users.
+ type: boolean
+ type: object
+ password:
+ description: User's password.
+ minimum: 8
+ type: string
+ vanity_url:
+ description: Account Vanity URL
+ type: string
+ required:
+ - first_name
+ - last_name
+ - email
+ - password
+ type: object
+ AccountList:
+ allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: |-
+ **Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
+
+ The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ - description: Account object in the account list.
+ properties:
+ accounts:
+ description: List of Account objects.
+ items:
+ properties:
+ account_name:
+ description: Account name.
+ type: string
+ account_number:
+ description: Account Number of the account.
+ type: string
+ account_type:
+ description: Account type.
+ type: string
+ created_at:
+ description: Account creation date and time.
+ format: date-time
+ type: string
+ id:
+ description: Account ID.
+ type: string
+ owner_email:
+ description: Account owner email.
+ example: john.doe@zoom.us
+ type: string
+ seats:
+ description: Account seats.
+ type: integer
+ subscription_end_time:
+ description: Account subscription end date and time.
+ format: date-time
+ type: string
+ subscription_start_time:
+ description: Account subscription start date and time.
+ format: date-time
+ type: string
+ type: object
+ type: array
+ type: object
+ description: List of Accounts.
+ title: Account List
+ type: object
+ AccountListItem:
+ description: Account object in the account list.
+ properties:
+ accounts:
+ description: List of Account objects.
+ items:
+ properties:
+ account_name:
+ description: Account name.
+ type: string
+ account_number:
+ description: Account Number of the account.
+ type: string
+ account_type:
+ description: Account type.
+ type: string
+ created_at:
+ description: Account creation date and time.
+ format: date-time
+ type: string
+ id:
+ description: Account ID.
+ type: string
+ owner_email:
+ description: Account owner email.
+ example: john.doe@zoom.us
+ type: string
+ seats:
+ description: Account seats.
+ type: integer
+ subscription_end_time:
+ description: Account subscription end date and time.
+ format: date-time
+ type: string
+ subscription_start_time:
+ description: Account subscription start date and time.
+ format: date-time
+ type: string
+ type: object
+ type: array
+ type: object
+ AccountOptions:
+ description: Account options object.
+ properties:
+ billing_auto_renew:
+ description: Toggle whether automatic billing renewal is on or off.
+ type: boolean
+ meeting_connector_list:
+ description: |-
+ Specify the IP addresses of the Meeting Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Meeting Connectors of a master account will be shared with the sub account.
+
+
+ **Note:** This option can only be used if the value of `share_mc` is set to `true`.
+ items:
+ type: string
+ type: array
+ pay_mode:
+ default: master
+ description: Payee: `master` - master account holder pays. `sub` - Sub account holder pays.
+ enum:
+ - master
+ - sub
+ type: string
+ x-enum-descriptions:
+ - master account holder pays
+ - Sub account holder pays
+ room_connector_list:
+ description: |-
+ Specify the IP addresses of the Room Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Room Connectors of a master account will be shared with the sub account.
+
+
+ **Note:** This option can only be used if the value of `share_rc` is set to `true`.
+ items:
+ type: string
+ type: array
+ share_mc:
+ default: false
+ description: Enable/disable the option for a sub account to use shared [Meeting Connector(s)](https://support.zoom.us/hc/en-us/articles/201363093-Getting-Started-with-the-Meeting-Connector) that are set up by the master account. Meeting Connectors can only be used by On-prem users.
+ type: boolean
+ share_rc:
+ default: false
+ description: Enable/disable the option for a sub account to use shared [Virtual Room Connector(s)](https://support.zoom.us/hc/en-us/articles/202134758-Getting-Started-With-Virtual-Room-Connector) that are set up by the master account. Virtual Room Connectors can only be used by On-prem users.
+ type: boolean
+ type: object
+ AccountPlan:
+ description: Account plan object.
+ properties:
+ hosts:
+ description: Account plan number of hosts.
+ type: integer
+ type:
+ description: Account plan type.
+ type: string
+ type: object
+ AccountPlanBaseRequired:
+ description: Account base plan object.
+ properties:
+ hosts:
+ description: Account base plan number of hosts. For a Pro Plan please select a value between 1 and 9. For a Business Plan please select a value between 10 and 49. For a Education Plan please select a value between 20 and 149. For a Free Trial Plan please select a value between 1 and 9999.
+ type: integer
+ type:
+ description: Account base plan type.
+ type: string
+ required:
+ - type
+ - hosts
+ type: object
+ AccountPlanRequired:
+ description: Account plan object.
+ properties:
+ hosts:
+ description: Number of hosts for this plan.
+ type: integer
+ type:
+ description: Account plan type.
+ type: string
+ required:
+ - type
+ - hosts
+ type: object
+ AccountPlans:
+ description: Account Plans object.
+ properties:
+ plan_audio:
+ description: Additional audio conferencing plan type.
+ properties:
+ callout_countries:
+ description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
+ type: string
+ ddi_numbers:
+ description: Dedicated dial-In numbers.
+ type: integer
+ premium_countries:
+ description: 'Premium countries: multiple values should be separated by commas. For a list of allowed values, refer to the "ID" field in the [Premium Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#premium-countries) table.'
+ type: string
+ tollfree_countries:
+ description: 'Toll-free countries: multiple values should separated by a comma. For a list of allowed values, refer to the "ID" field in the [Toll Free Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#toll-free-countries) table.'
+ type: string
+ type:
+ description: Additional audio conferencing plan type.
+ type: string
+ type: object
+ plan_base:
+ description: Account base plan object.
+ properties:
+ hosts:
+ description: Account base plan number of hosts. For a Pro Plan please select a value between 1 and 9. For a Business Plan please select a value between 10 and 49. For a Education Plan please select a value between 20 and 149. For a Free Trial Plan please select a value between 1 and 9999.
+ type: integer
+ type:
+ description: Account base plan type.
+ type: string
+ required:
+ - type
+ - hosts
+ type: object
+ plan_large_meeting:
+ description: Additional large meeting Plans.
+ items:
+ description: Account plan object.
+ properties:
+ hosts:
+ description: Account plan number of hosts.
+ type: integer
+ type:
+ description: Account plan type.
+ type: string
+ type: object
+ type: array
+ plan_phone:
+ description: Phone Plan Object
+ properties:
+ plan_base:
+ description: Additional phone base plans.
+ properties:
+ callout_countries:
+ description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
+ type: string
+ type:
+ description: Additional phone base plan type.
+ type: string
+ type: object
+ plan_calling:
+ description: Additional phone calling plans.
+ items:
+ properties:
+ hosts:
+ type: integer
+ type:
+ description: Additional phone calling plan type.
+ type: string
+ type: object
+ type: array
+ plan_number:
+ description: Additional phone number plans.
+ items:
+ properties:
+ hosts:
+ type: integer
+ type:
+ description: Additional phone number plan type.
+ type: string
+ type: object
+ type: array
+ title: PhonePlan
+ type: object
+ plan_recording:
+ description: Additional cloud recording plan.
+ type: string
+ plan_room_connector:
+ description: Account plan object.
+ properties:
+ hosts:
+ description: Account plan number of hosts.
+ type: integer
+ type:
+ description: Account plan type.
+ type: string
+ type: object
+ plan_webinar:
+ description: Additional webinar plans.
+ items:
+ description: Account plan object.
+ properties:
+ hosts:
+ description: Account plan number of hosts.
+ type: integer
+ type:
+ description: Account plan type.
+ type: string
+ type: object
+ type: array
+ plan_zoom_rooms:
+ description: Account plan object.
+ properties:
+ hosts:
+ description: Account plan number of hosts.
+ type: integer
+ type:
+ description: Account plan type.
+ type: string
+ type: object
+ required:
+ - plan_base
+ type: object
+ AccountSettings:
+ properties:
+ email_notification:
+ description: "Account Settings: Notification."
+ properties:
+ alternative_host_reminder:
+ description: Notify when an alternative host is set or removed from a meeting.
+ type: boolean
+ cancel_meeting_reminder:
+ description: Notify the host and participants when a meeting is cancelled.
+ type: boolean
+ cloud_recording_avaliable_reminder:
+ description: Notify host when cloud recording is available.
+ type: boolean
+ jbh_reminder:
+ description: Notify the host when participants join the meeting before them.
+ type: boolean
+ low_host_count_reminder:
+ description: Notify user when host licenses are running low.
+ type: boolean
+ schedule_for_reminder:
+ description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
+ type: boolean
+ type: object
+ feature:
+ description: "Account Settings: Feature."
+ properties:
+ meeting_capacity:
+ description: Set the maximum number of participants a host can have in a single meeting.
+ type: integer
+ type: object
+ in_meeting:
+ description: "Account Settings: In Meeting."
+ properties:
+ alert_guest_join:
+ description: Identify guest participants in a meeting or webinar.
+ type: boolean
+ allow_live_streaming:
+ description: Allow live streaming.
+ type: boolean
+ allow_participants_to_rename:
+ description: |
+ If the value of this field is set to `true`, meeting participants and webinar panelists can be allowed to rename themselves during a meeting or a webinar.
+ type: boolean
+ allow_show_zoom_windows:
+ description: "Show the Zoom desktop application when sharing screens. "
+ type: boolean
+ annotation:
+ description: Allow participants to use annotation tools to add information to shared screens.
+ type: boolean
+ anonymous_question_answer:
+ description: Allow an anonymous Q&A in a webinar.
+ type: boolean
+ attendee_on_hold:
+ default: false
+ description: |-
+ Allow host to put attendee on hold.
+
+ **This field has been deprecated and is no longer supported.**
+ type: boolean
+ auto_answer:
+ description: Enable users to see and add contacts to the "auto-answer group" in the chat contact list. Any call from members of this group will automatically be answered.
+ type: boolean
+ auto_saving_chat:
+ description: Automatically save all in-meeting chats so that the host does not need to manually save the chat transcript after the meeting starts.
+ type: boolean
+ breakout_room:
+ description: Allow host to split meeting participants into separate, smaller rooms.
+ type: boolean
+ chat:
+ description: Allow meeting participants to send a message that is visible to all participants.
+ type: boolean
+ closed_caption:
+ description: "Allow a host to type closed captions. Enable a host to assign a participant or third party device to add closed captions. "
+ type: boolean
+ co_host:
+ description: Allow the host to add co-hosts.
+ type: boolean
+ custom_data_center_regions:
+ description: If set to `true`, account owners and admins on paid accounts can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting their real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
+ type: boolean
+ custom_live_streaming_service:
+ description: Custom live streaming.
+ type: boolean
+ custom_service_instructions:
+ description: Custom service instructions.
+ type: string
+ data_center_regions:
+ description: |
+ If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["EU", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
+ enum:
+ - EU
+ - HK
+ - AU
+ - IN
+ - TY
+ - CN
+ - US
+ - CA
+ items:
+ type: string
+ type: array
+ dscp_audio:
+ description: DSCP audio.
+ maximum: 63
+ minimum: 1
+ type: integer
+ dscp_marking:
+ description: DSCP marking.
+ type: boolean
+ dscp_video:
+ description: DSCP video.
+ maximum: 63
+ minimum: 1
+ type: integer
+ e2e_encryption:
+ description: Zoom requires encryption for all data between the Zoom cloud, Zoom client, and Zoom Room. Require encryption for 3rd party endpoints (H323/SIP).
+ type: boolean
+ entry_exit_chime:
+ description: Play sound when participants join or leave. `host` - Heard by host only. `all` - Heard by host and all attendees. `none` - Disable.
+ enum:
+ - host
+ - all
+ - none
+ type: string
+ x-enum-descriptions:
+ - Heard by host only
+ - Heard by host and all attendees
+ - Disable
+ far_end_camera_control:
+ description: Allow another user to take control of your camera during a meeting.
+ type: boolean
+ feedback:
+ description: Add a "Feedback" tab to the Windows Settings or Mac Preferences dialog. Enable users to provide feedback to Zoom at the end of the meeting.
+ type: boolean
+ file_transfer:
+ description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled on the account or not.
+ type: boolean
+ group_hd:
+ description: |-
+ Activate higher quality video for host and participants.
+ Please note: This will use more bandwidth.
+ type: boolean
+ meeting_reactions:
+ description: |-
+ Enable or disable meeting reactions.
+ `true`: Allow meeting participants to communicate without interrupting by reacting with an emoji that shows on their video.
+ `false`: Do not enable meeting reactions.
+ type: boolean
+ original_audio:
+ description: Allow users to select original sound in their client settings.
+ type: boolean
+ p2p_connetion:
+ description: Peer to peer connection while only two people are in a meeting.
+ type: boolean
+ p2p_ports:
+ description: Peer to peer listening ports range.
+ type: boolean
+ polling:
+ description: Add "Polls" to the meeting controls.
+ type: boolean
+ ports_range:
+ default: ""
+ description: The listening ports range, separated by a comma (ex 55,56). The ports range must be between 1 to 65535.
+ type: string
+ post_meeting_feedback:
+ description: Display a thumbs up or down survey at the end of each meeting.
+ type: boolean
+ private_chat:
+ description: Allow a meeting participant to send a private message to another participant.
+ type: boolean
+ record_play_own_voice:
+ description: Record and play their own voice.
+ type: boolean
+ remote_control:
+ description: Allow users to request remote control.
+ type: boolean
+ request_permission_to_unmute:
+ description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the account or not.
+ type: boolean
+ screen_sharing:
+ description: Allow screen sharing.
+ type: boolean
+ sending_default_email_invites:
+ description: Only show the default email when sending email invites.
+ type: boolean
+ show_a_join_from_your_browser_link:
+ description: If the value of this field is set to `true`, you will allow participants to join a meeting directly from their browser and bypass the Zoom application download process. This is a workaround for participants who are unable to download, install, or run applications. Note that the meeting experience from the browser is limited.
+ type: boolean
+ show_meeting_control_toolbar:
+ description: Always show the meeting control toolbar.
+ type: boolean
+ stereo_audio:
+ description: Allow users to select stereo audio in their client settings.
+ type: boolean
+ use_html_format_email:
+ description: Use HTML formatted email for the Outlook plugin.
+ type: boolean
+ virtual_background:
+ description: Allow users to replace their background with any selected image. Choose or upload an image in the Zoom desktop application settings.
+ type: boolean
+ virtual_background_settings:
+ description: Settings to manage virtual background.
+ properties:
+ allow_upload_custom:
+ description: Allow users to upload custom backgrounds.
+ type: boolean
+ allow_videos:
+ description: Allow use of videos for virtual backgrounds.
+ type: boolean
+ enable:
+ description: Enable virtual background.
+ type: boolean
+ files:
+ items:
+ properties:
+ id:
+ description: Unique identifier of the file.
+ type: string
+ is_default:
+ description: Indicates whether or not this file is the default virtual background file.
+ type: boolean
+ name:
+ description: File name.
+ type: string
+ size:
+ description: File size.
+ type: string
+ type:
+ description: File type.
+ type: string
+ type: object
+ type: array
+ type: object
+ watermark:
+ description: Add a watermark when viewing a shared screen.
+ type: boolean
+ webinar_question_answer:
+ description: Allow a Q&A in a webinar.
+ type: boolean
+ whiteboard:
+ description: Allow participants to share a whiteboard that includes annotation tools.
+ type: boolean
+ who_can_share_screen:
+ description: |
+ Indicates who can share their screen or content during meetings. The value can be one of the following:
+ `host`: Only host can share the screen.
+ `all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ who_can_share_screen_when_someone_is_sharing:
+ description: |
+ Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
+ `host`: Only a host can share the screen when someone else is sharing.
+ `all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ workplace_by_facebook:
+ description: Workplace by facebook.
+ type: boolean
+ type: object
+ integration:
+ description: "Account Settings: Integration."
+ properties:
+ box:
+ description: Enable users who join a meeting from their mobile device to share content from their Box account.
+ type: boolean
+ dropbox:
+ description: Enable users who join a meeting from their mobile device to share content from their Dropbox account.
+ type: boolean
+ google_calendar:
+ description: Enable meetings to be scheduled using Google Calendar.
+ type: boolean
+ google_drive:
+ description: Enable users who join a meeting from their mobile device to share content from their Google Drive.
+ type: boolean
+ kubi:
+ description: Enable users to control a connected Kubi device from within a Zoom meeting.
+ type: boolean
+ microsoft_one_drive:
+ description: Enable users who join a meeting from their mobile device to share content from their Microsoft OneDrive account.
+ type: boolean
+ type: object
+ profile:
+ properties:
+ recording_storage_location:
+ properties:
+ allowed_values:
+ description: |-
+ Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
+
+ Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
+ items:
+ type: string
+ type: array
+ value:
+ description: Abbreviated country code.
+ type: string
+ type: object
+ title: Profile
+ type: object
+ recording:
+ description: "Account Settings: Recording."
+ properties:
+ account_user_access_recording:
+ description: Cloud recordings are only accessible to account members. People outside of your organization cannot open links that provide access to cloud recordings.
+ type: boolean
+ allow_recovery_deleted_cloud_recordings:
+ description: |-
+ Allow recovery of deleted cloud recordings from trash.
+ If the value of this field is set to `true`, deleted cloud recordings will be kept in trash for 30 days after deletion and can be recovered within that period.
+ type: boolean
+ archive:
+ description: "[Archiving solution](https://support.zoom.us/hc/en-us/articles/360050431572-Archiving-Meeting-and-Webinar-data) settings. This setting can only be used if you have been granted with archiving solution access by the Zoom support team."
+ properties:
+ enable:
+ description: Enable the archiving feature.
+ type: boolean
+ settings:
+ properties:
+ audio_file:
+ description: Include in-meeting and/or in-webinar audio in the archive.
+ type: boolean
+ cc_transcript_file:
+ description: Include closed caption or transcript in the archive.
+ type: boolean
+ chat_file:
+ description: Include in-meeting chat in the archive.
+ type: boolean
+ chat_with_sender_email:
+ description: Include user email in in-meeting chat file.
+ type: boolean
+ video_file:
+ description: Include in-meeting and/or in-webinar video in the archive.
+ type: boolean
+ type: object
+ type:
+ description: |-
+ Archive types:
+
+ * `1`: Only meetings are archived.
+ * `2`: Only webinars are archived.
+ * `3`: Both meetings and webinars are archived.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ type: object
+ auto_delete_cmr:
+ description: Allow Zoom to permanantly delete recordings automatically after a specified number of days.
+ type: boolean
+ auto_delete_cmr_days:
+ description: When `auto_delete_cmr` function is 'true' this value will set the number of days before the auto deletion of cloud recordings.
+ type: integer
+ auto_recording:
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record on local
+ - Record on cloud
+ - Disabled
+ cloud_recording:
+ description: Allow hosts to record and save the meeting in the cloud.
+ type: boolean
+ cloud_recording_download:
+ description: Cloud recording downloads.
+ type: boolean
+ cloud_recording_download_host:
+ description: Only the host can download cloud recordings.
+ type: boolean
+ host_delete_cloud_recording:
+ description: |
+ If the value of this field is set to `true`, hosts will be able to delete the recordings. If this option is set to `false`, the recordings cannot be deleted by the host and only admin can delete them.
+ type: boolean
+ ip_address_access_control:
+ description: |
+ Setting to allow cloud recording access only from specific IP address ranges.
+ properties:
+ enable:
+ description: |+
+ If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
+
+ type: boolean
+ ip_addresses_or_ranges:
+ description: |+
+ IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
+
+ Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
+
+ type: string
+ type: object
+ local_recording:
+ description: Allow hosts and participants to record the meeting using a local file.
+ type: boolean
+ prevent_host_access_recording:
+ description: |
+ If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
+ type: boolean
+ record_audio_file:
+ description: Record an audio only file.
+ type: boolean
+ record_gallery_view:
+ description: Record the gallery view with a shared screen.
+ type: boolean
+ record_speaker_view:
+ description: Record the active speaker with a shared screen.
+ type: boolean
+ recording_audio_transcript:
+ description: Automatically transcribe the audio of the meeting or webinar to the cloud.
+ type: boolean
+ recording_disclaimer:
+ description: |
+ Show a disclaimer to participants before a recording starts
+ type: boolean
+ recording_password_requirement:
+ description: This object represents the minimum password requirements set for recordings via Account Recording Settings.
+ properties:
+ have_letter:
+ description: Indicates whether or not password must contain at least one alphabetical letter (a, b, c..).
+ type: boolean
+ have_number:
+ description: Indicates whether or not password must contain at least one number(1, 2, 3..).
+ type: boolean
+ have_special_character:
+ description: "Indicates whether or not password must contain at least one special character(!, @, #..)."
+ type: boolean
+ length:
+ description: Minimum required length for the password.
+ maximum: 10
+ type: integer
+ only_allow_numeric:
+ description: Indicates whether or not password must contain only numeric characters.
+ type: boolean
+ type: object
+ required_password_for_existing_cloud_recordings:
+ description: Require a passcode to access existing cloud recordings.
+ type: boolean
+ save_chat_text:
+ description: Save the chat text from the meeting.
+ type: boolean
+ show_timestamp:
+ description: Add a timestamp to the recording.
+ type: boolean
+ type: object
+ schedule_meeting:
+ description: "Account Settings: Schedule Meeting."
+ properties:
+ audio_type:
+ default: both
+ description: Determine how participants can join the audio portion of the meeting. `both` - Telephony and VoIP. `telephony` - Audio PSTN telephony only. `voip` - VoIP only. `thirdParty` - 3rd party audio conference.
+ enum:
+ - both
+ - telephony
+ - voip
+ - thirdParty
+ type: string
+ x-enum-descriptions:
+ - Telephony and VoIP
+ - Audio PSTN telephony only
+ - VoIP only
+ - 3rd party audio conference
+ enforce_login:
+ description: Only Zoom users who are signed in can join meetings.
+ type: boolean
+ enforce_login_domains:
+ description: "Only signed in users with a specified domain can join the meeting. "
+ type: string
+ enforce_login_with_domains:
+ description: Only signed in users with a specific domain can join meetings.
+ type: boolean
+ force_pmi_jbh_password:
+ description: Require a password for Personal Meetings if attendees can join before host.
+ type: boolean
+ host_video:
+ description: Start meetings with the host video on.
+ type: boolean
+ join_before_host:
+ description: Allow participants to join the meeting before the host arrives.
+ type: boolean
+ meeting_password_requirement:
+ description: Account wide meeting/webinar [password requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the password must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the password must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the password must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the password must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar password needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the password must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided password is weak.
+ type: boolean
+ type: object
+ not_store_meeting_topic:
+ description: Always display "Zoom Meeting" as the meeting topic.
+ type: boolean
+ participant_video:
+ description: Start meetings with the participant video on. Participants can change this setting during the meeting.
+ type: boolean
+ personal_meeting:
+ description: |+
+ Personal Meeting Setting.
+ `true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
+ `false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
+ For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
+
+
+ type: boolean
+ require_password_for_instant_meetings:
+ description: |
+ Require a password for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ require_password_for_pmi_meetings:
+ description: |
+ Require a password for a meeting held using Personal Meeting ID (PMI) This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ enum:
+ - jbh_only
+ - all
+ - none
+ type: string
+ x-enum-descriptions:
+ - Only meetings with Join Before Host enabled
+ - All meetings using PMI
+ - Disabled
+ require_password_for_scheduled_meetings:
+ description: |
+ Require a password for meetings which have already been scheduled
+ type: boolean
+ require_password_for_scheduling_new_meetings:
+ description: Require a password when scheduling new meetings. This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ use_pmi_for_instant_meetings:
+ description: |
+ Use Personal Meeting ID (PMI) when starting an instant meeting
+ type: boolean
+ use_pmi_for_scheduled_meetings:
+ description: |
+ Use Personal Meeting ID (PMI) when scheduling a meeting
+ type: boolean
+ type: object
+ security:
+ description: "[Security settings](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) of an Account."
+ properties:
+ admin_change_name_pic:
+ description: Only account administrators can change a user's username and picture.
+ type: boolean
+ hide_billing_info:
+ description: Hide billing information.
+ type: boolean
+ import_photos_from_devices:
+ description: Allow users to import photos from a photo library on a device.
+ type: boolean
+ password_requirement:
+ description: "This object refers to the [enhanced password rules](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) that allows Zoom account admins and owners to apply extra requiremets to the users' Zoom login password. "
+ properties:
+ consecutive_characters_length:
+ description: |-
+
+ Specify the max length of consecutive characters(abcde...) that can be used in a password.
+ If you set the value of this field to `0`, no restriction will be applied on consecutive characters.
+
+ If you would like to set this restriction, you can specify a number between 4 and 8 that define the maximum allowed length for consecutive characters in a password.
+
+ The max allowed length will be `n-1` where `n` refers to the value you provide for this field. For instance, if you provide `4` as the value, there can only be a maximum of `3` consecutive characters in a password(example: abc1x@8fdh).
+ type: integer
+ have_special_character:
+ description: "If the value of this field is set to `true`, the password must have at least one special character(!, @, #...)."
+ type: boolean
+ minimum_password_length:
+ description: Specify a minimum length for the password. The password length can be from a minimum of 9 characters, up to 14 characters. If you provide `0` as the value of this field, this field will be disabled and not be used and the basic password length requirement (minimum of 8 characters) will be applied for the requirement.
+ maximum: 14
+ minimum: 8
+ type: integer
+ weak_enhance_detection:
+ description: If the value of this field is set to `true`, user passwords will have to pass detection through a weak password dictionary in case hackers use simple passwords to sign in to your users’ accounts.
+ type: boolean
+ type: object
+ sign_again_period_for_inactivity_on_client:
+ description: |
+ Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Client app after a set amount of time.
+
+ If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Client. The value for the period of inactivity can be one of the following:
+
+ `5`: 5 minutes
+ `10`: 10 minutes
+ `15`: 15 minutes
+ `30`: 30 minutes
+ `45`: 45 minutes
+ `60`: 60 minutes
+ `90`: 90 minutes
+ `120`: 120 minutes
+ type: integer
+ sign_again_period_for_inactivity_on_web:
+ description: |+
+ Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Web Portal after a set amount of time.
+
+ If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Web Portal. The value for the period of inactivity can be one of the following:
+
+ `5`: 5 minutes
+ `10`: 10 minutes
+ `15`: 15 minutes
+ `30`: 30 minutes
+ `60`: 60 minutes
+ `120`: 120 minutes
+
+
+
+ type: integer
+ sign_in_with_two_factor_auth:
+ description: |
+ Settings for 2FA( [two factor authentication](https://support.zoom.us/hc/en-us/articles/360038247071) ). The value can be one of the following:
+ `all`: Two factor authentication will be enabled for all users in the account.
+ `none`: Two factor authentication is disabled.
+ `group`: Two factor authentication will be enabled for users belonging to specific groups. If 2FA is enabled for certain groups, the group IDs of the group(s) will be provided in the `sign_in_with_two_factor_auth_groups` field.
+ `role`: Two factor authentication will be enabled only for users assigned with specific roles in the account. If 2FA is enabled for specific roles, the role IDs will be provided in the
+ `sign_in_with_two_factor_auth_roles` field.
+ enum:
+ - all
+ - group
+ - role
+ - none
+ type: string
+ sign_in_with_two_factor_auth_groups:
+ description: This field contains group IDs of groups that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `group`
+ items:
+ type: string
+ type: array
+ sign_in_with_two_factor_auth_roles:
+ description: This field contains role IDs of roles that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `role`.
+ items:
+ type: string
+ type: array
+ type: object
+ telephony:
+ description: "Account Settings: Telephony."
+ properties:
+ audio_conference_info:
+ description: Third party audio conference info.
+ type: string
+ telephony_regions:
+ description: Indicates where most of the participants call into or call from duriing a meeting.
+ properties:
+ allowed_values:
+ description: Telephony region options provided by Zoom to select from.
+ items:
+ type: string
+ type: array
+ selection_values:
+ description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
+ items:
+ type: string
+ type: array
+ type: object
+ third_party_audio:
+ description: Users can join the meeting using the existing third party audio configuration.
+ type: boolean
+ type: object
+ tsp:
+ description: "Account Settings: TSP."
+ properties:
+ call_out:
+ description: Call Out
+ type: boolean
+ call_out_countries:
+ description: Call Out Countries/Regions
+ items: {}
+ type: array
+ display_toll_free_numbers:
+ description: Display toll-free numbers
+ type: boolean
+ show_international_numbers_link:
+ description: Show international numbers link on the invitation email
+ type: boolean
+ type: object
+ zoom_rooms:
+ description: "Account Settings: Zoom Rooms."
+ properties:
+ auto_start_stop_scheduled_meetings:
+ description: Automatic start and stop for scheduled meetings.
+ type: boolean
+ cmr_for_instant_meeting:
+ description: Cloud recording for instant meetings.
+ type: boolean
+ force_private_meeting:
+ description: Shift all meetings to private.
+ type: boolean
+ hide_host_information:
+ description: Hide host and meeting ID from private meetings.
+ type: boolean
+ list_meetings_with_calendar:
+ description: Display meeting list with calendar integration.
+ type: boolean
+ start_airplay_manually:
+ description: Start AirPlay service manually.
+ type: boolean
+ ultrasonic:
+ description: Automatic direct sharing using an ultrasonic proximity signal.
+ type: boolean
+ upcoming_meeting_alert:
+ description: Upcoming meeting alert.
+ type: boolean
+ weekly_system_restart:
+ description: Weekly system restart.
+ type: boolean
+ zr_post_meeting_feedback:
+ description: Zoom Room post meeting feedback.
+ type: boolean
+ type: object
+ title: Account settings
+ type: object
+ AccountSettingsAuthentication:
+ oneOf:
+ - properties:
+ authentication_options:
+ description: Meeting Authentication Options
+ items:
+ properties:
+ default_option:
+ description: Authentication default option
+ type: boolean
+ domains:
+ description: Authentication domians
+ type: string
+ id:
+ description: Authentication id
+ type: string
+ name:
+ description: Authentication name
+ type: string
+ type:
+ description: |2-
+ Authentication type. Specify one of the following authentication types for the authentication profile:
+ * `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
+ * `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
+ * `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
+ enum:
+ - enforce_login
+ - enforce_login_with_same_account
+ - enforce_login_with_domains
+ type: string
+ visible:
+ description: Authentication visible
+ type: boolean
+ type: object
+ type: array
+ meeting_authentication:
+ description: Only authenticated users can join meetings
+ type: boolean
+ - properties:
+ authentication_options:
+ items:
+ properties:
+ default_option:
+ description: Authentication default option
+ type: boolean
+ domains:
+ description: Authentication domians
+ type: string
+ id:
+ description: Authentication id
+ type: string
+ name:
+ description: Authentication name
+ type: string
+ type:
+ description: Authentication type
+ enum:
+ - internally
+ - enforce_login
+ - enforce_login_with_domains
+ type: string
+ visible:
+ description: Authentication visible
+ type: boolean
+ type: object
+ type: array
+ recording_authentication:
+ description: Only authenticated users can view cloud recordings
+ type: boolean
+ title: AccountSettingsAuthentication
+ type: object
+ AccountSettingsAuthenticationUpdate:
+ oneOf:
+ - description: Set/ update [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars).
The authentication profile **must first be set at the account level via the account settings**, and later can be disabled after enabling on the preferred level - i.e. user level using user settings or at group level via group settings (if you do not want the settings to be enabled on the entire account).
+ properties:
+ authentication_option:
+ description: Meeting Authentication Options
+ properties:
+ action:
+ description: |-
+ Specify the action that you would like to take via this API request:
+ * `add` : Choose this value if you are adding an authentication option.
+ * `update`: Choose this value if you are updating an existing authentication option.
+ * `delete`: Choose this value if you are deleting an existing authentication option.
+ enum:
+ - update
+ - delete
+ - add
+ type: string
+ default_option:
+ description: Specify whether you would like to set this authentication option as the default option or not.
+ type: boolean
+ domains:
+ description: "If you chose `enforce_login_with_domains` as the authentication type, specify the domain(s) that you want to allow to join your meetings or webinars. "
+ type: string
+ id:
+ description: |2-
+ Authentication ID. If you are creating an authentication profile, you do not need to provide this field. The id field will be generated in the response once this API request is completed successfully. You can also use the Get Account Settings API with query parameter set to `meeting_authentication` to list the authentication id.
+ Use this field or the `name` field to identify the associated authentication option that you would like to update or delete.
+ type: string
+ name:
+ description: Unique name for the authentication option.
+ type: string
+ type:
+ description: |2-
+ Authentication type. Specify one of the following authentication types for the authentication profile:
+ * `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
+ * `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
+ * `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
+ enum:
+ - enforce_login
+ - enforce_login_with_same_account
+ - enforce_login_with_domains
+ type: string
+ type: object
+ meeting_authentication:
+ description: 'If set to "true", only authenticated users can join meetings. The method for authentication can be defined in the "authentication_option". '
+ type: boolean
+ - description: Set/Update [authentication profile for Cloud Recordings](https://support.zoom.us/hc/en-us/articles/360037756671-Authentication-Profiles-for-Cloud-Recordings).
+ properties:
+ authentication_option:
+ description: Specify the authentication options for this account.
+ properties:
+ action:
+ description: |-
+ Specify the action that you would like to take via this API request:
+ * `add` : Choose this value if you are adding an authentication option.
+ * `update`: Choose this value if you are updating an existing authentication option.
+ * `delete`: Choose this value if you are deleting an existing authentication option.
+ enum:
+ - update
+ - delete
+ - add
+ type: string
+ default_option:
+ description: Specify whether you would like to set this authentication option as the default option or not.
+ type: boolean
+ domains:
+ description: "If you chose `enforce_login_with_domains` as the authentication type, specify the domain(s) that you want to allow to view the recordings. "
+ type: string
+ id:
+ description: |2-
+ Authentication ID. If you are creating an authentication profile, you do not need to provide this field. The id field will be generated in the response once this API request is completed successfully. You can also use the Get Account Settings API with query parameter set to `meeting_authentication` to list the authentication id.
+ Use this field or the `name` field to identify the associated authentication option that you would like to update or delete.
+ type: string
+ name:
+ description: Unique name for the authentication option.
+ type: string
+ type:
+ description: |+
+ Specify one authentication type that is to be associated with this authentication configuration:
+ * `internally`: This option allows you specify a rule that only signed in users within your account can view the recording.
+ * `enforce_login`: This option allows any users to view the recording, as long as they are signed into their Zoom account.
+ * `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can view the recording. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
+
+ enum:
+ - internally
+ - enforce_login
+ - enforce_login_with_domains
+ type: string
+ type: object
+ recording_authentication:
+ description: |-
+ If set to `true`, only authenticated users can view the cloud recordings.
+ The authentication profile **must first be set at the account level via the account settings**, and later can be disabled after enabling on the preferred level - i.e. user level using user settings or at group level via group settings (if you do not want the settings to be enabled on the entire account).
+ type: boolean
+ title: AccountSettingsAuthenticationUpdate
+ type: object
+ AccountSettingsEmailNotification:
+ description: "Account Settings: Notification."
+ properties:
+ alternative_host_reminder:
+ description: Notify when an alternative host is set or removed from a meeting.
+ type: boolean
+ cancel_meeting_reminder:
+ description: Notify the host and participants when a meeting is cancelled.
+ type: boolean
+ cloud_recording_avaliable_reminder:
+ description: Notify host when cloud recording is available.
+ type: boolean
+ jbh_reminder:
+ description: Notify the host when participants join the meeting before them.
+ type: boolean
+ low_host_count_reminder:
+ description: Notify user when host licenses are running low.
+ type: boolean
+ schedule_for_reminder:
+ description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
+ type: boolean
+ type: object
+ AccountSettingsFeature:
+ description: "Account Settings: Feature."
+ properties:
+ meeting_capacity:
+ description: Set the maximum number of participants a host can have in a single meeting.
+ type: integer
+ type: object
+ AccountSettingsInMeeting:
+ description: "Account Settings: In Meeting."
+ properties:
+ alert_guest_join:
+ description: Identify guest participants in a meeting or webinar.
+ type: boolean
+ allow_live_streaming:
+ description: Allow live streaming.
+ type: boolean
+ allow_participants_to_rename:
+ description: |
+ If the value of this field is set to `true`, meeting participants and webinar panelists can be allowed to rename themselves during a meeting or a webinar.
+ type: boolean
+ allow_show_zoom_windows:
+ description: "Show the Zoom desktop application when sharing screens. "
+ type: boolean
+ annotation:
+ description: Allow participants to use annotation tools to add information to shared screens.
+ type: boolean
+ anonymous_question_answer:
+ description: Allow an anonymous Q&A in a webinar.
+ type: boolean
+ attendee_on_hold:
+ default: false
+ description: |-
+ Allow host to put attendee on hold.
+
+ **This field has been deprecated and is no longer supported.**
+ type: boolean
+ auto_answer:
+ description: Enable users to see and add contacts to the "auto-answer group" in the chat contact list. Any call from members of this group will automatically be answered.
+ type: boolean
+ auto_saving_chat:
+ description: Automatically save all in-meeting chats so that the host does not need to manually save the chat transcript after the meeting starts.
+ type: boolean
+ breakout_room:
+ description: Allow host to split meeting participants into separate, smaller rooms.
+ type: boolean
+ chat:
+ description: Allow meeting participants to send a message that is visible to all participants.
+ type: boolean
+ closed_caption:
+ description: "Allow a host to type closed captions. Enable a host to assign a participant or third party device to add closed captions. "
+ type: boolean
+ co_host:
+ description: Allow the host to add co-hosts.
+ type: boolean
+ custom_data_center_regions:
+ description: If set to `true`, account owners and admins on paid accounts can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting their real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
+ type: boolean
+ custom_live_streaming_service:
+ description: Custom live streaming.
+ type: boolean
+ custom_service_instructions:
+ description: Custom service instructions.
+ type: string
+ data_center_regions:
+ description: |
+ If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["EU", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
+ enum:
+ - EU
+ - HK
+ - AU
+ - IN
+ - TY
+ - CN
+ - US
+ - CA
+ items:
+ type: string
+ type: array
+ dscp_audio:
+ description: DSCP audio.
+ maximum: 63
+ minimum: 1
+ type: integer
+ dscp_marking:
+ description: DSCP marking.
+ type: boolean
+ dscp_video:
+ description: DSCP video.
+ maximum: 63
+ minimum: 1
+ type: integer
+ e2e_encryption:
+ description: Zoom requires encryption for all data between the Zoom cloud, Zoom client, and Zoom Room. Require encryption for 3rd party endpoints (H323/SIP).
+ type: boolean
+ entry_exit_chime:
+ description: Play sound when participants join or leave. `host` - Heard by host only. `all` - Heard by host and all attendees. `none` - Disable.
+ enum:
+ - host
+ - all
+ - none
+ type: string
+ x-enum-descriptions:
+ - Heard by host only
+ - Heard by host and all attendees
+ - Disable
+ far_end_camera_control:
+ description: Allow another user to take control of your camera during a meeting.
+ type: boolean
+ feedback:
+ description: Add a "Feedback" tab to the Windows Settings or Mac Preferences dialog. Enable users to provide feedback to Zoom at the end of the meeting.
+ type: boolean
+ file_transfer:
+ description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled on the account or not.
+ type: boolean
+ group_hd:
+ description: |-
+ Activate higher quality video for host and participants.
+ Please note: This will use more bandwidth.
+ type: boolean
+ meeting_reactions:
+ description: |-
+ Enable or disable meeting reactions.
+ `true`: Allow meeting participants to communicate without interrupting by reacting with an emoji that shows on their video.
+ `false`: Do not enable meeting reactions.
+ type: boolean
+ original_audio:
+ description: Allow users to select original sound in their client settings.
+ type: boolean
+ p2p_connetion:
+ description: Peer to peer connection while only two people are in a meeting.
+ type: boolean
+ p2p_ports:
+ description: Peer to peer listening ports range.
+ type: boolean
+ polling:
+ description: Add "Polls" to the meeting controls.
+ type: boolean
+ ports_range:
+ default: ""
+ description: The listening ports range, separated by a comma (ex 55,56). The ports range must be between 1 to 65535.
+ type: string
+ post_meeting_feedback:
+ description: Display a thumbs up or down survey at the end of each meeting.
+ type: boolean
+ private_chat:
+ description: Allow a meeting participant to send a private message to another participant.
+ type: boolean
+ record_play_own_voice:
+ description: Record and play their own voice.
+ type: boolean
+ remote_control:
+ description: Allow users to request remote control.
+ type: boolean
+ request_permission_to_unmute:
+ description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the account or not.
+ type: boolean
+ screen_sharing:
+ description: Allow screen sharing.
+ type: boolean
+ sending_default_email_invites:
+ description: Only show the default email when sending email invites.
+ type: boolean
+ show_a_join_from_your_browser_link:
+ description: If the value of this field is set to `true`, you will allow participants to join a meeting directly from their browser and bypass the Zoom application download process. This is a workaround for participants who are unable to download, install, or run applications. Note that the meeting experience from the browser is limited.
+ type: boolean
+ show_meeting_control_toolbar:
+ description: Always show the meeting control toolbar.
+ type: boolean
+ stereo_audio:
+ description: Allow users to select stereo audio in their client settings.
+ type: boolean
+ use_html_format_email:
+ description: Use HTML formatted email for the Outlook plugin.
+ type: boolean
+ virtual_background:
+ description: Allow users to replace their background with any selected image. Choose or upload an image in the Zoom desktop application settings.
+ type: boolean
+ virtual_background_settings:
+ description: Settings to manage virtual background.
+ properties:
+ allow_upload_custom:
+ description: Allow users to upload custom backgrounds.
+ type: boolean
+ allow_videos:
+ description: Allow use of videos for virtual backgrounds.
+ type: boolean
+ enable:
+ description: Enable virtual background.
+ type: boolean
+ files:
+ items:
+ properties:
+ id:
+ description: Unique identifier of the file.
+ type: string
+ is_default:
+ description: Indicates whether or not this file is the default virtual background file.
+ type: boolean
+ name:
+ description: File name.
+ type: string
+ size:
+ description: File size.
+ type: string
+ type:
+ description: File type.
+ type: string
+ type: object
+ type: array
+ type: object
+ watermark:
+ description: Add a watermark when viewing a shared screen.
+ type: boolean
+ webinar_question_answer:
+ description: Allow a Q&A in a webinar.
+ type: boolean
+ whiteboard:
+ description: Allow participants to share a whiteboard that includes annotation tools.
+ type: boolean
+ who_can_share_screen:
+ description: |
+ Indicates who can share their screen or content during meetings. The value can be one of the following:
+ `host`: Only host can share the screen.
+ `all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ who_can_share_screen_when_someone_is_sharing:
+ description: |
+ Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
+ `host`: Only a host can share the screen when someone else is sharing.
+ `all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ workplace_by_facebook:
+ description: Workplace by facebook.
+ type: boolean
+ type: object
+ AccountSettingsIntegration:
+ description: "Account Settings: Integration."
+ properties:
+ box:
+ description: Enable users who join a meeting from their mobile device to share content from their Box account.
+ type: boolean
+ dropbox:
+ description: Enable users who join a meeting from their mobile device to share content from their Dropbox account.
+ type: boolean
+ google_calendar:
+ description: Enable meetings to be scheduled using Google Calendar.
+ type: boolean
+ google_drive:
+ description: Enable users who join a meeting from their mobile device to share content from their Google Drive.
+ type: boolean
+ kubi:
+ description: Enable users to control a connected Kubi device from within a Zoom meeting.
+ type: boolean
+ microsoft_one_drive:
+ description: Enable users who join a meeting from their mobile device to share content from their Microsoft OneDrive account.
+ type: boolean
+ type: object
+ AccountSettingsRecording:
+ description: "Account Settings: Recording."
+ properties:
+ account_user_access_recording:
+ description: Cloud recordings are only accessible to account members. People outside of your organization cannot open links that provide access to cloud recordings.
+ type: boolean
+ allow_recovery_deleted_cloud_recordings:
+ description: |-
+ Allow recovery of deleted cloud recordings from trash.
+ If the value of this field is set to `true`, deleted cloud recordings will be kept in trash for 30 days after deletion and can be recovered within that period.
+ type: boolean
+ archive:
+ description: "[Archiving solution](https://support.zoom.us/hc/en-us/articles/360050431572-Archiving-Meeting-and-Webinar-data) settings. This setting can only be used if you have been granted with archiving solution access by the Zoom support team."
+ properties:
+ enable:
+ description: Enable the archiving feature.
+ type: boolean
+ settings:
+ properties:
+ audio_file:
+ description: Include in-meeting and/or in-webinar audio in the archive.
+ type: boolean
+ cc_transcript_file:
+ description: Include closed caption or transcript in the archive.
+ type: boolean
+ chat_file:
+ description: Include in-meeting chat in the archive.
+ type: boolean
+ chat_with_sender_email:
+ description: Include user email in in-meeting chat file.
+ type: boolean
+ video_file:
+ description: Include in-meeting and/or in-webinar video in the archive.
+ type: boolean
+ type: object
+ type:
+ description: |-
+ Archive types:
+
+ * `1`: Only meetings are archived.
+ * `2`: Only webinars are archived.
+ * `3`: Both meetings and webinars are archived.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ type: object
+ auto_delete_cmr:
+ description: Allow Zoom to permanantly delete recordings automatically after a specified number of days.
+ type: boolean
+ auto_delete_cmr_days:
+ description: When `auto_delete_cmr` function is 'true' this value will set the number of days before the auto deletion of cloud recordings.
+ type: integer
+ auto_recording:
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record on local
+ - Record on cloud
+ - Disabled
+ cloud_recording:
+ description: Allow hosts to record and save the meeting in the cloud.
+ type: boolean
+ cloud_recording_download:
+ description: Cloud recording downloads.
+ type: boolean
+ cloud_recording_download_host:
+ description: Only the host can download cloud recordings.
+ type: boolean
+ host_delete_cloud_recording:
+ description: |
+ If the value of this field is set to `true`, hosts will be able to delete the recordings. If this option is set to `false`, the recordings cannot be deleted by the host and only admin can delete them.
+ type: boolean
+ ip_address_access_control:
+ description: |
+ Setting to allow cloud recording access only from specific IP address ranges.
+ properties:
+ enable:
+ description: |+
+ If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
+
+ type: boolean
+ ip_addresses_or_ranges:
+ description: |+
+ IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
+
+ Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
+
+ type: string
+ type: object
+ local_recording:
+ description: Allow hosts and participants to record the meeting using a local file.
+ type: boolean
+ prevent_host_access_recording:
+ description: |
+ If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
+ type: boolean
+ record_audio_file:
+ description: Record an audio only file.
+ type: boolean
+ record_gallery_view:
+ description: Record the gallery view with a shared screen.
+ type: boolean
+ record_speaker_view:
+ description: Record the active speaker with a shared screen.
+ type: boolean
+ recording_audio_transcript:
+ description: Automatically transcribe the audio of the meeting or webinar to the cloud.
+ type: boolean
+ recording_disclaimer:
+ description: |
+ Show a disclaimer to participants before a recording starts
+ type: boolean
+ recording_password_requirement:
+ description: This object represents the minimum password requirements set for recordings via Account Recording Settings.
+ properties:
+ have_letter:
+ description: Indicates whether or not password must contain at least one alphabetical letter (a, b, c..).
+ type: boolean
+ have_number:
+ description: Indicates whether or not password must contain at least one number(1, 2, 3..).
+ type: boolean
+ have_special_character:
+ description: "Indicates whether or not password must contain at least one special character(!, @, #..)."
+ type: boolean
+ length:
+ description: Minimum required length for the password.
+ maximum: 10
+ type: integer
+ only_allow_numeric:
+ description: Indicates whether or not password must contain only numeric characters.
+ type: boolean
+ type: object
+ required_password_for_existing_cloud_recordings:
+ description: Require a passcode to access existing cloud recordings.
+ type: boolean
+ save_chat_text:
+ description: Save the chat text from the meeting.
+ type: boolean
+ show_timestamp:
+ description: Add a timestamp to the recording.
+ type: boolean
+ type: object
+ AccountSettingsRecordingAuthenticationUpdate:
+ description: |-
+ Only authenticated users can view cloud recordings
+ The viewers need to authenticate prior to viewing the cloud recordings, hosts can choose one of the authentication methods when sharing a cloud recording.
+ properties:
+ authentication_option:
+ properties:
+ action:
+ enum:
+ - update
+ - add
+ - delete
+ type: string
+ default_option:
+ type: boolean
+ domains:
+ type: string
+ id:
+ type: string
+ name:
+ type: string
+ type:
+ enum:
+ - internally
+ - enforce_login
+ - enforce_login_with_domains
+ type: string
+ type: object
+ recording_authentication:
+ type: boolean
+ title: AccountSettingsRecordingAuthenticationUpdate
+ type: object
+ AccountSettingsScheduleMeeting:
+ description: "Account Settings: Schedule Meeting."
+ properties:
+ audio_type:
+ default: both
+ description: Determine how participants can join the audio portion of the meeting. `both` - Telephony and VoIP. `telephony` - Audio PSTN telephony only. `voip` - VoIP only. `thirdParty` - 3rd party audio conference.
+ enum:
+ - both
+ - telephony
+ - voip
+ - thirdParty
+ type: string
+ x-enum-descriptions:
+ - Telephony and VoIP
+ - Audio PSTN telephony only
+ - VoIP only
+ - 3rd party audio conference
+ enforce_login:
+ description: Only Zoom users who are signed in can join meetings.
+ type: boolean
+ enforce_login_domains:
+ description: "Only signed in users with a specified domain can join the meeting. "
+ type: string
+ enforce_login_with_domains:
+ description: Only signed in users with a specific domain can join meetings.
+ type: boolean
+ force_pmi_jbh_password:
+ description: Require a password for Personal Meetings if attendees can join before host.
+ type: boolean
+ host_video:
+ description: Start meetings with the host video on.
+ type: boolean
+ join_before_host:
+ description: Allow participants to join the meeting before the host arrives.
+ type: boolean
+ meeting_password_requirement:
+ description: Account wide meeting/webinar [password requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the password must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the password must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the password must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the password must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar password needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the password must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided password is weak.
+ type: boolean
+ type: object
+ not_store_meeting_topic:
+ description: Always display "Zoom Meeting" as the meeting topic.
+ type: boolean
+ participant_video:
+ description: Start meetings with the participant video on. Participants can change this setting during the meeting.
+ type: boolean
+ personal_meeting:
+ description: |+
+ Personal Meeting Setting.
+ `true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
+ `false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
+ For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
+
+
+ type: boolean
+ require_password_for_instant_meetings:
+ description: |
+ Require a password for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ require_password_for_pmi_meetings:
+ description: |
+ Require a password for a meeting held using Personal Meeting ID (PMI) This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ enum:
+ - jbh_only
+ - all
+ - none
+ type: string
+ x-enum-descriptions:
+ - Only meetings with Join Before Host enabled
+ - All meetings using PMI
+ - Disabled
+ require_password_for_scheduled_meetings:
+ description: |
+ Require a password for meetings which have already been scheduled
+ type: boolean
+ require_password_for_scheduling_new_meetings:
+ description: Require a password when scheduling new meetings. This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ use_pmi_for_instant_meetings:
+ description: |
+ Use Personal Meeting ID (PMI) when starting an instant meeting
+ type: boolean
+ use_pmi_for_scheduled_meetings:
+ description: |
+ Use Personal Meeting ID (PMI) when scheduling a meeting
+ type: boolean
+ type: object
+ AccountSettingsSecurity:
+ description: "[Security settings](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) of an Account."
+ properties:
+ admin_change_name_pic:
+ description: Only account administrators can change a user's username and picture.
+ type: boolean
+ hide_billing_info:
+ description: Hide billing information.
+ type: boolean
+ import_photos_from_devices:
+ description: Allow users to import photos from a photo library on a device.
+ type: boolean
+ password_requirement:
+ description: "This object refers to the [enhanced password rules](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) that allows Zoom account admins and owners to apply extra requiremets to the users' Zoom login password. "
+ properties:
+ consecutive_characters_length:
+ description: |-
+
+ Specify the max length of consecutive characters(abcde...) that can be used in a password.
+ If you set the value of this field to `0`, no restriction will be applied on consecutive characters.
+
+ If you would like to set this restriction, you can specify a number between 4 and 8 that define the maximum allowed length for consecutive characters in a password.
+
+ The max allowed length will be `n-1` where `n` refers to the value you provide for this field. For instance, if you provide `4` as the value, there can only be a maximum of `3` consecutive characters in a password(example: abc1x@8fdh).
+ type: integer
+ have_special_character:
+ description: "If the value of this field is set to `true`, the password must have at least one special character(!, @, #...)."
+ type: boolean
+ minimum_password_length:
+ description: Specify a minimum length for the password. The password length can be from a minimum of 9 characters, up to 14 characters. If you provide `0` as the value of this field, this field will be disabled and not be used and the basic password length requirement (minimum of 8 characters) will be applied for the requirement.
+ maximum: 14
+ minimum: 8
+ type: integer
+ weak_enhance_detection:
+ description: If the value of this field is set to `true`, user passwords will have to pass detection through a weak password dictionary in case hackers use simple passwords to sign in to your users’ accounts.
+ type: boolean
+ type: object
+ sign_again_period_for_inactivity_on_client:
+ description: |
+ Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Client app after a set amount of time.
+
+ If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Client. The value for the period of inactivity can be one of the following:
+
+ `5`: 5 minutes
+ `10`: 10 minutes
+ `15`: 15 minutes
+ `30`: 30 minutes
+ `45`: 45 minutes
+ `60`: 60 minutes
+ `90`: 90 minutes
+ `120`: 120 minutes
+ type: integer
+ sign_again_period_for_inactivity_on_web:
+ description: |+
+ Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Web Portal after a set amount of time.
+
+ If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Web Portal. The value for the period of inactivity can be one of the following:
+
+ `5`: 5 minutes
+ `10`: 10 minutes
+ `15`: 15 minutes
+ `30`: 30 minutes
+ `60`: 60 minutes
+ `120`: 120 minutes
+
+
+
+ type: integer
+ sign_in_with_two_factor_auth:
+ description: |
+ Settings for 2FA( [two factor authentication](https://support.zoom.us/hc/en-us/articles/360038247071) ). The value can be one of the following:
+ `all`: Two factor authentication will be enabled for all users in the account.
+ `none`: Two factor authentication is disabled.
+ `group`: Two factor authentication will be enabled for users belonging to specific groups. If 2FA is enabled for certain groups, the group IDs of the group(s) will be provided in the `sign_in_with_two_factor_auth_groups` field.
+ `role`: Two factor authentication will be enabled only for users assigned with specific roles in the account. If 2FA is enabled for specific roles, the role IDs will be provided in the
+ `sign_in_with_two_factor_auth_roles` field.
+ enum:
+ - all
+ - group
+ - role
+ - none
+ type: string
+ sign_in_with_two_factor_auth_groups:
+ description: This field contains group IDs of groups that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `group`
+ items:
+ type: string
+ type: array
+ sign_in_with_two_factor_auth_roles:
+ description: This field contains role IDs of roles that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `role`.
+ items:
+ type: string
+ type: array
+ type: object
+ AccountSettingsTSP:
+ description: "Account Settings: TSP."
+ properties:
+ call_out:
+ description: Call Out
+ type: boolean
+ call_out_countries:
+ description: Call Out Countries/Regions
+ items: {}
+ type: array
+ display_toll_free_numbers:
+ description: Display toll-free numbers
+ type: boolean
+ show_international_numbers_link:
+ description: Show international numbers link on the invitation email
+ type: boolean
+ type: object
+ AccountSettingsTelephony:
+ description: "Account Settings: Telephony."
+ properties:
+ audio_conference_info:
+ description: Third party audio conference info.
+ type: string
+ telephony_regions:
+ description: Indicates where most of the participants call into or call from duriing a meeting.
+ properties:
+ allowed_values:
+ description: Telephony region options provided by Zoom to select from.
+ items:
+ type: string
+ type: array
+ selection_values:
+ description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
+ items:
+ type: string
+ type: array
+ type: object
+ third_party_audio:
+ description: Users can join the meeting using the existing third party audio configuration.
+ type: boolean
+ type: object
+ AccountSettingsUpdateTelephony:
+ description: "Account Settings Update: Telephony."
+ properties:
+ audio_conference_info:
+ description: Third party audio conference info.
+ type: string
+ telephony_regions:
+ description: Indicates where most of the participants call into or call from duriing a meeting.
+ properties:
+ selection_values:
+ description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
+ items:
+ type: string
+ type: array
+ type: object
+ third_party_audio:
+ description: Users can join the meeting using the existing third party audio configuration.
+ type: boolean
+ type: object
+ AccountSettingsZoomRooms:
+ description: "Account Settings: Zoom Rooms."
+ properties:
+ auto_start_stop_scheduled_meetings:
+ description: Automatic start and stop for scheduled meetings.
+ type: boolean
+ cmr_for_instant_meeting:
+ description: Cloud recording for instant meetings.
+ type: boolean
+ force_private_meeting:
+ description: Shift all meetings to private.
+ type: boolean
+ hide_host_information:
+ description: Hide host and meeting ID from private meetings.
+ type: boolean
+ list_meetings_with_calendar:
+ description: Display meeting list with calendar integration.
+ type: boolean
+ start_airplay_manually:
+ description: Start AirPlay service manually.
+ type: boolean
+ ultrasonic:
+ description: Automatic direct sharing using an ultrasonic proximity signal.
+ type: boolean
+ upcoming_meeting_alert:
+ description: Upcoming meeting alert.
+ type: boolean
+ weekly_system_restart:
+ description: Weekly system restart.
+ type: boolean
+ zr_post_meeting_feedback:
+ description: Zoom Room post meeting feedback.
+ type: boolean
+ type: object
+ AccountUpdateSettings:
+ properties:
+ email_notification:
+ description: "Account Settings: Notification."
+ properties:
+ alternative_host_reminder:
+ description: Notify when an alternative host is set or removed from a meeting.
+ type: boolean
+ cancel_meeting_reminder:
+ description: Notify the host and participants when a meeting is cancelled.
+ type: boolean
+ cloud_recording_avaliable_reminder:
+ description: Notify host when cloud recording is available.
+ type: boolean
+ jbh_reminder:
+ description: Notify the host when participants join the meeting before them.
+ type: boolean
+ low_host_count_reminder:
+ description: Notify user when host licenses are running low.
+ type: boolean
+ schedule_for_reminder:
+ description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
+ type: boolean
+ type: object
+ feature:
+ description: "Account Settings: Feature."
+ properties:
+ meeting_capacity:
+ description: Set the maximum number of participants a host can have in a single meeting.
+ type: integer
+ type: object
+ in_meeting:
+ description: "Account Settings: In Meeting."
+ properties:
+ alert_guest_join:
+ description: Identify guest participants in a meeting or webinar.
+ type: boolean
+ allow_live_streaming:
+ description: Allow live streaming.
+ type: boolean
+ allow_participants_to_rename:
+ description: |
+ If the value of this field is set to `true`, meeting participants and webinar panelists can be allowed to rename themselves during a meeting or a webinar.
+ type: boolean
+ allow_show_zoom_windows:
+ description: "Show the Zoom desktop application when sharing screens. "
+ type: boolean
+ annotation:
+ description: Allow participants to use annotation tools to add information to shared screens.
+ type: boolean
+ anonymous_question_answer:
+ description: Allow an anonymous Q&A in a webinar.
+ type: boolean
+ attendee_on_hold:
+ default: false
+ description: |-
+ Allow host to put attendee on hold.
+
+ **This field has been deprecated and is no longer supported.**
+ type: boolean
+ auto_answer:
+ description: Enable users to see and add contacts to the "auto-answer group" in the chat contact list. Any call from members of this group will automatically be answered.
+ type: boolean
+ auto_saving_chat:
+ description: Automatically save all in-meeting chats so that the host does not need to manually save the chat transcript after the meeting starts.
+ type: boolean
+ breakout_room:
+ description: Allow host to split meeting participants into separate, smaller rooms.
+ type: boolean
+ chat:
+ description: Allow meeting participants to send a message that is visible to all participants.
+ type: boolean
+ closed_caption:
+ description: "Allow a host to type closed captions. Enable a host to assign a participant or third party device to add closed captions. "
+ type: boolean
+ co_host:
+ description: Allow the host to add co-hosts.
+ type: boolean
+ custom_data_center_regions:
+ description: If set to `true`, account owners and admins on paid accounts can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting their real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
+ type: boolean
+ custom_live_streaming_service:
+ description: Custom live streaming.
+ type: boolean
+ custom_service_instructions:
+ description: Custom service instructions.
+ type: string
+ data_center_regions:
+ description: |
+ If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["EU", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
+ enum:
+ - EU
+ - HK
+ - AU
+ - IN
+ - TY
+ - CN
+ - US
+ - CA
+ items:
+ type: string
+ type: array
+ dscp_audio:
+ description: DSCP audio.
+ maximum: 63
+ minimum: 1
+ type: integer
+ dscp_marking:
+ description: DSCP marking.
+ type: boolean
+ dscp_video:
+ description: DSCP video.
+ maximum: 63
+ minimum: 1
+ type: integer
+ e2e_encryption:
+ description: Zoom requires encryption for all data between the Zoom cloud, Zoom client, and Zoom Room. Require encryption for 3rd party endpoints (H323/SIP).
+ type: boolean
+ entry_exit_chime:
+ description: Play sound when participants join or leave. `host` - Heard by host only. `all` - Heard by host and all attendees. `none` - Disable.
+ enum:
+ - host
+ - all
+ - none
+ type: string
+ x-enum-descriptions:
+ - Heard by host only
+ - Heard by host and all attendees
+ - Disable
+ far_end_camera_control:
+ description: Allow another user to take control of your camera during a meeting.
+ type: boolean
+ feedback:
+ description: Add a "Feedback" tab to the Windows Settings or Mac Preferences dialog. Enable users to provide feedback to Zoom at the end of the meeting.
+ type: boolean
+ file_transfer:
+ description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled on the account or not.
+ type: boolean
+ group_hd:
+ description: |-
+ Activate higher quality video for host and participants.
+ Please note: This will use more bandwidth.
+ type: boolean
+ meeting_reactions:
+ description: |-
+ Enable or disable meeting reactions.
+ `true`: Allow meeting participants to communicate without interrupting by reacting with an emoji that shows on their video.
+ `false`: Do not enable meeting reactions.
+ type: boolean
+ original_audio:
+ description: Allow users to select original sound in their client settings.
+ type: boolean
+ p2p_connetion:
+ description: Peer to peer connection while only two people are in a meeting.
+ type: boolean
+ p2p_ports:
+ description: Peer to peer listening ports range.
+ type: boolean
+ polling:
+ description: Add "Polls" to the meeting controls.
+ type: boolean
+ ports_range:
+ default: ""
+ description: The listening ports range, separated by a comma (ex 55,56). The ports range must be between 1 to 65535.
+ type: string
+ post_meeting_feedback:
+ description: Display a thumbs up or down survey at the end of each meeting.
+ type: boolean
+ private_chat:
+ description: Allow a meeting participant to send a private message to another participant.
+ type: boolean
+ record_play_own_voice:
+ description: Record and play their own voice.
+ type: boolean
+ remote_control:
+ description: Allow users to request remote control.
+ type: boolean
+ request_permission_to_unmute:
+ description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the account or not.
+ type: boolean
+ screen_sharing:
+ description: Allow screen sharing.
+ type: boolean
+ sending_default_email_invites:
+ description: Only show the default email when sending email invites.
+ type: boolean
+ show_a_join_from_your_browser_link:
+ description: If the value of this field is set to `true`, you will allow participants to join a meeting directly from their browser and bypass the Zoom application download process. This is a workaround for participants who are unable to download, install, or run applications. Note that the meeting experience from the browser is limited.
+ type: boolean
+ show_meeting_control_toolbar:
+ description: Always show the meeting control toolbar.
+ type: boolean
+ stereo_audio:
+ description: Allow users to select stereo audio in their client settings.
+ type: boolean
+ use_html_format_email:
+ description: Use HTML formatted email for the Outlook plugin.
+ type: boolean
+ virtual_background:
+ description: Allow users to replace their background with any selected image. Choose or upload an image in the Zoom desktop application settings.
+ type: boolean
+ virtual_background_settings:
+ description: Settings to manage virtual background.
+ properties:
+ allow_upload_custom:
+ description: Allow users to upload custom backgrounds.
+ type: boolean
+ allow_videos:
+ description: Allow use of videos for virtual backgrounds.
+ type: boolean
+ enable:
+ description: Enable virtual background.
+ type: boolean
+ files:
+ items:
+ properties:
+ id:
+ description: Unique identifier of the file.
+ type: string
+ is_default:
+ description: Indicates whether or not this file is the default virtual background file.
+ type: boolean
+ name:
+ description: File name.
+ type: string
+ size:
+ description: File size.
+ type: string
+ type:
+ description: File type.
+ type: string
+ type: object
+ type: array
+ type: object
+ watermark:
+ description: Add a watermark when viewing a shared screen.
+ type: boolean
+ webinar_question_answer:
+ description: Allow a Q&A in a webinar.
+ type: boolean
+ whiteboard:
+ description: Allow participants to share a whiteboard that includes annotation tools.
+ type: boolean
+ who_can_share_screen:
+ description: |
+ Indicates who can share their screen or content during meetings. The value can be one of the following:
+ `host`: Only host can share the screen.
+ `all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ who_can_share_screen_when_someone_is_sharing:
+ description: |
+ Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
+ `host`: Only a host can share the screen when someone else is sharing.
+ `all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ workplace_by_facebook:
+ description: Workplace by facebook.
+ type: boolean
+ type: object
+ integration:
+ description: "Account Settings: Integration."
+ properties:
+ box:
+ description: Enable users who join a meeting from their mobile device to share content from their Box account.
+ type: boolean
+ dropbox:
+ description: Enable users who join a meeting from their mobile device to share content from their Dropbox account.
+ type: boolean
+ google_calendar:
+ description: Enable meetings to be scheduled using Google Calendar.
+ type: boolean
+ google_drive:
+ description: Enable users who join a meeting from their mobile device to share content from their Google Drive.
+ type: boolean
+ kubi:
+ description: Enable users to control a connected Kubi device from within a Zoom meeting.
+ type: boolean
+ microsoft_one_drive:
+ description: Enable users who join a meeting from their mobile device to share content from their Microsoft OneDrive account.
+ type: boolean
+ type: object
+ profile:
+ properties:
+ recording_storage_location:
+ properties:
+ allowed_values:
+ description: |-
+ Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
+
+ Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
+ items:
+ type: string
+ type: array
+ value:
+ description: Abbreviated country code.
+ type: string
+ type: object
+ title: Profile
+ type: object
+ recording:
+ description: "Account Settings: Recording."
+ properties:
+ account_user_access_recording:
+ description: Cloud recordings are only accessible to account members. People outside of your organization cannot open links that provide access to cloud recordings.
+ type: boolean
+ allow_recovery_deleted_cloud_recordings:
+ description: |-
+ Allow recovery of deleted cloud recordings from trash.
+ If the value of this field is set to `true`, deleted cloud recordings will be kept in trash for 30 days after deletion and can be recovered within that period.
+ type: boolean
+ archive:
+ description: "[Archiving solution](https://support.zoom.us/hc/en-us/articles/360050431572-Archiving-Meeting-and-Webinar-data) settings. This setting can only be used if you have been granted with archiving solution access by the Zoom support team."
+ properties:
+ enable:
+ description: Enable the archiving feature.
+ type: boolean
+ settings:
+ properties:
+ audio_file:
+ description: Include in-meeting and/or in-webinar audio in the archive.
+ type: boolean
+ cc_transcript_file:
+ description: Include closed caption or transcript in the archive.
+ type: boolean
+ chat_file:
+ description: Include in-meeting chat in the archive.
+ type: boolean
+ chat_with_sender_email:
+ description: Include user email in in-meeting chat file.
+ type: boolean
+ video_file:
+ description: Include in-meeting and/or in-webinar video in the archive.
+ type: boolean
+ type: object
+ type:
+ description: |-
+ Archive types:
+
+ * `1`: Only meetings are archived.
+ * `2`: Only webinars are archived.
+ * `3`: Both meetings and webinars are archived.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ type: object
+ auto_delete_cmr:
+ description: Allow Zoom to permanantly delete recordings automatically after a specified number of days.
+ type: boolean
+ auto_delete_cmr_days:
+ description: When `auto_delete_cmr` function is 'true' this value will set the number of days before the auto deletion of cloud recordings.
+ type: integer
+ auto_recording:
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record on local
+ - Record on cloud
+ - Disabled
+ cloud_recording:
+ description: Allow hosts to record and save the meeting in the cloud.
+ type: boolean
+ cloud_recording_download:
+ description: Cloud recording downloads.
+ type: boolean
+ cloud_recording_download_host:
+ description: Only the host can download cloud recordings.
+ type: boolean
+ host_delete_cloud_recording:
+ description: |
+ If the value of this field is set to `true`, hosts will be able to delete the recordings. If this option is set to `false`, the recordings cannot be deleted by the host and only admin can delete them.
+ type: boolean
+ ip_address_access_control:
+ description: |
+ Setting to allow cloud recording access only from specific IP address ranges.
+ properties:
+ enable:
+ description: |+
+ If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
+
+ type: boolean
+ ip_addresses_or_ranges:
+ description: |+
+ IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
+
+ Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
+
+ type: string
+ type: object
+ local_recording:
+ description: Allow hosts and participants to record the meeting using a local file.
+ type: boolean
+ prevent_host_access_recording:
+ description: |
+ If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
+ type: boolean
+ record_audio_file:
+ description: Record an audio only file.
+ type: boolean
+ record_gallery_view:
+ description: Record the gallery view with a shared screen.
+ type: boolean
+ record_speaker_view:
+ description: Record the active speaker with a shared screen.
+ type: boolean
+ recording_audio_transcript:
+ description: Automatically transcribe the audio of the meeting or webinar to the cloud.
+ type: boolean
+ recording_disclaimer:
+ description: |
+ Show a disclaimer to participants before a recording starts
+ type: boolean
+ recording_password_requirement:
+ description: This object represents the minimum password requirements set for recordings via Account Recording Settings.
+ properties:
+ have_letter:
+ description: Indicates whether or not password must contain at least one alphabetical letter (a, b, c..).
+ type: boolean
+ have_number:
+ description: Indicates whether or not password must contain at least one number(1, 2, 3..).
+ type: boolean
+ have_special_character:
+ description: "Indicates whether or not password must contain at least one special character(!, @, #..)."
+ type: boolean
+ length:
+ description: Minimum required length for the password.
+ maximum: 10
+ type: integer
+ only_allow_numeric:
+ description: Indicates whether or not password must contain only numeric characters.
+ type: boolean
+ type: object
+ required_password_for_existing_cloud_recordings:
+ description: Require a passcode to access existing cloud recordings.
+ type: boolean
+ save_chat_text:
+ description: Save the chat text from the meeting.
+ type: boolean
+ show_timestamp:
+ description: Add a timestamp to the recording.
+ type: boolean
+ type: object
+ schedule_meeting:
+ description: "Account Settings: Schedule Meeting."
+ properties:
+ audio_type:
+ default: both
+ description: Determine how participants can join the audio portion of the meeting. `both` - Telephony and VoIP. `telephony` - Audio PSTN telephony only. `voip` - VoIP only. `thirdParty` - 3rd party audio conference.
+ enum:
+ - both
+ - telephony
+ - voip
+ - thirdParty
+ type: string
+ x-enum-descriptions:
+ - Telephony and VoIP
+ - Audio PSTN telephony only
+ - VoIP only
+ - 3rd party audio conference
+ enforce_login:
+ description: Only Zoom users who are signed in can join meetings.
+ type: boolean
+ enforce_login_domains:
+ description: "Only signed in users with a specified domain can join the meeting. "
+ type: string
+ enforce_login_with_domains:
+ description: Only signed in users with a specific domain can join meetings.
+ type: boolean
+ force_pmi_jbh_password:
+ description: Require a password for Personal Meetings if attendees can join before host.
+ type: boolean
+ host_video:
+ description: Start meetings with the host video on.
+ type: boolean
+ join_before_host:
+ description: Allow participants to join the meeting before the host arrives.
+ type: boolean
+ meeting_password_requirement:
+ description: Account wide meeting/webinar [password requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the password must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the password must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the password must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the password must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar password needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the password must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided password is weak.
+ type: boolean
+ type: object
+ not_store_meeting_topic:
+ description: Always display "Zoom Meeting" as the meeting topic.
+ type: boolean
+ participant_video:
+ description: Start meetings with the participant video on. Participants can change this setting during the meeting.
+ type: boolean
+ personal_meeting:
+ description: |+
+ Personal Meeting Setting.
+ `true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
+ `false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
+ For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
+
+
+ type: boolean
+ require_password_for_instant_meetings:
+ description: |
+ Require a password for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ require_password_for_pmi_meetings:
+ description: |
+ Require a password for a meeting held using Personal Meeting ID (PMI) This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ enum:
+ - jbh_only
+ - all
+ - none
+ type: string
+ x-enum-descriptions:
+ - Only meetings with Join Before Host enabled
+ - All meetings using PMI
+ - Disabled
+ require_password_for_scheduled_meetings:
+ description: |
+ Require a password for meetings which have already been scheduled
+ type: boolean
+ require_password_for_scheduling_new_meetings:
+ description: Require a password when scheduling new meetings. This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ use_pmi_for_instant_meetings:
+ description: |
+ Use Personal Meeting ID (PMI) when starting an instant meeting
+ type: boolean
+ use_pmi_for_scheduled_meetings:
+ description: |
+ Use Personal Meeting ID (PMI) when scheduling a meeting
+ type: boolean
+ type: object
+ security:
+ description: "[Security settings](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) of an Account."
+ properties:
+ admin_change_name_pic:
+ description: Only account administrators can change a user's username and picture.
+ type: boolean
+ hide_billing_info:
+ description: Hide billing information.
+ type: boolean
+ import_photos_from_devices:
+ description: Allow users to import photos from a photo library on a device.
+ type: boolean
+ password_requirement:
+ description: "This object refers to the [enhanced password rules](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) that allows Zoom account admins and owners to apply extra requiremets to the users' Zoom login password. "
+ properties:
+ consecutive_characters_length:
+ description: |-
+
+ Specify the max length of consecutive characters(abcde...) that can be used in a password.
+ If you set the value of this field to `0`, no restriction will be applied on consecutive characters.
+
+ If you would like to set this restriction, you can specify a number between 4 and 8 that define the maximum allowed length for consecutive characters in a password.
+
+ The max allowed length will be `n-1` where `n` refers to the value you provide for this field. For instance, if you provide `4` as the value, there can only be a maximum of `3` consecutive characters in a password(example: abc1x@8fdh).
+ type: integer
+ have_special_character:
+ description: "If the value of this field is set to `true`, the password must have at least one special character(!, @, #...)."
+ type: boolean
+ minimum_password_length:
+ description: Specify a minimum length for the password. The password length can be from a minimum of 9 characters, up to 14 characters. If you provide `0` as the value of this field, this field will be disabled and not be used and the basic password length requirement (minimum of 8 characters) will be applied for the requirement.
+ maximum: 14
+ minimum: 8
+ type: integer
+ weak_enhance_detection:
+ description: If the value of this field is set to `true`, user passwords will have to pass detection through a weak password dictionary in case hackers use simple passwords to sign in to your users’ accounts.
+ type: boolean
+ type: object
+ sign_again_period_for_inactivity_on_client:
+ description: |
+ Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Client app after a set amount of time.
+
+ If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Client. The value for the period of inactivity can be one of the following:
+
+ `5`: 5 minutes
+ `10`: 10 minutes
+ `15`: 15 minutes
+ `30`: 30 minutes
+ `45`: 45 minutes
+ `60`: 60 minutes
+ `90`: 90 minutes
+ `120`: 120 minutes
+ type: integer
+ sign_again_period_for_inactivity_on_web:
+ description: |+
+ Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Web Portal after a set amount of time.
+
+ If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Web Portal. The value for the period of inactivity can be one of the following:
+
+ `5`: 5 minutes
+ `10`: 10 minutes
+ `15`: 15 minutes
+ `30`: 30 minutes
+ `60`: 60 minutes
+ `120`: 120 minutes
+
+
+
+ type: integer
+ sign_in_with_two_factor_auth:
+ description: |
+ Settings for 2FA( [two factor authentication](https://support.zoom.us/hc/en-us/articles/360038247071) ). The value can be one of the following:
+ `all`: Two factor authentication will be enabled for all users in the account.
+ `none`: Two factor authentication is disabled.
+ `group`: Two factor authentication will be enabled for users belonging to specific groups. If 2FA is enabled for certain groups, the group IDs of the group(s) will be provided in the `sign_in_with_two_factor_auth_groups` field.
+ `role`: Two factor authentication will be enabled only for users assigned with specific roles in the account. If 2FA is enabled for specific roles, the role IDs will be provided in the
+ `sign_in_with_two_factor_auth_roles` field.
+ enum:
+ - all
+ - group
+ - role
+ - none
+ type: string
+ sign_in_with_two_factor_auth_groups:
+ description: This field contains group IDs of groups that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `group`
+ items:
+ type: string
+ type: array
+ sign_in_with_two_factor_auth_roles:
+ description: This field contains role IDs of roles that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `role`.
+ items:
+ type: string
+ type: array
+ type: object
+ telephony:
+ description: "Account Settings Update: Telephony."
+ properties:
+ audio_conference_info:
+ description: Third party audio conference info.
+ type: string
+ telephony_regions:
+ description: Indicates where most of the participants call into or call from duriing a meeting.
+ properties:
+ selection_values:
+ description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
+ items:
+ type: string
+ type: array
+ type: object
+ third_party_audio:
+ description: Users can join the meeting using the existing third party audio configuration.
+ type: boolean
+ type: object
+ tsp:
+ description: "Account Settings: TSP."
+ properties:
+ call_out:
+ description: Call Out
+ type: boolean
+ call_out_countries:
+ description: Call Out Countries/Regions
+ items: {}
+ type: array
+ display_toll_free_numbers:
+ description: Display toll-free numbers
+ type: boolean
+ show_international_numbers_link:
+ description: Show international numbers link on the invitation email
+ type: boolean
+ type: object
+ zoom_rooms:
+ description: "Account Settings: Zoom Rooms."
+ properties:
+ auto_start_stop_scheduled_meetings:
+ description: Automatic start and stop for scheduled meetings.
+ type: boolean
+ cmr_for_instant_meeting:
+ description: Cloud recording for instant meetings.
+ type: boolean
+ force_private_meeting:
+ description: Shift all meetings to private.
+ type: boolean
+ hide_host_information:
+ description: Hide host and meeting ID from private meetings.
+ type: boolean
+ list_meetings_with_calendar:
+ description: Display meeting list with calendar integration.
+ type: boolean
+ start_airplay_manually:
+ description: Start AirPlay service manually.
+ type: boolean
+ ultrasonic:
+ description: Automatic direct sharing using an ultrasonic proximity signal.
+ type: boolean
+ upcoming_meeting_alert:
+ description: Upcoming meeting alert.
+ type: boolean
+ weekly_system_restart:
+ description: Weekly system restart.
+ type: boolean
+ zr_post_meeting_feedback:
+ description: Zoom Room post meeting feedback.
+ type: boolean
+ type: object
+ title: Update account settings
+ type: object
+ BillingContact:
+ description: Billing Contact object.
+ properties:
+ address:
+ description: Billing Contact's address.
+ type: string
+ apt:
+ description: Billing Contact's apartment/suite.
+ type: string
+ city:
+ description: Billing Contact's city.
+ type: string
+ country:
+ description: Billing Contact's country.
+ type: string
+ email:
+ description: Billing Contact's email address.
+ type: string
+ first_name:
+ description: Billing Contact's first name.
+ type: string
+ last_name:
+ description: Billing Contact's last name.
+ type: string
+ phone_number:
+ description: Billing Contact's phone number.
+ type: string
+ state:
+ description: Billing Contact's state.
+ type: string
+ zip:
+ description: Billing Contact's zip/postal code.
+ type: string
+ type: object
+ BillingContactRequired:
+ description: Billing Contact object.
+ properties:
+ address:
+ description: Billing Contact's address.
+ type: string
+ apt:
+ description: Billing Contact's apartment/suite.
+ type: string
+ city:
+ description: Billing Contact's city.
+ type: string
+ country:
+ description: Billing Contact's Country [ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) in abbreviated format.
+ type: string
+ email:
+ description: Billing Contact's email address.
+ type: string
+ first_name:
+ description: Billing Contact's first name.
+ type: string
+ last_name:
+ description: Billing Contact's last name.
+ type: string
+ phone_number:
+ description: Billing Contact's phone number.
+ type: string
+ state:
+ description: Billing Contact's state.
+ type: string
+ zip:
+ description: Billing Contact's zip/postal code.
+ type: string
+ required:
+ - first_name
+ - last_name
+ - email
+ - phone_number
+ - address
+ - city
+ - state
+ - zip
+ - country
+ type: object
+ Channel:
+ description: "The channel object represents a Zoom chat [channel](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-). "
+ properties:
+ id:
+ description: Channel Id.
+ type: string
+ name:
+ description: Name of the channel.
+ maxLength: 128
+ type: string
+ type:
+ description: |-
+ Type of the channel. The value can be one of the following:
+ `1`: Private channel. In this type of channel, members must be invited to join a channel.
+ `2`: Private channel with members that belong to one Zoom account. Members in this channel should be invited and the members should be from the same organization.
+ `3`: Public channel. Anyone can search for this channel and join the channel.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ type: object
+ CloudArchivedFiles:
+ additionalProperties: false
+ properties:
+ archive_files:
+ description: An explanation about the purpose of this instance.
+ items:
+ anyOf:
+ - additionalProperties: false
+ properties:
+ download_url:
+ description: "The URL where the archived file can be downloaded. To download the archived file of a meeting or a webinar hosted in your account, create a [Zoom JWT App Type](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL as shown in the example. Example: `https://{{base-domain}}/rec/archive/download/xxx?access_token={{Your-JWT}}`. If a user has authorized and installed your OAuth app that supports archiving, use the user’s [OAuth access token(https://marketplace.zoom.us/docs/guides/auth/oauth) to download the file. For example: `https://{{base-domain}}/rec/archive/download/xxx?access_token={{ OAuth Access Token }}`."
+ type: string
+ file_extension:
+ description: The file extension of the recording.
+ type: string
+ file_size:
+ description: The file size of the recording.
+ type: integer
+ file_type:
+ description: "The file type of the recording. The value of this field could be one of the following:`MP4`: Video file of the recording. `M4A`: Audio-only file of the recording. `TRANSCRIPT`: Transcription file of the recording in VTT format. `CHAT`: A TXT file containing in-meeting chat messages that were sent during the meeting. `CC`: File containing closed captions of the recording in VTT file format. `CSV`: File containing polling data in csv format. See [Managing and sharing cloud recordings](https://support.zoom.us/hc/en-us/articles/205347605-Managing-and-sharing-cloud-recordings#h_9898497b-e736-4980-a749-d55608f10773) for details."
+ type: string
+ id:
+ description: The unique identifier of the archived file.
+ type: string
+ recording_type:
+ description: The value of this field can be one of the following:* `shared_screen_with_speaker_view(CC)`* `shared_screen_with_speaker_view`* `shared_screen_with_gallery_view`* `speaker_view`* `gallery_view`* `shared_screen`* `audio_only`* `audio_transcript`* `chat_file`,* `active_speaker`* `host_video`. See [Managing and sharing cloud recordings](https://support.zoom.us/hc/en-us/articles/205347605-Managing-and-sharing-cloud-recordings#h_9898497b-e736-4980-a749-d55608f10773) for details.
+ type: string
+ status:
+ description: Status of the archived file.
+ type: string
+ required:
+ - id
+ - file_type
+ - file_extension
+ - file_size
+ - download_url
+ - status
+ - recording_type
+ type: object
+ type: array
+ x-additionalItems: true
+ duration:
+ description: The duration.
+ type: integer
+ host_id:
+ description: The ID of the user who set as the host of the meeting.
+ type: string
+ id:
+ description: The Meeting ID, also known as the meeting number in long (int64) format.
+ type: integer
+ recording_count:
+ description: Number of recording files returned in the response of this API call.
+ type: integer
+ start_time:
+ description: Meeting start time.
+ format: date-time
+ type: string
+ timezone:
+ description: Timezone to format the meeting start time.
+ type: string
+ topic:
+ description: The meeting topic.
+ type: string
+ total_size:
+ description: Total size of the archive.
+ type: integer
+ type:
+ description: The meeting type: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with fixed time.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 8
+ type: integer
+ x-enum-descriptions:
+ - Instant Meeting
+ - Scheduled Meeting
+ - Recurring Meeting with no fixed time
+ - Recurring Meeting with fixed time
+ uuid:
+ description: The Unique Meeting ID. Each meeting instance will generate its own Meeting UUID.
+ type: string
+ required:
+ - uuid
+ - id
+ - host_id
+ - topic
+ - type
+ - start_time
+ - timezone
+ - duration
+ - total_size
+ - recording_count
+ - archive_files
+ type: object
+ CreateWebinarSettings:
+ description: Create Webinar settings.
+ properties:
+ allow_multiple_devices:
+ description: Allow attendees to join from multiple devices.
+ type: boolean
+ alternative_hosts:
+ description: Alternative host emails or IDs. Multiple values separated by comma.
+ type: string
+ approval_type:
+ default: 2
+ description: |-
+ The default value is `2`. To enable registration required, set the approval type to `0` or `1`. Values include:
+
+ `0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ attendees_and_panelists_reminder_email_notification:
+ description: Send reminder email to attendees and panelists.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send reminder email to attendees and panelists.
+
+ * `false`: Do not send reminder email to attendees and panelists.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 hour before webinar.
+ - Send 1 day before webinar.
+ - Send 1 hour and 1 day before webinar.
+ - Send 1 week before webinar.
+ - Send 1 hour and 1 week before webinar.
+ - Send 1 day and 1 week before webinar.
+ - Send 1 hour, 1 day and 1 week before webinar.
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the meeting.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: Meeting authentication domains. This option, allows you to specify the rule so that Zoom users, whose email address contains a certain domain, can join the Webinar. You can either provide multiple domains, using a comma in between and/or use a wildcard for listing domains.
+ type: string
+ authentication_option:
+ description: Specify the authentication type for users to join a Webinar with`meeting_authentication` setting set to `true`. The value of this field can be retrieved from the `id` field within `authentication_options` array in the response of [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings).
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ close_registration:
+ description: Close registration after event date.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ email_language:
+ description: |-
+ Set the email language to one of the following:
+ `en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
+ type: string
+ enforce_login:
+ description: |-
+ Only signed-in users can join this meeting.
+
+ **This field is deprecated and will not be supported in future.**
Instead of this field, use the "meeting_authentication", "authentication_option" and/or "authentication_domains" fields to establish the authentication mechanism for this Webinar.
+ type: boolean
+ enforce_login_domains:
+ description: |-
+ Only signed-in users with specified domains can join meetings.
+
+ **This field is deprecated and will not be supported in future.**
Instead of this field, use the "authentication_domains" field for this Webinar.
+ type: string
+ follow_up_absentees_email_notification:
+ description: Send follow-up email to absentees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to absentees.
+
+ * `false`: Do not send follow-up email to absentees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 days after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ follow_up_attendees_email_notification:
+ description: Send follow-up email to attendees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to attendees.
+
+ * `false`: Do not send follow-up email to attendees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 day after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ hd_video:
+ default: false
+ description: Default to HD video.
+ type: boolean
+ host_video:
+ description: Start video when host joins webinar.
+ type: boolean
+ meeting_authentication:
+ description: Only [authenticated](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) users can join meeting if the value of this field is set to `true`.
+ type: boolean
+ on_demand:
+ default: false
+ description: Make the webinar on-demand
+ type: boolean
+ panelists_invitation_email_notification:
+ description: |-
+ * `true`: Send invitation email to panelists.
+
+ * `false`: Do not send invitation email to panelists.
+ type: boolean
+ panelists_video:
+ description: Start video when panelists join webinar.
+ type: boolean
+ post_webinar_survey:
+ description: Zoom will open a survey page in attendees' browsers after leaving the webinar
+ type: boolean
+ practice_session:
+ default: false
+ description: Enable practice session.
+ type: boolean
+ question_and_answer:
+ description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
+ properties:
+ allow_anonymous_questions:
+ description: |-
+ * `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
+
+ * `false`: Do not allow anonymous questions.
+ type: boolean
+ answer_questions:
+ description: |-
+ Indicate whether you want attendees to be able to view answered questions only or view all questions.
+
+ * `only`: Attendees are able to view answered questions only.
+
+ * `all`: Attendees are able to view all questions submitted in the Q&A.
+ enum:
+ - only
+ - all
+ type: string
+ attendees_can_comment:
+ description: |-
+ * `true`: Attendees can answer questions or leave a comment in the question thread.
+
+ * `false`: Attendees can not answer questions or leave a comment in the question thread
+ type: boolean
+ attendees_can_upvote:
+ description: |-
+ * `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
+
+ * `false`: Attendees can not click the thumbs up butoon on questions.
+ type: boolean
+ enable:
+ description: |-
+ * `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
+
+ * `false`: Disable Q&A for webinar.
+ type: boolean
+ type: object
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registrants_restrict_number:
+ default: 0
+ description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
+ maximum: 20000
+ minimum: 0
+ type: integer
+ registration_type:
+ default: 1
+ description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: Show social share buttons on the registration page.
+ type: boolean
+ survey_url:
+ description: Survey url for post webinar survey
+ type: string
+ type: object
+ CustomQuestion:
+ description: Custom Question.
+ properties:
+ title:
+ type: string
+ value:
+ type: string
+ type: object
+ DateTime:
+ description: DateTime Object.
+ properties:
+ from:
+ description: Start Date.
+ format: date
+ type: string
+ to:
+ description: End Date.
+ format: date
+ type: string
+ type: object
+ Device:
+ description: The H.323/SIP device object.
+ properties:
+ encryption:
+ description: Device encryption: `auto` - auto. `yes` - yes. `no` - no.
+ enum:
+ - auto
+ - yes
+ - no
+ type: string
+ x-enum-descriptions:
+ - auto
+ - yes
+ - no
+ ip:
+ description: Device IP.
+ type: string
+ name:
+ description: Device name.
+ maxLength: 64
+ type: string
+ protocol:
+ description: Device protocol: `H.323` - H.323. `SIP` - SIP.
+ enum:
+ - H.323
+ - SIP
+ type: string
+ x-enum-descriptions:
+ - H.323
+ - SIP
+ required:
+ - name
+ - protocol
+ - ip
+ - encryption
+ title: The H.323/SIP device object.
+ type: object
+ DeviceList:
+ allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: |-
+ **Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
+
+ The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ - properties:
+ devices:
+ description: List of H.323/SIP Device objects.
+ items:
+ allOf:
+ - properties:
+ id:
+ description: Device ID.
+ type: string
+ type: object
+ - description: The H.323/SIP device object.
+ properties:
+ encryption:
+ description: Device encryption: `auto` - auto. `yes` - yes. `no` - no.
+ enum:
+ - auto
+ - yes
+ - no
+ type: string
+ x-enum-descriptions:
+ - auto
+ - yes
+ - no
+ ip:
+ description: Device IP.
+ type: string
+ name:
+ description: Device name.
+ maxLength: 64
+ type: string
+ protocol:
+ description: Device protocol: `H.323` - H.323. `SIP` - SIP.
+ enum:
+ - H.323
+ - SIP
+ type: string
+ x-enum-descriptions:
+ - H.323
+ - SIP
+ required:
+ - name
+ - protocol
+ - ip
+ - encryption
+ title: The H.323/SIP device object.
+ type: object
+ type: array
+ description: List of H.323/SIP Devices.
+ title: H.323/SIP Device List
+ type: object
+ DomainsList:
+ description: List of managed domains.
+ properties:
+ domains:
+ description: List of managed domain objects.
+ items:
+ allOf:
+ - properties:
+ domain:
+ description: Domain name.
+ type: string
+ status:
+ description: Domain status.
+ type: string
+ type: object
+ type: array
+ total_records:
+ description: Total records.
+ type: integer
+ type: object
+ Group:
+ description: Group object.
+ properties:
+ name:
+ description: Group name.
+ type: string
+ total_members:
+ description: Total number of members in this group.
+ type: integer
+ type: object
+ GroupList:
+ description: List of Groups.
+ properties:
+ groups:
+ description: List of Group objects.
+ items:
+ allOf:
+ - properties:
+ id:
+ description: Group ID.
+ type: string
+ type: object
+ - description: Group object.
+ properties:
+ name:
+ description: Group name.
+ type: string
+ total_members:
+ description: Total number of members in this group.
+ type: integer
+ type: object
+ type: array
+ total_records:
+ description: Total records.
+ type: integer
+ type: object
+ GroupMember:
+ description: Group member object.
+ properties:
+ email:
+ description: User email.
+ type: string
+ first_name:
+ description: User first name.
+ type: string
+ id:
+ description: User ID.
+ type: string
+ last_name:
+ description: User last name.
+ type: string
+ type:
+ description: |-
+ User type.
+ `1` - Basic `2` - Licensed
+ `3` - On-prem
+ type: integer
+ type: object
+ GroupMemberList:
+ allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: |-
+ **Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
+
+ The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ - properties:
+ members:
+ description: List of Group member objects.
+ items:
+ description: Group member object.
+ properties:
+ email:
+ description: User email.
+ type: string
+ first_name:
+ description: User first name.
+ type: string
+ id:
+ description: User ID.
+ type: string
+ last_name:
+ description: User last name.
+ type: string
+ type:
+ description: |-
+ User type.
+ `1` - Basic `2` - Licensed
+ `3` - On-prem
+ type: integer
+ type: object
+ type: array
+ description: List of Group Members.
+ title: Group Member List
+ type: object
+ GroupUserSettingsAuthentication:
+ oneOf:
+ - properties:
+ authentication_options:
+ description: Meeting Authentication Options
+ items:
+ properties:
+ default_option:
+ description: Authentication default option
+ type: boolean
+ domains:
+ description: Authentication domains
+ type: string
+ id:
+ description: Authentication id
+ type: string
+ name:
+ description: Authentication name
+ type: string
+ type:
+ description: |2-
+ Authentication type. Specify one of the following authentication types for the authentication profile:
+ * `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
+ * `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
+ * `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
+ enum:
+ - enforce_login
+ - enforce_login_with_same_account
+ - enforce_login_with_domains
+ type: string
+ visible:
+ description: Authentication visible
+ type: boolean
+ type: object
+ type: array
+ meeting_authentication:
+ description: Only authenticated users can join meetings
+ type: boolean
+ - properties:
+ authentication_options:
+ description: Authentication Options
+ items:
+ properties:
+ default_option:
+ description: Authentication default option
+ type: boolean
+ domains:
+ description: Authentication domians
+ type: string
+ id:
+ description: Authentication id
+ type: string
+ name:
+ description: Authentication name
+ type: string
+ type:
+ description: Authentication type
+ enum:
+ - internally
+ - enforce_login
+ - enforce_login_with_domains
+ type: string
+ visible:
+ description: Authentication visible
+ type: boolean
+ type: object
+ type: array
+ recording_authentication:
+ description: Only authenticated users can view cloud recordings
+ type: boolean
+ type: object
+ GroupUserSettingsAuthenticationUpdate:
+ oneOf:
+ - properties:
+ authentication_option:
+ description: Meeting Authentication Options
+ properties:
+ action:
+ description: Authentication action
+ enum:
+ - update
+ - show
+ - hide
+ type: string
+ default_option:
+ description: Authentication default option
+ type: boolean
+ domains:
+ description: Authentication domains
+ type: string
+ id:
+ description: Authentication id
+ type: string
+ name:
+ description: Authentication name
+ type: string
+ type:
+ description: |2-
+ Authentication type. Specify one of the following authentication types for the authentication profile:
+ * `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
+ * `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
+ * `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
+ enum:
+ - enforce_login
+ - enforce_login_with_same_account
+ - enforce_login_with_domains
+ type: string
+ type: object
+ meeting_authentication:
+ description: Only authenticated users can join meetings
+ type: boolean
+ - properties:
+ authentication_option:
+ description: Authentication Options
+ properties:
+ action:
+ description: Authentication action
+ enum:
+ - update
+ - show
+ - hide
+ type: string
+ default_option:
+ description: Authentication default option
+ type: boolean
+ domians:
+ description: Authentication domians
+ type: string
+ id:
+ description: Authentication id
+ type: string
+ name:
+ description: Authentication name
+ type: string
+ type:
+ description: Authentication type
+ enum:
+ - internally
+ - enforce_login
+ - enforce_login_with_domains
+ type: string
+ type: object
+ recording_authentication:
+ description: Only authenticated users can view cloud recordings
+ type: boolean
+ title: GroupSettingsAuthenticationUpdate
+ type: object
+ IMGroup:
+ allOf:
+ - description: Group object.
+ properties:
+ name:
+ description: Group name.
+ type: string
+ total_members:
+ description: Total number of members in this group.
+ type: integer
+ type: object
+ - properties:
+ search_by_account:
+ description: Members can search for others under same account.
+ type: boolean
+ search_by_domain:
+ description: Members can search for others in the same email domain.
+ type: boolean
+ search_by_ma_account:
+ description: Members can search for others under same master account - including all sub accounts.
+ type: boolean
+ type:
+ default: normal
+ description: "IM Group types: `normal` - Only members can see the other members in the group. Other people can search for members in the group. `shared` - Everyone in the account can see the group and members. `restricted` - No one except group members can see the group or search for other group members. "
+ enum:
+ - normal
+ - shared
+ - restricted
+ type: string
+ x-enum-descriptions:
+ - Only members can see the group automatically. Other people can search members in the group.
+ - All people in the account can see the group and members automatically
+ - Nobody can see the group or search members except the members in the group
+ description: IM group object.
+ type: object
+ IMGroupList:
+ allOf:
+ - properties:
+ total_records:
+ description: Total number of records returned.
+ type: integer
+ - properties:
+ groups:
+ description: List of group objects.
+ items:
+ allOf:
+ - properties:
+ id:
+ description: IM group ID.
+ type: string
+ type: object
+ - allOf:
+ - description: Group object.
+ properties:
+ name:
+ description: Group name.
+ type: string
+ total_members:
+ description: Total number of members in this group.
+ type: integer
+ type: object
+ - properties:
+ search_by_account:
+ description: Members can search for others under same account.
+ type: boolean
+ search_by_domain:
+ description: Members can search for others in the same email domain.
+ type: boolean
+ search_by_ma_account:
+ description: Members can search for others under same master account - including all sub accounts.
+ type: boolean
+ type:
+ default: normal
+ description: "IM Group types: `normal` - Only members can see the other members in the group. Other people can search for members in the group. `shared` - Everyone in the account can see the group and members. `restricted` - No one except group members can see the group or search for other group members. "
+ enum:
+ - normal
+ - shared
+ - restricted
+ type: string
+ x-enum-descriptions:
+ - Only members can see the group automatically. Other people can search members in the group.
+ - All people in the account can see the group and members automatically
+ - Nobody can see the group or search members except the members in the group
+ description: IM group object.
+ type: object
+ type: array
+ description: List of IM Groups.
+ title: IM Group List
+ type: object
+ Meeting:
+ allOf:
+ - description: Base object for sessions.
+ properties:
+ agenda:
+ description: Meeting description.
+ type: string
+ duration:
+ description: Meeting duration (minutes). Used for scheduled meetings only.
+ type: integer
+ password:
+ description: "Password to join the meeting. Password may only contain the following characters: [a-z A-Z 0-9 @ - _ *]. Max of 10 characters."
+ type: string
+ recurrence:
+ description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
+ properties:
+ end_date_time:
+ description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ default: 1
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |+
+ Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
+
+ type: integer
+ type:
+ description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ default: "1"
+ description: |-
+ This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - "1"
+ - "2"
+ - "3"
+ - "4"
+ - "5"
+ - "6"
+ - "7"
+ type: string
+ required:
+ - type
+ type: object
+ settings:
+ description: Meeting settings.
+ properties:
+ allow_multiple_devices:
+ description: Allow attendees to join the meeting from multiple devices. This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
+ type: boolean
+ alternative_hosts:
+ description: "Alternative host's emails or IDs: multiple values are separated by a semicolon."
+ type: string
+ alternative_hosts_email_notification:
+ default: true
+ description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
+ type: boolean
+ approval_type:
+ default: 2
+ description: |-
+ Enable registration and set approval for the registration. Note that this feature requires the host to be of **Licensed** user type. **Registration cannot be enabled for a basic user.**
+
+ `0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ approved_or_denied_countries_or_regions:
+ description: |
+ Approve or block users from specific regions/countries from joining this meeting.
+ properties:
+ approved_list:
+ description: "List of countries/regions from where participants can join this meeting. "
+ items:
+ type: string
+ type: array
+ denied_list:
+ description: "List of countries/regions from where participants can not join this meeting. "
+ items:
+ type: string
+ type: array
+ enable:
+ description: |-
+ `true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
+
+ `false`: Setting disabled.
+ type: boolean
+ method:
+ description: |-
+ Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
+ `approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
+ `deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
+ enum:
+ - approve
+ - deny
+ type: string
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
+ type: string
+ authentication_exception:
+ description: The participants added here will receive unique meeting invite links and bypass authentication.
+ items:
+ properties:
+ email:
+ description: Email address of the participant.
+ format: email
+ type: string
+ name:
+ description: Name of the participant.
+ type: string
+ type: object
+ type: array
+ authentication_name:
+ description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
+ type: string
+ authentication_option:
+ description: Meeting authentication option id.
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ breakout_room:
+ description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
+ properties:
+ enable:
+ description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
+ type: boolean
+ rooms:
+ description: Create room(s).
+ items:
+ properties:
+ name:
+ description: Name of the breakout room.
+ type: string
+ participants:
+ description: Email addresses of the participants who are to be assigned to the breakout room.
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ type: object
+ close_registration:
+ default: false
+ description: Close registration after event date
+ type: boolean
+ cn_meeting:
+ default: false
+ description: Host meeting in China.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ custom_keys:
+ description: Custom keys and values assigned to the meeting.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the user.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the user.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ enforce_login:
+ description: |-
+ Only signed in users can join this meeting.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
+ type: boolean
+ enforce_login_domains:
+ description: |-
+ Only signed in users with specified domains can join meetings.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
+ type: string
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ global_dial_in_numbers:
+ description: Global Dial-in Countries/Regions
+ items:
+ properties:
+ city:
+ description: City of the number, if any. For example, Chicago.
+ type: string
+ country:
+ description: Country code. For example, BR.
+ type: string
+ country_name:
+ description: Full name of country. For example, Brazil.
+ type: string
+ number:
+ description: Phone number. For example, +1 2332357613.
+ type: string
+ type:
+ description: "Type of number. "
+ enum:
+ - toll
+ - tollfree
+ type: string
+ type: object
+ type: array
+ host_video:
+ description: Start video when the host joins the meeting.
+ type: boolean
+ in_meeting:
+ default: false
+ description: Host meeting in India.
+ type: boolean
+ jbh_time:
+ description: |-
+ If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
+
+ * `0`: Allow participant to join anytime.
+ * `5`: Allow participant to join 5 minutes before meeting start time.
+ * `10`: Allow participant to join 10 minutes before meeting start time.
+ enum:
+ - 0
+ - 5
+ - 10
+ type: integer
+ join_before_host:
+ default: false
+ description: Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings.
+ type: boolean
+ language_interpretation:
+ properties:
+ enable:
+ type: boolean
+ interpreters:
+ description: Information associated with the interpreter.
+ items:
+ properties:
+ email:
+ description: Email address of the interpreter.
+ format: email
+ type: string
+ languages:
+ description: |-
+ Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
+
+ For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
+ type: string
+ type: object
+ type: array
+ type: object
+ meeting_authentication:
+ description: "`true`- Only authenticated users can join meetings."
+ type: boolean
+ mute_upon_entry:
+ default: false
+ description: Mute participants upon entry.
+ type: boolean
+ participant_video:
+ description: Start video when participants join the meeting.
+ type: boolean
+ registrants_confirmation_email:
+ description: Send confirmation email to registrants upon successful registration.
+ type: boolean
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registration_type:
+ default: 1
+ description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: |-
+ Show social share buttons on the meeting registration page.
+ This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
+ type: boolean
+ use_pmi:
+ default: false
+ description: Use a personal meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time.
+ type: boolean
+ waiting_room:
+ default: false
+ description: Enable waiting room
+ type: boolean
+ watermark:
+ default: false
+ description: Add watermark when viewing a shared screen.
+ type: boolean
+ type: object
+ start_time:
+ description: Meeting start time. When using a format like "yyyy-MM-dd'T'HH:mm:ss'Z'", always use GMT time. When using a format like "yyyy-MM-dd'T'HH:mm:ss", you should use local time and specify the time zone. This is only used for scheduled meetings and recurring meetings with a fixed time.
+ format: date-time
+ type: string
+ timezone:
+ description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [time zone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) list for supported time zones and their formats.
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ tracking_fields:
+ description: Tracking fields
+ items:
+ properties:
+ field:
+ description: Tracking fields type
+ type: string
+ value:
+ description: Tracking fields value
+ type: string
+ type: array
+ type:
+ default: 2
+ description: Meeting Type: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with fixed time.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 8
+ type: integer
+ x-enum-descriptions:
+ - Instant Meeting
+ - Scheduled Meeting
+ - Recurring Meeting with no fixed time
+ - Recurring Meeting with fixed time
+ type: object
+ description: Meeting object.
+ type: object
+ MeetingCreate:
+ description: Base object for meeting.
+ properties:
+ agenda:
+ description: Meeting description.
+ maxLength: 2000
+ type: string
+ duration:
+ description: Meeting duration (minutes). Used for scheduled meetings only.
+ type: integer
+ password:
+ description: |-
+ Passcode to join the meeting. By default, passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ *] and can have a maximum of 10 characters.
+
+ **Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
+ maxLength: 10
+ type: string
+ recurrence:
+ description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
+ properties:
+ end_date_time:
+ description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ default: 1
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |+
+ Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
+
+ type: integer
+ type:
+ description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ default: "1"
+ description: |-
+ This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - "1"
+ - "2"
+ - "3"
+ - "4"
+ - "5"
+ - "6"
+ - "7"
+ type: string
+ required:
+ - type
+ type: object
+ schedule_for:
+ description: If you would like to schedule this meeting for someone else in your account, provide the Zoom user id or email address of the user here.
+ type: string
+ settings:
+ description: Meeting settings.
+ properties:
+ additional_data_center_regions:
+ description: "Enable additional [data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) for this meeting. Provide the value in the form of array of country code(s) for the countries which are available as data center regions in the [account settings](https://zoom.us/account/setting) but have been opt out of in the user settings. For instance, let's say that in your account settings, the data center regions that have been selected are Europe, Honkong, Australia, India, Latin America, Japan, China, United States,and Canada. The complete list of available data center regions for your account is: [\"EU\", \"HK\", \"AU\", \"IN\", \"LA\", \"TY\", \"CN\", \"US\", \"CA\"]. In [user settings](https://zoom.us/profile/setting), you have opted out of India(IN) and Japan(TY) for meeting and webinar traffic routing. If you would like, you can still include India and Japan as additional data centers for this meeting using this field. To include India and Japan as additional data center regions, you would provide [\"IN\", \"TY\"] as the value."
+ items:
+ type: string
+ type: array
+ allow_multiple_devices:
+ description: |-
+ If set to `true`, attendees will be allowed to join a meeting from multiple devices.
+
+ **Note:** This setting is only applied for meetings that have enabled registration.
+ type: boolean
+ alternative_hosts:
+ description: "Alternative host's emails or IDs: multiple values separated by a comma."
+ type: string
+ alternative_hosts_email_notification:
+ default: true
+ description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
+ type: boolean
+ approval_type:
+ default: 2
+ description: |-
+ The default value is `2`. To enable registration required, set the approval type to `0` or `1`. Values include:
+
+ `0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ approved_or_denied_countries_or_regions:
+ description: |
+ Approve or block users from specific regions/countries from joining this meeting.
+ properties:
+ approved_list:
+ description: "List of countries/regions from where participants can join this meeting. "
+ items:
+ type: string
+ type: array
+ denied_list:
+ description: "List of countries/regions from where participants can not join this meeting. "
+ items:
+ type: string
+ type: array
+ enable:
+ description: |-
+ `true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
+
+ `false`: Setting disabled.
+ type: boolean
+ method:
+ description: |-
+ Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
+ `approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
+ `deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
+ enum:
+ - approve
+ - deny
+ type: string
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: Meeting authentication domains. This option, allows you to specify the rule so that Zoom users, whose email address contains a certain domain, can join the meeting. You can either provide multiple domains, using a comma in between and/or use a wildcard for listing domains.
+ type: string
+ authentication_option:
+ description: Specify the authentication type for users to join a meeting with`meeting_authentication` setting set to `true`. The value of this field can be retrieved from the `id` field within `authentication_options` array in the response of [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings).
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ breakout_room:
+ description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
+ properties:
+ enable:
+ description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
+ type: boolean
+ rooms:
+ description: Create room(s).
+ items:
+ properties:
+ name:
+ description: Name of the breakout room.
+ type: string
+ participants:
+ description: Email addresses of the participants who are to be assigned to the breakout room.
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ type: object
+ close_registration:
+ default: false
+ description: Close registration after event date
+ type: boolean
+ cn_meeting:
+ default: false
+ description: Host meeting in China.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ host_video:
+ description: Start video when the host joins the meeting.
+ type: boolean
+ in_meeting:
+ default: false
+ description: Host meeting in India.
+ type: boolean
+ jbh_time:
+ description: |-
+ If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
+
+ * `0`: Allow participant to join anytime.
+ * `5`: Allow participant to join 5 minutes before meeting start time.
+ * `10`: Allow participant to join 10 minutes before meeting start time.
+ enum:
+ - 0
+ - 5
+ - 10
+ type: integer
+ join_before_host:
+ default: false
+ description: |-
+ Allow participants to join the meeting before the host starts the meeting. This field can only used for scheduled or recurring meetings.
+
+ **Note:** If waiting room is enabled, the **join before host** setting will be disabled.
+ type: boolean
+ language_interpretation:
+ description: |-
+ Language interpretation [settings](https://support.zoom.us/hc/en-us/articles/360034919791-Language-interpretation-in-meetings-and-webinars#h_01EGGQFD3Q4BST3378SA762MJ1) for meetings.
+
+ **Note:** This feature is only available on certain Webinar add-on, Education, Business and higher plans. If this feature is not enabled on the host's account, this setting will not be applied for the meeting.
+ properties:
+ enable:
+ description: Indicate whether or not you would like to enable [language interpretation](https://support.zoom.us/hc/en-us/articles/360034919791-Language-interpretation-in-meetings-and-webinars#h_01EGGQFD3Q4BST3378SA762MJ1) for this meeting.
+ type: boolean
+ interpreters:
+ description: Information associated with the interpreter.
+ items:
+ properties:
+ email:
+ description: Email address of the interpreter.
+ format: email
+ type: string
+ languages:
+ description: |-
+ Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
+
+ For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
+ type: string
+ type: object
+ type: array
+ type: object
+ meeting_authentication:
+ description: Only [authenticated](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) users can join meeting if the value of this field is set to `true`.
+ type: boolean
+ mute_upon_entry:
+ default: false
+ description: Mute participants upon entry.
+ type: boolean
+ participant_video:
+ description: Start video when participants join the meeting.
+ type: boolean
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registration_type:
+ default: 1
+ description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: |-
+ If set to `true`, the registration page for the meeting will include social share buttons.
+
+ **Note:** This setting is only applied for meetings that have enabled registration.
+ type: boolean
+ use_pmi:
+ default: false
+ description: Use Personal Meeting ID instead of an automatically generated meeting ID. It can only be used for scheduled meetings, instant meetings and recurring meetings with no fixed time.
+ type: boolean
+ waiting_room:
+ description: Enable waiting room. Note that if the value of this field is set to `true`, it will override and disable the `join_before_host` setting.
+ type: boolean
+ watermark:
+ default: false
+ description: Add watermark when viewing a shared screen.
+ type: boolean
+ type: object
+ start_time:
+ description: |-
+ Meeting start time. We support two formats for `start_time` - local time and GMT.
+
+ To set time as GMT the format should be `yyyy-MM-dd`T`HH:mm:ssZ`. Example: "2020-03-31T12:02:00Z"
+
+ To set time using a specific timezone, use `yyyy-MM-dd`T`HH:mm:ss` format and specify the timezone [ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) in the `timezone` field OR leave it blank and the timezone set on your Zoom account will be used. You can also set the time as UTC as the timezone field.
+
+ The `start_time` should only be used for scheduled and / or recurring webinars with fixed time.
+ format: date-time
+ type: string
+ template_id:
+ description: |-
+ Unique identifier of the **admin meeting template**. To create admin meeting templates, contact the Zoom support team.
+
+ Use this field if you would like to [schedule the meeting from a admin meeting template](https://support.zoom.us/hc/en-us/articles/360036559151-Meeting-templates#h_86f06cff-0852-4998-81c5-c83663c176fb). You can retrieve the value of this field by calling the [List meeting templates](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/listmeetingtemplates) API.
+ type: string
+ timezone:
+ description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [time zone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) list for supported time zones and their formats.
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ tracking_fields:
+ description: Tracking fields
+ items:
+ properties:
+ field:
+ description: Label of the tracking field.
+ type: string
+ value:
+ description: Tracking fields value
+ type: string
+ required:
+ - field
+ type: object
+ type: array
+ type:
+ default: 2
+ description: Meeting Type: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with fixed time.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 8
+ type: integer
+ x-enum-descriptions:
+ - Instant Meeting
+ - Scheduled Meeting
+ - Recurring Meeting with no fixed time
+ - Recurring Meeting with fixed time
+ type: object
+ MeetingInfo:
+ description: Meeting object
+ properties:
+ agenda:
+ description: Agenda
+ type: string
+ created_at:
+ description: The date and time at which this meeting was created.
+ format: date-time
+ type: string
+ duration:
+ description: Meeting duration.
+ type: integer
+ h323_password:
+ description: H.323/SIP room system password
+ type: string
+ join_url:
+ description: URL for participants to join the meeting. This URL should only be shared with users that you would like to invite for the meeting.
+ type: string
+ occurrences:
+ description: Array of occurrence objects.
+ items:
+ description: Occurence object. This object is only returned for Recurring Webinars.
+ properties:
+ duration:
+ description: Duration.
+ type: integer
+ occurrence_id:
+ description: "Occurrence ID: Unique Identifier that identifies an occurrence of a recurring webinar. [Recurring webinars](https://support.zoom.us/hc/en-us/articles/216354763-How-to-Schedule-A-Recurring-Webinar) can have a maximum of 50 occurrences."
+ type: string
+ start_time:
+ description: Start time.
+ format: date-time
+ type: string
+ status:
+ description: Occurrence status.
+ type: string
+ type: object
+ type: array
+ password:
+ description: |+
+ Meeting password. Password may only contain the following characters: `[a-z A-Z 0-9 @ - _ * !]`
+
+ If "Require a password when scheduling new meetings" setting has been **enabled** **and** [locked](https://support.zoom.us/hc/en-us/articles/115005269866-Using-Tiered-Settings#locked) for the user, the password field will be autogenerated in the response even if it is not provided in the API request.
+
+
+ type: string
+ pmi:
+ description: Personal Meeting Id. Only used for scheduled meetings and recurring meetings with no fixed time.
+ format: int64
+ type: integer
+ recurrence:
+ description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
+ properties:
+ end_date_time:
+ description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ default: 1
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |+
+ Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
+
+ type: integer
+ type:
+ description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ default: "1"
+ description: |-
+ This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - "1"
+ - "2"
+ - "3"
+ - "4"
+ - "5"
+ - "6"
+ - "7"
+ type: string
+ required:
+ - type
+ type: object
+ settings:
+ description: Meeting settings.
+ properties:
+ allow_multiple_devices:
+ description: Allow attendees to join the meeting from multiple devices. This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
+ type: boolean
+ alternative_hosts:
+ description: "Alternative host's emails or IDs: multiple values are separated by a semicolon."
+ type: string
+ alternative_hosts_email_notification:
+ default: true
+ description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
+ type: boolean
+ approval_type:
+ default: 2
+ description: |-
+ Enable registration and set approval for the registration. Note that this feature requires the host to be of **Licensed** user type. **Registration cannot be enabled for a basic user.**
+
+ `0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ approved_or_denied_countries_or_regions:
+ description: |
+ Approve or block users from specific regions/countries from joining this meeting.
+ properties:
+ approved_list:
+ description: "List of countries/regions from where participants can join this meeting. "
+ items:
+ type: string
+ type: array
+ denied_list:
+ description: "List of countries/regions from where participants can not join this meeting. "
+ items:
+ type: string
+ type: array
+ enable:
+ description: |-
+ `true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
+
+ `false`: Setting disabled.
+ type: boolean
+ method:
+ description: |-
+ Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
+ `approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
+ `deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
+ enum:
+ - approve
+ - deny
+ type: string
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
+ type: string
+ authentication_exception:
+ description: The participants added here will receive unique meeting invite links and bypass authentication.
+ items:
+ properties:
+ email:
+ description: Email address of the participant.
+ format: email
+ type: string
+ name:
+ description: Name of the participant.
+ type: string
+ type: object
+ type: array
+ authentication_name:
+ description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
+ type: string
+ authentication_option:
+ description: Meeting authentication option id.
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ breakout_room:
+ description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
+ properties:
+ enable:
+ description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
+ type: boolean
+ rooms:
+ description: Create room(s).
+ items:
+ properties:
+ name:
+ description: Name of the breakout room.
+ type: string
+ participants:
+ description: Email addresses of the participants who are to be assigned to the breakout room.
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ type: object
+ close_registration:
+ default: false
+ description: Close registration after event date
+ type: boolean
+ cn_meeting:
+ default: false
+ description: Host meeting in China.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ custom_keys:
+ description: Custom keys and values assigned to the meeting.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the user.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the user.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ enforce_login:
+ description: |-
+ Only signed in users can join this meeting.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
+ type: boolean
+ enforce_login_domains:
+ description: |-
+ Only signed in users with specified domains can join meetings.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
+ type: string
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ global_dial_in_numbers:
+ description: Global Dial-in Countries/Regions
+ items:
+ properties:
+ city:
+ description: City of the number, if any. For example, Chicago.
+ type: string
+ country:
+ description: Country code. For example, BR.
+ type: string
+ country_name:
+ description: Full name of country. For example, Brazil.
+ type: string
+ number:
+ description: Phone number. For example, +1 2332357613.
+ type: string
+ type:
+ description: "Type of number. "
+ enum:
+ - toll
+ - tollfree
+ type: string
+ type: object
+ type: array
+ host_video:
+ description: Start video when the host joins the meeting.
+ type: boolean
+ in_meeting:
+ default: false
+ description: Host meeting in India.
+ type: boolean
+ jbh_time:
+ description: |-
+ If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
+
+ * `0`: Allow participant to join anytime.
+ * `5`: Allow participant to join 5 minutes before meeting start time.
+ * `10`: Allow participant to join 10 minutes before meeting start time.
+ enum:
+ - 0
+ - 5
+ - 10
+ type: integer
+ join_before_host:
+ default: false
+ description: Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings.
+ type: boolean
+ language_interpretation:
+ properties:
+ enable:
+ type: boolean
+ interpreters:
+ description: Information associated with the interpreter.
+ items:
+ properties:
+ email:
+ description: Email address of the interpreter.
+ format: email
+ type: string
+ languages:
+ description: |-
+ Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
+
+ For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
+ type: string
+ type: object
+ type: array
+ type: object
+ meeting_authentication:
+ description: "`true`- Only authenticated users can join meetings."
+ type: boolean
+ mute_upon_entry:
+ default: false
+ description: Mute participants upon entry.
+ type: boolean
+ participant_video:
+ description: Start video when participants join the meeting.
+ type: boolean
+ registrants_confirmation_email:
+ description: Send confirmation email to registrants upon successful registration.
+ type: boolean
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registration_type:
+ default: 1
+ description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: |-
+ Show social share buttons on the meeting registration page.
+ This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
+ type: boolean
+ use_pmi:
+ default: false
+ description: Use a personal meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time.
+ type: boolean
+ waiting_room:
+ default: false
+ description: Enable waiting room
+ type: boolean
+ watermark:
+ default: false
+ description: Add watermark when viewing a shared screen.
+ type: boolean
+ type: object
+ start_time:
+ description: 'Meeting start date-time in UTC/GMT. Example: "2020-03-31T12:02:00Z"'
+ format: date-time
+ type: string
+ start_url:
+ description: URL to start the meeting. This URL should only be used by the host of the meeting and **should not be shared with anyone other than the host** of the meeting as anyone with this URL will be able to login to the Zoom Client as the host of the meeting.
+ type: string
+ timezone:
+ description: Timezone to format start_time
+ type: string
+ topic:
+ description: Meeting topic
+ maxLength: 200
+ type: string
+ tracking_fields:
+ description: Tracking fields
+ items:
+ properties:
+ field:
+ description: Label of the tracking field.
+ type: string
+ value:
+ description: Value for the field.
+ type: string
+ visible:
+ description: |-
+ Indicates whether the [tracking field](https://support.zoom.us/hc/en-us/articles/115000293426-Scheduling-Tracking-Fields) is visible in the meeting scheduling options in the Zoom Web Portal or not.
+
+ `true`: Tracking field is visible.
+
+ `false`: Tracking field is not visible to the users in the meeting options in the Zoom Web Portal but the field was used while scheduling this meeting via API. An invisible tracking field can be used by users while scheduling meetings via API only.
+ type: boolean
+ type: object
+ type: array
+ type:
+ default: 2
+ description: Meeting Type
+ enum:
+ - 1
+ - 2
+ - 3
+ - 8
+ type: integer
+ x-enum-descriptions:
+ - Instant Meeting
+ - Scheduled Meeting
+ - Recurring Meeting with no fixed time
+ - Recurring Meeting with fixed time
+ type: object
+ MeetingInfoGet:
+ description: Meeting object.
+ properties:
+ agenda:
+ description: Meeting description
+ maxLength: 2000
+ type: string
+ created_at:
+ description: "Time of creation. "
+ format: date-time
+ type: string
+ duration:
+ description: Meeting duration.
+ type: integer
+ encrypted_password:
+ description: Encrypted passcode for third party endpoints (H323/SIP).
+ type: string
+ h323_password:
+ description: H.323/SIP room system passcode.
+ type: string
+ join_url:
+ description: URL for participants to join the meeting. This URL should only be shared with users that you would like to invite for the meeting.
+ type: string
+ occurrences:
+ description: Array of occurrence objects.
+ items:
+ description: Occurence object. This object is only returned for Recurring Webinars.
+ properties:
+ duration:
+ description: Duration.
+ type: integer
+ occurrence_id:
+ description: "Occurrence ID: Unique Identifier that identifies an occurrence of a recurring webinar. [Recurring webinars](https://support.zoom.us/hc/en-us/articles/216354763-How-to-Schedule-A-Recurring-Webinar) can have a maximum of 50 occurrences."
+ type: string
+ start_time:
+ description: Start time.
+ format: date-time
+ type: string
+ status:
+ description: Occurrence status.
+ type: string
+ type: object
+ type: array
+ password:
+ description: Meeting passcode.
+ minimum: 8
+ type: string
+ pmi:
+ description: Personal Meeting Id. Only used for scheduled meetings and recurring meetings with no fixed time.
+ format: int64
+ type: integer
+ recurrence:
+ description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
+ properties:
+ end_date_time:
+ description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ default: 1
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |+
+ Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
+
+ type: integer
+ type:
+ description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ default: "1"
+ description: |-
+ This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - "1"
+ - "2"
+ - "3"
+ - "4"
+ - "5"
+ - "6"
+ - "7"
+ type: string
+ required:
+ - type
+ type: object
+ settings:
+ description: Meeting settings.
+ properties:
+ allow_multiple_devices:
+ description: Allow attendees to join the meeting from multiple devices. This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
+ type: boolean
+ alternative_hosts:
+ description: "Alternative host's emails or IDs: multiple values are separated by a semicolon."
+ type: string
+ alternative_hosts_email_notification:
+ default: true
+ description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
+ type: boolean
+ approval_type:
+ default: 2
+ description: |-
+ Enable registration and set approval for the registration. Note that this feature requires the host to be of **Licensed** user type. **Registration cannot be enabled for a basic user.**
+
+ `0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ approved_or_denied_countries_or_regions:
+ description: |
+ Approve or block users from specific regions/countries from joining this meeting.
+ properties:
+ approved_list:
+ description: "List of countries/regions from where participants can join this meeting. "
+ items:
+ type: string
+ type: array
+ denied_list:
+ description: "List of countries/regions from where participants can not join this meeting. "
+ items:
+ type: string
+ type: array
+ enable:
+ description: |-
+ `true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
+
+ `false`: Setting disabled.
+ type: boolean
+ method:
+ description: |-
+ Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
+ `approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
+ `deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
+ enum:
+ - approve
+ - deny
+ type: string
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
+ type: string
+ authentication_exception:
+ description: The participants added here will receive unique meeting invite links and bypass authentication.
+ items:
+ properties:
+ email:
+ description: Email address of the participant.
+ format: email
+ type: string
+ name:
+ description: Name of the participant.
+ type: string
+ type: object
+ type: array
+ authentication_name:
+ description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
+ type: string
+ authentication_option:
+ description: Meeting authentication option id.
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ breakout_room:
+ description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
+ properties:
+ enable:
+ description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
+ type: boolean
+ rooms:
+ description: Create room(s).
+ items:
+ properties:
+ name:
+ description: Name of the breakout room.
+ type: string
+ participants:
+ description: Email addresses of the participants who are to be assigned to the breakout room.
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ type: object
+ close_registration:
+ default: false
+ description: Close registration after event date
+ type: boolean
+ cn_meeting:
+ default: false
+ description: Host meeting in China.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ custom_keys:
+ description: Custom keys and values assigned to the meeting.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the user.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the user.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ enforce_login:
+ description: |-
+ Only signed in users can join this meeting.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
+ type: boolean
+ enforce_login_domains:
+ description: |-
+ Only signed in users with specified domains can join meetings.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
+ type: string
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ global_dial_in_numbers:
+ description: Global Dial-in Countries/Regions
+ items:
+ properties:
+ city:
+ description: City of the number, if any. For example, Chicago.
+ type: string
+ country:
+ description: Country code. For example, BR.
+ type: string
+ country_name:
+ description: Full name of country. For example, Brazil.
+ type: string
+ number:
+ description: Phone number. For example, +1 2332357613.
+ type: string
+ type:
+ description: "Type of number. "
+ enum:
+ - toll
+ - tollfree
+ type: string
+ type: object
+ type: array
+ host_video:
+ description: Start video when the host joins the meeting.
+ type: boolean
+ in_meeting:
+ default: false
+ description: Host meeting in India.
+ type: boolean
+ jbh_time:
+ description: |-
+ If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
+
+ * `0`: Allow participant to join anytime.
+ * `5`: Allow participant to join 5 minutes before meeting start time.
+ * `10`: Allow participant to join 10 minutes before meeting start time.
+ enum:
+ - 0
+ - 5
+ - 10
+ type: integer
+ join_before_host:
+ default: false
+ description: Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings.
+ type: boolean
+ language_interpretation:
+ properties:
+ enable:
+ type: boolean
+ interpreters:
+ description: Information associated with the interpreter.
+ items:
+ properties:
+ email:
+ description: Email address of the interpreter.
+ format: email
+ type: string
+ languages:
+ description: |-
+ Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
+
+ For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
+ type: string
+ type: object
+ type: array
+ type: object
+ meeting_authentication:
+ description: "`true`- Only authenticated users can join meetings."
+ type: boolean
+ mute_upon_entry:
+ default: false
+ description: Mute participants upon entry.
+ type: boolean
+ participant_video:
+ description: Start video when participants join the meeting.
+ type: boolean
+ registrants_confirmation_email:
+ description: Send confirmation email to registrants upon successful registration.
+ type: boolean
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registration_type:
+ default: 1
+ description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: |-
+ Show social share buttons on the meeting registration page.
+ This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
+ type: boolean
+ use_pmi:
+ default: false
+ description: Use a personal meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time.
+ type: boolean
+ waiting_room:
+ default: false
+ description: Enable waiting room
+ type: boolean
+ watermark:
+ default: false
+ description: Add watermark when viewing a shared screen.
+ type: boolean
+ type: object
+ start_time:
+ description: |
+ Meeting start time in GMT/UTC. Start time will not be returned if the meeting is an **instant** meeting.
+ format: date-time
+ type: string
+ start_url:
+ description: |-
+
This URL should only be used by the host of the meeting and **should not be shared with anyone other than the host** of the meeting as anyone with this URL will be able to login to the Zoom Client as the host of the meeting.
+ type: string
+ status:
+ description: Meeting status
+ enum:
+ - waiting
+ - started
+ type: string
+ timezone:
+ description: Timezone to format the meeting start time on the .
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ tracking_fields:
+ description: Tracking fields
+ items:
+ properties:
+ field:
+ description: Label of the tracking field.
+ type: string
+ value:
+ description: Value for the field.
+ type: string
+ visible:
+ description: |-
+ Indicates whether the [tracking field](https://support.zoom.us/hc/en-us/articles/115000293426-Scheduling-Tracking-Fields) is visible in the meeting scheduling options in the Zoom Web Portal or not.
+
+ `true`: Tracking field is visible.
+
+ `false`: Tracking field is not visible to the users when they look at the meeting details in the Zoom Web Portal but the field was used while scheduling this meeting via API. An invisible tracking field can be used by users while scheduling meetings via API only.
+ type: boolean
+ type: object
+ type: array
+ type:
+ default: 2
+ description: |-
+ Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `4` - PMI Meeting
+ `8` - Recurring meeting with a fixed time.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 8
+ type: integer
+ x-enum-descriptions:
+ - Instant Meeting
+ - Scheduled Meeting
+ - Recurring Meeting with no fixed time
+ - Recurring Meeting with fixed time
+ type: object
+ MeetingInstances:
+ allOf:
+ - properties:
+ meetings:
+ description: List of ended meeting instances.
+ items:
+ allOf:
+ - properties:
+ start_time:
+ description: Start time
+ format: date-time
+ type: string
+ uuid:
+ description: |+
+ Meeting UUID. Unique meeting ID. Each meeting instance will generate its own Meeting UUID (i.e., after a meeting ends, a new UUID will be generated for the next instance of the meeting). Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
+
+ type: string
+ type: object
+ type: array
+ description: List of Meetings
+ title: Meeting instances
+ type: object
+ MeetingInvitation:
+ description: Meeting invitation details.
+ properties:
+ invitation:
+ description: Meeting invitation.
+ type: string
+ title: Meeting Invitation
+ type: object
+ MeetingList:
+ allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: |-
+ **Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
+
+ The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ - properties:
+ meetings:
+ description: List of Meeting objects.
+ items:
+ allOf:
+ - properties:
+ agenda:
+ description: Meeting description. The length of agenda gets truncated to 250 characters when you list all meetings for a user. To view the complete agenda of a meeting, retrieve details for a single meeting [here](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meeting).
+ type: string
+ created_at:
+ description: "Time of creation. "
+ format: date-time
+ type: string
+ duration:
+ description: Meeting duration.
+ type: integer
+ host_id:
+ description: ID of the user who is set as the host of the meeting.
+ type: string
+ id:
+ description: Meeting ID - also known as the meeting number in double (int64) format.
+ format: int64
+ type: integer
+ join_url:
+ description: Join URL.
+ type: string
+ start_time:
+ description: Meeting start time.
+ format: date-time
+ type: string
+ timezone:
+ description: "Timezone to format the meeting start time. "
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ type:
+ description: Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with fixed time.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 8
+ type: integer
+ x-enum-descriptions:
+ - Instant Meeting
+ - Scheduled Meeting
+ - Recurring Meeting with no fixed time
+ - Recurring Meeting with fixed time
+ uuid:
+ description: Unique Meeting ID. Each meeting instance will generate its own Meeting UUID.
+ type: string
+ type: object
+ type: array
+ description: List of meetings.
+ title: Group List
+ type: object
+ MeetingLiveStream:
+ description: Meeting live stream.
+ properties:
+ page_url:
+ description: The livestream page URL.
+ format: uri
+ maxLength: 1024
+ type: string
+ stream_key:
+ description: Stream name and key.
+ maxLength: 512
+ type: string
+ stream_url:
+ description: Streaming URL.
+ maxLength: 1024
+ type: string
+ required:
+ - stream_url
+ - stream_key
+ type: object
+ MeetingLiveStreamStatus:
+ description: Meeting live stream status.
+ properties:
+ action:
+ description: |-
+ Update the status of a livestream.
+
+ The value can be one of the following:
+ `start`: Start a live stream.
+ `stop`: Stop an ongoing live stream.
+ enum:
+ - start
+ - stop
+ type: string
+ x-enum-descriptions:
+ - Start a meeting live stream.
+ - Stop a meeting live stream.
+ settings:
+ description: Update the settings of a live streaming session. The settings can only be updated for a live stream that has been stopped. You can not update the settings of an ongoing live stream.
+ properties:
+ active_speaker_name:
+ description: Display the name of the active speaker during a live stream.
+ type: boolean
+ display_name:
+ description: Display name of the live stream.
+ maxLength: 50
+ minLength: 1
+ type: string
+ type: object
+ type: object
+ MeetingMetric:
+ description: Meeting metric details.
+ properties:
+ custom_keys:
+ description: Custom keys and values assigned to the meeting.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the meetinh.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the meeting.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ dept:
+ description: Department of the host.
+ type: string
+ duration:
+ description: Meeting duration.
+ type: string
+ email:
+ description: Email address of the host.
+ type: string
+ end_time:
+ description: Meeting end time.
+ format: date-time
+ type: string
+ has_3rd_party_audio:
+ description: Indicates whether or not [third party audio](https://support.zoom.us/hc/en-us/articles/202470795-3rd-Party-Audio-Conference) was used in the meeting.
+ type: boolean
+ has_pstn:
+ description: Indicates whether or not the PSTN was used in the meeting.
+ type: boolean
+ has_recording:
+ description: "Indicates whether or not the recording feature was used in the meeting. "
+ type: boolean
+ has_screen_share:
+ description: Indicates whether or not screenshare feature was used in the meeting.
+ type: boolean
+ has_sip:
+ description: Indicates whether or not someone joined the meeting using SIP.
+ type: boolean
+ has_video:
+ description: Indicates whether or not video was used in the meeting.
+ type: boolean
+ has_voip:
+ description: Indicates whether or not VoIP was used in the meeting.
+ type: boolean
+ host:
+ description: Host display name.
+ type: string
+ id:
+ description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
+ format: int64
+ type: integer
+ in_room_participants:
+ description: The number of Zoom Room participants in the meeting.
+ type: integer
+ participants:
+ description: Meeting participant count.
+ type: integer
+ start_time:
+ description: Meeting start time.
+ format: date-time
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ user_type:
+ description: License type of the user.
+ type: string
+ uuid:
+ description: Meeting UUID. Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
+ format: uuid
+ type: string
+ title: Meeting Metrics
+ type: object
+ MeetingRecordingRegistrantList:
+ allOf:
+ - allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: |-
+ **Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
+
+ The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ - properties:
+ registrants:
+ description: List of Registrant objects
+ items:
+ allOf:
+ - properties:
+ id:
+ type: string
+ - allOf:
+ - description: Registrant base object.
+ properties:
+ address:
+ description: Registrant's address.
+ type: string
+ city:
+ description: Registrant's city.
+ type: string
+ comments:
+ description: A field that allows registrants to provide any questions or comments that they might have.
+ type: string
+ country:
+ description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
+ type: string
+ custom_questions:
+ description: Custom questions.
+ items:
+ description: Custom Question.
+ properties:
+ title:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ email:
+ description: A valid email address of the registrant.
+ maxLength: 128
+ type: string
+ first_name:
+ description: Registrant's first name.
+ maxLength: 64
+ type: string
+ industry:
+ description: Registrant's Industry.
+ type: string
+ job_title:
+ description: Registrant's job title.
+ type: string
+ last_name:
+ description: Registrant's last name.
+ maxLength: 64
+ type: string
+ no_of_employees:
+ description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
+ type: string
+ org:
+ description: Registrant's Organization.
+ type: string
+ phone:
+ description: Registrant's Phone number.
+ type: string
+ purchasing_time_frame:
+ description: |-
+ This field can be included to gauge interest of webinar attendees towards buying your product or service.
+
+ Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
+ type: string
+ role_in_purchase_process:
+ description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
+ type: string
+ state:
+ description: Registrant's State/Province.
+ type: string
+ zip:
+ description: Registrant's Zip/Postal Code.
+ type: string
+ required:
+ - email
+ - first_name
+ type: object
+ description: " Registrant."
+ type: object
+ type: array
+ description: List of Recording Registration
+ title: Recording Registration List
+ type: object
+ description: List of meeting recording registrant
+ title: Registration List
+ type: object
+ MeetingRegistrant:
+ allOf:
+ - description: Registrant base object.
+ properties:
+ address:
+ description: Registrant's address.
+ type: string
+ city:
+ description: Registrant's city.
+ type: string
+ comments:
+ description: A field that allows registrants to provide any questions or comments that they might have.
+ type: string
+ country:
+ description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
+ type: string
+ custom_questions:
+ description: Custom questions.
+ items:
+ description: Custom Question.
+ properties:
+ title:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ email:
+ description: A valid email address of the registrant.
+ maxLength: 128
+ type: string
+ first_name:
+ description: Registrant's first name.
+ maxLength: 64
+ type: string
+ industry:
+ description: Registrant's Industry.
+ type: string
+ job_title:
+ description: Registrant's job title.
+ type: string
+ last_name:
+ description: Registrant's last name.
+ maxLength: 64
+ type: string
+ no_of_employees:
+ description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
+ type: string
+ org:
+ description: Registrant's Organization.
+ type: string
+ phone:
+ description: Registrant's Phone number.
+ type: string
+ purchasing_time_frame:
+ description: |-
+ This field can be included to gauge interest of webinar attendees towards buying your product or service.
+
+ Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
+ type: string
+ role_in_purchase_process:
+ description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
+ type: string
+ state:
+ description: Registrant's State/Province.
+ type: string
+ zip:
+ description: Registrant's Zip/Postal Code.
+ type: string
+ required:
+ - email
+ - first_name
+ type: object
+ description: " Registrant."
+ type: object
+ MeetingRegistrantList:
+ allOf:
+ - allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: |-
+ **Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
+
+ The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ - properties:
+ registrants:
+ description: List of registrant objects.
+ items:
+ allOf:
+ - properties:
+ id:
+ description: Registrant ID.
+ type: string
+ type: object
+ - allOf:
+ - description: Registrant base object.
+ properties:
+ address:
+ description: Registrant's address.
+ type: string
+ city:
+ description: Registrant's city.
+ type: string
+ comments:
+ description: A field that allows registrants to provide any questions or comments that they might have.
+ type: string
+ country:
+ description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
+ type: string
+ custom_questions:
+ description: Custom questions.
+ items:
+ description: Custom Question.
+ properties:
+ title:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ email:
+ description: A valid email address of the registrant.
+ maxLength: 128
+ type: string
+ first_name:
+ description: Registrant's first name.
+ maxLength: 64
+ type: string
+ industry:
+ description: Registrant's Industry.
+ type: string
+ job_title:
+ description: Registrant's job title.
+ type: string
+ last_name:
+ description: Registrant's last name.
+ maxLength: 64
+ type: string
+ no_of_employees:
+ description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
+ type: string
+ org:
+ description: Registrant's Organization.
+ type: string
+ phone:
+ description: Registrant's Phone number.
+ type: string
+ purchasing_time_frame:
+ description: |-
+ This field can be included to gauge interest of webinar attendees towards buying your product or service.
+
+ Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
+ type: string
+ role_in_purchase_process:
+ description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
+ type: string
+ state:
+ description: Registrant's State/Province.
+ type: string
+ zip:
+ description: Registrant's Zip/Postal Code.
+ type: string
+ required:
+ - email
+ - first_name
+ type: object
+ description: " Registrant."
+ type: object
+ - properties:
+ create_time:
+ description: The time at which the registrant registered.
+ format: date-time
+ type: string
+ join_url:
+ description: The URL using which an approved registrant can join the webinar.
+ format: string
+ type: string
+ status:
+ description: "The status of the registrant's registration. `approved`: User has been successfully approved for the webinar. `pending`: The registration is still pending. `denied`: User has been denied from joining the webinar."
+ type: string
+ type: object
+ type: array
+ description: List of users.
+ title: Registration List
+ type: object
+ description: List of users.
+ title: Registration List
+ type: object
+ MeetingRegistrantQuestions:
+ description: Meeting Registrant Questions
+ properties:
+ custom_questions:
+ description: Array of Registrant Custom Questions
+ items:
+ properties:
+ answers:
+ description: Answer choices for the question. Can not be used for `short` question type as this type of question requires registrants to type out the answer.
+ items:
+ type: string
+ type: array
+ required:
+ description: Indicates whether or not the custom question is required to be answered by participants or not.
+ type: boolean
+ title:
+ description: Title of the custom question.
+ type: string
+ type:
+ description: Type of the question being asked.
+ enum:
+ - short
+ - single
+ type: string
+ x-enum-descriptions:
+ - Short Answer
+ - Single Answer
+ type: object
+ type: array
+ questions:
+ description: Array of Registrant Questions
+ items:
+ properties:
+ field_name:
+ description: Field name of the question.
+ enum:
+ - address
+ - city
+ - country
+ - zip
+ - state
+ - phone
+ - industry
+ - org
+ - job_title
+ - purchasing_time_frame
+ - role_in_purchase_process
+ - no_of_employees
+ - comments
+ type: string
+ x-enum-descriptions:
+ - Address
+ - City
+ - Country/Region
+ - Zip/Postal Code
+ - State/Province
+ - Phone
+ - Industry
+ - Organization
+ - Job Title
+ - Purchasing Time Frame
+ - Role in Purchase Process
+ - Number of Employees
+ - Questions & Comments
+ required:
+ description: Indicates whether or not the displayed fields are required to be filled out by registrants.
+ type: boolean
+ type: object
+ type: array
+ title: Meeting Registrant Questions
+ type: object
+ MeetingSecuritySettings:
+ properties:
+ meeting_security:
+ properties:
+ auto_security:
+ description: |-
+ `true`: Require that all meetings are secured with at least one security option.
+
+ This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
+ type: boolean
+ embed_password_in_join_link:
+ description: |
+ If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
+ type: boolean
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ end_to_end_encrypted_meetings:
+ description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
+ type: boolean
+ meeting_password:
+ description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
+ type: boolean
+ meeting_password_requirement:
+ description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the passcode must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar passcode needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the passcode must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided passcode is weak.
+ type: boolean
+ type: object
+ phone_password:
+ description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
+ type: boolean
+ pmi_password:
+ description: |
+ If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
+ type: boolean
+ require_password_for_scheduled_meeting:
+ description: |
+ Require a passcode for meetings which have already been scheduled.
+ type: boolean
+ require_password_for_scheduled_webinar:
+ description: |
+ Require a passcode for webinars which have already been scheduled.
+ type: boolean
+ waiting_room:
+ description: |
+ When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
+ type: boolean
+ waiting_room_settings:
+ description: Specify the settings to be applied if waiting room is enabled.
+ properties:
+ participants_to_place_in_waiting_room:
+ description: |-
+
+
+ Specify who should be admitted to the waiting room. The value of this field can be one of the following:
+ `0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ users_who_can_admit_participants_from_waiting_room:
+ description: |+
+ Specify who can admit participants from the waiting room. The value of this field can be one of the following:
+ `0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
+
+
+ type: integer
+ whitelisted_domains_for_waiting_room:
+ description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
+ type: string
+ type: object
+ webinar_password:
+ description: |
+ If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
+ type: boolean
+ type: object
+ title: Meeting/Webinar Security Settings
+ type: object
+ MeetingSettings:
+ description: Meeting settings.
+ properties:
+ allow_multiple_devices:
+ description: Allow attendees to join the meeting from multiple devices. This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
+ type: boolean
+ alternative_hosts:
+ description: "Alternative host's emails or IDs: multiple values are separated by a semicolon."
+ type: string
+ alternative_hosts_email_notification:
+ default: true
+ description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
+ type: boolean
+ approval_type:
+ default: 2
+ description: |-
+ Enable registration and set approval for the registration. Note that this feature requires the host to be of **Licensed** user type. **Registration cannot be enabled for a basic user.**
+
+ `0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ approved_or_denied_countries_or_regions:
+ description: |
+ Approve or block users from specific regions/countries from joining this meeting.
+ properties:
+ approved_list:
+ description: "List of countries/regions from where participants can join this meeting. "
+ items:
+ type: string
+ type: array
+ denied_list:
+ description: "List of countries/regions from where participants can not join this meeting. "
+ items:
+ type: string
+ type: array
+ enable:
+ description: |-
+ `true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
+
+ `false`: Setting disabled.
+ type: boolean
+ method:
+ description: |-
+ Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
+ `approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
+ `deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
+ enum:
+ - approve
+ - deny
+ type: string
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
+ type: string
+ authentication_exception:
+ description: The participants added here will receive unique meeting invite links and bypass authentication.
+ items:
+ properties:
+ email:
+ description: Email address of the participant.
+ format: email
+ type: string
+ name:
+ description: Name of the participant.
+ type: string
+ type: object
+ type: array
+ authentication_name:
+ description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
+ type: string
+ authentication_option:
+ description: Meeting authentication option id.
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ breakout_room:
+ description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
+ properties:
+ enable:
+ description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
+ type: boolean
+ rooms:
+ description: Create room(s).
+ items:
+ properties:
+ name:
+ description: Name of the breakout room.
+ type: string
+ participants:
+ description: Email addresses of the participants who are to be assigned to the breakout room.
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ type: object
+ close_registration:
+ default: false
+ description: Close registration after event date
+ type: boolean
+ cn_meeting:
+ default: false
+ description: Host meeting in China.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ custom_keys:
+ description: Custom keys and values assigned to the meeting.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the user.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the user.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ enforce_login:
+ description: |-
+ Only signed in users can join this meeting.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
+ type: boolean
+ enforce_login_domains:
+ description: |-
+ Only signed in users with specified domains can join meetings.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
+ type: string
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ global_dial_in_numbers:
+ description: Global Dial-in Countries/Regions
+ items:
+ properties:
+ city:
+ description: City of the number, if any. For example, Chicago.
+ type: string
+ country:
+ description: Country code. For example, BR.
+ type: string
+ country_name:
+ description: Full name of country. For example, Brazil.
+ type: string
+ number:
+ description: Phone number. For example, +1 2332357613.
+ type: string
+ type:
+ description: "Type of number. "
+ enum:
+ - toll
+ - tollfree
+ type: string
+ type: object
+ type: array
+ host_video:
+ description: Start video when the host joins the meeting.
+ type: boolean
+ in_meeting:
+ default: false
+ description: Host meeting in India.
+ type: boolean
+ jbh_time:
+ description: |-
+ If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
+
+ * `0`: Allow participant to join anytime.
+ * `5`: Allow participant to join 5 minutes before meeting start time.
+ * `10`: Allow participant to join 10 minutes before meeting start time.
+ enum:
+ - 0
+ - 5
+ - 10
+ type: integer
+ join_before_host:
+ default: false
+ description: Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings.
+ type: boolean
+ language_interpretation:
+ properties:
+ enable:
+ type: boolean
+ interpreters:
+ description: Information associated with the interpreter.
+ items:
+ properties:
+ email:
+ description: Email address of the interpreter.
+ format: email
+ type: string
+ languages:
+ description: |-
+ Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
+
+ For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
+ type: string
+ type: object
+ type: array
+ type: object
+ meeting_authentication:
+ description: "`true`- Only authenticated users can join meetings."
+ type: boolean
+ mute_upon_entry:
+ default: false
+ description: Mute participants upon entry.
+ type: boolean
+ participant_video:
+ description: Start video when participants join the meeting.
+ type: boolean
+ registrants_confirmation_email:
+ description: Send confirmation email to registrants upon successful registration.
+ type: boolean
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registration_type:
+ default: 1
+ description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: |-
+ Show social share buttons on the meeting registration page.
+ This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
+ type: boolean
+ use_pmi:
+ default: false
+ description: Use a personal meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time.
+ type: boolean
+ waiting_room:
+ default: false
+ description: Enable waiting room
+ type: boolean
+ watermark:
+ default: false
+ description: Add watermark when viewing a shared screen.
+ type: boolean
+ type: object
+ MeetingUpdate:
+ allOf:
+ - description: Base object for sessions.
+ properties:
+ agenda:
+ description: Meeting description.
+ maxLength: 2000
+ type: string
+ duration:
+ description: Meeting duration (minutes). Used for scheduled meetings only.
+ type: integer
+ password:
+ description: |-
+ Meeting passcode. Passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ *] and can have a maximum of 10 characters.
+
+ **Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
+ maxLength: 10
+ type: string
+ recurrence:
+ description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
+ properties:
+ end_date_time:
+ description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ default: 1
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |+
+ Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
+
+ type: integer
+ type:
+ description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ default: "1"
+ description: |-
+ This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - "1"
+ - "2"
+ - "3"
+ - "4"
+ - "5"
+ - "6"
+ - "7"
+ type: string
+ required:
+ - type
+ type: object
+ settings:
+ allOf:
+ - description: Meeting settings.
+ properties:
+ allow_multiple_devices:
+ description: Allow attendees to join the meeting from multiple devices. This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
+ type: boolean
+ alternative_hosts:
+ description: "Alternative host's emails or IDs: multiple values are separated by a semicolon."
+ type: string
+ alternative_hosts_email_notification:
+ default: true
+ description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
+ type: boolean
+ approval_type:
+ default: 2
+ description: |-
+ Enable registration and set approval for the registration. Note that this feature requires the host to be of **Licensed** user type. **Registration cannot be enabled for a basic user.**
+
+ `0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ approved_or_denied_countries_or_regions:
+ description: |
+ Approve or block users from specific regions/countries from joining this meeting.
+ properties:
+ approved_list:
+ description: "List of countries/regions from where participants can join this meeting. "
+ items:
+ type: string
+ type: array
+ denied_list:
+ description: "List of countries/regions from where participants can not join this meeting. "
+ items:
+ type: string
+ type: array
+ enable:
+ description: |-
+ `true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
+
+ `false`: Setting disabled.
+ type: boolean
+ method:
+ description: |-
+ Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
+ `approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
+ `deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
+ enum:
+ - approve
+ - deny
+ type: string
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
+ type: string
+ authentication_exception:
+ description: The participants added here will receive unique meeting invite links and bypass authentication.
+ items:
+ properties:
+ email:
+ description: Email address of the participant.
+ format: email
+ type: string
+ name:
+ description: Name of the participant.
+ type: string
+ type: object
+ type: array
+ authentication_name:
+ description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
+ type: string
+ authentication_option:
+ description: Meeting authentication option id.
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ breakout_room:
+ description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
+ properties:
+ enable:
+ description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
+ type: boolean
+ rooms:
+ description: Create room(s).
+ items:
+ properties:
+ name:
+ description: Name of the breakout room.
+ type: string
+ participants:
+ description: Email addresses of the participants who are to be assigned to the breakout room.
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ type: object
+ close_registration:
+ default: false
+ description: Close registration after event date
+ type: boolean
+ cn_meeting:
+ default: false
+ description: Host meeting in China.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ custom_keys:
+ description: Custom keys and values assigned to the meeting.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the user.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the user.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ enforce_login:
+ description: |-
+ Only signed in users can join this meeting.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
+ type: boolean
+ enforce_login_domains:
+ description: |-
+ Only signed in users with specified domains can join meetings.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
+ type: string
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ global_dial_in_numbers:
+ description: Global Dial-in Countries/Regions
+ items:
+ properties:
+ city:
+ description: City of the number, if any. For example, Chicago.
+ type: string
+ country:
+ description: Country code. For example, BR.
+ type: string
+ country_name:
+ description: Full name of country. For example, Brazil.
+ type: string
+ number:
+ description: Phone number. For example, +1 2332357613.
+ type: string
+ type:
+ description: "Type of number. "
+ enum:
+ - toll
+ - tollfree
+ type: string
+ type: object
+ type: array
+ host_video:
+ description: Start video when the host joins the meeting.
+ type: boolean
+ in_meeting:
+ default: false
+ description: Host meeting in India.
+ type: boolean
+ jbh_time:
+ description: |-
+ If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
+
+ * `0`: Allow participant to join anytime.
+ * `5`: Allow participant to join 5 minutes before meeting start time.
+ * `10`: Allow participant to join 10 minutes before meeting start time.
+ enum:
+ - 0
+ - 5
+ - 10
+ type: integer
+ join_before_host:
+ default: false
+ description: Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings.
+ type: boolean
+ language_interpretation:
+ properties:
+ enable:
+ type: boolean
+ interpreters:
+ description: Information associated with the interpreter.
+ items:
+ properties:
+ email:
+ description: Email address of the interpreter.
+ format: email
+ type: string
+ languages:
+ description: |-
+ Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
+
+ For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
+ type: string
+ type: object
+ type: array
+ type: object
+ meeting_authentication:
+ description: "`true`- Only authenticated users can join meetings."
+ type: boolean
+ mute_upon_entry:
+ default: false
+ description: Mute participants upon entry.
+ type: boolean
+ participant_video:
+ description: Start video when participants join the meeting.
+ type: boolean
+ registrants_confirmation_email:
+ description: Send confirmation email to registrants upon successful registration.
+ type: boolean
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registration_type:
+ default: 1
+ description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: |-
+ Show social share buttons on the meeting registration page.
+ This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
+ type: boolean
+ use_pmi:
+ default: false
+ description: Use a personal meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time.
+ type: boolean
+ waiting_room:
+ default: false
+ description: Enable waiting room
+ type: boolean
+ watermark:
+ default: false
+ description: Add watermark when viewing a shared screen.
+ type: boolean
+ type: object
+ - properties:
+ registrants_confirmation_email:
+ description: Send confirmation Email to Registrants
+ type: boolean
+ type: object
+ start_time:
+ description: Meeting start time. When using a format like "yyyy-MM-dd'T'HH:mm:ss'Z'", always use GMT time. When using a format like "yyyy-MM-dd'T'HH:mm:ss", you should use local time and specify the time zone. Only used for scheduled meetings and recurring meetings with a fixed time.
+ format: date-time
+ type: string
+ template_id:
+ description: |-
+ Unique identifier of the meeting template.
+
+ Use this field if you would like to [schedule the meeting from a meeting template](https://support.zoom.us/hc/en-us/articles/360036559151-Meeting-templates#h_86f06cff-0852-4998-81c5-c83663c176fb). You can retrieve the value of this field by calling the [List meeting templates]() API.
+ type: string
+ timezone:
+ description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [time zone](#timezones) list for supported time zones and their formats.
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ tracking_fields:
+ description: Tracking fields
+ items:
+ properties:
+ field:
+ description: Tracking fields type
+ type: string
+ value:
+ description: Tracking fields value
+ type: string
+ type: object
+ type: array
+ type:
+ default: 2
+ description: Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with a fixed time.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 8
+ type: integer
+ x-enum-descriptions:
+ - Instant Meeting
+ - Scheduled Meeting
+ - Recurring Meeting with no fixed time
+ - Recurring Meeting with fixed time
+ type: object
+ description: Meeting object
+ type: object
+ Occurrence:
+ description: Occurence object. This object is only returned for Recurring Webinars.
+ properties:
+ duration:
+ description: Duration.
+ type: integer
+ occurrence_id:
+ description: "Occurrence ID: Unique Identifier that identifies an occurrence of a recurring webinar. [Recurring webinars](https://support.zoom.us/hc/en-us/articles/216354763-How-to-Schedule-A-Recurring-Webinar) can have a maximum of 50 occurrences."
+ type: string
+ start_time:
+ description: Start time.
+ format: date-time
+ type: string
+ status:
+ description: Occurrence status.
+ type: string
+ type: object
+ Occurrences:
+ description: Array of occurrence objects.
+ items:
+ description: Occurence object. This object is only returned for Recurring Webinars.
+ properties:
+ duration:
+ description: Duration.
+ type: integer
+ occurrence_id:
+ description: "Occurrence ID: Unique Identifier that identifies an occurrence of a recurring webinar. [Recurring webinars](https://support.zoom.us/hc/en-us/articles/216354763-How-to-Schedule-A-Recurring-Webinar) can have a maximum of 50 occurrences."
+ type: string
+ start_time:
+ description: Start time.
+ format: date-time
+ type: string
+ status:
+ description: Occurrence status.
+ type: string
+ type: object
+ type: array
+ PAC:
+ description: List of PAC accounts.
+ properties:
+ conference_id:
+ description: Conference ID.
+ type: integer
+ dedicated_dial_in_number:
+ description: List of dedicated dial-in numbers.
+ items:
+ properties:
+ country:
+ description: Country code.
+ type: string
+ number:
+ description: "Dial-in number: length is less than 16."
+ type: string
+ type: object
+ type: array
+ global_dial_in_numbers:
+ description: List of global dial-in numbers.
+ items:
+ properties:
+ country:
+ description: Country code.
+ type: string
+ number:
+ description: "Dial-in number: length is less than 16."
+ type: string
+ type: object
+ type: array
+ listen_only_password:
+ description: "Listen-Only passcode: numeric value - length is less than 6."
+ maxLength: 6
+ type: string
+ participant_password:
+ description: "Participant passcode: numeric value - length is less than 6."
+ maxLength: 6
+ minLength: 1
+ type: string
+ title: PAC Accounts List
+ type: object
+ Pagination:
+ description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: |-
+ **Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
+
+ The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ PaginationToken:
+ description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ type: integer
+ type: object
+ PaginationToken4IMChat:
+ description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of the available result list exceeds the page size. The expiration period is 15 minutes.
+ type: string
+ page_size:
+ default: 30
+ description: "The amount of records returns within a single API call. "
+ maximum: 300
+ type: integer
+ type: object
+ PaginationToken4Qos:
+ description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ format: int64
+ type: integer
+ page_size:
+ default: 1
+ description: The number of items per page.
+ maximum: 10
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ format: int64
+ type: integer
+ type: object
+ Panelist:
+ description: Panelist base object.
+ properties:
+ email:
+ description: Panelist's email.
+ format: email
+ type: string
+ name:
+ description: Panelist's full name.
+ type: string
+ type: object
+ PanelistList:
+ description: List of panelists.
+ properties:
+ panelists:
+ description: List of panelist objects.
+ items:
+ allOf:
+ - properties:
+ id:
+ description: Panelist's ID.
+ type: string
+ type: object
+ - description: Panelist base object.
+ properties:
+ email:
+ description: Panelist's email.
+ format: email
+ type: string
+ name:
+ description: Panelist's full name.
+ type: string
+ type: object
+ - properties:
+ join_url:
+ description: Join URL.
+ type: string
+ type: object
+ type: array
+ total_records:
+ description: Total records.
+ type: integer
+ title: Panelist List
+ type: object
+ PhonePlan:
+ description: Phone Plan Object
+ properties:
+ plan_base:
+ description: Additional phone base plans.
+ properties:
+ callout_countries:
+ description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
+ type: string
+ type:
+ description: Additional phone base plan type.
+ type: string
+ type: object
+ plan_calling:
+ description: Additional phone calling plans.
+ items:
+ properties:
+ hosts:
+ type: integer
+ type:
+ description: Additional phone calling plan type.
+ type: string
+ type: object
+ type: array
+ plan_number:
+ description: Additional phone number plans.
+ items:
+ properties:
+ hosts:
+ type: integer
+ type:
+ description: Additional phone number plan type.
+ type: string
+ type: object
+ type: array
+ title: PhonePlan
+ type: object
+ Poll:
+ description: Poll
+ properties:
+ questions:
+ description: Array of Polls
+ items:
+ properties:
+ answers:
+ description: Answers to the questions
+ items:
+ type: string
+ type: array
+ name:
+ description: Question to be asked to the attendees.
+ type: string
+ type:
+ description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
+ enum:
+ - single
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - single answer
+ - multiple answer
+ type: object
+ type: array
+ title:
+ description: Title for the poll.
+ type: string
+ title: Poll
+ type: object
+ PollList:
+ allOf:
+ - properties:
+ polls:
+ description: Array of Polls
+ items:
+ allOf:
+ - properties:
+ id:
+ description: ID of Poll
+ type: string
+ status:
+ description: Status of Poll: `notstart` - Poll not started `started` - Poll started `ended` - Poll ended `sharing` - Sharing poll results
+ enum:
+ - notstart
+ - started
+ - ended
+ - sharing
+ type: string
+ x-enum-descriptions:
+ - Poll not start
+ - Poll started
+ - Poll ended
+ - Poll is sharing
+ - description: Poll
+ properties:
+ questions:
+ description: Array of Polls
+ items:
+ properties:
+ answers:
+ description: Answers to the questions
+ items:
+ type: string
+ type: array
+ name:
+ description: Question to be asked to the attendees.
+ type: string
+ type:
+ description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
+ enum:
+ - single
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - single answer
+ - multiple answer
+ type: object
+ type: array
+ title:
+ description: Title for the poll.
+ type: string
+ title: Poll
+ type: object
+ type: array
+ total_records:
+ description: The number of all records available across pages
+ type: integer
+ description: Poll List
+ title: Poll List
+ type: object
+ Profile:
+ properties:
+ recording_storage_location:
+ properties:
+ allowed_values:
+ description: |-
+ Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
+
+ Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
+ items:
+ type: string
+ type: array
+ value:
+ description: Abbreviated country code.
+ type: string
+ type: object
+ title: Profile
+ type: object
+ QOSAudio:
+ description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ QOSParticipant:
+ description: Participant QOS.
+ properties:
+ device:
+ description: The type of device using which the participant joined the meeting.
+ type: string
+ domain:
+ description: Participant's PC domain.
+ type: string
+ harddisk_id:
+ description: Participant's hard disk ID.
+ type: string
+ ip_address:
+ description: Participant's IP address.
+ type: string
+ join_time:
+ description: The time at which participant joined the meeting.
+ format: date-time
+ type: string
+ leave_time:
+ description: The time at which participant left the meeting.
+ format: date-time
+ type: string
+ location:
+ description: Participant's location.
+ type: string
+ mac_addr:
+ description: Participant's MAC address.
+ type: string
+ pc_name:
+ description: Participant's PC name.
+ type: string
+ user_id:
+ description: Participant ID.
+ format: uuid
+ type: string
+ user_name:
+ description: Participant display name.
+ type: string
+ user_qos:
+ description: Quality of service provided to the user.
+ items:
+ properties:
+ as_device_from_crc:
+ description: QoS metrics on screen shares by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ as_device_to_crc:
+ description: QoS metrics on screen shares output being received by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ as_input:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ as_output:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ audio_device_from_crc:
+ description: QoS metrics on audio being sent by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ audio_device_to_crc:
+ description: QoS metrics on audio received by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ audio_input:
+ description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ audio_output:
+ description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ cpu_usage:
+ properties:
+ system_max_cpu_usage:
+ description: System Maximum CPU Usage
+ type: string
+ zoom_avg_cpu_usage:
+ description: Zoom Average CPU Usage
+ type: string
+ zoom_max_cpu_usage:
+ description: Zoom Maximum CPU Usage
+ type: string
+ zoom_min_cpu_usage:
+ description: Zoom Minimum CPU Usage
+ type: string
+ type: object
+ date_time:
+ description: Date-time of QOS
+ format: date-time
+ type: string
+ video_device_from_crc:
+ description: QoS metrics on video input being sent from a Cloud Room Connector used by the participant to join the meeting.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ video_device_to_crc:
+ description: QoS metrics on video output received by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ video_input:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ video_output:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ type: object
+ type: array
+ version:
+ description: Participant's Zoom Client version.
+ type: string
+ title: Participant QOS
+ type: object
+ QOSParticipantList:
+ allOf:
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ format: int64
+ type: integer
+ page_size:
+ default: 1
+ description: The number of items per page.
+ maximum: 10
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ format: int64
+ type: integer
+ type: object
+ - properties:
+ participants:
+ description: Array of user objects.
+ items:
+ description: Participant QOS.
+ properties:
+ device:
+ description: The type of device using which the participant joined the meeting.
+ type: string
+ domain:
+ description: Participant's PC domain.
+ type: string
+ harddisk_id:
+ description: Participant's hard disk ID.
+ type: string
+ ip_address:
+ description: Participant's IP address.
+ type: string
+ join_time:
+ description: The time at which participant joined the meeting.
+ format: date-time
+ type: string
+ leave_time:
+ description: The time at which participant left the meeting.
+ format: date-time
+ type: string
+ location:
+ description: Participant's location.
+ type: string
+ mac_addr:
+ description: Participant's MAC address.
+ type: string
+ pc_name:
+ description: Participant's PC name.
+ type: string
+ user_id:
+ description: Participant ID.
+ format: uuid
+ type: string
+ user_name:
+ description: Participant display name.
+ type: string
+ user_qos:
+ description: Quality of service provided to the user.
+ items:
+ properties:
+ as_device_from_crc:
+ description: QoS metrics on screen shares by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ as_device_to_crc:
+ description: QoS metrics on screen shares output being received by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ as_input:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ as_output:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ audio_device_from_crc:
+ description: QoS metrics on audio being sent by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ audio_device_to_crc:
+ description: QoS metrics on audio received by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ audio_input:
+ description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ audio_output:
+ description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ cpu_usage:
+ properties:
+ system_max_cpu_usage:
+ description: System Maximum CPU Usage
+ type: string
+ zoom_avg_cpu_usage:
+ description: Zoom Average CPU Usage
+ type: string
+ zoom_max_cpu_usage:
+ description: Zoom Maximum CPU Usage
+ type: string
+ zoom_min_cpu_usage:
+ description: Zoom Minimum CPU Usage
+ type: string
+ type: object
+ date_time:
+ description: Date-time of QOS
+ format: date-time
+ type: string
+ video_device_from_crc:
+ description: QoS metrics on video input being sent from a Cloud Room Connector used by the participant to join the meeting.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ video_device_to_crc:
+ description: QoS metrics on video output received by a participant who joined the meeting via a Cloud Room Connector.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
+ type: string
+ type: object
+ video_input:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ video_output:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ type: object
+ type: array
+ version:
+ description: Participant's Zoom Client version.
+ type: string
+ title: Participant QOS
+ type: object
+ type: array
+ description: Participant QOS list.
+ title: Participant QOS List
+ type: object
+ QOSVideo:
+ allOf:
+ - description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
+ type: string
+ jitter:
+ description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
+ type: string
+ latency:
+ description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
+ type: string
+ max_loss:
+ description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
+ type: string
+ title: QOS Object
+ type: object
+ - properties:
+ frame_rate:
+ description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
+ type: string
+ resolution:
+ description: The number of pixels in each dimension that can be displayed by your video camera.
+ type: string
+ description: Quality of service object.
+ title: QOS Object
+ type: object
+ QoSPhone:
+ description: Quality of Service object.
+ properties:
+ avg_loss:
+ description: The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination.
+ type: string
+ bitrate:
+ description: The number of bits per second that can be transmitted along a digital network.
+ type: string
+ jitter:
+ description: The variation in the delay of received packets.
+ type: string
+ max_loss:
+ description: The max amount of packet loss, i.e., the max percentage of packets that fail to arrive at their destination.
+ type: string
+ mos:
+ description: Mean Opinion Score(MOS) measures voice quality on a scale of 1 to 5. A MOS greater than or equal to 3.5 means good quality, while below 3.5 means poor quality.
+ type: string
+ network_delay:
+ description: The amount of time it takes for a VoIP packet to travel from one point to another.
+ type: string
+ title: QoS Phone
+ type: object
+ Recording:
+ description: Recording file object.
+ properties:
+ deleted_time:
+ description: The time at which recording was deleted. Returned in the response only for trash query.
+ type: string
+ download_url:
+ description: |+
+ The URL using which the recording file can be downloaded. **To access a private or password protected cloud recording of a user in your account, you can use a [Zoom JWT App Type](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL as shown in the example.**
+
+ Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ JWT Token }}`
+
+ **Similarly, if the user has installed your OAuth app that contains recording scope(s), you can also use the user's [OAuth access token](https://marketplace.zoom.us/docs/guides/auth/oauth) to download the Cloud Recording.**
+
+ Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ OAuth Access Token }}`
+
+ type: string
+ file_size:
+ description: The recording file size.
+ type: number
+ file_type:
+ description: |-
+ The recording file type. The value of this field could be one of the following:
+ `MP4`: Video file of the recording. `M4A` Audio-only file of the recording. `TIMELINE`: Timestamp file of the recording in JSON file format. To get a timeline file, the "Add a timestamp to the recording" setting must be enabled in the [recording settings](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-recording#h_3f14c3a4-d16b-4a3c-bbe5-ef7d24500048). The time will display in the host's timezone, set on their Zoom profile.
+ `TRANSCRIPT`: Transcription file of the recording in VTT format. `CHAT`: A TXT file containing in-meeting chat messages that were sent during the meeting. `CC`: File containing closed captions of the recording in VTT file format. `CSV`: File containing polling data in csv format.
+
+
+
+ A recording file object with file type of either `CC` or `TIMELINE` **does not have** the following properties:
+ `id`, `status`, `file_size`, `recording_type`, and `play_url`.
+ type: string
+ id:
+ description: The recording file ID. Included in the response of general query.
+ type: string
+ meeting_id:
+ description: "The meeting ID. "
+ type: string
+ play_url:
+ description: The URL using which a recording file can be played.
+ type: string
+ recording_end:
+ description: The recording end time. Response in general query.
+ type: string
+ recording_start:
+ description: The recording start time.
+ type: string
+ recording_type:
+ description: The recording type. The value of this field can be one of the following: `shared_screen_with_speaker_view(CC)` `shared_screen_with_speaker_view` `shared_screen_with_gallery_view` `speaker_view` `gallery_view` `shared_screen` `audio_only` `audio_transcript` `chat_file` `active_speaker` `poll`
+ type: string
+ status:
+ description: The recording status.
+ enum:
+ - completed
+ type: string
+ type: object
+ RecordingList:
+ allOf:
+ - properties:
+ recording_files:
+ description: List of recording file.
+ items:
+ allOf:
+ - description: Recording file object.
+ properties:
+ deleted_time:
+ description: The time at which recording was deleted. Returned in the response only for trash query.
+ type: string
+ download_url:
+ description: |+
+ The URL using which the recording file can be downloaded. **To access a private or password protected cloud recording of a user in your account, you can use a [Zoom JWT App Type](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL as shown in the example.**
+
+ Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ JWT Token }}`
+
+ **Similarly, if the user has installed your OAuth app that contains recording scope(s), you can also use the user's [OAuth access token](https://marketplace.zoom.us/docs/guides/auth/oauth) to download the Cloud Recording.**
+
+ Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ OAuth Access Token }}`
+
+ type: string
+ file_size:
+ description: The recording file size.
+ type: number
+ file_type:
+ description: |-
+ The recording file type. The value of this field could be one of the following:
+ `MP4`: Video file of the recording. `M4A` Audio-only file of the recording. `TIMELINE`: Timestamp file of the recording in JSON file format. To get a timeline file, the "Add a timestamp to the recording" setting must be enabled in the [recording settings](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-recording#h_3f14c3a4-d16b-4a3c-bbe5-ef7d24500048). The time will display in the host's timezone, set on their Zoom profile.
+ `TRANSCRIPT`: Transcription file of the recording in VTT format. `CHAT`: A TXT file containing in-meeting chat messages that were sent during the meeting. `CC`: File containing closed captions of the recording in VTT file format. `CSV`: File containing polling data in csv format.
+
+
+
+ A recording file object with file type of either `CC` or `TIMELINE` **does not have** the following properties:
+ `id`, `status`, `file_size`, `recording_type`, and `play_url`.
+ type: string
+ id:
+ description: The recording file ID. Included in the response of general query.
+ type: string
+ meeting_id:
+ description: "The meeting ID. "
+ type: string
+ play_url:
+ description: The URL using which a recording file can be played.
+ type: string
+ recording_end:
+ description: The recording end time. Response in general query.
+ type: string
+ recording_start:
+ description: The recording start time.
+ type: string
+ recording_type:
+ description: The recording type. The value of this field can be one of the following: `shared_screen_with_speaker_view(CC)` `shared_screen_with_speaker_view` `shared_screen_with_gallery_view` `speaker_view` `gallery_view` `shared_screen` `audio_only` `audio_transcript` `chat_file` `active_speaker` `poll`
+ type: string
+ status:
+ description: The recording status.
+ enum:
+ - completed
+ type: string
+ type: object
+ title: Recording file List
+ type: array
+ description: List of recording file.
+ title: Recording file List
+ type: object
+ RecordingMeeting:
+ allOf:
+ - properties:
+ account_id:
+ description: Unique Identifier of the user account.
+ type: string
+ duration:
+ description: Meeting duration.
+ type: integer
+ host_id:
+ description: ID of the user set as host of meeting.
+ type: string
+ id:
+ description: Meeting ID - also known as the meeting number.
+ type: string
+ recording_count:
+ description: Number of recording files returned in the response of this API call.
+ type: string
+ start_time:
+ description: The time at which the meeting started.
+ format: date-time
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ total_size:
+ description: Total size of the recording.
+ type: string
+ type:
+ description: |-
+ Type of the meeting that was recorded.
+
+ Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with fixed time.
+ type: string
+ uuid:
+ description: Unique Meeting Identifier. Each instance of the meeting will have its own UUID.
+ type: string
+ - allOf:
+ - properties:
+ recording_files:
+ description: List of recording file.
+ items:
+ allOf:
+ - description: Recording file object.
+ properties:
+ deleted_time:
+ description: The time at which recording was deleted. Returned in the response only for trash query.
+ type: string
+ download_url:
+ description: |+
+ The URL using which the recording file can be downloaded. **To access a private or password protected cloud recording of a user in your account, you can use a [Zoom JWT App Type](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL as shown in the example.**
+
+ Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ JWT Token }}`
+
+ **Similarly, if the user has installed your OAuth app that contains recording scope(s), you can also use the user's [OAuth access token](https://marketplace.zoom.us/docs/guides/auth/oauth) to download the Cloud Recording.**
+
+ Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ OAuth Access Token }}`
+
+ type: string
+ file_size:
+ description: The recording file size.
+ type: number
+ file_type:
+ description: |-
+ The recording file type. The value of this field could be one of the following:
+ `MP4`: Video file of the recording. `M4A` Audio-only file of the recording. `TIMELINE`: Timestamp file of the recording in JSON file format. To get a timeline file, the "Add a timestamp to the recording" setting must be enabled in the [recording settings](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-recording#h_3f14c3a4-d16b-4a3c-bbe5-ef7d24500048). The time will display in the host's timezone, set on their Zoom profile.
+ `TRANSCRIPT`: Transcription file of the recording in VTT format. `CHAT`: A TXT file containing in-meeting chat messages that were sent during the meeting. `CC`: File containing closed captions of the recording in VTT file format. `CSV`: File containing polling data in csv format.
+
+
+
+ A recording file object with file type of either `CC` or `TIMELINE` **does not have** the following properties:
+ `id`, `status`, `file_size`, `recording_type`, and `play_url`.
+ type: string
+ id:
+ description: The recording file ID. Included in the response of general query.
+ type: string
+ meeting_id:
+ description: "The meeting ID. "
+ type: string
+ play_url:
+ description: The URL using which a recording file can be played.
+ type: string
+ recording_end:
+ description: The recording end time. Response in general query.
+ type: string
+ recording_start:
+ description: The recording start time.
+ type: string
+ recording_type:
+ description: The recording type. The value of this field can be one of the following: `shared_screen_with_speaker_view(CC)` `shared_screen_with_speaker_view` `shared_screen_with_gallery_view` `speaker_view` `gallery_view` `shared_screen` `audio_only` `audio_transcript` `chat_file` `active_speaker` `poll`
+ type: string
+ status:
+ description: The recording status.
+ enum:
+ - completed
+ type: string
+ type: object
+ title: Recording file List
+ type: array
+ description: List of recording file.
+ title: Recording file List
+ type: object
+ description: The recording meeting object.
+ type: object
+ RecordingMeetingList:
+ allOf:
+ - description: DateTime Object.
+ properties:
+ from:
+ description: Start Date.
+ format: date
+ type: string
+ to:
+ description: End Date.
+ format: date
+ type: string
+ type: object
+ - description: Pagination object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The number of all records available across pages.
+ type: integer
+ type: object
+ - properties:
+ meetings:
+ description: List of recordings.
+ items:
+ allOf:
+ - allOf:
+ - properties:
+ account_id:
+ description: Unique Identifier of the user account.
+ type: string
+ duration:
+ description: Meeting duration.
+ type: integer
+ host_id:
+ description: ID of the user set as host of meeting.
+ type: string
+ id:
+ description: Meeting ID - also known as the meeting number.
+ type: string
+ recording_count:
+ description: Number of recording files returned in the response of this API call.
+ type: string
+ start_time:
+ description: The time at which the meeting started.
+ format: date-time
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ total_size:
+ description: Total size of the recording.
+ type: string
+ type:
+ description: |-
+ Type of the meeting that was recorded.
+
+ Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with fixed time.
+ type: string
+ uuid:
+ description: Unique Meeting Identifier. Each instance of the meeting will have its own UUID.
+ type: string
+ - allOf:
+ - properties:
+ recording_files:
+ description: List of recording file.
+ items:
+ allOf:
+ - description: Recording file object.
+ properties:
+ deleted_time:
+ description: The time at which recording was deleted. Returned in the response only for trash query.
+ type: string
+ download_url:
+ description: |+
+ The URL using which the recording file can be downloaded. **To access a private or password protected cloud recording of a user in your account, you can use a [Zoom JWT App Type](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL as shown in the example.**
+
+ Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ JWT Token }}`
+
+ **Similarly, if the user has installed your OAuth app that contains recording scope(s), you can also use the user's [OAuth access token](https://marketplace.zoom.us/docs/guides/auth/oauth) to download the Cloud Recording.**
+
+ Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ OAuth Access Token }}`
+
+ type: string
+ file_size:
+ description: The recording file size.
+ type: number
+ file_type:
+ description: |-
+ The recording file type. The value of this field could be one of the following:
+ `MP4`: Video file of the recording. `M4A` Audio-only file of the recording. `TIMELINE`: Timestamp file of the recording in JSON file format. To get a timeline file, the "Add a timestamp to the recording" setting must be enabled in the [recording settings](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-recording#h_3f14c3a4-d16b-4a3c-bbe5-ef7d24500048). The time will display in the host's timezone, set on their Zoom profile.
+ `TRANSCRIPT`: Transcription file of the recording in VTT format. `CHAT`: A TXT file containing in-meeting chat messages that were sent during the meeting. `CC`: File containing closed captions of the recording in VTT file format. `CSV`: File containing polling data in csv format.
+
+
+
+ A recording file object with file type of either `CC` or `TIMELINE` **does not have** the following properties:
+ `id`, `status`, `file_size`, `recording_type`, and `play_url`.
+ type: string
+ id:
+ description: The recording file ID. Included in the response of general query.
+ type: string
+ meeting_id:
+ description: "The meeting ID. "
+ type: string
+ play_url:
+ description: The URL using which a recording file can be played.
+ type: string
+ recording_end:
+ description: The recording end time. Response in general query.
+ type: string
+ recording_start:
+ description: The recording start time.
+ type: string
+ recording_type:
+ description: The recording type. The value of this field can be one of the following: `shared_screen_with_speaker_view(CC)` `shared_screen_with_speaker_view` `shared_screen_with_gallery_view` `speaker_view` `gallery_view` `shared_screen` `audio_only` `audio_transcript` `chat_file` `active_speaker` `poll`
+ type: string
+ status:
+ description: The recording status.
+ enum:
+ - completed
+ type: string
+ type: object
+ title: Recording file List
+ type: array
+ description: List of recording file.
+ title: Recording file List
+ type: object
+ description: The recording meeting object.
+ type: object
+ title: Recording List
+ type: array
+ description: List of recordings.
+ title: Recording List
+ type: object
+ RecordingRegistrantList:
+ allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: |-
+ **Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
+
+ The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ - properties:
+ registrants:
+ description: List of Registrant objects
+ items:
+ allOf:
+ - properties:
+ id:
+ type: string
+ - allOf:
+ - description: Registrant base object.
+ properties:
+ address:
+ description: Registrant's address.
+ type: string
+ city:
+ description: Registrant's city.
+ type: string
+ comments:
+ description: A field that allows registrants to provide any questions or comments that they might have.
+ type: string
+ country:
+ description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
+ type: string
+ custom_questions:
+ description: Custom questions.
+ items:
+ description: Custom Question.
+ properties:
+ title:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ email:
+ description: A valid email address of the registrant.
+ maxLength: 128
+ type: string
+ first_name:
+ description: Registrant's first name.
+ maxLength: 64
+ type: string
+ industry:
+ description: Registrant's Industry.
+ type: string
+ job_title:
+ description: Registrant's job title.
+ type: string
+ last_name:
+ description: Registrant's last name.
+ maxLength: 64
+ type: string
+ no_of_employees:
+ description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
+ type: string
+ org:
+ description: Registrant's Organization.
+ type: string
+ phone:
+ description: Registrant's Phone number.
+ type: string
+ purchasing_time_frame:
+ description: |-
+ This field can be included to gauge interest of webinar attendees towards buying your product or service.
+
+ Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
+ type: string
+ role_in_purchase_process:
+ description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
+ type: string
+ state:
+ description: Registrant's State/Province.
+ type: string
+ zip:
+ description: Registrant's Zip/Postal Code.
+ type: string
+ required:
+ - email
+ - first_name
+ type: object
+ description: " Registrant."
+ type: object
+ type: array
+ description: List of Recording Registration
+ title: Recording Registration List
+ type: object
+ RecordingRegistrantQuestions:
+ description: Recording Registrant Questions
+ properties:
+ custom_questions:
+ description: Array of Registrant Custom Questions
+ items:
+ properties:
+ answers:
+ description: Answer choices for the question. Can not be used with Short answer type.
+ items:
+ type: string
+ type: array
+ required:
+ description: State whether registrants are required to answer custom questions or not.
+ type: boolean
+ title:
+ description: Title of the question.
+ type: string
+ type:
+ description: The type of registration question and answers.
+ enum:
+ - short
+ - single
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - Short Answer
+ - Single Answer
+ - Multiple Answer
+ type: object
+ type: array
+ questions:
+ description: Array of Registrant Questions
+ items:
+ properties:
+ field_name:
+ description: Field name.
+ enum:
+ - last_name
+ - address
+ - city
+ - country
+ - zip
+ - state
+ - phone
+ - industry
+ - org
+ - job_title
+ - purchasing_time_frame
+ - role_in_purchase_process
+ - no_of_employees
+ - comments
+ type: string
+ x-enum-descriptions:
+ - Last Name
+ - Address
+ - City
+ - Country/Region
+ - Zip/Postal Code
+ - State/Province
+ - Phone
+ - Industry
+ - Organization
+ - Job Title
+ - Purchasing Time Frame
+ - Role in Purchase Process
+ - Number of Employees
+ - Questions & Comments
+ required:
+ description: State whether the field is required to be answered by the registrant or not.
+ type: boolean
+ type: object
+ type: array
+ title: Recording Registrant Questions
+ type: object
+ RecordingRegistrantStatus:
+ description: Registrant Status
+ properties:
+ action:
+ enum:
+ - approve
+ - deny
+ type: string
+ x-enum-descriptions:
+ - Approve registrant
+ - Deny registrant
+ registrants:
+ description: List of registrants
+ items:
+ properties:
+ id:
+ type: string
+ maximum: 30
+ type: array
+ required:
+ - action
+ type: object
+ RecordingSettings:
+ properties:
+ approval_type:
+ description: |-
+ Approval type for the registration.
+ `0`- Automatically approve the registration when a user registers.
+ `1` - Manually approve or deny the registration of a user.
+ `2` - No registration required to view the recording.
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Registrants can watch the recording directly after registration
+ - Registrants will receive emails then watch the recording after you approve the registration
+ - Disabled
+ authentication_domains:
+ description: Authentication domains.
+ type: string
+ authentication_option:
+ description: Authentication Options.
+ type: string
+ on_demand:
+ description: Determine whether registration isrequired to view the recording.
+ type: boolean
+ password:
+ description: |-
+ Enable password protection for the recording by setting a password. The password must have a minimum of **eight** characters with a mix of numbers, letters and special characters.
+ **Note:** If the account owner or the admin has set minimum password strength requirements for recordings via Account Settings, the password value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
+ maxLength: 10
+ minLength: 8
+ type: string
+ recording_authentication:
+ description: Only authenticated users can view.
+ type: boolean
+ send_email_to_host:
+ description: Send an email to host when someone registers to view the recording. This applies for On-demand recordings only.
+ type: boolean
+ share_recording:
+ description: Determine how the meeting recording is shared.
+ enum:
+ - publicly
+ - internally
+ - none
+ type: string
+ x-enum-descriptions:
+ - Publicly
+ - Internally(account members only)
+ - None
+ show_social_share_buttons:
+ description: Show social share buttons on registration page. This applies for On-demand recordings only.
+ type: boolean
+ topic:
+ description: Name of the recording.
+ type: string
+ viewer_download:
+ description: Determine whether a viewer can download the recording file or not.
+ type: boolean
+ title: Recording settings
+ type: object
+ Recurrence:
+ description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
+ properties:
+ end_date_time:
+ description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ default: 1
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |+
+ Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
+
+ type: integer
+ type:
+ description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ default: "1"
+ description: |-
+ This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - "1"
+ - "2"
+ - "3"
+ - "4"
+ - "5"
+ - "6"
+ - "7"
+ type: string
+ required:
+ - type
+ type: object
+ Registrant:
+ description: Registrant base object.
+ properties:
+ address:
+ description: Registrant's address.
+ type: string
+ city:
+ description: Registrant's city.
+ type: string
+ comments:
+ description: A field that allows registrants to provide any questions or comments that they might have.
+ type: string
+ country:
+ description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
+ type: string
+ custom_questions:
+ description: Custom questions.
+ items:
+ description: Custom Question.
+ properties:
+ title:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ email:
+ description: A valid email address of the registrant.
+ maxLength: 128
+ type: string
+ first_name:
+ description: Registrant's first name.
+ maxLength: 64
+ type: string
+ industry:
+ description: Registrant's Industry.
+ type: string
+ job_title:
+ description: Registrant's job title.
+ type: string
+ last_name:
+ description: Registrant's last name.
+ maxLength: 64
+ type: string
+ no_of_employees:
+ description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
+ type: string
+ org:
+ description: Registrant's Organization.
+ type: string
+ phone:
+ description: Registrant's Phone number.
+ type: string
+ purchasing_time_frame:
+ description: |-
+ This field can be included to gauge interest of webinar attendees towards buying your product or service.
+
+ Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
+ type: string
+ role_in_purchase_process:
+ description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
+ type: string
+ state:
+ description: Registrant's State/Province.
+ type: string
+ zip:
+ description: Registrant's Zip/Postal Code.
+ type: string
+ required:
+ - email
+ - first_name
+ type: object
+ RegistrantList:
+ allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: |-
+ **Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
+
+ The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ - properties:
+ registrants:
+ description: List of registrant objects.
+ items:
+ allOf:
+ - properties:
+ id:
+ description: Registrant ID.
+ type: string
+ type: object
+ - allOf:
+ - description: Registrant base object.
+ properties:
+ address:
+ description: Registrant's address.
+ type: string
+ city:
+ description: Registrant's city.
+ type: string
+ comments:
+ description: A field that allows registrants to provide any questions or comments that they might have.
+ type: string
+ country:
+ description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
+ type: string
+ custom_questions:
+ description: Custom questions.
+ items:
+ description: Custom Question.
+ properties:
+ title:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ email:
+ description: A valid email address of the registrant.
+ maxLength: 128
+ type: string
+ first_name:
+ description: Registrant's first name.
+ maxLength: 64
+ type: string
+ industry:
+ description: Registrant's Industry.
+ type: string
+ job_title:
+ description: Registrant's job title.
+ type: string
+ last_name:
+ description: Registrant's last name.
+ maxLength: 64
+ type: string
+ no_of_employees:
+ description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
+ type: string
+ org:
+ description: Registrant's Organization.
+ type: string
+ phone:
+ description: Registrant's Phone number.
+ type: string
+ purchasing_time_frame:
+ description: |-
+ This field can be included to gauge interest of webinar attendees towards buying your product or service.
+
+ Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
+ type: string
+ role_in_purchase_process:
+ description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
+ type: string
+ state:
+ description: Registrant's State/Province.
+ type: string
+ zip:
+ description: Registrant's Zip/Postal Code.
+ type: string
+ required:
+ - email
+ - first_name
+ type: object
+ description: " Registrant."
+ type: object
+ - properties:
+ create_time:
+ description: The time at which the registrant registered.
+ format: date-time
+ type: string
+ join_url:
+ description: The URL using which an approved registrant can join the webinar.
+ format: string
+ type: string
+ status:
+ description: "The status of the registrant's registration. `approved`: User has been successfully approved for the webinar. `pending`: The registration is still pending. `denied`: User has been denied from joining the webinar."
+ type: string
+ type: object
+ type: array
+ description: List of users.
+ title: Registration List
+ type: object
+ RegistrantStatus:
+ properties:
+ action:
+ description: Registrant Status: `approve` - Approve registrant. `cancel` - Cancel previously approved registrant's registration. `deny` - Deny registrant.
+ enum:
+ - approve
+ - cancel
+ - deny
+ type: string
+ x-enum-descriptions:
+ - Approve registrant
+ - Cancel previously approved registrant
+ - Deny registrant
+ registrants:
+ description: List of registrants.
+ items:
+ properties:
+ email:
+ type: string
+ id:
+ type: string
+ type: object
+ maximum: 30
+ type: array
+ required:
+ - action
+ type: object
+ RoleList:
+ allOf:
+ - properties:
+ roles:
+ description: List of Roles objects
+ items:
+ allOf:
+ - properties:
+ description:
+ description: Role Description
+ type: string
+ id:
+ description: Role Id
+ type: string
+ name:
+ description: Role Name
+ type: string
+ total_members:
+ description: Total members in this role
+ type: integer
+ type: array
+ total_records:
+ description: The number of all records available across pages
+ type: integer
+ description: List of Roles
+ title: Role List
+ type: object
+ RoleMembersAdd:
+ description: Add Role Members
+ properties:
+ members:
+ description: List of Role's members
+ items:
+ properties:
+ email:
+ description: User email address. Must have id or email, if given id, the email is ignored.
+ type: string
+ id:
+ description: User ID
+ type: string
+ maximum: 30
+ type: array
+ title: Add Role Members
+ type: object
+ RoleMembersList:
+ description: List of a Role Members
+ properties:
+ members:
+ description: List of a Role Members
+ items:
+ allOf:
+ - properties:
+ department:
+ description: Member Department
+ type: string
+ email:
+ description: Member Email
+ type: string
+ first_name:
+ description: Member First Name
+ type: string
+ id:
+ description: Member ID
+ type: string
+ last_name:
+ description: Member Last Name
+ type: string
+ type:
+ description: Member Type
+ type: integer
+ type: object
+ type: array
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned within a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ title: Role Members List
+ type: object
+ Session:
+ description: Base object for sessions.
+ properties:
+ agenda:
+ description: Meeting description.
+ type: string
+ duration:
+ description: Meeting duration (minutes). Used for scheduled meetings only.
+ type: integer
+ password:
+ description: "Password to join the meeting. Password may only contain the following characters: [a-z A-Z 0-9 @ - _ *]. Max of 10 characters."
+ type: string
+ recurrence:
+ description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
+ properties:
+ end_date_time:
+ description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ default: 1
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |+
+ Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
+
+ type: integer
+ type:
+ description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ default: "1"
+ description: |-
+ This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - "1"
+ - "2"
+ - "3"
+ - "4"
+ - "5"
+ - "6"
+ - "7"
+ type: string
+ required:
+ - type
+ type: object
+ settings:
+ description: Meeting settings.
+ properties:
+ allow_multiple_devices:
+ description: Allow attendees to join the meeting from multiple devices. This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
+ type: boolean
+ alternative_hosts:
+ description: "Alternative host's emails or IDs: multiple values are separated by a semicolon."
+ type: string
+ alternative_hosts_email_notification:
+ default: true
+ description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
+ type: boolean
+ approval_type:
+ default: 2
+ description: |-
+ Enable registration and set approval for the registration. Note that this feature requires the host to be of **Licensed** user type. **Registration cannot be enabled for a basic user.**
+
+ `0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ approved_or_denied_countries_or_regions:
+ description: |
+ Approve or block users from specific regions/countries from joining this meeting.
+ properties:
+ approved_list:
+ description: "List of countries/regions from where participants can join this meeting. "
+ items:
+ type: string
+ type: array
+ denied_list:
+ description: "List of countries/regions from where participants can not join this meeting. "
+ items:
+ type: string
+ type: array
+ enable:
+ description: |-
+ `true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
+
+ `false`: Setting disabled.
+ type: boolean
+ method:
+ description: |-
+ Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
+ `approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
+ `deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
+ enum:
+ - approve
+ - deny
+ type: string
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
+ type: string
+ authentication_exception:
+ description: The participants added here will receive unique meeting invite links and bypass authentication.
+ items:
+ properties:
+ email:
+ description: Email address of the participant.
+ format: email
+ type: string
+ name:
+ description: Name of the participant.
+ type: string
+ type: object
+ type: array
+ authentication_name:
+ description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
+ type: string
+ authentication_option:
+ description: Meeting authentication option id.
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ breakout_room:
+ description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
+ properties:
+ enable:
+ description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
+ type: boolean
+ rooms:
+ description: Create room(s).
+ items:
+ properties:
+ name:
+ description: Name of the breakout room.
+ type: string
+ participants:
+ description: Email addresses of the participants who are to be assigned to the breakout room.
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ type: object
+ close_registration:
+ default: false
+ description: Close registration after event date
+ type: boolean
+ cn_meeting:
+ default: false
+ description: Host meeting in China.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ custom_keys:
+ description: Custom keys and values assigned to the meeting.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the user.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the user.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ enforce_login:
+ description: |-
+ Only signed in users can join this meeting.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
+ type: boolean
+ enforce_login_domains:
+ description: |-
+ Only signed in users with specified domains can join meetings.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
+ type: string
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ global_dial_in_numbers:
+ description: Global Dial-in Countries/Regions
+ items:
+ properties:
+ city:
+ description: City of the number, if any. For example, Chicago.
+ type: string
+ country:
+ description: Country code. For example, BR.
+ type: string
+ country_name:
+ description: Full name of country. For example, Brazil.
+ type: string
+ number:
+ description: Phone number. For example, +1 2332357613.
+ type: string
+ type:
+ description: "Type of number. "
+ enum:
+ - toll
+ - tollfree
+ type: string
+ type: object
+ type: array
+ host_video:
+ description: Start video when the host joins the meeting.
+ type: boolean
+ in_meeting:
+ default: false
+ description: Host meeting in India.
+ type: boolean
+ jbh_time:
+ description: |-
+ If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
+
+ * `0`: Allow participant to join anytime.
+ * `5`: Allow participant to join 5 minutes before meeting start time.
+ * `10`: Allow participant to join 10 minutes before meeting start time.
+ enum:
+ - 0
+ - 5
+ - 10
+ type: integer
+ join_before_host:
+ default: false
+ description: Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings.
+ type: boolean
+ language_interpretation:
+ properties:
+ enable:
+ type: boolean
+ interpreters:
+ description: Information associated with the interpreter.
+ items:
+ properties:
+ email:
+ description: Email address of the interpreter.
+ format: email
+ type: string
+ languages:
+ description: |-
+ Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
+
+ For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
+ type: string
+ type: object
+ type: array
+ type: object
+ meeting_authentication:
+ description: "`true`- Only authenticated users can join meetings."
+ type: boolean
+ mute_upon_entry:
+ default: false
+ description: Mute participants upon entry.
+ type: boolean
+ participant_video:
+ description: Start video when participants join the meeting.
+ type: boolean
+ registrants_confirmation_email:
+ description: Send confirmation email to registrants upon successful registration.
+ type: boolean
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registration_type:
+ default: 1
+ description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: |-
+ Show social share buttons on the meeting registration page.
+ This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
+ type: boolean
+ use_pmi:
+ default: false
+ description: Use a personal meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time.
+ type: boolean
+ waiting_room:
+ default: false
+ description: Enable waiting room
+ type: boolean
+ watermark:
+ default: false
+ description: Add watermark when viewing a shared screen.
+ type: boolean
+ type: object
+ start_time:
+ description: Meeting start time. When using a format like "yyyy-MM-dd'T'HH:mm:ss'Z'", always use GMT time. When using a format like "yyyy-MM-dd'T'HH:mm:ss", you should use local time and specify the time zone. This is only used for scheduled meetings and recurring meetings with a fixed time.
+ format: date-time
+ type: string
+ timezone:
+ description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [time zone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) list for supported time zones and their formats.
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ tracking_fields:
+ description: Tracking fields
+ items:
+ properties:
+ field:
+ description: Tracking fields type
+ type: string
+ value:
+ description: Tracking fields value
+ type: string
+ type: array
+ type:
+ default: 2
+ description: Meeting Type: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with fixed time.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 8
+ type: integer
+ x-enum-descriptions:
+ - Instant Meeting
+ - Scheduled Meeting
+ - Recurring Meeting with no fixed time
+ - Recurring Meeting with fixed time
+ type: object
+ SessionUpdate:
+ description: Base object for sessions.
+ properties:
+ agenda:
+ description: Meeting description.
+ maxLength: 2000
+ type: string
+ duration:
+ description: Meeting duration (minutes). Used for scheduled meetings only.
+ type: integer
+ password:
+ description: |-
+ Meeting passcode. Passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ *] and can have a maximum of 10 characters.
+
+ **Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
+ maxLength: 10
+ type: string
+ recurrence:
+ description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
+ properties:
+ end_date_time:
+ description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ default: 1
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |+
+ Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
+
+ type: integer
+ type:
+ description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ default: "1"
+ description: |-
+ This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - "1"
+ - "2"
+ - "3"
+ - "4"
+ - "5"
+ - "6"
+ - "7"
+ type: string
+ required:
+ - type
+ type: object
+ settings:
+ allOf:
+ - description: Meeting settings.
+ properties:
+ allow_multiple_devices:
+ description: Allow attendees to join the meeting from multiple devices. This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
+ type: boolean
+ alternative_hosts:
+ description: "Alternative host's emails or IDs: multiple values are separated by a semicolon."
+ type: string
+ alternative_hosts_email_notification:
+ default: true
+ description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
+ type: boolean
+ approval_type:
+ default: 2
+ description: |-
+ Enable registration and set approval for the registration. Note that this feature requires the host to be of **Licensed** user type. **Registration cannot be enabled for a basic user.**
+
+ `0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ approved_or_denied_countries_or_regions:
+ description: |
+ Approve or block users from specific regions/countries from joining this meeting.
+ properties:
+ approved_list:
+ description: "List of countries/regions from where participants can join this meeting. "
+ items:
+ type: string
+ type: array
+ denied_list:
+ description: "List of countries/regions from where participants can not join this meeting. "
+ items:
+ type: string
+ type: array
+ enable:
+ description: |-
+ `true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
+
+ `false`: Setting disabled.
+ type: boolean
+ method:
+ description: |-
+ Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
+ `approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
+ `deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
+ enum:
+ - approve
+ - deny
+ type: string
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
+ type: string
+ authentication_exception:
+ description: The participants added here will receive unique meeting invite links and bypass authentication.
+ items:
+ properties:
+ email:
+ description: Email address of the participant.
+ format: email
+ type: string
+ name:
+ description: Name of the participant.
+ type: string
+ type: object
+ type: array
+ authentication_name:
+ description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
+ type: string
+ authentication_option:
+ description: Meeting authentication option id.
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ breakout_room:
+ description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
+ properties:
+ enable:
+ description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
+ type: boolean
+ rooms:
+ description: Create room(s).
+ items:
+ properties:
+ name:
+ description: Name of the breakout room.
+ type: string
+ participants:
+ description: Email addresses of the participants who are to be assigned to the breakout room.
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ type: object
+ close_registration:
+ default: false
+ description: Close registration after event date
+ type: boolean
+ cn_meeting:
+ default: false
+ description: Host meeting in China.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ custom_keys:
+ description: Custom keys and values assigned to the meeting.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the user.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the user.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ encryption_type:
+ description: |-
+ Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
+ `enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
+
+ `e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
+ enum:
+ - enhanced_encryption
+ - e2ee
+ type: string
+ enforce_login:
+ description: |-
+ Only signed in users can join this meeting.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
+ type: boolean
+ enforce_login_domains:
+ description: |-
+ Only signed in users with specified domains can join meetings.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
+ type: string
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ global_dial_in_numbers:
+ description: Global Dial-in Countries/Regions
+ items:
+ properties:
+ city:
+ description: City of the number, if any. For example, Chicago.
+ type: string
+ country:
+ description: Country code. For example, BR.
+ type: string
+ country_name:
+ description: Full name of country. For example, Brazil.
+ type: string
+ number:
+ description: Phone number. For example, +1 2332357613.
+ type: string
+ type:
+ description: "Type of number. "
+ enum:
+ - toll
+ - tollfree
+ type: string
+ type: object
+ type: array
+ host_video:
+ description: Start video when the host joins the meeting.
+ type: boolean
+ in_meeting:
+ default: false
+ description: Host meeting in India.
+ type: boolean
+ jbh_time:
+ description: |-
+ If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
+
+ * `0`: Allow participant to join anytime.
+ * `5`: Allow participant to join 5 minutes before meeting start time.
+ * `10`: Allow participant to join 10 minutes before meeting start time.
+ enum:
+ - 0
+ - 5
+ - 10
+ type: integer
+ join_before_host:
+ default: false
+ description: Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings.
+ type: boolean
+ language_interpretation:
+ properties:
+ enable:
+ type: boolean
+ interpreters:
+ description: Information associated with the interpreter.
+ items:
+ properties:
+ email:
+ description: Email address of the interpreter.
+ format: email
+ type: string
+ languages:
+ description: |-
+ Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
+
+ For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
+ type: string
+ type: object
+ type: array
+ type: object
+ meeting_authentication:
+ description: "`true`- Only authenticated users can join meetings."
+ type: boolean
+ mute_upon_entry:
+ default: false
+ description: Mute participants upon entry.
+ type: boolean
+ participant_video:
+ description: Start video when participants join the meeting.
+ type: boolean
+ registrants_confirmation_email:
+ description: Send confirmation email to registrants upon successful registration.
+ type: boolean
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registration_type:
+ default: 1
+ description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: |-
+ Show social share buttons on the meeting registration page.
+ This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
+ type: boolean
+ use_pmi:
+ default: false
+ description: Use a personal meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time.
+ type: boolean
+ waiting_room:
+ default: false
+ description: Enable waiting room
+ type: boolean
+ watermark:
+ default: false
+ description: Add watermark when viewing a shared screen.
+ type: boolean
+ type: object
+ - properties:
+ registrants_confirmation_email:
+ description: Send confirmation Email to Registrants
+ type: boolean
+ type: object
+ start_time:
+ description: Meeting start time. When using a format like "yyyy-MM-dd'T'HH:mm:ss'Z'", always use GMT time. When using a format like "yyyy-MM-dd'T'HH:mm:ss", you should use local time and specify the time zone. Only used for scheduled meetings and recurring meetings with a fixed time.
+ format: date-time
+ type: string
+ template_id:
+ description: |-
+ Unique identifier of the meeting template.
+
+ Use this field if you would like to [schedule the meeting from a meeting template](https://support.zoom.us/hc/en-us/articles/360036559151-Meeting-templates#h_86f06cff-0852-4998-81c5-c83663c176fb). You can retrieve the value of this field by calling the [List meeting templates]() API.
+ type: string
+ timezone:
+ description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [time zone](#timezones) list for supported time zones and their formats.
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ tracking_fields:
+ description: Tracking fields
+ items:
+ properties:
+ field:
+ description: Tracking fields type
+ type: string
+ value:
+ description: Tracking fields value
+ type: string
+ type: object
+ type: array
+ type:
+ default: 2
+ description: Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with a fixed time.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 8
+ type: integer
+ x-enum-descriptions:
+ - Instant Meeting
+ - Scheduled Meeting
+ - Recurring Meeting with no fixed time
+ - Recurring Meeting with fixed time
+ type: object
+ SessionWebinar:
+ description: Base webinar object for sessions.
+ properties:
+ agenda:
+ description: Webinar description.
+ type: string
+ duration:
+ description: Webinar duration (minutes). Used for scheduled webinars only.
+ type: integer
+ password:
+ description: "Webinar Passcode. Passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ *]. Max of 10 characters."
+ type: string
+ recurrence:
+ description: "Recurrence object. Use this object only for a webinar of type `9` i.e., a recurring webinar with fixed time. "
+ properties:
+ end_date_time:
+ description: Select a date when the webinar will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the webinar will recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring webinar of type** `3` to state which day in a month, the webinar should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the webinar to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the webinar to recur once every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state the week of the month when the webinar should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the webinar should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state a specific day in a week when the monthly webinar should recur. To use this field, you must also use the `monthly_week` field. `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |-
+ Define the interval at which the webinar should recur. For instance, if you would like to schedule a Webinar that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily webinar, the maximum interval you can set is `90` days. For a weekly webinar, the maximum interval that you can set is `12` weeks. For a monthly webinar, the maximum interval that you can set is `3` months.
+ type: integer
+ type:
+ description: Recurrence webinar types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ description: |+
+ Use this field **only if you're scheduling a recurring webinar of type** `2` to state which day(s) of the week the webinar should repeat. The value for this field could be a number between `1` to `7` in string format. For instance, if the Webinar should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the webinar to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the Webinar should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+
+ type: string
+ required:
+ - type
+ title: Recurrence Webinar
+ type: object
+ settings:
+ description: Webinar settings.
+ properties:
+ allow_multiple_devices:
+ description: Allow attendees to join from multiple devices.
+ type: boolean
+ alternative_hosts:
+ description: Alternative host emails or IDs. Multiple values separated by comma.
+ type: string
+ approval_type:
+ default: 2
+ description: "`0` - Automatically approve. `1` - Manually approve. `2` - No registration required."
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ attendees_and_panelists_reminder_email_notification:
+ description: Send reminder email to attendees and panelists.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send reminder email to attendees and panelists.
+
+ * `false`: Do not send reminder email to attendees and panelists.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 hour before webinar.
+ - Send 1 day before webinar.
+ - Send 1 hour and 1 day before webinar.
+ - Send 1 week before webinar.
+ - Send 1 hour and 1 week before webinar.
+ - Send 1 day and 1 week before webinar.
+ - Send 1 hour, 1 day and 1 week before webinar.
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the webinar.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
+ type: string
+ authentication_name:
+ description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
+ type: string
+ authentication_option:
+ description: Webinar authentication option id.
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ close_registration:
+ description: Close registration after event date.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ email_language:
+ description: |-
+ Set the email language to one of the following:
+ `en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
+ type: string
+ enforce_login:
+ description: |-
+ Only signed in users can join this meeting.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
+ type: boolean
+ enforce_login_domains:
+ description: |-
+ Only signed in users with specified domains can join meetings.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
+ type: string
+ follow_up_absentees_email_notification:
+ description: Send follow-up email to absentees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to absentees.
+
+ * `false`: Do not send follow-up email to absentees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 days after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ follow_up_attendees_email_notification:
+ description: Send follow-up email to attendees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to attendees.
+
+ * `false`: Do not send follow-up email to attendees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 day after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ hd_video:
+ default: false
+ description: Default to HD video.
+ type: boolean
+ host_video:
+ description: Start video when host joins webinar.
+ type: boolean
+ meeting_authentication:
+ description: "`true`- Only authenticated users can join Webinar."
+ type: boolean
+ notify_registrants:
+ description: Send notification email to registrants when the host updates a webinar.
+ type: boolean
+ on_demand:
+ default: false
+ description: Make the webinar on-demand
+ type: boolean
+ panelists_invitation_email_notification:
+ description: |-
+ * `true`: Send invitation email to panelists.
+
+ * `false`: Do not send invitation email to panelists.
+ type: boolean
+ panelists_video:
+ description: Start video when panelists join webinar.
+ type: boolean
+ post_webinar_survey:
+ description: Zoom will open a survey page in attendees' browsers after leaving the webinar
+ type: boolean
+ practice_session:
+ default: false
+ description: Enable practice session.
+ type: boolean
+ question_and_answer:
+ description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
+ properties:
+ allow_anonymous_questions:
+ description: |-
+ * `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
+
+ * `false`: Do not allow anonymous questions.
+ type: boolean
+ answer_questions:
+ description: |-
+ Indicate whether you want attendees to be able to view answered questions only or view all questions.
+
+ * `only`: Attendees are able to view answered questions only.
+
+ * `all`: Attendees are able to view all questions submitted in the Q&A.
+ enum:
+ - only
+ - all
+ type: string
+ attendees_can_comment:
+ description: |-
+ * `true`: Attendees can answer questions or leave a comment in the question thread.
+
+ * `false`: Attendees can not answer questions or leave a comment in the question thread
+ type: boolean
+ attendees_can_upvote:
+ description: |-
+ * `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
+
+ * `false`: Attendees can not click the thumbs up butoon on questions.
+ type: boolean
+ enable:
+ description: |-
+ * `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
+
+ * `false`: Disable Q&A for webinar.
+ type: boolean
+ type: object
+ registrants_confirmation_email:
+ description: Send confirmation email to registrants
+ type: boolean
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registrants_restrict_number:
+ default: 0
+ description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
+ maximum: 20000
+ minimum: 0
+ type: integer
+ registration_type:
+ default: 1
+ description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: Show social share buttons on the registration page.
+ type: boolean
+ survey_url:
+ description: Survey url for post webinar survey
+ type: string
+ type: object
+ start_time:
+ description: |-
+ Webinar start time. We support two formats for `start_time` - local time and GMT.
+
+ To set time as GMT the format should be `yyyy-MM-dd`T`HH:mm:ssZ`.
+
+ To set time using a specific timezone, use `yyyy-MM-dd`T`HH:mm:ss` format and specify the timezone [ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) in the `timezone` field OR leave it blank and the timezone set on your Zoom account will be used. You can also set the time as UTC as the timezone field.
+
+ The `start_time` should only be used for scheduled and / or recurring webinars with fixed time.
+ format: date-time
+ type: string
+ timezone:
+ description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [time zone](#timezones) list for supported time zones and their formats.
+ type: string
+ topic:
+ description: Webinar topic.
+ type: string
+ tracking_fields:
+ description: Tracking fields
+ items:
+ properties:
+ field:
+ description: Tracking fields type
+ type: string
+ value:
+ description: Tracking fields value
+ type: string
+ type: object
+ type: array
+ type:
+ default: 5
+ description: Webinar Types: `5` - Webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
+ enum:
+ - 5
+ - 6
+ - 9
+ type: integer
+ x-enum-descriptions:
+ - Webinar
+ - Recurring Webinar with no fixed time
+ - Recurring Webinar with fixed time
+ type: object
+ SessionWebinarUpdate:
+ description: Base webinar object for sessions.
+ properties:
+ agenda:
+ description: Webinar description.
+ type: string
+ duration:
+ description: Webinar duration (minutes). Used for scheduled webinar only.
+ type: integer
+ password:
+ description: |+
+ [Webinar passcode](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords). By default, passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ * !] and can have a maximum of 10 characters.
+
+ **Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
+
+ If "**Require a passcode when scheduling new meetings**" setting has been **enabled** **and** [locked](https://support.zoom.us/hc/en-us/articles/115005269866-Using-Tiered-Settings#locked) for the user, the passcode field will be autogenerated for the Webinar in the response even if it is not provided in the API request.
+
+
+
+
+
+
+
+ maxLength: 10
+ type: string
+ recurrence:
+ description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
+ properties:
+ end_date_time:
+ description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ default: 1
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |+
+ Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
+
+ type: integer
+ type:
+ description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ default: "1"
+ description: |-
+ This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - "1"
+ - "2"
+ - "3"
+ - "4"
+ - "5"
+ - "6"
+ - "7"
+ type: string
+ required:
+ - type
+ type: object
+ settings:
+ allOf:
+ - description: Webinar settings.
+ properties:
+ allow_multiple_devices:
+ description: Allow attendees to join from multiple devices.
+ type: boolean
+ alternative_hosts:
+ description: Alternative host emails or IDs. Multiple values separated by comma.
+ type: string
+ approval_type:
+ default: 2
+ description: "`0` - Automatically approve. `1` - Manually approve. `2` - No registration required."
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ attendees_and_panelists_reminder_email_notification:
+ description: Send reminder email to attendees and panelists.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send reminder email to attendees and panelists.
+
+ * `false`: Do not send reminder email to attendees and panelists.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 hour before webinar.
+ - Send 1 day before webinar.
+ - Send 1 hour and 1 day before webinar.
+ - Send 1 week before webinar.
+ - Send 1 hour and 1 week before webinar.
+ - Send 1 day and 1 week before webinar.
+ - Send 1 hour, 1 day and 1 week before webinar.
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the webinar.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
+ type: string
+ authentication_name:
+ description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
+ type: string
+ authentication_option:
+ description: Webinar authentication option id.
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ close_registration:
+ description: Close registration after event date.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ email_language:
+ description: |-
+ Set the email language to one of the following:
+ `en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
+ type: string
+ enforce_login:
+ description: |-
+ Only signed in users can join this meeting.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
+ type: boolean
+ enforce_login_domains:
+ description: |-
+ Only signed in users with specified domains can join meetings.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
+ type: string
+ follow_up_absentees_email_notification:
+ description: Send follow-up email to absentees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to absentees.
+
+ * `false`: Do not send follow-up email to absentees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 days after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ follow_up_attendees_email_notification:
+ description: Send follow-up email to attendees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to attendees.
+
+ * `false`: Do not send follow-up email to attendees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 day after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ hd_video:
+ default: false
+ description: Default to HD video.
+ type: boolean
+ host_video:
+ description: Start video when host joins webinar.
+ type: boolean
+ meeting_authentication:
+ description: "`true`- Only authenticated users can join Webinar."
+ type: boolean
+ notify_registrants:
+ description: Send notification email to registrants when the host updates a webinar.
+ type: boolean
+ on_demand:
+ default: false
+ description: Make the webinar on-demand
+ type: boolean
+ panelists_invitation_email_notification:
+ description: |-
+ * `true`: Send invitation email to panelists.
+
+ * `false`: Do not send invitation email to panelists.
+ type: boolean
+ panelists_video:
+ description: Start video when panelists join webinar.
+ type: boolean
+ post_webinar_survey:
+ description: Zoom will open a survey page in attendees' browsers after leaving the webinar
+ type: boolean
+ practice_session:
+ default: false
+ description: Enable practice session.
+ type: boolean
+ question_and_answer:
+ description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
+ properties:
+ allow_anonymous_questions:
+ description: |-
+ * `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
+
+ * `false`: Do not allow anonymous questions.
+ type: boolean
+ answer_questions:
+ description: |-
+ Indicate whether you want attendees to be able to view answered questions only or view all questions.
+
+ * `only`: Attendees are able to view answered questions only.
+
+ * `all`: Attendees are able to view all questions submitted in the Q&A.
+ enum:
+ - only
+ - all
+ type: string
+ attendees_can_comment:
+ description: |-
+ * `true`: Attendees can answer questions or leave a comment in the question thread.
+
+ * `false`: Attendees can not answer questions or leave a comment in the question thread
+ type: boolean
+ attendees_can_upvote:
+ description: |-
+ * `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
+
+ * `false`: Attendees can not click the thumbs up butoon on questions.
+ type: boolean
+ enable:
+ description: |-
+ * `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
+
+ * `false`: Disable Q&A for webinar.
+ type: boolean
+ type: object
+ registrants_confirmation_email:
+ description: Send confirmation email to registrants
+ type: boolean
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registrants_restrict_number:
+ default: 0
+ description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
+ maximum: 20000
+ minimum: 0
+ type: integer
+ registration_type:
+ default: 1
+ description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: Show social share buttons on the registration page.
+ type: boolean
+ survey_url:
+ description: Survey url for post webinar survey
+ type: string
+ type: object
+ - properties:
+ registrants_confirmation_email:
+ description: Send confirmation email to registrants.
+ type: boolean
+ type: object
+ start_time:
+ description: Webinar start time, in the format "yyyy-MM-dd'T'HH:mm:ss'Z'." Should be in GMT time. In the format "yyyy-MM-dd'T'HH:mm:ss." This should be in local time and the timezone should be specified. Only used for scheduled webinars and recurring webinars with a fixed time.
+ format: date-time
+ type: string
+ timezone:
+ description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [time zone](#timezones) list for supported time zones and their formats.
+ type: string
+ topic:
+ description: Webinar topic.
+ type: string
+ tracking_fields:
+ description: Tracking fields
+ items:
+ properties:
+ field:
+ description: Tracking fields type
+ type: string
+ value:
+ description: Tracking fields value
+ type: string
+ type: object
+ type: array
+ type:
+ default: 5
+ description: Webinar Types: `5` - webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
+ enum:
+ - 5
+ - 6
+ - 9
+ type: integer
+ x-enum-descriptions:
+ - Webinar
+ - Recurring Webinar with no fixed time
+ - Recurring Webinar with fixed time
+ type: object
+ SettingsUpdateTelephony:
+ properties:
+ audio_conference_info:
+ default: ""
+ description: Third party audio conference info.
+ maxLength: 2048
+ type: string
+ show_international_numbers_link:
+ description: Show the international numbers link on the invitation email.
+ type: boolean
+ telephony_regions:
+ description: Indicates where most of the participants call into or call from duriing a meeting.
+ properties:
+ selection_values:
+ description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
+ items:
+ type: string
+ type: array
+ type: object
+ third_party_audio:
+ description: Third party audio conference.
+ type: boolean
+ title: "Telephony update settings: Meeting settings"
+ type: object
+ TSP:
+ description: List of TSP accounts.
+ properties:
+ conference_code:
+ description: "Conference code: numeric value, length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ dial_in_numbers:
+ description: List of dial in numbers.
+ items:
+ properties:
+ code:
+ description: Country code.
+ maxLength: 6
+ type: string
+ country_label:
+ description: Country Label, if passed, will display in place of code.
+ maxLength: 10
+ type: string
+ number:
+ description: "Dial-in number: length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ type:
+ description: |-
+ Dial-in number types: `toll` - Toll number. `tollfree` -Toll free number.
+ `media_link` - Media link.
+ enum:
+ - toll
+ - tollfree
+ - media_link
+ type: string
+ x-enum-descriptions:
+ - Toll number
+ - Toll free number
+ - Media link phone number
+ type: object
+ type: array
+ leader_pin:
+ description: "Leader PIN: numeric value, length is less than 16."
+ maxLength: 16
+ minLength: 1
+ type: string
+ tsp_bridge:
+ description: Telephony bridge
+ enum:
+ - US_TSP_TB
+ - EU_TSP_TB
+ type: string
+ required:
+ - conference_code
+ - leader_pin
+ title: TSP Accounts List
+ type: object
+ TrackingField:
+ description: Tracking Field
+ properties:
+ field:
+ description: Label/ Name for the tracking field.
+ type: string
+ recommended_values:
+ description: Array of recommended values
+ items:
+ type: string
+ type: array
+ required:
+ description: Tracking Field Required
+ type: boolean
+ visible:
+ description: Tracking Field Visible
+ type: boolean
+ title: Tracking Field
+ type: object
+ TrackingFieldList:
+ allOf:
+ - properties:
+ total_records:
+ description: The number of all records available across pages
+ type: integer
+ tracking_fields:
+ description: Array of Tracking Fields
+ items:
+ allOf:
+ - properties:
+ id:
+ description: ID of Tracking Field
+ type: string
+ - description: Tracking Field
+ properties:
+ field:
+ description: Label/ Name for the tracking field.
+ type: string
+ recommended_values:
+ description: Array of recommended values
+ items:
+ type: string
+ type: array
+ required:
+ description: Tracking Field Required
+ type: boolean
+ visible:
+ description: Tracking Field Visible
+ type: boolean
+ title: Tracking Field
+ type: object
+ type: array
+ description: Tracking Field List
+ title: Tracking Field List
+ type: object
+ User:
+ description: The user object represents a specific user on Zoom.
+ properties:
+ created_at:
+ description: User create time.
+ format: date-time
+ type: string
+ dept:
+ description: Department.
+ type: string
+ email:
+ default: john.doe@email.com
+ description: User's email address.
+ type: string
+ first_name:
+ description: User's first name.
+ maxLength: 64
+ type: string
+ last_client_version:
+ description: User last login client version.
+ type: string
+ last_login_time:
+ description: User last login time.
+ format: date-time
+ type: string
+ last_name:
+ description: User's last name.
+ maxLength: 64
+ type: string
+ pmi:
+ description: Personal meeting ID.
+ format: int64
+ type: integer
+ role_name:
+ description: User's [role](https://support.zoom.us/hc/en-us/articles/115001078646-Role-Based-Access-Control) name.
+ type: string
+ timezone:
+ description: The time zone of the user.
+ type: string
+ type:
+ description: User's plan type: `1` - Basic. `2` - Licensed. `3` - On-prem. `99` - None (this can only be set with `ssoCreate`).
+ enum:
+ - 1
+ - 2
+ - 3
+ - 99
+ type: integer
+ use_pmi:
+ default: false
+ description: Use Personal Meeting ID for instant meetings.
+ type: boolean
+ required:
+ - email
+ - type
+ type: object
+ UserAssistantsList:
+ description: List of user's assistants.
+ properties:
+ assistants:
+ description: List of User's assistants.
+ items:
+ properties:
+ email:
+ description: Assistant's email address.
+ type: string
+ id:
+ description: Assistant's user ID.
+ type: string
+ type: object
+ maximum: 30
+ type: array
+ title: User assistants List
+ type: object
+ UserList:
+ allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: |-
+ **Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
+
+ The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ - properties:
+ users:
+ description: List of user objects.
+ items:
+ allOf:
+ - properties:
+ id:
+ description: User ID.
+ type: string
+ type: object
+ - description: The user object represents a specific user on Zoom.
+ properties:
+ created_at:
+ description: User create time.
+ format: date-time
+ type: string
+ dept:
+ description: Department.
+ type: string
+ email:
+ default: john.doe@email.com
+ description: User's email address.
+ type: string
+ first_name:
+ description: User's first name.
+ maxLength: 64
+ type: string
+ last_client_version:
+ description: User last login client version.
+ type: string
+ last_login_time:
+ description: User last login time.
+ format: date-time
+ type: string
+ last_name:
+ description: User's last name.
+ maxLength: 64
+ type: string
+ pmi:
+ description: Personal meeting ID.
+ format: int64
+ type: integer
+ role_name:
+ description: User's [role](https://support.zoom.us/hc/en-us/articles/115001078646-Role-Based-Access-Control) name.
+ type: string
+ timezone:
+ description: The time zone of the user.
+ type: string
+ type:
+ description: User's plan type: `1` - Basic. `2` - Licensed. `3` - On-prem. `99` - None (this can only be set with `ssoCreate`).
+ enum:
+ - 1
+ - 2
+ - 3
+ - 99
+ type: integer
+ use_pmi:
+ default: false
+ description: Use Personal Meeting ID for instant meetings.
+ type: boolean
+ required:
+ - email
+ - type
+ type: object
+ - properties:
+ group_ids:
+ items:
+ type: string
+ type: array
+ im_group_ids:
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ description: List of users.
+ title: User List
+ type: object
+ UserPermissions:
+ description: ""
+ properties:
+ permissions:
+ description: List of user permissions.
+ items:
+ type: string
+ type: array
+ type: object
+ UserSchedulersList:
+ description: List of user's schedulers.
+ properties:
+ schedulers:
+ description: List of users for whom the current user can schedule meetings.
+ items:
+ properties:
+ email:
+ description: Email address of the scheduler.
+ type: string
+ id:
+ description: Unique Identifier (User ID) of the Scheduler.
+ type: string
+ pmi:
+ description: PMI of the meeting host in long (int64) format.
+ format: int64
+ type: integer
+ type: object
+ maximum: 30
+ type: array
+ title: User schedulers List
+ type: object
+ UserSettings:
+ properties:
+ email_notification:
+ description: ""
+ properties:
+ alternative_host_reminder:
+ default: false
+ description: When an alternative host is set or removed from a meeting.
+ type: boolean
+ cancel_meeting_reminder:
+ default: false
+ description: When a meeting is cancelled.
+ type: boolean
+ jbh_reminder:
+ default: false
+ description: When attendees join meeting before host.
+ type: boolean
+ schedule_for_reminder:
+ default: false
+ description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
+ type: boolean
+ title: "User settings: Notification settings"
+ type: object
+ feature:
+ description: ""
+ properties:
+ cn_meeting:
+ description: Host meeting in China.
+ type: boolean
+ in_meeting:
+ description: Host meeting in India.
+ type: boolean
+ large_meeting:
+ description: Large meeting feature.
+ type: boolean
+ large_meeting_capacity:
+ description: "Large meeting capacity: can be 500 or 1000, depending on if the user has a large meeting capacity plan subscription or not."
+ type: integer
+ meeting_capacity:
+ description: User’s meeting capacity.
+ type: integer
+ webinar:
+ description: Webinar feature.
+ type: boolean
+ webinar_capacity:
+ description: "Webinar capacity: can be 100, 500, 1000, 3000, 5000 or 10000, depending on if the user has a webinar capacity plan subscription or not."
+ type: integer
+ zoom_phone:
+ description: Zoom phone feature.
+ type: boolean
+ title: "User settings: Feature settings"
+ type: object
+ in_meeting:
+ description: ""
+ properties:
+ allow_live_streaming:
+ description: Allow live streaming.
+ type: boolean
+ annotation:
+ default: false
+ description: Allow participants to use annotation tools.
+ type: boolean
+ attendee_on_hold:
+ default: false
+ description: |-
+ Allow host to put attendee on hold.
+
+ **This field has been deprecated and is no longer supported.**
+ type: boolean
+ auto_saving_chat:
+ default: false
+ description: Auto save all in-meeting chats.
+ type: boolean
+ breakout_room:
+ default: false
+ description: Allow host to split meeting participants into separate breakout rooms.
+ type: boolean
+ chat:
+ default: false
+ description: Enable chat during meeting for all participants.
+ type: boolean
+ closed_caption:
+ default: false
+ description: Enable closed captions.
+ type: boolean
+ co_host:
+ default: false
+ description: Allow the host to add co-hosts.
+ type: boolean
+ custom_data_center_regions:
+ description: If set to `true`, you can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting your real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
+ type: boolean
+ custom_live_streaming_service:
+ description: Allow custom live streaming.
+ type: boolean
+ custom_service_instructions:
+ description: Custom service instructions.
+ type: string
+ data_center_regions:
+ description: |
+ If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["DE", "NL", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
+ enum:
+ - HK
+ - AU
+ - IN
+ - TY
+ - CN
+ - US
+ - CA
+ - DE
+ - NL
+ - LA
+ items:
+ type: string
+ type: array
+ e2e_encryption:
+ description: Zoom requires encryption for all data between the Zoom cloud, Zoom client, and Zoom Room. Require encryption for 3rd party endpoints (H323/SIP).
+ type: boolean
+ entry_exit_chime:
+ default: all
+ description: Play sound when participants join or leave: `host` - When host joins or leaves. `all` - When any participant joins or leaves. `none` - No join or leave sound.
+ enum:
+ - host
+ - all
+ - none
+ type: string
+ x-enum-descriptions:
+ - when host joins/leaves
+ - when any participant joins/leaves
+ - no join/leave sound
+ far_end_camera_control:
+ default: false
+ description: Allow another user to take control of the camera.
+ type: boolean
+ feedback:
+ default: false
+ description: Enable option to send feedback to Zoom at the end of the meeting.
+ type: boolean
+ file_transfer:
+ description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for the user or not.
+ type: boolean
+ group_hd:
+ default: false
+ description: Enable group HD video.
+ type: boolean
+ non_verbal_feedback:
+ default: false
+ description: Enable non-verbal feedback through screens.
+ type: boolean
+ polling:
+ default: false
+ description: Add polls to the meeting controls.
+ type: boolean
+ private_chat:
+ default: false
+ description: Enable 1:1 private chat between participants during meetings.
+ type: boolean
+ record_play_voice:
+ description: Record and play their own voice.
+ type: boolean
+ remote_control:
+ default: false
+ description: Enable remote control during screensharing.
+ type: boolean
+ remote_support:
+ default: false
+ description: Allow host to provide 1:1 remote support to a participant.
+ type: boolean
+ request_permission_to_unmute:
+ description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the user or not.
+ type: boolean
+ screen_sharing:
+ description: |
+ Allow host and participants to share their screen or content during meetings
+ type: boolean
+ share_dual_camera:
+ default: false
+ description: Share dual camera (deprecated).
+ type: boolean
+ show_meeting_control_toolbar:
+ description: Always show meeting controls during a meeting.
+ type: boolean
+ virtual_background:
+ default: false
+ description: Enable virtual background.
+ type: boolean
+ virtual_background_settings:
+ description: Settings to manage virtual background.
+ properties:
+ allow_upload_custom:
+ description: Allow user to upload custom backgrounds.
+ type: boolean
+ allow_videos:
+ description: Allow use of videos for virtual backgrounds.
+ type: boolean
+ enable:
+ description: Enable virtual background.
+ type: boolean
+ files:
+ items:
+ properties:
+ id:
+ description: Unique identifier of the file.
+ type: string
+ is_default:
+ description: Indicates whether or not this file is the default virtual background file.
+ type: boolean
+ name:
+ description: File name.
+ type: string
+ size:
+ description: File size.
+ type: string
+ type:
+ description: File type.
+ type: string
+ type: object
+ type: array
+ type: object
+ waiting_room:
+ default: false
+ description: Enable Waiting room - if enabled, attendees can only join after host approves.
+ type: boolean
+ who_can_share_screen:
+ description: |
+ Indicates who can share their screen or content during meetings. The value can be one of the following:
+ `host`: Only host can share the screen.
+ `all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ who_can_share_screen_when_someone_is_sharing:
+ description: |
+ Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
+ `host`: Only a host can share the screen when someone else is sharing.
+ `all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ workplace_by_facebook:
+ description: Allow livestreaming by host through Workplace by Facebook.
+ type: boolean
+ title: "User settings: Meeting settings"
+ type: object
+ profile:
+ properties:
+ recording_storage_location:
+ properties:
+ allowed_values:
+ description: |-
+ Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
+
+ Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
+ items:
+ type: string
+ type: array
+ value:
+ description: Abbreviated country code.
+ type: string
+ type: object
+ title: Profile
+ type: object
+ recording:
+ description: ""
+ properties:
+ ask_host_to_confirm_disclaimer:
+ description: Ask host to confirm the disclaimer.
+ type: boolean
+ ask_participants_to_consent_disclaimer:
+ description: |-
+ This field can be used if `recording_disclaimer` is set to true. This field indicates whether or not you would like to ask participants for consent when a recording starts. The value can be one of the following:
+ * `true`: Ask participants for consent when a recording starts.
+ * `false`: Do not ask participants for consent when a recording starts.
+ type: boolean
+ auto_delete_cmr:
+ default: false
+ description: Auto delete cloud recordings.
+ type: boolean
+ auto_delete_cmr_days:
+ description: A specified number of days of auto delete cloud recordings.
+ maximum: 60
+ minimum: 1
+ type: integer
+ auto_recording:
+ default: local
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record on local
+ - Record on cloud
+ - Disabled
+ cloud_recording:
+ default: false
+ description: Cloud recording.
+ type: boolean
+ host_pause_stop_recording:
+ default: false
+ description: Host can pause/stop the auto recording in the cloud.
+ type: boolean
+ ip_address_access_control:
+ description: |
+ Setting to allow cloud recording access only from specific IP address ranges.
+ properties:
+ enable:
+ description: |+
+ If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
+
+ type: boolean
+ ip_addresses_or_ranges:
+ description: |+
+ IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
+
+ Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
+
+ type: string
+ type: object
+ local_recording:
+ description: Local recording.
+ type: boolean
+ record_audio_file:
+ default: false
+ description: Record an audio only file.
+ type: boolean
+ record_gallery_view:
+ default: false
+ description: Record the gallery view.
+ type: boolean
+ record_speaker_view:
+ default: false
+ description: Record the active speaker view.
+ type: boolean
+ recording_audio_transcript:
+ description: Audio transcript.
+ type: boolean
+ recording_disclaimer:
+ description: |
+ Show a disclaimer to participants before a recording starts
+ type: boolean
+ recording_password_requirement:
+ description: This object represents the minimum passcode requirements set for recordings via Account Recording Settings.
+ properties:
+ have_letter:
+ description: Indicates whether or not passcode must contain at least one alphabetical letter (a, b, c..).
+ type: boolean
+ have_number:
+ description: Indicates whether or not passcode must contain at least one number(1, 2, 3..).
+ type: boolean
+ have_special_character:
+ description: "Indicates whether or not passcode must contain at least one special character(!, @, #..)."
+ type: boolean
+ length:
+ description: Minimum required length for the passcode.
+ maximum: 10
+ type: integer
+ only_allow_numeric:
+ description: Indicates whether or not passcode must contain only numeric characters.
+ type: boolean
+ type: object
+ save_chat_text:
+ default: false
+ description: Save chat text from the meeting.
+ type: boolean
+ show_timestamp:
+ default: false
+ description: Show timestamp on video.
+ type: boolean
+ title: "User settings: Recording settings"
+ type: object
+ schedule_meeting:
+ description: ""
+ properties:
+ audio_type:
+ default: voip
+ description: Determine how participants can join the audio portion of the meeting: `both` - Telephony and VoIP. `telephony` - Audio PSTN telephony only. `voip` - VoIP only. `thirdParty` - Third party audio conference.
+ enum:
+ - both
+ - telephony
+ - voip
+ - thirdParty
+ type: string
+ x-enum-descriptions:
+ - Telephony and VoIP
+ - Audio PSTN telephony only
+ - VoIP only
+ - 3rd party audio conference
+ default_password_for_scheduled_meetings:
+ description: |
+ Passcode for already scheduled meetings
+ type: string
+ embed_password_in_join_link:
+ description: "If the value is set to `true`, the meeting passcode will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the passcode.
+
+ \ "
+ type: boolean
+ force_pmi_jbh_password:
+ description: Require a passcode for personal meetings if attendees can join before host.
+ type: boolean
+ host_video:
+ description: Start meetings with host video on.
+ type: boolean
+ join_before_host:
+ description: Join the meeting before host arrives.
+ type: boolean
+ meeting_password_requirement:
+ description: Account wide meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the passcode must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar passcode needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the passcode must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided passcode is weak.
+ type: boolean
+ type: object
+ participants_video:
+ description: Start meetings with participants video on.
+ type: boolean
+ personal_meeting:
+ description: |+
+ Personal Meeting Setting.
+ `true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
+ `false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
+ For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
+
+
+ type: boolean
+ pmi_password:
+ description: |
+ PMI passcode
+ type: string
+ pstn_password_protected:
+ description: Generate and require passcode for participants joining by phone.
+ type: boolean
+ require_password_for_instant_meetings:
+ description: |
+ Require a passcode for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ require_password_for_pmi_meetings:
+ description: |
+ Require a passcode for Personal Meeting ID (PMI). This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ enum:
+ - jbh_only
+ - all
+ - none
+ type: string
+ x-enum-descriptions:
+ - Only meetings with Join Before Host enabled
+ - All meetings using PMI
+ - Disabled
+ require_password_for_scheduled_meetings:
+ description: |
+ Require a passcode for meetings which have already been scheduled
+ type: boolean
+ require_password_for_scheduling_new_meetings:
+ description: |
+ Require a passcode when scheduling new meetings.This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ use_pmi_for_instant_meetings:
+ description: |
+ Use Personal Meeting ID (PMI) when starting an instant meeting
+ type: boolean
+ use_pmi_for_scheduled_meetings:
+ description: |
+ Use Personal Meeting ID (PMI) when scheduling a meeting
+ type: boolean
+ title: "User settings: Meeting settings"
+ type: object
+ telephony:
+ properties:
+ audio_conference_info:
+ default: ""
+ description: Third party audio conference info.
+ maxLength: 2048
+ type: string
+ show_international_numbers_link:
+ description: Show the international numbers link on the invitation email.
+ type: boolean
+ telephony_regions:
+ description: Indicates where most of the participants call into or call from duriing a meeting.
+ properties:
+ allowed_values:
+ description: Telephony region options provided by Zoom to select from.
+ items:
+ type: string
+ type: array
+ selection_values:
+ description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
+ items:
+ type: string
+ type: array
+ type: object
+ third_party_audio:
+ description: Third party audio conference.
+ type: boolean
+ title: "User settings: Meeting settings"
+ type: object
+ tsp:
+ description: "Account Settings: TSP."
+ properties:
+ call_out:
+ description: Call Out
+ type: boolean
+ call_out_countries:
+ description: Call Out Countries/Regions
+ items: {}
+ type: array
+ show_international_numbers_link:
+ description: Show international numbers link on the invitation email
+ type: boolean
+ title: "User settings: TSP settings"
+ type: object
+ title: User settings
+ type: object
+ UserSettingsEmailNotification:
+ description: ""
+ properties:
+ alternative_host_reminder:
+ default: false
+ description: When an alternative host is set or removed from a meeting.
+ type: boolean
+ cancel_meeting_reminder:
+ default: false
+ description: When a meeting is cancelled.
+ type: boolean
+ jbh_reminder:
+ default: false
+ description: When attendees join meeting before host.
+ type: boolean
+ schedule_for_reminder:
+ default: false
+ description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
+ type: boolean
+ title: "User settings: Notification settings"
+ type: object
+ UserSettingsFeature:
+ description: ""
+ properties:
+ cn_meeting:
+ description: Host meeting in China.
+ type: boolean
+ in_meeting:
+ description: Host meeting in India.
+ type: boolean
+ large_meeting:
+ description: Large meeting feature.
+ type: boolean
+ large_meeting_capacity:
+ description: "Large meeting capacity: can be 500 or 1000, depending on if the user has a large meeting capacity plan subscription or not."
+ type: integer
+ meeting_capacity:
+ description: User’s meeting capacity.
+ type: integer
+ webinar:
+ description: Webinar feature.
+ type: boolean
+ webinar_capacity:
+ description: "Webinar capacity: can be 100, 500, 1000, 3000, 5000 or 10000, depending on if the user has a webinar capacity plan subscription or not."
+ type: integer
+ zoom_phone:
+ description: Zoom phone feature.
+ type: boolean
+ title: "User settings: Feature settings"
+ type: object
+ UserSettingsFeatureUpdate:
+ description: ""
+ properties:
+ large_meeting:
+ description: Enable [large meeting](https://support.zoom.us/hc/en-us/articles/201362823-What-is-a-Large-Meeting-) feature for the user.
+ type: boolean
+ large_meeting_capacity:
+ description: Set the meeting capacity for the user if the user has **Large meeting** feature enabled. The value for the field can be either 500 or 1000.
+ type: integer
+ meeting_capacity:
+ description: Set a user's meeting capacity. User’s meeting capacity denotes the maximum number of participants that can join a meeting scheduled by the user.
+ type: integer
+ webinar:
+ description: Enable Webinar feature for the user.
+ type: boolean
+ webinar_capacity:
+ description: Set the Webinar capacity for a user who has the Webinar feature enabled. The value of this field can be 100, 500, 1000, 3000, 5000 or 10000.
+ type: integer
+ zoom_phone:
+ description: Zoom phone feature.
+ type: boolean
+ title: "User settings: Feature settings"
+ type: object
+ UserSettingsInMeeting:
+ description: ""
+ properties:
+ allow_live_streaming:
+ description: Allow live streaming.
+ type: boolean
+ annotation:
+ default: false
+ description: Allow participants to use annotation tools.
+ type: boolean
+ attendee_on_hold:
+ default: false
+ description: |-
+ Allow host to put attendee on hold.
+
+ **This field has been deprecated and is no longer supported.**
+ type: boolean
+ auto_saving_chat:
+ default: false
+ description: Auto save all in-meeting chats.
+ type: boolean
+ breakout_room:
+ default: false
+ description: Allow host to split meeting participants into separate breakout rooms.
+ type: boolean
+ chat:
+ default: false
+ description: Enable chat during meeting for all participants.
+ type: boolean
+ closed_caption:
+ default: false
+ description: Enable closed captions.
+ type: boolean
+ co_host:
+ default: false
+ description: Allow the host to add co-hosts.
+ type: boolean
+ custom_data_center_regions:
+ description: If set to `true`, you can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting your real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
+ type: boolean
+ custom_live_streaming_service:
+ description: Allow custom live streaming.
+ type: boolean
+ custom_service_instructions:
+ description: Custom service instructions.
+ type: string
+ data_center_regions:
+ description: |
+ If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["DE", "NL", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
+ enum:
+ - HK
+ - AU
+ - IN
+ - TY
+ - CN
+ - US
+ - CA
+ - DE
+ - NL
+ - LA
+ items:
+ type: string
+ type: array
+ e2e_encryption:
+ description: Zoom requires encryption for all data between the Zoom cloud, Zoom client, and Zoom Room. Require encryption for 3rd party endpoints (H323/SIP).
+ type: boolean
+ entry_exit_chime:
+ default: all
+ description: Play sound when participants join or leave: `host` - When host joins or leaves. `all` - When any participant joins or leaves. `none` - No join or leave sound.
+ enum:
+ - host
+ - all
+ - none
+ type: string
+ x-enum-descriptions:
+ - when host joins/leaves
+ - when any participant joins/leaves
+ - no join/leave sound
+ far_end_camera_control:
+ default: false
+ description: Allow another user to take control of the camera.
+ type: boolean
+ feedback:
+ default: false
+ description: Enable option to send feedback to Zoom at the end of the meeting.
+ type: boolean
+ file_transfer:
+ description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for the user or not.
+ type: boolean
+ group_hd:
+ default: false
+ description: Enable group HD video.
+ type: boolean
+ non_verbal_feedback:
+ default: false
+ description: Enable non-verbal feedback through screens.
+ type: boolean
+ polling:
+ default: false
+ description: Add polls to the meeting controls.
+ type: boolean
+ private_chat:
+ default: false
+ description: Enable 1:1 private chat between participants during meetings.
+ type: boolean
+ record_play_voice:
+ description: Record and play their own voice.
+ type: boolean
+ remote_control:
+ default: false
+ description: Enable remote control during screensharing.
+ type: boolean
+ remote_support:
+ default: false
+ description: Allow host to provide 1:1 remote support to a participant.
+ type: boolean
+ request_permission_to_unmute:
+ description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the user or not.
+ type: boolean
+ screen_sharing:
+ description: |
+ Allow host and participants to share their screen or content during meetings
+ type: boolean
+ share_dual_camera:
+ default: false
+ description: Share dual camera (deprecated).
+ type: boolean
+ show_meeting_control_toolbar:
+ description: Always show meeting controls during a meeting.
+ type: boolean
+ virtual_background:
+ default: false
+ description: Enable virtual background.
+ type: boolean
+ virtual_background_settings:
+ description: Settings to manage virtual background.
+ properties:
+ allow_upload_custom:
+ description: Allow user to upload custom backgrounds.
+ type: boolean
+ allow_videos:
+ description: Allow use of videos for virtual backgrounds.
+ type: boolean
+ enable:
+ description: Enable virtual background.
+ type: boolean
+ files:
+ items:
+ properties:
+ id:
+ description: Unique identifier of the file.
+ type: string
+ is_default:
+ description: Indicates whether or not this file is the default virtual background file.
+ type: boolean
+ name:
+ description: File name.
+ type: string
+ size:
+ description: File size.
+ type: string
+ type:
+ description: File type.
+ type: string
+ type: object
+ type: array
+ type: object
+ waiting_room:
+ default: false
+ description: Enable Waiting room - if enabled, attendees can only join after host approves.
+ type: boolean
+ who_can_share_screen:
+ description: |
+ Indicates who can share their screen or content during meetings. The value can be one of the following:
+ `host`: Only host can share the screen.
+ `all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ who_can_share_screen_when_someone_is_sharing:
+ description: |
+ Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
+ `host`: Only a host can share the screen when someone else is sharing.
+ `all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ workplace_by_facebook:
+ description: Allow livestreaming by host through Workplace by Facebook.
+ type: boolean
+ title: "User settings: Meeting settings"
+ type: object
+ UserSettingsRecording:
+ description: ""
+ properties:
+ ask_host_to_confirm_disclaimer:
+ description: Ask host to confirm the disclaimer.
+ type: boolean
+ ask_participants_to_consent_disclaimer:
+ description: |-
+ This field can be used if `recording_disclaimer` is set to true. This field indicates whether or not you would like to ask participants for consent when a recording starts. The value can be one of the following:
+ * `true`: Ask participants for consent when a recording starts.
+ * `false`: Do not ask participants for consent when a recording starts.
+ type: boolean
+ auto_delete_cmr:
+ default: false
+ description: Auto delete cloud recordings.
+ type: boolean
+ auto_delete_cmr_days:
+ description: A specified number of days of auto delete cloud recordings.
+ maximum: 60
+ minimum: 1
+ type: integer
+ auto_recording:
+ default: local
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record on local
+ - Record on cloud
+ - Disabled
+ cloud_recording:
+ default: false
+ description: Cloud recording.
+ type: boolean
+ host_pause_stop_recording:
+ default: false
+ description: Host can pause/stop the auto recording in the cloud.
+ type: boolean
+ ip_address_access_control:
+ description: |
+ Setting to allow cloud recording access only from specific IP address ranges.
+ properties:
+ enable:
+ description: |+
+ If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
+
+ type: boolean
+ ip_addresses_or_ranges:
+ description: |+
+ IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
+
+ Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
+
+ type: string
+ type: object
+ local_recording:
+ description: Local recording.
+ type: boolean
+ record_audio_file:
+ default: false
+ description: Record an audio only file.
+ type: boolean
+ record_gallery_view:
+ default: false
+ description: Record the gallery view.
+ type: boolean
+ record_speaker_view:
+ default: false
+ description: Record the active speaker view.
+ type: boolean
+ recording_audio_transcript:
+ description: Audio transcript.
+ type: boolean
+ recording_disclaimer:
+ description: |
+ Show a disclaimer to participants before a recording starts
+ type: boolean
+ recording_password_requirement:
+ description: This object represents the minimum passcode requirements set for recordings via Account Recording Settings.
+ properties:
+ have_letter:
+ description: Indicates whether or not passcode must contain at least one alphabetical letter (a, b, c..).
+ type: boolean
+ have_number:
+ description: Indicates whether or not passcode must contain at least one number(1, 2, 3..).
+ type: boolean
+ have_special_character:
+ description: "Indicates whether or not passcode must contain at least one special character(!, @, #..)."
+ type: boolean
+ length:
+ description: Minimum required length for the passcode.
+ maximum: 10
+ type: integer
+ only_allow_numeric:
+ description: Indicates whether or not passcode must contain only numeric characters.
+ type: boolean
+ type: object
+ save_chat_text:
+ default: false
+ description: Save chat text from the meeting.
+ type: boolean
+ show_timestamp:
+ default: false
+ description: Show timestamp on video.
+ type: boolean
+ title: "User settings: Recording settings"
+ type: object
+ UserSettingsScheduleMeeting:
+ description: ""
+ properties:
+ audio_type:
+ default: voip
+ description: Determine how participants can join the audio portion of the meeting: `both` - Telephony and VoIP. `telephony` - Audio PSTN telephony only. `voip` - VoIP only. `thirdParty` - Third party audio conference.
+ enum:
+ - both
+ - telephony
+ - voip
+ - thirdParty
+ type: string
+ x-enum-descriptions:
+ - Telephony and VoIP
+ - Audio PSTN telephony only
+ - VoIP only
+ - 3rd party audio conference
+ default_password_for_scheduled_meetings:
+ description: |
+ Passcode for already scheduled meetings
+ type: string
+ embed_password_in_join_link:
+ description: "If the value is set to `true`, the meeting passcode will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the passcode.
+
+ \ "
+ type: boolean
+ force_pmi_jbh_password:
+ description: Require a passcode for personal meetings if attendees can join before host.
+ type: boolean
+ host_video:
+ description: Start meetings with host video on.
+ type: boolean
+ join_before_host:
+ description: Join the meeting before host arrives.
+ type: boolean
+ meeting_password_requirement:
+ description: Account wide meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the passcode must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar passcode needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the passcode must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided passcode is weak.
+ type: boolean
+ type: object
+ participants_video:
+ description: Start meetings with participants video on.
+ type: boolean
+ personal_meeting:
+ description: |+
+ Personal Meeting Setting.
+ `true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
+ `false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
+ For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
+
+
+ type: boolean
+ pmi_password:
+ description: |
+ PMI passcode
+ type: string
+ pstn_password_protected:
+ description: Generate and require passcode for participants joining by phone.
+ type: boolean
+ require_password_for_instant_meetings:
+ description: |
+ Require a passcode for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ require_password_for_pmi_meetings:
+ description: |
+ Require a passcode for Personal Meeting ID (PMI). This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ enum:
+ - jbh_only
+ - all
+ - none
+ type: string
+ x-enum-descriptions:
+ - Only meetings with Join Before Host enabled
+ - All meetings using PMI
+ - Disabled
+ require_password_for_scheduled_meetings:
+ description: |
+ Require a passcode for meetings which have already been scheduled
+ type: boolean
+ require_password_for_scheduling_new_meetings:
+ description: |
+ Require a passcode when scheduling new meetings.This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ use_pmi_for_instant_meetings:
+ description: |
+ Use Personal Meeting ID (PMI) when starting an instant meeting
+ type: boolean
+ use_pmi_for_scheduled_meetings:
+ description: |
+ Use Personal Meeting ID (PMI) when scheduling a meeting
+ type: boolean
+ title: "User settings: Meeting settings"
+ type: object
+ UserSettingsTSP:
+ description: "Account Settings: TSP."
+ properties:
+ call_out:
+ description: Call Out
+ type: boolean
+ call_out_countries:
+ description: Call Out Countries/Regions
+ items: {}
+ type: array
+ show_international_numbers_link:
+ description: Show international numbers link on the invitation email
+ type: boolean
+ title: "User settings: TSP settings"
+ type: object
+ UserSettingsTelephony:
+ properties:
+ audio_conference_info:
+ default: ""
+ description: Third party audio conference info.
+ maxLength: 2048
+ type: string
+ show_international_numbers_link:
+ description: Show the international numbers link on the invitation email.
+ type: boolean
+ telephony_regions:
+ description: Indicates where most of the participants call into or call from duriing a meeting.
+ properties:
+ allowed_values:
+ description: Telephony region options provided by Zoom to select from.
+ items:
+ type: string
+ type: array
+ selection_values:
+ description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
+ items:
+ type: string
+ type: array
+ type: object
+ third_party_audio:
+ description: Third party audio conference.
+ type: boolean
+ title: "User settings: Meeting settings"
+ type: object
+ UserSettingsUpdate:
+ properties:
+ email_notification:
+ description: ""
+ properties:
+ alternative_host_reminder:
+ default: false
+ description: When an alternative host is set or removed from a meeting.
+ type: boolean
+ cancel_meeting_reminder:
+ default: false
+ description: When a meeting is cancelled.
+ type: boolean
+ jbh_reminder:
+ default: false
+ description: When attendees join meeting before host.
+ type: boolean
+ schedule_for_reminder:
+ default: false
+ description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
+ type: boolean
+ title: "User settings: Notification settings"
+ type: object
+ feature:
+ description: ""
+ properties:
+ large_meeting:
+ description: Enable [large meeting](https://support.zoom.us/hc/en-us/articles/201362823-What-is-a-Large-Meeting-) feature for the user.
+ type: boolean
+ large_meeting_capacity:
+ description: Set the meeting capacity for the user if the user has **Large meeting** feature enabled. The value for the field can be either 500 or 1000.
+ type: integer
+ meeting_capacity:
+ description: Set a user's meeting capacity. User’s meeting capacity denotes the maximum number of participants that can join a meeting scheduled by the user.
+ type: integer
+ webinar:
+ description: Enable Webinar feature for the user.
+ type: boolean
+ webinar_capacity:
+ description: Set the Webinar capacity for a user who has the Webinar feature enabled. The value of this field can be 100, 500, 1000, 3000, 5000 or 10000.
+ type: integer
+ zoom_phone:
+ description: Zoom phone feature.
+ type: boolean
+ title: "User settings: Feature settings"
+ type: object
+ in_meeting:
+ description: ""
+ properties:
+ allow_live_streaming:
+ description: Allow live streaming.
+ type: boolean
+ annotation:
+ default: false
+ description: Allow participants to use annotation tools.
+ type: boolean
+ attendee_on_hold:
+ default: false
+ description: |-
+ Allow host to put attendee on hold.
+
+ **This field has been deprecated and is no longer supported.**
+ type: boolean
+ auto_saving_chat:
+ default: false
+ description: Auto save all in-meeting chats.
+ type: boolean
+ breakout_room:
+ default: false
+ description: Allow host to split meeting participants into separate breakout rooms.
+ type: boolean
+ chat:
+ default: false
+ description: Enable chat during meeting for all participants.
+ type: boolean
+ closed_caption:
+ default: false
+ description: Enable closed captions.
+ type: boolean
+ co_host:
+ default: false
+ description: Allow the host to add co-hosts.
+ type: boolean
+ custom_data_center_regions:
+ description: If set to `true`, you can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting your real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
+ type: boolean
+ custom_live_streaming_service:
+ description: Allow custom live streaming.
+ type: boolean
+ custom_service_instructions:
+ description: Custom service instructions.
+ type: string
+ data_center_regions:
+ description: |
+ If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["DE", "NL", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
+ enum:
+ - HK
+ - AU
+ - IN
+ - TY
+ - CN
+ - US
+ - CA
+ - DE
+ - NL
+ - LA
+ items:
+ type: string
+ type: array
+ e2e_encryption:
+ description: Zoom requires encryption for all data between the Zoom cloud, Zoom client, and Zoom Room. Require encryption for 3rd party endpoints (H323/SIP).
+ type: boolean
+ entry_exit_chime:
+ default: all
+ description: Play sound when participants join or leave: `host` - When host joins or leaves. `all` - When any participant joins or leaves. `none` - No join or leave sound.
+ enum:
+ - host
+ - all
+ - none
+ type: string
+ x-enum-descriptions:
+ - when host joins/leaves
+ - when any participant joins/leaves
+ - no join/leave sound
+ far_end_camera_control:
+ default: false
+ description: Allow another user to take control of the camera.
+ type: boolean
+ feedback:
+ default: false
+ description: Enable option to send feedback to Zoom at the end of the meeting.
+ type: boolean
+ file_transfer:
+ description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for the user or not.
+ type: boolean
+ group_hd:
+ default: false
+ description: Enable group HD video.
+ type: boolean
+ non_verbal_feedback:
+ default: false
+ description: Enable non-verbal feedback through screens.
+ type: boolean
+ polling:
+ default: false
+ description: Add polls to the meeting controls.
+ type: boolean
+ private_chat:
+ default: false
+ description: Enable 1:1 private chat between participants during meetings.
+ type: boolean
+ record_play_voice:
+ description: Record and play their own voice.
+ type: boolean
+ remote_control:
+ default: false
+ description: Enable remote control during screensharing.
+ type: boolean
+ remote_support:
+ default: false
+ description: Allow host to provide 1:1 remote support to a participant.
+ type: boolean
+ request_permission_to_unmute:
+ description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the user or not.
+ type: boolean
+ screen_sharing:
+ description: |
+ Allow host and participants to share their screen or content during meetings
+ type: boolean
+ share_dual_camera:
+ default: false
+ description: Share dual camera (deprecated).
+ type: boolean
+ show_meeting_control_toolbar:
+ description: Always show meeting controls during a meeting.
+ type: boolean
+ virtual_background:
+ default: false
+ description: Enable virtual background.
+ type: boolean
+ virtual_background_settings:
+ description: Settings to manage virtual background.
+ properties:
+ allow_upload_custom:
+ description: Allow user to upload custom backgrounds.
+ type: boolean
+ allow_videos:
+ description: Allow use of videos for virtual backgrounds.
+ type: boolean
+ enable:
+ description: Enable virtual background.
+ type: boolean
+ files:
+ items:
+ properties:
+ id:
+ description: Unique identifier of the file.
+ type: string
+ is_default:
+ description: Indicates whether or not this file is the default virtual background file.
+ type: boolean
+ name:
+ description: File name.
+ type: string
+ size:
+ description: File size.
+ type: string
+ type:
+ description: File type.
+ type: string
+ type: object
+ type: array
+ type: object
+ waiting_room:
+ default: false
+ description: Enable Waiting room - if enabled, attendees can only join after host approves.
+ type: boolean
+ who_can_share_screen:
+ description: |
+ Indicates who can share their screen or content during meetings. The value can be one of the following:
+ `host`: Only host can share the screen.
+ `all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ who_can_share_screen_when_someone_is_sharing:
+ description: |
+ Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
+ `host`: Only a host can share the screen when someone else is sharing.
+ `all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
+ enum:
+ - host
+ - all
+ type: string
+ workplace_by_facebook:
+ description: Allow livestreaming by host through Workplace by Facebook.
+ type: boolean
+ title: "User settings: Meeting settings"
+ type: object
+ profile:
+ properties:
+ recording_storage_location:
+ properties:
+ allowed_values:
+ description: |-
+ Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
+
+ Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
+ items:
+ type: string
+ type: array
+ value:
+ description: Abbreviated country code.
+ type: string
+ type: object
+ title: Profile
+ type: object
+ recording:
+ description: ""
+ properties:
+ ask_host_to_confirm_disclaimer:
+ description: Ask host to confirm the disclaimer.
+ type: boolean
+ ask_participants_to_consent_disclaimer:
+ description: |-
+ This field can be used if `recording_disclaimer` is set to true. This field indicates whether or not you would like to ask participants for consent when a recording starts. The value can be one of the following:
+ * `true`: Ask participants for consent when a recording starts.
+ * `false`: Do not ask participants for consent when a recording starts.
+ type: boolean
+ auto_delete_cmr:
+ default: false
+ description: Auto delete cloud recordings.
+ type: boolean
+ auto_delete_cmr_days:
+ description: A specified number of days of auto delete cloud recordings.
+ maximum: 60
+ minimum: 1
+ type: integer
+ auto_recording:
+ default: local
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record on local
+ - Record on cloud
+ - Disabled
+ cloud_recording:
+ default: false
+ description: Cloud recording.
+ type: boolean
+ host_pause_stop_recording:
+ default: false
+ description: Host can pause/stop the auto recording in the cloud.
+ type: boolean
+ ip_address_access_control:
+ description: |
+ Setting to allow cloud recording access only from specific IP address ranges.
+ properties:
+ enable:
+ description: |+
+ If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
+
+ type: boolean
+ ip_addresses_or_ranges:
+ description: |+
+ IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
+
+ Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
+
+ type: string
+ type: object
+ local_recording:
+ description: Local recording.
+ type: boolean
+ record_audio_file:
+ default: false
+ description: Record an audio only file.
+ type: boolean
+ record_gallery_view:
+ default: false
+ description: Record the gallery view.
+ type: boolean
+ record_speaker_view:
+ default: false
+ description: Record the active speaker view.
+ type: boolean
+ recording_audio_transcript:
+ description: Audio transcript.
+ type: boolean
+ recording_disclaimer:
+ description: |
+ Show a disclaimer to participants before a recording starts
+ type: boolean
+ recording_password_requirement:
+ description: This object represents the minimum passcode requirements set for recordings via Account Recording Settings.
+ properties:
+ have_letter:
+ description: Indicates whether or not passcode must contain at least one alphabetical letter (a, b, c..).
+ type: boolean
+ have_number:
+ description: Indicates whether or not passcode must contain at least one number(1, 2, 3..).
+ type: boolean
+ have_special_character:
+ description: "Indicates whether or not passcode must contain at least one special character(!, @, #..)."
+ type: boolean
+ length:
+ description: Minimum required length for the passcode.
+ maximum: 10
+ type: integer
+ only_allow_numeric:
+ description: Indicates whether or not passcode must contain only numeric characters.
+ type: boolean
+ type: object
+ save_chat_text:
+ default: false
+ description: Save chat text from the meeting.
+ type: boolean
+ show_timestamp:
+ default: false
+ description: Show timestamp on video.
+ type: boolean
+ title: "User settings: Recording settings"
+ type: object
+ schedule_meeting:
+ description: ""
+ properties:
+ audio_type:
+ default: voip
+ description: Determine how participants can join the audio portion of the meeting: `both` - Telephony and VoIP. `telephony` - Audio PSTN telephony only. `voip` - VoIP only. `thirdParty` - Third party audio conference.
+ enum:
+ - both
+ - telephony
+ - voip
+ - thirdParty
+ type: string
+ x-enum-descriptions:
+ - Telephony and VoIP
+ - Audio PSTN telephony only
+ - VoIP only
+ - 3rd party audio conference
+ default_password_for_scheduled_meetings:
+ description: |
+ Passcode for already scheduled meetings
+ type: string
+ embed_password_in_join_link:
+ description: "If the value is set to `true`, the meeting passcode will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the passcode.
+
+ \ "
+ type: boolean
+ force_pmi_jbh_password:
+ description: Require a passcode for personal meetings if attendees can join before host.
+ type: boolean
+ host_video:
+ description: Start meetings with host video on.
+ type: boolean
+ join_before_host:
+ description: Join the meeting before host arrives.
+ type: boolean
+ meeting_password_requirement:
+ description: Account wide meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
+ properties:
+ consecutive_characters_length:
+ enum:
+ - 0
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ type: integer
+ have_letter:
+ description: |
+ If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
+ type: boolean
+ have_number:
+ description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
+ type: boolean
+ have_special_character:
+ description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
+ type: boolean
+ have_upper_and_lower_characters:
+ description: If set to `true`, the passcode must include both uppercase and lowercase characters.
+ type: boolean
+ length:
+ description: The minimum length that the meeting/webinar passcode needs to have.
+ type: integer
+ only_allow_numeric:
+ description: If set to `true`, the passcode must only contain numbers and no other characters.
+ type: boolean
+ weak_enhance_detection:
+ description: If set to `true`, users will be informed if the provided passcode is weak.
+ type: boolean
+ type: object
+ participants_video:
+ description: Start meetings with participants video on.
+ type: boolean
+ personal_meeting:
+ description: |+
+ Personal Meeting Setting.
+ `true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
+ `false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
+ For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
+
+
+ type: boolean
+ pmi_password:
+ description: |
+ PMI passcode
+ type: string
+ pstn_password_protected:
+ description: Generate and require passcode for participants joining by phone.
+ type: boolean
+ require_password_for_instant_meetings:
+ description: |
+ Require a passcode for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ require_password_for_pmi_meetings:
+ description: |
+ Require a passcode for Personal Meeting ID (PMI). This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ enum:
+ - jbh_only
+ - all
+ - none
+ type: string
+ x-enum-descriptions:
+ - Only meetings with Join Before Host enabled
+ - All meetings using PMI
+ - Disabled
+ require_password_for_scheduled_meetings:
+ description: |
+ Require a passcode for meetings which have already been scheduled
+ type: boolean
+ require_password_for_scheduling_new_meetings:
+ description: |
+ Require a passcode when scheduling new meetings.This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
+ type: boolean
+ use_pmi_for_instant_meetings:
+ description: |
+ Use Personal Meeting ID (PMI) when starting an instant meeting
+ type: boolean
+ use_pmi_for_scheduled_meetings:
+ description: |
+ Use Personal Meeting ID (PMI) when scheduling a meeting
+ type: boolean
+ title: "User settings: Meeting settings"
+ type: object
+ telephony:
+ properties:
+ audio_conference_info:
+ default: ""
+ description: Third party audio conference info.
+ maxLength: 2048
+ type: string
+ show_international_numbers_link:
+ description: Show the international numbers link on the invitation email.
+ type: boolean
+ telephony_regions:
+ description: Indicates where most of the participants call into or call from duriing a meeting.
+ properties:
+ selection_values:
+ description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
+ items:
+ type: string
+ type: array
+ type: object
+ third_party_audio:
+ description: Third party audio conference.
+ type: boolean
+ title: "Telephony update settings: Meeting settings"
+ type: object
+ tsp:
+ description: "Account Settings: TSP."
+ properties:
+ call_out:
+ description: Call Out
+ type: boolean
+ call_out_countries:
+ description: Call Out Countries/Regions
+ items: {}
+ type: array
+ show_international_numbers_link:
+ description: Show international numbers link on the invitation email
+ type: boolean
+ title: "User settings: TSP settings"
+ type: object
+ title: User settings
+ type: object
+ UserUpdate:
+ description: The user update object represents a user on Zoom.
+ properties:
+ cms_user_id:
+ description: Kaltura user ID.
+ type: string
+ company:
+ description: User's company.
+ maxLength: 255
+ type: string
+ custom_attributes:
+ description: Custom attribute(s) of the user.
+ properties:
+ key:
+ description: Identifier for the custom attribute.
+ type: string
+ name:
+ description: Name of the custom attribute.
+ type: string
+ value:
+ description: Value of the custom attribute.
+ type: string
+ type: object
+ dept:
+ description: "Department for user profile: use for report."
+ type: string
+ first_name:
+ description: User's first name. Cannot contain more than 5 Chinese characters.
+ maxLength: 64
+ type: string
+ group_id:
+ description: Provide unique identifier of the group that you would like to add a [pending user](https://support.zoom.us/hc/en-us/articles/201363183-Managing-users#h_13c87a2a-ecd6-40ad-be61-a9935e660edb) to. The value of this field can be retrieved from [List Groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups) API.
+ type: string
+ host_key:
+ description: Host key. It should be a 6-10 digit number.
+ maxLength: 10
+ minLength: 6
+ type: string
+ job_title:
+ description: User's job title.
+ maxLength: 128
+ type: string
+ language:
+ description: language
+ type: string
+ last_name:
+ description: User's last name. Cannot contain more than 5 Chinese characters.
+ maxLength: 64
+ type: string
+ location:
+ description: User's location.
+ maxLength: 256
+ type: string
+ manager:
+ description: The manager for the user.
+ format: email
+ type: string
+ phone_country:
+ description: |-
+ **Note:** This field has been **deprecated** and will not be supported in the future. Use the **country** field of the **phone_numbers** object instead to select the country for the phone number.
+
+
+
+ [Country ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) of the phone number. For example, if the phone number provided in the `phone_number` field is a Brazil based number, the value of the `phone_country` field should be `BR`.
+ type: string
+ phone_number:
+ description: |-
+ **Note:** This field has been **deprecated** and will not be supported in the future. Use the **phone_numbers** field instead to assign phone number(s) to a user.
+
+
+ Phone number of the user. To update a phone number, you must also provide the `phone_country` field.
+ type: string
+ phone_numbers:
+ properties:
+ code:
+ description: Country code of the phone number. For example, for United States phone numbers, the value of this field should be "+1".
+ type: string
+ country:
+ description: "[Country ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) of the phone number. For example, if the phone number provided in the `number` field is a Brazil based number, the value of the `country` field should be `BR`."
+ type: string
+ number:
+ description: Phone number of the user.
+ type: string
+ type: object
+ pmi:
+ description: "Personal meeting ID: length must be 10."
+ maxLength: 10
+ minLength: 10
+ type: integer
+ timezone:
+ description: The time zone ID for a user profile. For this parameter value please refer to the ID value in the [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) list.
+ type: string
+ type:
+ description: User types: `1` - Basic. `2` - Licensed. `3` - On-prem. `99` - None (this can only be set with `ssoCreate`).
+ enum:
+ - 1
+ - 2
+ - 3
+ - 99
+ type: integer
+ use_pmi:
+ default: false
+ description: Use Personal Meeting ID for instant meetings.
+ type: boolean
+ vanity_name:
+ description: Personal meeting room name.
+ type: string
+ type: object
+ Webinar:
+ allOf:
+ - description: Base webinar object for sessions.
+ properties:
+ agenda:
+ description: Webinar description.
+ type: string
+ duration:
+ description: Webinar duration (minutes). Used for scheduled webinars only.
+ type: integer
+ password:
+ description: "Webinar Passcode. Passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ *]. Max of 10 characters."
+ type: string
+ recurrence:
+ description: "Recurrence object. Use this object only for a webinar of type `9` i.e., a recurring webinar with fixed time. "
+ properties:
+ end_date_time:
+ description: Select a date when the webinar will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the webinar will recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring webinar of type** `3` to state which day in a month, the webinar should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the webinar to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the webinar to recur once every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state the week of the month when the webinar should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the webinar should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state a specific day in a week when the monthly webinar should recur. To use this field, you must also use the `monthly_week` field. `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |-
+ Define the interval at which the webinar should recur. For instance, if you would like to schedule a Webinar that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily webinar, the maximum interval you can set is `90` days. For a weekly webinar, the maximum interval that you can set is `12` weeks. For a monthly webinar, the maximum interval that you can set is `3` months.
+ type: integer
+ type:
+ description: Recurrence webinar types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ description: |+
+ Use this field **only if you're scheduling a recurring webinar of type** `2` to state which day(s) of the week the webinar should repeat. The value for this field could be a number between `1` to `7` in string format. For instance, if the Webinar should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the webinar to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the Webinar should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+
+ type: string
+ required:
+ - type
+ title: Recurrence Webinar
+ type: object
+ settings:
+ description: Webinar settings.
+ properties:
+ allow_multiple_devices:
+ description: Allow attendees to join from multiple devices.
+ type: boolean
+ alternative_hosts:
+ description: Alternative host emails or IDs. Multiple values separated by comma.
+ type: string
+ approval_type:
+ default: 2
+ description: "`0` - Automatically approve. `1` - Manually approve. `2` - No registration required."
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ attendees_and_panelists_reminder_email_notification:
+ description: Send reminder email to attendees and panelists.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send reminder email to attendees and panelists.
+
+ * `false`: Do not send reminder email to attendees and panelists.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 hour before webinar.
+ - Send 1 day before webinar.
+ - Send 1 hour and 1 day before webinar.
+ - Send 1 week before webinar.
+ - Send 1 hour and 1 week before webinar.
+ - Send 1 day and 1 week before webinar.
+ - Send 1 hour, 1 day and 1 week before webinar.
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the webinar.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
+ type: string
+ authentication_name:
+ description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
+ type: string
+ authentication_option:
+ description: Webinar authentication option id.
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ close_registration:
+ description: Close registration after event date.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ email_language:
+ description: |-
+ Set the email language to one of the following:
+ `en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
+ type: string
+ enforce_login:
+ description: |-
+ Only signed in users can join this meeting.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
+ type: boolean
+ enforce_login_domains:
+ description: |-
+ Only signed in users with specified domains can join meetings.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
+ type: string
+ follow_up_absentees_email_notification:
+ description: Send follow-up email to absentees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to absentees.
+
+ * `false`: Do not send follow-up email to absentees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 days after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ follow_up_attendees_email_notification:
+ description: Send follow-up email to attendees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to attendees.
+
+ * `false`: Do not send follow-up email to attendees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 day after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ hd_video:
+ default: false
+ description: Default to HD video.
+ type: boolean
+ host_video:
+ description: Start video when host joins webinar.
+ type: boolean
+ meeting_authentication:
+ description: "`true`- Only authenticated users can join Webinar."
+ type: boolean
+ notify_registrants:
+ description: Send notification email to registrants when the host updates a webinar.
+ type: boolean
+ on_demand:
+ default: false
+ description: Make the webinar on-demand
+ type: boolean
+ panelists_invitation_email_notification:
+ description: |-
+ * `true`: Send invitation email to panelists.
+
+ * `false`: Do not send invitation email to panelists.
+ type: boolean
+ panelists_video:
+ description: Start video when panelists join webinar.
+ type: boolean
+ post_webinar_survey:
+ description: Zoom will open a survey page in attendees' browsers after leaving the webinar
+ type: boolean
+ practice_session:
+ default: false
+ description: Enable practice session.
+ type: boolean
+ question_and_answer:
+ description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
+ properties:
+ allow_anonymous_questions:
+ description: |-
+ * `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
+
+ * `false`: Do not allow anonymous questions.
+ type: boolean
+ answer_questions:
+ description: |-
+ Indicate whether you want attendees to be able to view answered questions only or view all questions.
+
+ * `only`: Attendees are able to view answered questions only.
+
+ * `all`: Attendees are able to view all questions submitted in the Q&A.
+ enum:
+ - only
+ - all
+ type: string
+ attendees_can_comment:
+ description: |-
+ * `true`: Attendees can answer questions or leave a comment in the question thread.
+
+ * `false`: Attendees can not answer questions or leave a comment in the question thread
+ type: boolean
+ attendees_can_upvote:
+ description: |-
+ * `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
+
+ * `false`: Attendees can not click the thumbs up butoon on questions.
+ type: boolean
+ enable:
+ description: |-
+ * `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
+
+ * `false`: Disable Q&A for webinar.
+ type: boolean
+ type: object
+ registrants_confirmation_email:
+ description: Send confirmation email to registrants
+ type: boolean
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registrants_restrict_number:
+ default: 0
+ description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
+ maximum: 20000
+ minimum: 0
+ type: integer
+ registration_type:
+ default: 1
+ description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: Show social share buttons on the registration page.
+ type: boolean
+ survey_url:
+ description: Survey url for post webinar survey
+ type: string
+ type: object
+ start_time:
+ description: |-
+ Webinar start time. We support two formats for `start_time` - local time and GMT.
+
+ To set time as GMT the format should be `yyyy-MM-dd`T`HH:mm:ssZ`.
+
+ To set time using a specific timezone, use `yyyy-MM-dd`T`HH:mm:ss` format and specify the timezone [ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) in the `timezone` field OR leave it blank and the timezone set on your Zoom account will be used. You can also set the time as UTC as the timezone field.
+
+ The `start_time` should only be used for scheduled and / or recurring webinars with fixed time.
+ format: date-time
+ type: string
+ timezone:
+ description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [time zone](#timezones) list for supported time zones and their formats.
+ type: string
+ topic:
+ description: Webinar topic.
+ type: string
+ tracking_fields:
+ description: Tracking fields
+ items:
+ properties:
+ field:
+ description: Tracking fields type
+ type: string
+ value:
+ description: Tracking fields value
+ type: string
+ type: object
+ type: array
+ type:
+ default: 5
+ description: Webinar Types: `5` - Webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
+ enum:
+ - 5
+ - 6
+ - 9
+ type: integer
+ x-enum-descriptions:
+ - Webinar
+ - Recurring Webinar with no fixed time
+ - Recurring Webinar with fixed time
+ type: object
+ description: Webinar object.
+ type: object
+ WebinarInfo:
+ description: Webinar object.
+ properties:
+ agenda:
+ description: Webinar agenda.
+ type: string
+ created_at:
+ description: Create time.
+ format: date-time
+ type: string
+ duration:
+ description: Webinar duration.
+ type: integer
+ join_url:
+ description: URL to join the Webinar. This URL should only be shared with the users who should be invited to the Webinar.
+ type: string
+ occurrences:
+ description: Array of occurrence objects.
+ items:
+ description: Occurence object. This object is only returned for Recurring Webinars.
+ properties:
+ duration:
+ description: Duration.
+ type: integer
+ occurrence_id:
+ description: "Occurrence ID: Unique Identifier that identifies an occurrence of a recurring webinar. [Recurring webinars](https://support.zoom.us/hc/en-us/articles/216354763-How-to-Schedule-A-Recurring-Webinar) can have a maximum of 50 occurrences."
+ type: string
+ start_time:
+ description: Start time.
+ format: date-time
+ type: string
+ status:
+ description: Occurrence status.
+ type: string
+ type: object
+ type: array
+ password:
+ description: |+
+ Webinar passcode.
+
+ If "Require a passcode when scheduling new meetings" setting has been **enabled** **and** [locked](https://support.zoom.us/hc/en-us/articles/115005269866-Using-Tiered-Settings#locked) for the user, the passcode field will be autogenerated for the Webinar in the response even if it is not provided in the API request.
+ **Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
+
+
+
+
+
+ maxLength: 10
+ type: string
+ recurrence:
+ description: "Recurrence object. Use this object only for a webinar of type `9` i.e., a recurring webinar with fixed time. "
+ properties:
+ end_date_time:
+ description: Select a date when the webinar will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the webinar will recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring webinar of type** `3` to state which day in a month, the webinar should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the webinar to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the webinar to recur once every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state the week of the month when the webinar should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the webinar should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state a specific day in a week when the monthly webinar should recur. To use this field, you must also use the `monthly_week` field. `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |-
+ Define the interval at which the webinar should recur. For instance, if you would like to schedule a Webinar that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily webinar, the maximum interval you can set is `90` days. For a weekly webinar, the maximum interval that you can set is `12` weeks. For a monthly webinar, the maximum interval that you can set is `3` months.
+ type: integer
+ type:
+ description: Recurrence webinar types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ description: |+
+ Use this field **only if you're scheduling a recurring webinar of type** `2` to state which day(s) of the week the webinar should repeat. The value for this field could be a number between `1` to `7` in string format. For instance, if the Webinar should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the webinar to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the Webinar should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+
+ type: string
+ required:
+ - type
+ title: Recurrence Webinar
+ type: object
+ settings:
+ description: Webinar settings.
+ properties:
+ allow_multiple_devices:
+ description: Allow attendees to join from multiple devices.
+ type: boolean
+ alternative_hosts:
+ description: Alternative host emails or IDs. Multiple values separated by comma.
+ type: string
+ approval_type:
+ default: 2
+ description: "`0` - Automatically approve. `1` - Manually approve. `2` - No registration required."
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ attendees_and_panelists_reminder_email_notification:
+ description: Send reminder email to attendees and panelists.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send reminder email to attendees and panelists.
+
+ * `false`: Do not send reminder email to attendees and panelists.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 hour before webinar.
+ - Send 1 day before webinar.
+ - Send 1 hour and 1 day before webinar.
+ - Send 1 week before webinar.
+ - Send 1 hour and 1 week before webinar.
+ - Send 1 day and 1 week before webinar.
+ - Send 1 hour, 1 day and 1 week before webinar.
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the webinar.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
+ type: string
+ authentication_name:
+ description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
+ type: string
+ authentication_option:
+ description: Webinar authentication option id.
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ close_registration:
+ description: Close registration after event date.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ email_language:
+ description: |-
+ Set the email language to one of the following:
+ `en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
+ type: string
+ enforce_login:
+ description: |-
+ Only signed in users can join this meeting.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
+ type: boolean
+ enforce_login_domains:
+ description: |-
+ Only signed in users with specified domains can join meetings.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
+ type: string
+ follow_up_absentees_email_notification:
+ description: Send follow-up email to absentees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to absentees.
+
+ * `false`: Do not send follow-up email to absentees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 days after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ follow_up_attendees_email_notification:
+ description: Send follow-up email to attendees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to attendees.
+
+ * `false`: Do not send follow-up email to attendees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 day after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ hd_video:
+ default: false
+ description: Default to HD video.
+ type: boolean
+ host_video:
+ description: Start video when host joins webinar.
+ type: boolean
+ meeting_authentication:
+ description: "`true`- Only authenticated users can join Webinar."
+ type: boolean
+ notify_registrants:
+ description: Send notification email to registrants when the host updates a webinar.
+ type: boolean
+ on_demand:
+ default: false
+ description: Make the webinar on-demand
+ type: boolean
+ panelists_invitation_email_notification:
+ description: |-
+ * `true`: Send invitation email to panelists.
+
+ * `false`: Do not send invitation email to panelists.
+ type: boolean
+ panelists_video:
+ description: Start video when panelists join webinar.
+ type: boolean
+ post_webinar_survey:
+ description: Zoom will open a survey page in attendees' browsers after leaving the webinar
+ type: boolean
+ practice_session:
+ default: false
+ description: Enable practice session.
+ type: boolean
+ question_and_answer:
+ description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
+ properties:
+ allow_anonymous_questions:
+ description: |-
+ * `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
+
+ * `false`: Do not allow anonymous questions.
+ type: boolean
+ answer_questions:
+ description: |-
+ Indicate whether you want attendees to be able to view answered questions only or view all questions.
+
+ * `only`: Attendees are able to view answered questions only.
+
+ * `all`: Attendees are able to view all questions submitted in the Q&A.
+ enum:
+ - only
+ - all
+ type: string
+ attendees_can_comment:
+ description: |-
+ * `true`: Attendees can answer questions or leave a comment in the question thread.
+
+ * `false`: Attendees can not answer questions or leave a comment in the question thread
+ type: boolean
+ attendees_can_upvote:
+ description: |-
+ * `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
+
+ * `false`: Attendees can not click the thumbs up butoon on questions.
+ type: boolean
+ enable:
+ description: |-
+ * `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
+
+ * `false`: Disable Q&A for webinar.
+ type: boolean
+ type: object
+ registrants_confirmation_email:
+ description: Send confirmation email to registrants
+ type: boolean
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registrants_restrict_number:
+ default: 0
+ description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
+ maximum: 20000
+ minimum: 0
+ type: integer
+ registration_type:
+ default: 1
+ description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: Show social share buttons on the registration page.
+ type: boolean
+ survey_url:
+ description: Survey url for post webinar survey
+ type: string
+ type: object
+ start_time:
+ description: Webinar start time in GMT/UTC.
+ format: date-time
+ type: string
+ start_url:
+ description: |-
+
+ type: string
+ timezone:
+ description: Time zone to format start_time.
+ type: string
+ topic:
+ description: Webinar topic.
+ maxLength: 200
+ type: string
+ tracking_fields:
+ description: Tracking fields
+ items:
+ properties:
+ field:
+ description: Tracking fields type
+ type: string
+ value:
+ description: Tracking fields value
+ type: string
+ type: object
+ type: array
+ type:
+ default: 5
+ description: Webinar Types: `5` - Webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
+ enum:
+ - 5
+ - 6
+ - 9
+ type: integer
+ x-enum-descriptions:
+ - Webinar
+ - Recurring Webinar with no fixed time
+ - Recurring Webinar with fixed time
+ type: object
+ WebinarInstances:
+ allOf:
+ - properties:
+ webinars:
+ description: List of ended webinar instances.
+ items:
+ allOf:
+ - properties:
+ start_time:
+ description: Start time.
+ format: date-time
+ type: string
+ uuid:
+ description: Webinar UUID.
+ type: string
+ type: object
+ type: array
+ description: List of webinars.
+ title: Webinar instances
+ type: object
+ WebinarList:
+ allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: |-
+ **Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
+
+ The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ - properties:
+ webinars:
+ description: List of webinar objects.
+ items:
+ allOf:
+ - properties:
+ agenda:
+ description: Webinar Description. The length of agenda gets truncated to 250 characters when you list all webinars for a user. To view the complete agenda, retrieve details for a single webinar [here](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinar).
+ type: string
+ created_at:
+ description: Time of webinar creation.
+ format: date-time
+ type: string
+ duration:
+ description: Meeting duration.
+ type: integer
+ host_id:
+ description: ID of the host of the webinar.
+ type: string
+ id:
+ description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
+ format: int64
+ type: integer
+ join_url:
+ description: Join URL of the webinar (using which others can join the webinar).
+ type: string
+ start_time:
+ description: Scheduled start time of the Webinar.
+ format: date-time
+ type: string
+ timezone:
+ description: "[Timezone ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) for the Webinar."
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ type:
+ description: Webinar Types: `5` - Webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
+ type: string
+ uuid:
+ description: Unique identifier of a Webinar. Each webinar instance will generate its own UUID. Once a Webinar ends, the value of uuid for the same webinar will be different from when it was scheduled.
+ type: string
+ type: object
+ type: array
+ description: List of webinars.
+ title: User List
+ type: object
+ WebinarMetric:
+ description: Webinar metric details.
+ properties:
+ custom_keys:
+ description: Custom keys and values assigned to the Webinar.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the Webinar.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the Webinar.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ dept:
+ description: Department of the host.
+ type: string
+ duration:
+ description: "Webinar duration, formatted as hh:mm:ss, for example: `10:00` for ten minutes."
+ type: string
+ email:
+ description: User email.
+ type: string
+ end_time:
+ description: Webinar end time.
+ format: date-time
+ type: string
+ has_3rd_party_audio:
+ description: Indicates whether or not TSP was used for the Webinar.
+ type: boolean
+ has_pstn:
+ description: Indicates whether or not PSTN was used for the Webinar.
+ type: boolean
+ has_recording:
+ description: Indicates whether or not recording was used for the Webinar.
+ type: boolean
+ has_screen_share:
+ description: Indicates whether or not screen sharing was used for the Webinar.
+ type: boolean
+ has_sip:
+ description: Indicates whether or not SIP was used for the Webinar.
+ type: boolean
+ has_video:
+ description: Indicates whether or not video was used for the Webinar.
+ type: boolean
+ has_voip:
+ description: Indicates whether or not VoIP was used for the Webinar.
+ type: boolean
+ host:
+ description: User display name.
+ type: string
+ id:
+ description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
+ format: int64
+ type: integer
+ participants:
+ description: Webinar participant count.
+ type: integer
+ start_time:
+ description: Webinar start time.
+ format: date-time
+ type: string
+ topic:
+ description: Webinar topic.
+ type: string
+ user_type:
+ description: User type.
+ type: string
+ uuid:
+ description: Webinar UUID.
+ format: uuid
+ type: string
+ title: Webinar Metrics
+ type: object
+ WebinarPanelist:
+ description: Webinar panelist.
+ properties:
+ panelists:
+ description: List of panelist objects.
+ items:
+ allOf:
+ - description: Panelist base object.
+ properties:
+ email:
+ description: Panelist's email.
+ format: email
+ type: string
+ name:
+ description: Panelist's full name.
+ type: string
+ type: object
+ maximum: 30
+ type: array
+ type: object
+ WebinarPanelistList:
+ allOf:
+ - description: List of panelists.
+ properties:
+ panelists:
+ description: List of panelist objects.
+ items:
+ allOf:
+ - properties:
+ id:
+ description: Panelist's ID.
+ type: string
+ type: object
+ - description: Panelist base object.
+ properties:
+ email:
+ description: Panelist's email.
+ format: email
+ type: string
+ name:
+ description: Panelist's full name.
+ type: string
+ type: object
+ - properties:
+ join_url:
+ description: Join URL.
+ type: string
+ type: object
+ type: array
+ total_records:
+ description: Total records.
+ type: integer
+ title: Panelist List
+ type: object
+ description: Webinar panelist.
+ type: object
+ WebinarRegistrant:
+ allOf:
+ - description: Registrant base object.
+ properties:
+ address:
+ description: Registrant's address.
+ type: string
+ city:
+ description: Registrant's city.
+ type: string
+ comments:
+ description: A field that allows registrants to provide any questions or comments that they might have.
+ type: string
+ country:
+ description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
+ type: string
+ custom_questions:
+ description: Custom questions.
+ items:
+ description: Custom Question.
+ properties:
+ title:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ email:
+ description: A valid email address of the registrant.
+ maxLength: 128
+ type: string
+ first_name:
+ description: Registrant's first name.
+ maxLength: 64
+ type: string
+ industry:
+ description: Registrant's Industry.
+ type: string
+ job_title:
+ description: Registrant's job title.
+ type: string
+ last_name:
+ description: Registrant's last name.
+ maxLength: 64
+ type: string
+ no_of_employees:
+ description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
+ type: string
+ org:
+ description: Registrant's Organization.
+ type: string
+ phone:
+ description: Registrant's Phone number.
+ type: string
+ purchasing_time_frame:
+ description: |-
+ This field can be included to gauge interest of webinar attendees towards buying your product or service.
+
+ Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
+ type: string
+ role_in_purchase_process:
+ description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
+ type: string
+ state:
+ description: Registrant's State/Province.
+ type: string
+ zip:
+ description: Registrant's Zip/Postal Code.
+ type: string
+ required:
+ - email
+ - first_name
+ type: object
+ description: Webinar registrant.
+ type: object
+ WebinarRegistrantList:
+ allOf:
+ - allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: |-
+ **Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
+
+ The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ type: object
+ - properties:
+ registrants:
+ description: List of registrant objects.
+ items:
+ allOf:
+ - properties:
+ id:
+ description: Registrant ID.
+ type: string
+ type: object
+ - allOf:
+ - description: Registrant base object.
+ properties:
+ address:
+ description: Registrant's address.
+ type: string
+ city:
+ description: Registrant's city.
+ type: string
+ comments:
+ description: A field that allows registrants to provide any questions or comments that they might have.
+ type: string
+ country:
+ description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
+ type: string
+ custom_questions:
+ description: Custom questions.
+ items:
+ description: Custom Question.
+ properties:
+ title:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ email:
+ description: A valid email address of the registrant.
+ maxLength: 128
+ type: string
+ first_name:
+ description: Registrant's first name.
+ maxLength: 64
+ type: string
+ industry:
+ description: Registrant's Industry.
+ type: string
+ job_title:
+ description: Registrant's job title.
+ type: string
+ last_name:
+ description: Registrant's last name.
+ maxLength: 64
+ type: string
+ no_of_employees:
+ description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
+ type: string
+ org:
+ description: Registrant's Organization.
+ type: string
+ phone:
+ description: Registrant's Phone number.
+ type: string
+ purchasing_time_frame:
+ description: |-
+ This field can be included to gauge interest of webinar attendees towards buying your product or service.
+
+ Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
+ type: string
+ role_in_purchase_process:
+ description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
+ type: string
+ state:
+ description: Registrant's State/Province.
+ type: string
+ zip:
+ description: Registrant's Zip/Postal Code.
+ type: string
+ required:
+ - email
+ - first_name
+ type: object
+ description: " Registrant."
+ type: object
+ - properties:
+ create_time:
+ description: The time at which the registrant registered.
+ format: date-time
+ type: string
+ join_url:
+ description: The URL using which an approved registrant can join the webinar.
+ format: string
+ type: string
+ status:
+ description: "The status of the registrant's registration. `approved`: User has been successfully approved for the webinar. `pending`: The registration is still pending. `denied`: User has been denied from joining the webinar."
+ type: string
+ type: object
+ type: array
+ description: List of users.
+ title: Registration List
+ type: object
+ description: List of users.
+ title: Registration List
+ type: object
+ WebinarRegistrantQuestions:
+ description: Webinar Registrant Questions
+ properties:
+ custom_questions:
+ description: Array of Registrant Custom Questions.
+ items:
+ properties:
+ answers:
+ description: An array of answer choices. Can't be used for short answer type.
+ items:
+ type: string
+ type: array
+ required:
+ description: State whether or not the custom question is required to be answered by a registrant.
+ type: boolean
+ title:
+ description: Custom question.
+ type: string
+ type:
+ description: The question-answer type.
+ enum:
+ - short
+ - single_radio
+ - single_dropdown
+ - multiple
+ type: string
+ x-enum-descriptions:
+ - Short Answer
+ - Single Radio Answer
+ - Single Dropdown Answer
+ - Multiple Answer
+ type: array
+ questions:
+ description: Array of registration fields whose values should be provided by registrants during registration.
+ items:
+ properties:
+ field_name:
+ description: Field name
+ enum:
+ - last_name
+ - address
+ - city
+ - country
+ - zip
+ - state
+ - phone
+ - industry
+ - org
+ - job_title
+ - purchasing_time_frame
+ - role_in_purchase_process
+ - no_of_employees
+ - comments
+ type: string
+ x-enum-descriptions:
+ - Last Name
+ - Address
+ - City
+ - Country/Region
+ - Zip/Postal Code
+ - State/Province
+ - Phone
+ - Industry
+ - Organization
+ - Job Title
+ - Purchasing Time Frame
+ - Role in Purchase Process
+ - Number of Employees
+ - Questions & Comments
+ required:
+ description: State whether the selected fields are required or optional.
+ type: boolean
+ type: array
+ title: Webinar Registrant Questions
+ type: object
+ WebinarSettings:
+ description: Webinar settings.
+ properties:
+ allow_multiple_devices:
+ description: Allow attendees to join from multiple devices.
+ type: boolean
+ alternative_hosts:
+ description: Alternative host emails or IDs. Multiple values separated by comma.
+ type: string
+ approval_type:
+ default: 2
+ description: "`0` - Automatically approve. `1` - Manually approve. `2` - No registration required."
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ attendees_and_panelists_reminder_email_notification:
+ description: Send reminder email to attendees and panelists.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send reminder email to attendees and panelists.
+
+ * `false`: Do not send reminder email to attendees and panelists.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 hour before webinar.
+ - Send 1 day before webinar.
+ - Send 1 hour and 1 day before webinar.
+ - Send 1 week before webinar.
+ - Send 1 hour and 1 week before webinar.
+ - Send 1 day and 1 week before webinar.
+ - Send 1 hour, 1 day and 1 week before webinar.
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the webinar.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
+ type: string
+ authentication_name:
+ description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
+ type: string
+ authentication_option:
+ description: Webinar authentication option id.
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ close_registration:
+ description: Close registration after event date.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ email_language:
+ description: |-
+ Set the email language to one of the following:
+ `en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
+ type: string
+ enforce_login:
+ description: |-
+ Only signed in users can join this meeting.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
+ type: boolean
+ enforce_login_domains:
+ description: |-
+ Only signed in users with specified domains can join meetings.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
+ type: string
+ follow_up_absentees_email_notification:
+ description: Send follow-up email to absentees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to absentees.
+
+ * `false`: Do not send follow-up email to absentees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 days after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ follow_up_attendees_email_notification:
+ description: Send follow-up email to attendees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to attendees.
+
+ * `false`: Do not send follow-up email to attendees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 day after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ hd_video:
+ default: false
+ description: Default to HD video.
+ type: boolean
+ host_video:
+ description: Start video when host joins webinar.
+ type: boolean
+ meeting_authentication:
+ description: "`true`- Only authenticated users can join Webinar."
+ type: boolean
+ notify_registrants:
+ description: Send notification email to registrants when the host updates a webinar.
+ type: boolean
+ on_demand:
+ default: false
+ description: Make the webinar on-demand
+ type: boolean
+ panelists_invitation_email_notification:
+ description: |-
+ * `true`: Send invitation email to panelists.
+
+ * `false`: Do not send invitation email to panelists.
+ type: boolean
+ panelists_video:
+ description: Start video when panelists join webinar.
+ type: boolean
+ post_webinar_survey:
+ description: Zoom will open a survey page in attendees' browsers after leaving the webinar
+ type: boolean
+ practice_session:
+ default: false
+ description: Enable practice session.
+ type: boolean
+ question_and_answer:
+ description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
+ properties:
+ allow_anonymous_questions:
+ description: |-
+ * `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
+
+ * `false`: Do not allow anonymous questions.
+ type: boolean
+ answer_questions:
+ description: |-
+ Indicate whether you want attendees to be able to view answered questions only or view all questions.
+
+ * `only`: Attendees are able to view answered questions only.
+
+ * `all`: Attendees are able to view all questions submitted in the Q&A.
+ enum:
+ - only
+ - all
+ type: string
+ attendees_can_comment:
+ description: |-
+ * `true`: Attendees can answer questions or leave a comment in the question thread.
+
+ * `false`: Attendees can not answer questions or leave a comment in the question thread
+ type: boolean
+ attendees_can_upvote:
+ description: |-
+ * `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
+
+ * `false`: Attendees can not click the thumbs up butoon on questions.
+ type: boolean
+ enable:
+ description: |-
+ * `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
+
+ * `false`: Disable Q&A for webinar.
+ type: boolean
+ type: object
+ registrants_confirmation_email:
+ description: Send confirmation email to registrants
+ type: boolean
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registrants_restrict_number:
+ default: 0
+ description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
+ maximum: 20000
+ minimum: 0
+ type: integer
+ registration_type:
+ default: 1
+ description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: Show social share buttons on the registration page.
+ type: boolean
+ survey_url:
+ description: Survey url for post webinar survey
+ type: string
+ type: object
+ WebinarUpdate:
+ allOf:
+ - description: Base webinar object for sessions.
+ properties:
+ agenda:
+ description: Webinar description.
+ type: string
+ duration:
+ description: Webinar duration (minutes). Used for scheduled webinar only.
+ type: integer
+ password:
+ description: |+
+ [Webinar passcode](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords). By default, passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ * !] and can have a maximum of 10 characters.
+
+ **Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
+
+ If "**Require a passcode when scheduling new meetings**" setting has been **enabled** **and** [locked](https://support.zoom.us/hc/en-us/articles/115005269866-Using-Tiered-Settings#locked) for the user, the passcode field will be autogenerated for the Webinar in the response even if it is not provided in the API request.
+
+
+
+
+
+
+
+ maxLength: 10
+ type: string
+ recurrence:
+ description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
+ properties:
+ end_date_time:
+ description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ default: 1
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |+
+ Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
+
+ type: integer
+ type:
+ description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ default: "1"
+ description: |-
+ This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - "1"
+ - "2"
+ - "3"
+ - "4"
+ - "5"
+ - "6"
+ - "7"
+ type: string
+ required:
+ - type
+ type: object
+ settings:
+ allOf:
+ - description: Webinar settings.
+ properties:
+ allow_multiple_devices:
+ description: Allow attendees to join from multiple devices.
+ type: boolean
+ alternative_hosts:
+ description: Alternative host emails or IDs. Multiple values separated by comma.
+ type: string
+ approval_type:
+ default: 2
+ description: "`0` - Automatically approve. `1` - Manually approve. `2` - No registration required."
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ attendees_and_panelists_reminder_email_notification:
+ description: Send reminder email to attendees and panelists.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send reminder email to attendees and panelists.
+
+ * `false`: Do not send reminder email to attendees and panelists.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 hour before webinar.
+ - Send 1 day before webinar.
+ - Send 1 hour and 1 day before webinar.
+ - Send 1 week before webinar.
+ - Send 1 hour and 1 week before webinar.
+ - Send 1 day and 1 week before webinar.
+ - Send 1 hour, 1 day and 1 week before webinar.
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the webinar.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
+ type: string
+ authentication_name:
+ description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
+ type: string
+ authentication_option:
+ description: Webinar authentication option id.
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ close_registration:
+ description: Close registration after event date.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ email_language:
+ description: |-
+ Set the email language to one of the following:
+ `en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
+ type: string
+ enforce_login:
+ description: |-
+ Only signed in users can join this meeting.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
+ type: boolean
+ enforce_login_domains:
+ description: |-
+ Only signed in users with specified domains can join meetings.
+
+ **This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
+ type: string
+ follow_up_absentees_email_notification:
+ description: Send follow-up email to absentees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to absentees.
+
+ * `false`: Do not send follow-up email to absentees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 days after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ follow_up_attendees_email_notification:
+ description: Send follow-up email to attendees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to attendees.
+
+ * `false`: Do not send follow-up email to attendees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 day after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ hd_video:
+ default: false
+ description: Default to HD video.
+ type: boolean
+ host_video:
+ description: Start video when host joins webinar.
+ type: boolean
+ meeting_authentication:
+ description: "`true`- Only authenticated users can join Webinar."
+ type: boolean
+ notify_registrants:
+ description: Send notification email to registrants when the host updates a webinar.
+ type: boolean
+ on_demand:
+ default: false
+ description: Make the webinar on-demand
+ type: boolean
+ panelists_invitation_email_notification:
+ description: |-
+ * `true`: Send invitation email to panelists.
+
+ * `false`: Do not send invitation email to panelists.
+ type: boolean
+ panelists_video:
+ description: Start video when panelists join webinar.
+ type: boolean
+ post_webinar_survey:
+ description: Zoom will open a survey page in attendees' browsers after leaving the webinar
+ type: boolean
+ practice_session:
+ default: false
+ description: Enable practice session.
+ type: boolean
+ question_and_answer:
+ description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
+ properties:
+ allow_anonymous_questions:
+ description: |-
+ * `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
+
+ * `false`: Do not allow anonymous questions.
+ type: boolean
+ answer_questions:
+ description: |-
+ Indicate whether you want attendees to be able to view answered questions only or view all questions.
+
+ * `only`: Attendees are able to view answered questions only.
+
+ * `all`: Attendees are able to view all questions submitted in the Q&A.
+ enum:
+ - only
+ - all
+ type: string
+ attendees_can_comment:
+ description: |-
+ * `true`: Attendees can answer questions or leave a comment in the question thread.
+
+ * `false`: Attendees can not answer questions or leave a comment in the question thread
+ type: boolean
+ attendees_can_upvote:
+ description: |-
+ * `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
+
+ * `false`: Attendees can not click the thumbs up butoon on questions.
+ type: boolean
+ enable:
+ description: |-
+ * `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
+
+ * `false`: Disable Q&A for webinar.
+ type: boolean
+ type: object
+ registrants_confirmation_email:
+ description: Send confirmation email to registrants
+ type: boolean
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registrants_restrict_number:
+ default: 0
+ description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
+ maximum: 20000
+ minimum: 0
+ type: integer
+ registration_type:
+ default: 1
+ description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: Show social share buttons on the registration page.
+ type: boolean
+ survey_url:
+ description: Survey url for post webinar survey
+ type: string
+ type: object
+ - properties:
+ registrants_confirmation_email:
+ description: Send confirmation email to registrants.
+ type: boolean
+ type: object
+ start_time:
+ description: Webinar start time, in the format "yyyy-MM-dd'T'HH:mm:ss'Z'." Should be in GMT time. In the format "yyyy-MM-dd'T'HH:mm:ss." This should be in local time and the timezone should be specified. Only used for scheduled webinars and recurring webinars with a fixed time.
+ format: date-time
+ type: string
+ timezone:
+ description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [time zone](#timezones) list for supported time zones and their formats.
+ type: string
+ topic:
+ description: Webinar topic.
+ type: string
+ tracking_fields:
+ description: Tracking fields
+ items:
+ properties:
+ field:
+ description: Tracking fields type
+ type: string
+ value:
+ description: Tracking fields value
+ type: string
+ type: object
+ type: array
+ type:
+ default: 5
+ description: Webinar Types: `5` - webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
+ enum:
+ - 5
+ - 6
+ - 9
+ type: integer
+ x-enum-descriptions:
+ - Webinar
+ - Recurring Webinar with no fixed time
+ - Recurring Webinar with fixed time
+ type: object
+ description: Webinar object
+ type: object
+ ZoomRoom:
+ description: Zoom room.
+ properties:
+ account_type:
+ description: Zoom room email type.
+ type: string
+ calender_name:
+ description: Zoom calendar name.
+ type: string
+ camera:
+ description: Zoom room camera.
+ type: string
+ device_ip:
+ description: Zoom room device IP.
+ type: string
+ email:
+ description: Zoom room email.
+ type: string
+ health:
+ type: string
+ id:
+ description: Zoom room ID.
+ type: string
+ issues:
+ description: Zoom Room issues.
+ items:
+ type: string
+ type: array
+ last_start_time:
+ description: Zoom room last start time.
+ type: string
+ location:
+ description: Zoom room location.
+ type: string
+ microphone:
+ description: Zoom room microphone.
+ type: string
+ room_name:
+ description: Zoom room name.
+ type: string
+ speaker:
+ description: Zoom room speaker.
+ type: string
+ status:
+ description: Zoom room status.
+ type: string
+ title: Zoom Room
+ type: object
+ ZoomRoomList:
+ allOf:
+ - description: Pagination Object.
+ properties:
+ next_page_token:
+ type: string
+ page_count:
+ description: The number of pages returned for the request made.
+ type: integer
+ page_number:
+ default: 1
+ description: The page number of the current results.
+ type: integer
+ page_size:
+ default: 30
+ description: The number of records returned with a single API call.
+ maximum: 300
+ type: integer
+ total_records:
+ description: The total number of all the records available across pages.
+ type: integer
+ - properties:
+ zoom_rooms:
+ description: Array of Zoom Rooms
+ items:
+ description: Zoom room.
+ properties:
+ account_type:
+ description: Zoom room email type.
+ type: string
+ calender_name:
+ description: Zoom calendar name.
+ type: string
+ camera:
+ description: Zoom room camera.
+ type: string
+ device_ip:
+ description: Zoom room device IP.
+ type: string
+ email:
+ description: Zoom room email.
+ type: string
+ health:
+ type: string
+ id:
+ description: Zoom room ID.
+ type: string
+ issues:
+ description: Zoom Room issues.
+ items:
+ type: string
+ type: array
+ last_start_time:
+ description: Zoom room last start time.
+ type: string
+ location:
+ description: Zoom room location.
+ type: string
+ microphone:
+ description: Zoom room microphone.
+ type: string
+ room_name:
+ description: Zoom room name.
+ type: string
+ speaker:
+ description: Zoom room speaker.
+ type: string
+ status:
+ description: Zoom room status.
+ type: string
+ title: Zoom Room
+ type: object
+ type: array
+ description: Zoom Room List
+ title: Zoom Room List
+ type: object
+ authenticationusersettings:
+ oneOf:
+ - description: Set/ update [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars).
The authentication profile **must first be set at the account level via the account settings**, and later can be disabled after enabling on the preferred level - i.e. user level using user settings or at group level via group settings (if you do not want the settings to be enabled on the entire account).
+ properties:
+ authentication_option:
+ description: Meeting Authentication Options
+ properties:
+ action:
+ description: |-
+ Specify the action that you would like to take via this API request:
+ * `add` : Choose this value if you are adding an authentication option.
+ * `update`: Choose this value if you are updating an existing authentication option.
+ * `delete`: Choose this value if you are deleting an existing authentication option.
+ enum:
+ - update
+ - delete
+ - add
+ type: string
+ default_option:
+ description: Specify whether you would like to set this authentication option as the default option or not.
+ type: boolean
+ domains:
+ description: "If you chose `enforce_login_with_domains` as the authentication type, specify the domain(s) that you want to allow to join your meetings or webinars. "
+ type: string
+ id:
+ description: |2-
+ Authentication ID. You can get the ID from Get User Settings API with query parameter `option` set to `meeting_authentication`.
+ Use this field or the `name` field to identify the associated authentication option that you would like to update.
+ type: string
+ name:
+ description: Unique name for the authentication option.
+ type: string
+ type:
+ description: |2-
+ Authentication type. Specify one of the following authentication types for the authentication profile:
+ * `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
+ * `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
+ enum:
+ - enforce_login
+ - enforce_login_with_domains
+ type: string
+ type: object
+ meeting_authentication:
+ description: 'If set to "true", only authenticated users can join meetings. The method for authentication can be defined in the "authentication_option". '
+ type: boolean
+ - description: Set/Update [authentication profile for Cloud Recordings](https://support.zoom.us/hc/en-us/articles/360037756671-Authentication-Profiles-for-Cloud-Recordings).
+ properties:
+ authentication_option:
+ description: Specify the authentication options for this account.
+ properties:
+ action:
+ description: |-
+ Specify the action that you would like to take via this API request:
+
+ * `update`: Choose this value if you are updating an existing authentication option.
+ * `show` : Choose this value if you would like this option to be one of the authentication options that the host can use for sharing the recording settings.
+ * `hide`: Choose this value if you would like this option to not be made available to the host for recording sharing settings.
+ enum:
+ - update
+ - delete
+ - add
+ type: string
+ default_option:
+ description: Specify whether you would like to set this authentication option as the default option or not.
+ type: boolean
+ domains:
+ description: "If you chose `enforce_login_with_domains` as the authentication type, specify the domain(s) that you want to allow to view the recordings. "
+ type: string
+ id:
+ description: |2-
+ Authentication ID. You can get the ID from Get User Settings API with query parameter `option` set to `recording_authentication`.
+
+ Use this field or the `name` field to identify the associated authentication option that you would like to update or delete.
+ type: string
+ name:
+ description: Unique name for the authentication option.
+ type: string
+ type:
+ description: |+
+ Specify one authentication type that is to be associated with this authentication configuration:
+ * `internally`: This option allows you specify a rule that only signed in users within your account can view the recording.
+ * `enforce_login`: This option allows any users to view the recording, as long as they are signed into their Zoom account.
+ * `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can view the recording. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
+
+ enum:
+ - internally
+ - enforce_login
+ - enforce_login_with_domains
+ type: string
+ type: object
+ recording_authentication:
+ description: |-
+ If set to `true`, only authenticated users can view the cloud recordings.
+ The authentication profile **must first be set at the account level via the account settings**, and later can be disabled after enabling on the preferred level - i.e. user level using user settings or at group level via group settings (if you do not want the settings to be enabled on the entire account).
+ type: boolean
+ title: UserSettingsAuthenticationUpdate
+ type: object
+ create_webinar:
+ description: Base webinar object for sessions.
+ properties:
+ agenda:
+ description: Webinar description.
+ type: string
+ duration:
+ description: Webinar duration (minutes). Used for scheduled webinars only.
+ type: integer
+ password:
+ description: |+
+ Webinar passcode. Passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ * !]. Max of 10 characters.
+
+ If "Require a passcode when scheduling new meetings" setting has been **enabled** **and** [locked](https://support.zoom.us/hc/en-us/articles/115005269866-Using-Tiered-Settings#locked) for the user, the passcode field will be autogenerated for the Webinar in the response even if it is not provided in the API request.
+
+ **Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
+
+
+
+ type: string
+ recurrence:
+ description: "Recurrence object. Use this object only for a webinar of type `9` i.e., a recurring webinar with fixed time. "
+ properties:
+ end_date_time:
+ description: Select a date when the webinar will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the webinar will recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring webinar of type** `3` to state which day in a month, the webinar should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the webinar to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the webinar to recur once every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state the week of the month when the webinar should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the webinar should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state a specific day in a week when the monthly webinar should recur. To use this field, you must also use the `monthly_week` field. `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |-
+ Define the interval at which the webinar should recur. For instance, if you would like to schedule a Webinar that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily webinar, the maximum interval you can set is `90` days. For a weekly webinar, the maximum interval that you can set is `12` weeks. For a monthly webinar, the maximum interval that you can set is `3` months.
+ type: integer
+ type:
+ description: Recurrence webinar types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ description: |+
+ Use this field **only if you're scheduling a recurring webinar of type** `2` to state which day(s) of the week the webinar should repeat. The value for this field could be a number between `1` to `7` in string format. For instance, if the Webinar should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the webinar to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the Webinar should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+
+ type: string
+ required:
+ - type
+ title: Recurrence Webinar
+ type: object
+ settings:
+ description: Create Webinar settings.
+ properties:
+ allow_multiple_devices:
+ description: Allow attendees to join from multiple devices.
+ type: boolean
+ alternative_hosts:
+ description: Alternative host emails or IDs. Multiple values separated by comma.
+ type: string
+ approval_type:
+ default: 2
+ description: |-
+ The default value is `2`. To enable registration required, set the approval type to `0` or `1`. Values include:
+
+ `0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+ x-enum-descriptions:
+ - Automatically Approve
+ - Manually Approve
+ - No Registration Required
+ attendees_and_panelists_reminder_email_notification:
+ description: Send reminder email to attendees and panelists.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send reminder email to attendees and panelists.
+
+ * `false`: Do not send reminder email to attendees and panelists.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 hour before webinar.
+ - Send 1 day before webinar.
+ - Send 1 hour and 1 day before webinar.
+ - Send 1 week before webinar.
+ - Send 1 hour and 1 week before webinar.
+ - Send 1 day and 1 week before webinar.
+ - Send 1 hour, 1 day and 1 week before webinar.
+ type: object
+ audio:
+ default: both
+ description: Determine how participants can join the audio portion of the meeting.
+ enum:
+ - both
+ - telephony
+ - voip
+ type: string
+ x-enum-descriptions:
+ - Both Telephony and VoIP
+ - Telephony only
+ - VoIP only
+ authentication_domains:
+ description: Meeting authentication domains. This option, allows you to specify the rule so that Zoom users, whose email address contains a certain domain, can join the Webinar. You can either provide multiple domains, using a comma in between and/or use a wildcard for listing domains.
+ type: string
+ authentication_option:
+ description: Specify the authentication type for users to join a Webinar with`meeting_authentication` setting set to `true`. The value of this field can be retrieved from the `id` field within `authentication_options` array in the response of [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings).
+ type: string
+ auto_recording:
+ default: none
+ description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
+ enum:
+ - local
+ - cloud
+ - none
+ type: string
+ x-enum-descriptions:
+ - Record to local device
+ - Record to cloud
+ - No Recording
+ close_registration:
+ description: Close registration after event date.
+ type: boolean
+ contact_email:
+ description: Contact email for registration
+ type: string
+ contact_name:
+ description: Contact name for registration
+ type: string
+ email_language:
+ description: |-
+ Set the email language to one of the following:
+ `en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
+ type: string
+ enforce_login:
+ description: |-
+ Only signed-in users can join this meeting.
+
+ **This field is deprecated and will not be supported in future.**
Instead of this field, use the "meeting_authentication", "authentication_option" and/or "authentication_domains" fields to establish the authentication mechanism for this Webinar.
+ type: boolean
+ enforce_login_domains:
+ description: |-
+ Only signed-in users with specified domains can join meetings.
+
+ **This field is deprecated and will not be supported in future.**
Instead of this field, use the "authentication_domains" field for this Webinar.
+ type: string
+ follow_up_absentees_email_notification:
+ description: Send follow-up email to absentees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to absentees.
+
+ * `false`: Do not send follow-up email to absentees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 days after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ follow_up_attendees_email_notification:
+ description: Send follow-up email to attendees.
+ properties:
+ enable:
+ description: |-
+ * `true`: Send follow-up email to attendees.
+
+ * `false`: Do not send follow-up email to attendees.
+ type: boolean
+ type:
+ description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Send 1 day after the scheduled end date.
+ - Send 2 days after the scheduled end date.
+ - Send 3 days after the scheduled end date.
+ - Send 4 days after the scheduled end date.
+ - Send 5 days after the scheduled end date.
+ - Send 6 days after the scheduled end date.
+ - Send 7 days after the scheduled end date.
+ type: object
+ global_dial_in_countries:
+ description: List of global dial-in countries
+ items:
+ type: string
+ type: array
+ hd_video:
+ default: false
+ description: Default to HD video.
+ type: boolean
+ host_video:
+ description: Start video when host joins webinar.
+ type: boolean
+ meeting_authentication:
+ description: Only [authenticated](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) users can join meeting if the value of this field is set to `true`.
+ type: boolean
+ on_demand:
+ default: false
+ description: Make the webinar on-demand
+ type: boolean
+ panelists_invitation_email_notification:
+ description: |-
+ * `true`: Send invitation email to panelists.
+
+ * `false`: Do not send invitation email to panelists.
+ type: boolean
+ panelists_video:
+ description: Start video when panelists join webinar.
+ type: boolean
+ post_webinar_survey:
+ description: Zoom will open a survey page in attendees' browsers after leaving the webinar
+ type: boolean
+ practice_session:
+ default: false
+ description: Enable practice session.
+ type: boolean
+ question_and_answer:
+ description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
+ properties:
+ allow_anonymous_questions:
+ description: |-
+ * `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
+
+ * `false`: Do not allow anonymous questions.
+ type: boolean
+ answer_questions:
+ description: |-
+ Indicate whether you want attendees to be able to view answered questions only or view all questions.
+
+ * `only`: Attendees are able to view answered questions only.
+
+ * `all`: Attendees are able to view all questions submitted in the Q&A.
+ enum:
+ - only
+ - all
+ type: string
+ attendees_can_comment:
+ description: |-
+ * `true`: Attendees can answer questions or leave a comment in the question thread.
+
+ * `false`: Attendees can not answer questions or leave a comment in the question thread
+ type: boolean
+ attendees_can_upvote:
+ description: |-
+ * `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
+
+ * `false`: Attendees can not click the thumbs up butoon on questions.
+ type: boolean
+ enable:
+ description: |-
+ * `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
+
+ * `false`: Disable Q&A for webinar.
+ type: boolean
+ type: object
+ registrants_email_notification:
+ description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
+ type: boolean
+ registrants_restrict_number:
+ default: 0
+ description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
+ maximum: 20000
+ minimum: 0
+ type: integer
+ registration_type:
+ default: 1
+ description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Attendees register once and can attend any of the occurrences
+ - Attendees need to register for each occurrence to attend
+ - Attendees register once and can choose one or more occurrences to attend
+ show_share_button:
+ description: Show social share buttons on the registration page.
+ type: boolean
+ survey_url:
+ description: Survey url for post webinar survey
+ type: string
+ type: object
+ start_time:
+ description: |-
+ Webinar start time. We support two formats for `start_time` - local time and GMT.
+
+ To set time as GMT the format should be `yyyy-MM-dd`T`HH:mm:ssZ`.
+
+ To set time using a specific timezone, use `yyyy-MM-dd`T`HH:mm:ss` format and specify the timezone [ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) in the `timezone` field OR leave it blank and the timezone set on your Zoom account will be used. You can also set the time as UTC as the timezone field.
+
+ The `start_time` should only be used for scheduled and / or recurring webinars with fixed time.
+ format: date-time
+ type: string
+ timezone:
+ description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) list for supported time zones and their formats.
+ type: string
+ topic:
+ description: Webinar topic.
+ type: string
+ tracking_fields:
+ description: Tracking fields
+ items:
+ properties:
+ field:
+ description: Tracking fields type
+ type: string
+ value:
+ description: Tracking fields value
+ type: string
+ required:
+ - field
+ type: object
+ type: array
+ type:
+ default: 5
+ description: Webinar Types: `5` - Webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
+ enum:
+ - 5
+ - 6
+ - 9
+ type: integer
+ x-enum-descriptions:
+ - Webinar
+ - Recurring Webinar with no fixed time
+ - Recurring Webinar with fixed time
+ type: object
+ listmeetingmetrics:
+ description: Meeting metric details.
+ properties:
+ custom_keys:
+ description: Custom keys and values assigned to the meeting.
+ items:
+ properties:
+ key:
+ description: Custom key associated with the meeting.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the custom key associated with the meeting.
+ maxLength: 256
+ type: string
+ type: object
+ maxItems: 10
+ type: array
+ dept:
+ description: Department of the host.
+ type: string
+ duration:
+ description: "Meeting duration. Formatted as hh:mm:ss, for example: `16:08` for 16 minutes and 8 seconds."
+ type: string
+ email:
+ description: Email address of the host.
+ type: string
+ end_time:
+ description: Meeting end time.
+ format: date-time
+ type: string
+ has_3rd_party_audio:
+ description: Indicates whether or not [third party audio](https://support.zoom.us/hc/en-us/articles/202470795-3rd-Party-Audio-Conference) was used in the meeting.
+ type: boolean
+ has_pstn:
+ description: Indicates whether or not the PSTN was used in the meeting.
+ type: boolean
+ has_recording:
+ description: "Indicates whether or not the recording feature was used in the meeting. "
+ type: boolean
+ has_screen_share:
+ description: Indicates whether or not screenshare feature was used in the meeting.
+ type: boolean
+ has_sip:
+ description: Indicates whether or not someone joined the meeting using SIP.
+ type: boolean
+ has_video:
+ description: Indicates whether or not video was used in the meeting.
+ type: boolean
+ has_voip:
+ description: Indicates whether or not VoIP was used in the meeting.
+ type: boolean
+ host:
+ description: Host display name.
+ type: string
+ id:
+ description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
+ format: int64
+ type: integer
+ in_room_participants:
+ description: The number of Zoom Room participants in the meeting.
+ type: integer
+ participants:
+ description: Meeting participant count.
+ type: integer
+ start_time:
+ description: Meeting start time.
+ format: date-time
+ type: string
+ topic:
+ description: Meeting topic.
+ type: string
+ tracking_fields:
+ description: Tracking fields and values assigned to the meeting.
+ items:
+ properties:
+ field:
+ description: Label of the tracking field.
+ maxLength: 64
+ type: string
+ value:
+ description: Value of the tracking field.
+ maxLength: 256
+ type: string
+ type: object
+ type: array
+ user_type:
+ description: License type of the user.
+ type: string
+ uuid:
+ description: Meeting UUID. Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
+ format: uuid
+ type: string
+ title: Metrics
+ type: object
+ recurrence-webinar:
+ description: "Recurrence object. Use this object only for a webinar of type `9` i.e., a recurring webinar with fixed time. "
+ properties:
+ end_date_time:
+ description: Select a date when the webinar will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
+ format: date-time
+ type: string
+ end_times:
+ default: 1
+ description: Select how many times the webinar will recur before it is canceled. (Cannot be used with "end_date_time".)
+ maximum: 365
+ type: integer
+ monthly_day:
+ description: |-
+ Use this field **only if you're scheduling a recurring webinar of type** `3` to state which day in a month, the webinar should recur. The value range is from 1 to 31.
+
+ For instance, if you would like the webinar to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the webinar to recur once every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
+ type: integer
+ monthly_week:
+ description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state the week of the month when the webinar should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the webinar should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
+ enum:
+ - -1
+ - 1
+ - 2
+ - 3
+ - 4
+ type: integer
+ x-enum-descriptions:
+ - Last week
+ - First week
+ - Second week
+ - Third week
+ - Fourth week
+ monthly_week_day:
+ description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state a specific day in a week when the monthly webinar should recur. To use this field, you must also use the `monthly_week` field. `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ x-enum-descriptions:
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ repeat_interval:
+ description: |-
+ Define the interval at which the webinar should recur. For instance, if you would like to schedule a Webinar that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
+
+ For a daily webinar, the maximum interval you can set is `90` days. For a weekly webinar, the maximum interval that you can set is `12` weeks. For a monthly webinar, the maximum interval that you can set is `3` months.
+ type: integer
+ type:
+ description: Recurrence webinar types: `1` - Daily. `2` - Weekly. `3` - Monthly.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ x-enum-descriptions:
+ - Daily
+ - Weekly
+ - Monthly
+ weekly_days:
+ description: |+
+ Use this field **only if you're scheduling a recurring webinar of type** `2` to state which day(s) of the week the webinar should repeat. The value for this field could be a number between `1` to `7` in string format. For instance, if the Webinar should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the webinar to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the Webinar should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
+
+ `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
+
+ type: string
+ required:
+ - type
+ title: Recurrence Webinar
+ type: object
+ tsp-global-dial-in:
+ properties:
+ audio_url:
+ description: The global dial-in URL for a TSP enabled account. The URL must be valid with a max-length of 512 characters.
+ maxLength: 512
+ type: string
+ title: TSP Global Dial-In URL Setting
+ type: object
+ securitySchemes:
+ Bearer:
+ in: header
+ name: Authorization
+ type: apiKey
+ Client_Credentials:
+ description: Client Credentials Flow for ChatBots
+ flows:
+ clientCredentials:
+ scopes: {}
+ tokenUrl: https://api.zoom.us/oauth/token
+ type: oauth2
+ OAuth:
+ flows:
+ authorizationCode:
+ authorizationUrl: https://zoom.us/oauth/authorize
+ scopes: {}
+ tokenUrl: https://zoom.us/oauth/token
+ type: oauth2
+x-stoplight:
+ docs:
+ includeDownloadLink: true
+ showModels: false
diff --git a/Tests/Fixtures/real-yaml/argocd-applicationset-design.yaml b/Tests/Fixtures/real-yaml/argocd-applicationset-design.yaml
new file mode 100644
index 0000000..7ab4e82
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/argocd-applicationset-design.yaml
@@ -0,0 +1,24 @@
+# This is an example of a typical ApplicationSet which uses the cluster generator.
+# An ApplicationSet is comprised with two stanzas:
+# - spec.generator - producer of a list of values supplied as arguments to an app template
+# - spec.template - an application template, which has been parameterized
+apiVersion: argoproj.io/v1alpha1
+kind: ApplicationSet
+metadata:
+ name: guestbook
+spec:
+ goTemplate: true
+ goTemplateOptions: ["missingkey=error"]
+ generators:
+ - clusters: {}
+ template:
+ metadata:
+ name: '{{.name}}-guestbook'
+ spec:
+ source:
+ repoURL: https://github.com/infra-team/cluster-deployments.git
+ targetRevision: HEAD
+ chart: guestbook
+ destination:
+ server: '{{.server}}'
+ namespace: guestbook
diff --git a/Tests/Fixtures/real-yaml/argocd-prometheus-operator-values.yaml b/Tests/Fixtures/real-yaml/argocd-prometheus-operator-values.yaml
new file mode 100644
index 0000000..f09e904
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/argocd-prometheus-operator-values.yaml
@@ -0,0 +1 @@
+# Blank values.yaml
diff --git a/Tests/Fixtures/real-yaml/awesome-compose-angular-compose-yaml.yaml b/Tests/Fixtures/real-yaml/awesome-compose-angular-compose-yaml.yaml
new file mode 100644
index 0000000..26c2842
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/awesome-compose-angular-compose-yaml.yaml
@@ -0,0 +1,10 @@
+services:
+ web:
+ build:
+ context: angular
+ target: builder
+ ports:
+ - 4200:4200
+ volumes:
+ - ./angular:/project
+ - /project/node_modules
diff --git a/Tests/Fixtures/real-yaml/awesome-compose-apache-php-compose-yaml.yaml b/Tests/Fixtures/real-yaml/awesome-compose-apache-php-compose-yaml.yaml
new file mode 100644
index 0000000..d15644b
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/awesome-compose-apache-php-compose-yaml.yaml
@@ -0,0 +1,9 @@
+services:
+ web:
+ build:
+ context: app
+ target: builder
+ ports:
+ - '80:80'
+ volumes:
+ - ./app:/var/www/html/
diff --git a/Tests/Fixtures/real-yaml/awesome-compose-aspnet-mssql-compose-yaml.yaml b/Tests/Fixtures/real-yaml/awesome-compose-aspnet-mssql-compose-yaml.yaml
new file mode 100644
index 0000000..3fe4acd
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/awesome-compose-aspnet-mssql-compose-yaml.yaml
@@ -0,0 +1,22 @@
+services:
+ web:
+ build: app/aspnetapp
+ ports:
+ - 80:80
+ db:
+ environment:
+ ACCEPT_EULA: "Y"
+ SA_PASSWORD: example_123
+ # mssql server image isn't available for arm64 architecture, so we use azure-sql instead
+ image: mcr.microsoft.com/azure-sql-edge:1.0.4
+ # If you really want to use MS SQL Server, uncomment the following line
+ #image: mcr.microsoft.com/mssql/server
+ restart: always
+ healthcheck:
+ test: ["CMD-SHELL", "/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P example_123 -Q 'SELECT 1' || exit 1"]
+ interval: 10s
+ retries: 10
+ start_period: 10s
+ timeout: 3s
+
+
diff --git a/Tests/Fixtures/real-yaml/awesome-compose-django-compose-yaml.yaml b/Tests/Fixtures/real-yaml/awesome-compose-django-compose-yaml.yaml
new file mode 100644
index 0000000..88df6d3
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/awesome-compose-django-compose-yaml.yaml
@@ -0,0 +1,7 @@
+services:
+ web:
+ build:
+ context: app
+ target: builder
+ ports:
+ - '8000:8000'
diff --git a/Tests/Fixtures/real-yaml/awesome-compose-elasticsearch-logstash-kibana-compose-yaml.yaml b/Tests/Fixtures/real-yaml/awesome-compose-elasticsearch-logstash-kibana-compose-yaml.yaml
new file mode 100644
index 0000000..fec70c1
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/awesome-compose-elasticsearch-logstash-kibana-compose-yaml.yaml
@@ -0,0 +1,48 @@
+services:
+ elasticsearch:
+ image: elasticsearch:7.16.1
+ container_name: es
+ environment:
+ discovery.type: single-node
+ ES_JAVA_OPTS: "-Xms512m -Xmx512m"
+ ports:
+ - "9200:9200"
+ - "9300:9300"
+ healthcheck:
+ test: ["CMD-SHELL", "curl --silent --fail localhost:9200/_cluster/health || exit 1"]
+ interval: 10s
+ timeout: 10s
+ retries: 3
+ networks:
+ - elastic
+ logstash:
+ image: logstash:7.16.1
+ container_name: log
+ environment:
+ discovery.seed_hosts: logstash
+ LS_JAVA_OPTS: "-Xms512m -Xmx512m"
+ volumes:
+ - ./logstash/pipeline/logstash-nginx.config:/usr/share/logstash/pipeline/logstash-nginx.config
+ - ./logstash/nginx.log:/home/nginx.log
+ ports:
+ - "5000:5000/tcp"
+ - "5000:5000/udp"
+ - "5044:5044"
+ - "9600:9600"
+ depends_on:
+ - elasticsearch
+ networks:
+ - elastic
+ command: logstash -f /usr/share/logstash/pipeline/logstash-nginx.config
+ kibana:
+ image: kibana:7.16.1
+ container_name: kib
+ ports:
+ - "5601:5601"
+ depends_on:
+ - elasticsearch
+ networks:
+ - elastic
+networks:
+ elastic:
+ driver: bridge
diff --git a/Tests/Fixtures/real-yaml/awesome-compose-fastapi-compose-yaml.yaml b/Tests/Fixtures/real-yaml/awesome-compose-fastapi-compose-yaml.yaml
new file mode 100644
index 0000000..c481217
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/awesome-compose-fastapi-compose-yaml.yaml
@@ -0,0 +1,11 @@
+services:
+ api:
+ build:
+ context: .
+ target: builder
+ container_name: fastapi-application
+ environment:
+ PORT: 8000
+ ports:
+ - '8000:8000'
+ restart: "no"
diff --git a/Tests/Fixtures/real-yaml/awesome-compose-flask-compose-yaml.yaml b/Tests/Fixtures/real-yaml/awesome-compose-flask-compose-yaml.yaml
new file mode 100644
index 0000000..a6a8672
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/awesome-compose-flask-compose-yaml.yaml
@@ -0,0 +1,10 @@
+services:
+ web:
+ build:
+ context: app
+ target: builder
+ # flask requires SIGINT to stop gracefully
+ # (default stop signal from Compose is SIGTERM)
+ stop_signal: SIGINT
+ ports:
+ - '8000:8000'
diff --git a/Tests/Fixtures/real-yaml/awesome-compose-flask-redis-compose-yaml.yaml b/Tests/Fixtures/real-yaml/awesome-compose-flask-redis-compose-yaml.yaml
new file mode 100644
index 0000000..0a7e60c
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/awesome-compose-flask-redis-compose-yaml.yaml
@@ -0,0 +1,18 @@
+services:
+ redis:
+ image: redislabs/redismod
+ ports:
+ - '6379:6379'
+ web:
+ build:
+ context: .
+ target: builder
+ # flask requires SIGINT to stop gracefully
+ # (default stop signal from Compose is SIGTERM)
+ stop_signal: SIGINT
+ ports:
+ - '8000:8000'
+ volumes:
+ - .:/code
+ depends_on:
+ - redis
diff --git a/Tests/Fixtures/real-yaml/awesome-compose-gitea-postgres-compose-yaml.yaml b/Tests/Fixtures/real-yaml/awesome-compose-gitea-postgres-compose-yaml.yaml
new file mode 100644
index 0000000..955ca49
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/awesome-compose-gitea-postgres-compose-yaml.yaml
@@ -0,0 +1,31 @@
+services:
+ gitea:
+ image: gitea/gitea:latest
+ environment:
+ - DB_TYPE=postgres
+ - DB_HOST=db:5432
+ - DB_NAME=gitea
+ - DB_USER=gitea
+ - DB_PASSWD=gitea
+ restart: always
+ volumes:
+ - git_data:/data
+ ports:
+ - 3000:3000
+ db:
+ image: postgres:alpine
+ environment:
+ - POSTGRES_USER=gitea
+ - POSTGRES_PASSWORD=gitea
+ - POSTGRES_DB=gitea
+ restart: always
+ volumes:
+ - db_data:/var/lib/postgresql/data
+ expose:
+ - 5432
+volumes:
+ db_data:
+ git_data:
+
+
+
diff --git a/Tests/Fixtures/real-yaml/awesome-compose-minecraft-compose-yaml.yaml b/Tests/Fixtures/real-yaml/awesome-compose-minecraft-compose-yaml.yaml
new file mode 100644
index 0000000..1fe1df7
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/awesome-compose-minecraft-compose-yaml.yaml
@@ -0,0 +1,13 @@
+services:
+ minecraft:
+ image: itzg/minecraft-server
+ ports:
+ - "25565:25565"
+ environment:
+ EULA: "TRUE"
+ deploy:
+ resources:
+ limits:
+ memory: 1.5G
+ volumes:
+ - "~/minecraft_data:/data"
diff --git a/Tests/Fixtures/real-yaml/awesome-compose-nextcloud-postgres-compose-yaml.yaml b/Tests/Fixtures/real-yaml/awesome-compose-nextcloud-postgres-compose-yaml.yaml
new file mode 100644
index 0000000..a72e2fb
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/awesome-compose-nextcloud-postgres-compose-yaml.yaml
@@ -0,0 +1,27 @@
+services:
+ nc:
+ image: nextcloud:apache
+ environment:
+ - POSTGRES_HOST=db
+ - POSTGRES_PASSWORD=nextcloud
+ - POSTGRES_DB=nextcloud
+ - POSTGRES_USER=nextcloud
+ ports:
+ - 80:80
+ restart: always
+ volumes:
+ - nc_data:/var/www/html
+ db:
+ image: postgres:alpine
+ environment:
+ - POSTGRES_PASSWORD=nextcloud
+ - POSTGRES_DB=nextcloud
+ - POSTGRES_USER=nextcloud
+ restart: always
+ volumes:
+ - db_data:/var/lib/postgresql/data
+ expose:
+ - 5432
+volumes:
+ db_data:
+ nc_data:
diff --git a/Tests/Fixtures/real-yaml/awesome-compose-nextcloud-redis-mariadb-compose-yaml.yaml b/Tests/Fixtures/real-yaml/awesome-compose-nextcloud-redis-mariadb-compose-yaml.yaml
new file mode 100644
index 0000000..674dcc3
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/awesome-compose-nextcloud-redis-mariadb-compose-yaml.yaml
@@ -0,0 +1,45 @@
+services:
+ nc:
+ image: nextcloud:apache
+ restart: always
+ ports:
+ - 80:80
+ volumes:
+ - nc_data:/var/www/html
+ networks:
+ - redisnet
+ - dbnet
+ environment:
+ - REDIS_HOST=redis
+ - MYSQL_HOST=db
+ - MYSQL_DATABASE=nextcloud
+ - MYSQL_USER=nextcloud
+ - MYSQL_PASSWORD=nextcloud
+ redis:
+ image: redis:alpine
+ restart: always
+ networks:
+ - redisnet
+ expose:
+ - 6379
+ db:
+ image: mariadb:10.5
+ command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
+ restart: always
+ volumes:
+ - db_data:/var/lib/mysql
+ networks:
+ - dbnet
+ environment:
+ - MYSQL_DATABASE=nextcloud
+ - MYSQL_USER=nextcloud
+ - MYSQL_ROOT_PASSWORD=nextcloud
+ - MYSQL_PASSWORD=nextcloud
+ expose:
+ - 3306
+volumes:
+ db_data:
+ nc_data:
+networks:
+ dbnet:
+ redisnet:
diff --git a/Tests/Fixtures/real-yaml/awesome-compose-nginx-aspnet-mysql-compose-yaml.yaml b/Tests/Fixtures/real-yaml/awesome-compose-nginx-aspnet-mysql-compose-yaml.yaml
new file mode 100644
index 0000000..41a1558
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/awesome-compose-nginx-aspnet-mysql-compose-yaml.yaml
@@ -0,0 +1,46 @@
+services:
+ backend:
+ build:
+ context: backend
+ restart: always
+ secrets:
+ - db-password
+ depends_on:
+ db:
+ condition: service_healthy
+ environment:
+ - ASPNETCORE_URLS=http://+:8000
+
+ db:
+ # We use a mariadb image which supports both amd64 & arm64 architecture
+ image: mariadb:10-focal
+ # If you really want to use MySQL, uncomment the following line
+ #image: mysql:8
+ command: '--default-authentication-plugin=mysql_native_password'
+ restart: always
+ healthcheck:
+ test: ['CMD-SHELL', 'mysqladmin ping -h 127.0.0.1 --password="$$(cat /run/secrets/db-password)" --silent']
+ interval: 3s
+ retries: 5
+ start_period: 30s
+ secrets:
+ - db-password
+ volumes:
+ - db-data:/var/lib/mysql
+ environment:
+ - MYSQL_DATABASE=example
+ - MYSQL_ROOT_PASSWORD_FILE=/run/secrets/db-password
+
+ proxy:
+ build: proxy
+ ports:
+ - 80:80
+ depends_on:
+ - backend
+
+volumes:
+ db-data:
+
+secrets:
+ db-password:
+ file: db/password.txt
diff --git a/Tests/Fixtures/real-yaml/awesome-compose-nginx-flask-mongo-compose-yaml.yaml b/Tests/Fixtures/real-yaml/awesome-compose-nginx-flask-mongo-compose-yaml.yaml
new file mode 100644
index 0000000..f7cb9a9
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/awesome-compose-nginx-flask-mongo-compose-yaml.yaml
@@ -0,0 +1,29 @@
+services:
+ web:
+ image: nginx
+ volumes:
+ - ./nginx/nginx.conf:/tmp/nginx.conf
+ environment:
+ - FLASK_SERVER_ADDR=backend:9091
+ command: /bin/bash -c "envsubst < /tmp/nginx.conf > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'"
+ ports:
+ - 80:80
+ depends_on:
+ - backend
+
+ backend:
+ build:
+ context: flask
+ target: builder
+ # flask requires SIGINT to stop gracefully
+ # (default stop signal from Compose is SIGTERM)
+ stop_signal: SIGINT
+ environment:
+ - FLASK_SERVER_PORT=9091
+ volumes:
+ - ./flask:/src
+ depends_on:
+ - mongo
+
+ mongo:
+ image: mongo
diff --git a/Tests/Fixtures/real-yaml/awesome-compose-nginx-flask-mysql-compose-yaml.yaml b/Tests/Fixtures/real-yaml/awesome-compose-nginx-flask-mysql-compose-yaml.yaml
new file mode 100644
index 0000000..2a49911
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/awesome-compose-nginx-flask-mysql-compose-yaml.yaml
@@ -0,0 +1,62 @@
+services:
+ db:
+ # We use a mariadb image which supports both amd64 & arm64 architecture
+ image: mariadb:10-focal
+ # If you really want to use MySQL, uncomment the following line
+ #image: mysql:8
+ command: '--default-authentication-plugin=mysql_native_password'
+ restart: always
+ healthcheck:
+ test: ['CMD-SHELL', 'mysqladmin ping -h 127.0.0.1 --password="$$(cat /run/secrets/db-password)" --silent']
+ interval: 3s
+ retries: 5
+ start_period: 30s
+ secrets:
+ - db-password
+ volumes:
+ - db-data:/var/lib/mysql
+ networks:
+ - backnet
+ environment:
+ - MYSQL_DATABASE=example
+ - MYSQL_ROOT_PASSWORD_FILE=/run/secrets/db-password
+ expose:
+ - 3306
+ - 33060
+
+ backend:
+ build:
+ context: backend
+ target: builder
+ restart: always
+ secrets:
+ - db-password
+ ports:
+ - 8000:8000
+ networks:
+ - backnet
+ - frontnet
+ depends_on:
+ db:
+ condition: service_healthy
+
+ proxy:
+ build: proxy
+ restart: always
+ ports:
+ - 80:80
+ depends_on:
+ - backend
+ networks:
+ - frontnet
+
+volumes:
+ db-data:
+
+secrets:
+ db-password:
+ file: db/password.txt
+
+networks:
+ backnet:
+ frontnet:
diff --git a/Tests/Fixtures/real-yaml/awesome-compose-nginx-golang-compose-yaml.yaml b/Tests/Fixtures/real-yaml/awesome-compose-nginx-golang-compose-yaml.yaml
new file mode 100644
index 0000000..374423c
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/awesome-compose-nginx-golang-compose-yaml.yaml
@@ -0,0 +1,17 @@
+services:
+ proxy:
+ image: nginx
+ volumes:
+ - type: bind
+ source: ./proxy/nginx.conf
+ target: /etc/nginx/conf.d/default.conf
+ read_only: true
+ ports:
+ - 80:80
+ depends_on:
+ - backend
+
+ backend:
+ build:
+ context: backend
+ target: builder
diff --git a/Tests/Fixtures/real-yaml/awesome-compose-nginx-golang-mysql-compose-yaml.yaml b/Tests/Fixtures/real-yaml/awesome-compose-nginx-golang-mysql-compose-yaml.yaml
new file mode 100644
index 0000000..6661dbc
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/awesome-compose-nginx-golang-mysql-compose-yaml.yaml
@@ -0,0 +1,51 @@
+services:
+ backend:
+ build:
+ context: backend
+ target: builder
+ secrets:
+ - db-password
+ depends_on:
+ db:
+ condition: service_healthy
+
+ db:
+ # We use a mariadb image which supports both amd64 & arm64 architecture
+ image: mariadb:10-focal
+ # If you really want to use MySQL, uncomment the following line
+ #image: mysql:8
+ command: '--default-authentication-plugin=mysql_native_password'
+ restart: always
+ healthcheck:
+ test: ['CMD-SHELL', 'mysqladmin ping -h 127.0.0.1 --password="$$(cat /run/secrets/db-password)" --silent']
+ interval: 3s
+ retries: 5
+ start_period: 30s
+ secrets:
+ - db-password
+ volumes:
+ - db-data:/var/lib/mysql
+ environment:
+ - MYSQL_DATABASE=example
+ - MYSQL_ROOT_PASSWORD_FILE=/run/secrets/db-password
+ expose:
+ - 3306
+
+ proxy:
+ image: nginx
+ volumes:
+ - type: bind
+ source: ./proxy/nginx.conf
+ target: /etc/nginx/conf.d/default.conf
+ read_only: true
+ ports:
+ - 80:80
+ depends_on:
+ - backend
+
+volumes:
+ db-data:
+
+secrets:
+ db-password:
+ file: db/password.txt
diff --git a/Tests/Fixtures/real-yaml/awesome-compose-nginx-golang-postgres-compose-yaml.yaml b/Tests/Fixtures/real-yaml/awesome-compose-nginx-golang-postgres-compose-yaml.yaml
new file mode 100644
index 0000000..c8fede9
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/awesome-compose-nginx-golang-postgres-compose-yaml.yaml
@@ -0,0 +1,48 @@
+services:
+ backend:
+ build:
+ context: backend
+ target: builder
+ secrets:
+ - db-password
+ depends_on:
+ db:
+ condition: service_healthy
+
+ db:
+ image: postgres
+ restart: always
+ user: postgres
+ secrets:
+ - db-password
+ volumes:
+ - db-data:/var/lib/postgresql/data
+ environment:
+ - POSTGRES_DB=example
+ - POSTGRES_PASSWORD_FILE=/run/secrets/db-password
+ expose:
+ - 5432
+ healthcheck:
+ test: [ "CMD", "pg_isready" ]
+ interval: 10s
+ timeout: 5s
+ retries: 5
+
+ proxy:
+ image: nginx
+ volumes:
+ - type: bind
+ source: ./proxy/nginx.conf
+ target: /etc/nginx/conf.d/default.conf
+ read_only: true
+ ports:
+ - 80:80
+ depends_on:
+ - backend
+
+volumes:
+ db-data:
+
+secrets:
+ db-password:
+ file: db/password.txt
diff --git a/Tests/Fixtures/real-yaml/awesome-compose-nginx-nodejs-redis-compose-yaml.yaml b/Tests/Fixtures/real-yaml/awesome-compose-nginx-nodejs-redis-compose-yaml.yaml
new file mode 100644
index 0000000..7f3748c
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/awesome-compose-nginx-nodejs-redis-compose-yaml.yaml
@@ -0,0 +1,27 @@
+
+services:
+ redis:
+ image: 'redislabs/redismod'
+ ports:
+ - '6379:6379'
+ web1:
+ restart: on-failure
+ build: ./web
+ hostname: web1
+ ports:
+ - '81:5000'
+ web2:
+ restart: on-failure
+ build: ./web
+ hostname: web2
+ ports:
+ - '82:5000'
+ nginx:
+ build: ./nginx
+ ports:
+ - '80:80'
+ depends_on:
+ - web1
+ - web2
+
+
diff --git a/Tests/Fixtures/real-yaml/awesome-compose-nginx-wsgi-flask-compose-yaml.yaml b/Tests/Fixtures/real-yaml/awesome-compose-nginx-wsgi-flask-compose-yaml.yaml
new file mode 100644
index 0000000..d637c95
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/awesome-compose-nginx-wsgi-flask-compose-yaml.yaml
@@ -0,0 +1,29 @@
+services:
+ nginx-proxy:
+ build: nginx
+ restart: always
+ volumes:
+ - ./nginx/default.conf:/tmp/default.conf
+ environment:
+ - FLASK_SERVER_ADDR=flask-app:8000
+ ports:
+ - "80:80"
+ depends_on:
+ - flask-app
+ healthcheck:
+ test: ["CMD-SHELL", "curl --silent --fail localhost:80/health-check || exit 1"]
+ interval: 10s
+ timeout: 10s
+ retries: 3
+ command: /app/start.sh
+ flask-app:
+ build: flask
+ restart: always
+ ports:
+ - '8000:8000'
+ healthcheck:
+ test: ["CMD-SHELL", "curl --silent --fail localhost:8000/flask-health-check || exit 1"]
+ interval: 10s
+ timeout: 10s
+ retries: 3
+ command: gunicorn -w 3 -t 60 -b 0.0.0.0:8000 app:app
diff --git a/Tests/Fixtures/real-yaml/awesome-compose-pihole-cloudflared-doh-compose-yaml.yaml b/Tests/Fixtures/real-yaml/awesome-compose-pihole-cloudflared-doh-compose-yaml.yaml
new file mode 100644
index 0000000..0ab776f
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/awesome-compose-pihole-cloudflared-doh-compose-yaml.yaml
@@ -0,0 +1,55 @@
+version: '3.7'
+services:
+ cloudflared:
+ image: visibilityspots/cloudflared
+ container_name: cloudflared
+ ports:
+ - "5054:5054/tcp"
+ - "5054:5054/udp"
+ environment:
+ - TZ=${TIMEZONE}
+ - PORT=5054
+ - ADDRESS=0.0.0.0
+ restart: always
+ networks:
+ dns-net:
+ ipv4_address: 172.20.0.2
+
+ pihole:
+ container_name: pihole
+ image: pihole/pihole:latest
+ ports:
+ - "53:53/tcp"
+ - "53:53/udp"
+ - "67:67/udp"
+ - "8080:80/tcp"
+ - "8443:443/tcp"
+ environment:
+ - TZ=${TIMEZONE}
+ - PIHOLE_DNS_=172.20.0.2#5054;1.1.1.1 # referencing by name results in "Invalid IP detected in PIHOLE_DNS_: cloudflared#5054"
+ - WEBPASSWORD=${PIHOLE_PW}
+ - REV_SERVER=true
+ - REV_SERVER_TARGET=${PIHOLE_ROUTER_IP}
+ - REV_SERVER_DOMAIN=${PIHOLE_NETWORK_DOMAIN}
+ - REV_SERVER_CIDR=${PIHOLE_REVERSE_DNS}
+ - ServerIP=${PIHOLE_HOST_IP}
+ - ServerIPv6=${PIHOLE_HOST_IPV6}
+ #dns:
+ #- 127.0.0.1 # "Sets your container's resolve settings to localhost so it can resolve DHCP hostnames [...]" - github.com/pi-hole/docker-pi-hole
+ #- 1.1.1.1 # Backup server
+ volumes: # store your data between container upgrades
+ - "/etc/pihole/:/etc/pihole/"
+ - "/etc/dnsmasq.d/:/etc/dnsmasq.d/"
+ cap_add:
+ - NET_ADMIN # Recommended but not required (DHCP needs NET_ADMIN) https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
+ depends_on:
+ - "cloudflared"
+ restart: always
+ networks:
+ - dns-net
+
+networks:
+ dns-net:
+ ipam:
+ config:
+ - subnet: 172.20.0.0/24
\ No newline at end of file
diff --git a/Tests/Fixtures/real-yaml/awesome-compose-plex-compose-yaml.yaml b/Tests/Fixtures/real-yaml/awesome-compose-plex-compose-yaml.yaml
new file mode 100644
index 0000000..06d73e8
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/awesome-compose-plex-compose-yaml.yaml
@@ -0,0 +1,10 @@
+services:
+ plex:
+ image: linuxserver/plex
+ container_name: plex
+ network_mode: host
+ environment:
+ - VERSION=docker
+ restart: always
+ volumes:
+ - ${PLEX_MEDIA_PATH}:/media/
\ No newline at end of file
diff --git a/Tests/Fixtures/real-yaml/awesome-compose-portainer-compose-yaml.yaml b/Tests/Fixtures/real-yaml/awesome-compose-portainer-compose-yaml.yaml
new file mode 100644
index 0000000..92579d7
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/awesome-compose-portainer-compose-yaml.yaml
@@ -0,0 +1,14 @@
+services:
+ portainer:
+ image: portainer/portainer-ce:alpine
+ container_name: portainer
+ command: -H unix:///var/run/docker.sock
+ ports:
+ - "9000:9000"
+ volumes:
+ - "/var/run/docker.sock:/var/run/docker.sock"
+ - "portainer_data:/data"
+ restart: always
+
+volumes:
+ portainer_data:
\ No newline at end of file
diff --git a/Tests/Fixtures/real-yaml/awesome-compose-postgresql-pgadmin-compose-yaml.yaml b/Tests/Fixtures/real-yaml/awesome-compose-postgresql-pgadmin-compose-yaml.yaml
new file mode 100644
index 0000000..c212e34
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/awesome-compose-postgresql-pgadmin-compose-yaml.yaml
@@ -0,0 +1,21 @@
+services:
+ postgres:
+ container_name: postgres
+ image: postgres:latest
+ environment:
+ - POSTGRES_USER=${POSTGRES_USER}
+ - POSTGRES_PASSWORD=${POSTGRES_PW}
+ - POSTGRES_DB=${POSTGRES_DB} #optional (specify default database instead of $POSTGRES_DB)
+ ports:
+ - "5432:5432"
+ restart: always
+
+ pgadmin:
+ container_name: pgadmin
+ image: dpage/pgadmin4:latest
+ environment:
+ - PGADMIN_DEFAULT_EMAIL=${PGADMIN_MAIL}
+ - PGADMIN_DEFAULT_PASSWORD=${PGADMIN_PW}
+ ports:
+ - "5050:80"
+ restart: always
diff --git a/Tests/Fixtures/real-yaml/awesome-compose-prometheus-grafana-compose-yaml.yaml b/Tests/Fixtures/real-yaml/awesome-compose-prometheus-grafana-compose-yaml.yaml
new file mode 100644
index 0000000..24369bc
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/awesome-compose-prometheus-grafana-compose-yaml.yaml
@@ -0,0 +1,25 @@
+services:
+ prometheus:
+ image: prom/prometheus
+ container_name: prometheus
+ command:
+ - '--config.file=/etc/prometheus/prometheus.yml'
+ ports:
+ - 9090:9090
+ restart: unless-stopped
+ volumes:
+ - ./prometheus:/etc/prometheus
+ - prom_data:/prometheus
+ grafana:
+ image: grafana/grafana
+ container_name: grafana
+ ports:
+ - 3000:3000
+ restart: unless-stopped
+ environment:
+ - GF_SECURITY_ADMIN_USER=admin
+ - GF_SECURITY_ADMIN_PASSWORD=grafana
+ volumes:
+ - ./grafana:/etc/grafana/provisioning/datasources
+volumes:
+ prom_data:
diff --git a/Tests/Fixtures/real-yaml/awesome-compose-react-express-mongodb-compose-yaml.yaml b/Tests/Fixtures/real-yaml/awesome-compose-react-express-mongodb-compose-yaml.yaml
new file mode 100644
index 0000000..2b24de8
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/awesome-compose-react-express-mongodb-compose-yaml.yaml
@@ -0,0 +1,47 @@
+services:
+ frontend:
+ build:
+ context: frontend
+ target: development
+ ports:
+ - 3000:3000
+ stdin_open: true
+ volumes:
+ - ./frontend:/usr/src/app
+ - /usr/src/app/node_modules
+ restart: always
+ networks:
+ - react-express
+ depends_on:
+ - backend
+
+ backend:
+ restart: always
+ build:
+ context: backend
+ target: development
+ volumes:
+ - ./backend:/usr/src/app
+ - /usr/src/app/node_modules
+ depends_on:
+ - mongo
+ networks:
+ - express-mongo
+ - react-express
+ expose:
+ - 3000
+ mongo:
+ restart: always
+ image: mongo:4.2.0
+ volumes:
+ - mongo_data:/data/db
+ networks:
+ - express-mongo
+ expose:
+ - 27017
+networks:
+ react-express:
+ express-mongo:
+
+volumes:
+ mongo_data:
diff --git a/Tests/Fixtures/real-yaml/awesome-compose-react-express-mysql-compose-yaml.yaml b/Tests/Fixtures/real-yaml/awesome-compose-react-express-mysql-compose-yaml.yaml
new file mode 100644
index 0000000..65b330b
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/awesome-compose-react-express-mysql-compose-yaml.yaml
@@ -0,0 +1,68 @@
+services:
+ backend:
+ build:
+ args:
+ - NODE_ENV=development
+ context: backend
+ target: development
+ command: npm run start-watch
+ environment:
+ - DATABASE_DB=example
+ - DATABASE_USER=root
+ - DATABASE_PASSWORD=/run/secrets/db-password
+ - DATABASE_HOST=db
+ - NODE_ENV=development
+ ports:
+ - 80:80
+ - 9229:9229
+ - 9230:9230
+ secrets:
+ - db-password
+ volumes:
+ - ./backend/src:/code/src:ro
+ - ./backend/package.json:/code/package.json
+ - ./backend/package-lock.json:/code/package-lock.json
+ - back-notused:/opt/app/node_modules
+ networks:
+ - public
+ - private
+ depends_on:
+ - db
+ db:
+ # We use a mariadb image which supports both amd64 & arm64 architecture
+ image: mariadb:10.6.4-focal
+ # If you really want to use MySQL, uncomment the following line
+ #image: mysql:8.0.27
+ command: '--default-authentication-plugin=mysql_native_password'
+ restart: always
+ secrets:
+ - db-password
+ volumes:
+ - db-data:/var/lib/mysql
+ networks:
+ - private
+ environment:
+ - MYSQL_DATABASE=example
+ - MYSQL_ROOT_PASSWORD_FILE=/run/secrets/db-password
+ frontend:
+ build:
+ context: frontend
+ target: development
+ ports:
+ - 3000:3000
+ volumes:
+ - ./frontend/src:/code/src
+ - /code/node_modules
+ networks:
+ - public
+ depends_on:
+ - backend
+networks:
+ public:
+ private:
+volumes:
+ back-notused:
+ db-data:
+secrets:
+ db-password:
+ file: db/password.txt
diff --git a/Tests/Fixtures/real-yaml/awesome-compose-react-java-mysql-compose-yaml.yaml b/Tests/Fixtures/real-yaml/awesome-compose-react-java-mysql-compose-yaml.yaml
new file mode 100644
index 0000000..19f4c48
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/awesome-compose-react-java-mysql-compose-yaml.yaml
@@ -0,0 +1,58 @@
+services:
+ backend:
+ build: backend
+ restart: always
+ secrets:
+ - db-password
+ environment:
+ MYSQL_HOST: db
+ networks:
+ - react-spring
+ - spring-mysql
+ depends_on:
+ db:
+ condition: service_healthy
+ db:
+ # We use a mariadb image which supports both amd64 & arm64 architecture
+ image: mariadb:10.6.4-focal
+ # If you really want to use MySQL, uncomment the following line
+ #image: mysql:8.0.19
+ environment:
+ - MYSQL_DATABASE=example
+ - MYSQL_ROOT_PASSWORD_FILE=/run/secrets/db-password
+ restart: always
+ healthcheck:
+ test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"]
+ interval: 3s
+ retries: 5
+ start_period: 30s
+ secrets:
+ - db-password
+ volumes:
+ - db-data:/var/lib/mysql
+ networks:
+ - spring-mysql
+ frontend:
+ build:
+ context: frontend
+ target: development
+ ports:
+ - 3000:3000
+ volumes:
+ - ./frontend/src:/code/src
+ - /project/node_modules
+ networks:
+ - react-spring
+ depends_on:
+ - backend
+ expose:
+ - 3306
+ - 33060
+volumes:
+ db-data: {}
+secrets:
+ db-password:
+ file: db/password.txt
+networks:
+ react-spring: {}
+ spring-mysql: {}
diff --git a/Tests/Fixtures/real-yaml/awesome-compose-react-nginx-compose-yaml.yaml b/Tests/Fixtures/real-yaml/awesome-compose-react-nginx-compose-yaml.yaml
new file mode 100644
index 0000000..70df352
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/awesome-compose-react-nginx-compose-yaml.yaml
@@ -0,0 +1,7 @@
+services:
+ frontend:
+ build:
+ context: .
+ container_name: frontend
+ ports:
+ - "80:80"
diff --git a/Tests/Fixtures/real-yaml/awesome-compose-react-rust-postgres-compose-yaml.yaml b/Tests/Fixtures/real-yaml/awesome-compose-react-rust-postgres-compose-yaml.yaml
new file mode 100644
index 0000000..8a6cc2a
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/awesome-compose-react-rust-postgres-compose-yaml.yaml
@@ -0,0 +1,52 @@
+name: react-rust-postgres
+services:
+ frontend:
+ build:
+ context: frontend
+ target: development
+ networks:
+ - client-side
+ ports:
+ - 3000:3000
+ volumes:
+ - ./frontend/src:/code/src:ro
+
+ backend:
+ build:
+ context: backend
+ target: development
+ environment:
+ - ADDRESS=0.0.0.0:8000
+ - RUST_LOG=debug
+ - PG_DBNAME=postgres
+ - PG_HOST=db
+ - PG_USER=postgres
+ - PG_PASSWORD=mysecretpassword
+ networks:
+ - client-side
+ - server-side
+ volumes:
+ - ./backend/src:/code/src
+ - backend-cache:/code/target
+ depends_on:
+ - db
+
+ db:
+ image: postgres:12-alpine
+ restart: always
+ environment:
+ - POSTGRES_PASSWORD=mysecretpassword
+ networks:
+ - server-side
+ ports:
+ - 5432:5432
+ volumes:
+ - db-data:/var/lib/postgresql/data
+
+networks:
+ client-side: {}
+ server-side: {}
+
+volumes:
+ backend-cache: {}
+ db-data: {}
diff --git a/Tests/Fixtures/real-yaml/bitnami-apache-chart.yaml b/Tests/Fixtures/real-yaml/bitnami-apache-chart.yaml
new file mode 100644
index 0000000..fd82c01
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/bitnami-apache-chart.yaml
@@ -0,0 +1,40 @@
+# Copyright Broadcom, Inc. All Rights Reserved.
+# SPDX-License-Identifier: APACHE-2.0
+
+annotations:
+ images: |
+ - name: apache
+ image: docker.io/bitnami/apache:2.4.65-debian-12-r2
+ - name: apache-exporter
+ image: docker.io/bitnami/apache-exporter:1.0.10-debian-12-r55
+ - name: git
+ image: docker.io/bitnami/git:2.51.0-debian-12-r0
+ licenses: Apache-2.0
+ tanzuCategory: service
+apiVersion: v2
+appVersion: 2.4.65
+dependencies:
+- name: common
+ repository: oci://registry-1.docker.io/bitnamicharts
+ tags:
+ - bitnami-common
+ version: 2.x.x
+description: Apache HTTP Server is an open-source HTTP server. The goal of this project
+ is to provide a secure, efficient and extensible server that provides HTTP services
+ in sync with the current HTTP standards.
+home: https://bitnami.com
+icon: https://dyltqmyl993wv.cloudfront.net/assets/stacks/apache/img/apache-stack-220x234.png
+keywords:
+- apache
+- http
+- https
+- www
+- web
+- reverse proxy
+maintainers:
+- name: Broadcom, Inc. All Rights Reserved.
+ url: https://github.com/bitnami/charts
+name: apache
+sources:
+- https://github.com/bitnami/charts/tree/main/bitnami/apache
+version: 11.4.30
diff --git a/Tests/Fixtures/real-yaml/bitnami-apache-values.yaml b/Tests/Fixtures/real-yaml/bitnami-apache-values.yaml
new file mode 100644
index 0000000..b568ef8
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/bitnami-apache-values.yaml
@@ -0,0 +1,820 @@
+# Copyright Broadcom, Inc. All Rights Reserved.
+# SPDX-License-Identifier: APACHE-2.0
+
+## @section Global parameters
+## Global Docker image parameters
+## Please, note that this will override the image parameters, including dependencies, configured to use the global value
+## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass
+
+## @param global.imageRegistry Global Docker image registry
+## @param global.imagePullSecrets Global Docker registry secret names as an array
+## @param global.defaultStorageClass Global default StorageClass for Persistent Volume(s)
+## @param global.storageClass DEPRECATED: use global.defaultStorageClass instead
+##
+global:
+ imageRegistry: ""
+ ## E.g.
+ ## imagePullSecrets:
+ ## - myRegistryKeySecretName
+ ##
+ imagePullSecrets: []
+ defaultStorageClass: ""
+ storageClass: ""
+ ## Compatibility adaptations for Kubernetes platforms
+ ##
+ compatibility:
+ ## Compatibility adaptations for Openshift
+ ##
+ openshift:
+ ## @param global.compatibility.openshift.adaptSecurityContext Adapt the securityContext sections of the deployment to make them compatible with Openshift restricted-v2 SCC: remove runAsUser, runAsGroup and fsGroup and let the platform use their allowed default IDs. Possible values: auto (apply if the detected running cluster is Openshift), force (perform the adaptation always), disabled (do not perform adaptation)
+ ##
+ adaptSecurityContext: auto
+ ## Security parameters
+ ##
+ security:
+ ## @param global.security.allowInsecureImages By default, this chart verifies that the original container images that were designed, tested, and validated are used. This option makes the chart skip the verification step and proceed
+ ##
+ allowInsecureImages: false
+
+## @section Common parameters
+
+## @param kubeVersion Override Kubernetes version
+##
+kubeVersion: ""
+## @param nameOverride String to partially override common.names.fullname
+##
+nameOverride: ""
+## @param fullnameOverride String to fully override common.names.fullname
+##
+fullnameOverride: ""
+## @param commonLabels Labels to add to all deployed objects
+##
+commonLabels: {}
+## @param commonAnnotations Annotations to add to all deployed objects
+##
+commonAnnotations: {}
+## @param extraDeploy Array of extra objects to deploy with the release
+##
+extraDeploy: []
+## @section Apache parameters
+
+## Bitnami Apache image
+## ref: https://hub.docker.com/r/bitnami/apache/tags/
+## @param image.registry [default: REGISTRY_NAME] Apache image registry
+## @param image.repository [default: REPOSITORY_NAME/apache] Apache image repository
+## @skip image.tag Apache image tag (immutable tags are recommended)
+## @param image.digest Apache image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
+## @param image.pullPolicy Apache image pull policy
+## @param image.pullSecrets Apache image pull secrets
+## @param image.debug Enable image debug mode
+##
+image:
+ registry: docker.io
+ repository: bitnami/apache
+ tag: 2.4.65-debian-12-r2
+ digest: ""
+ ## Specify a imagePullPolicy
+ ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
+ ##
+ pullPolicy: IfNotPresent
+ ## Optionally specify an array of imagePullSecrets.
+ ## Secrets must be manually created in the namespace.
+ ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
+ ## e.g:
+ ## pullSecrets:
+ ## - myRegistryKeySecretName
+ ##
+ pullSecrets: []
+ ## Enable debug mode
+ ##
+ debug: false
+## Bitnami Git image version
+## ref: https://hub.docker.com/r/bitnami/git/tags/
+## @param git.registry [default: REGISTRY_NAME] Git image registry
+## @param git.repository [default: REPOSITORY_NAME/git] Git image name
+## @skip git.tag Git image tag (immutable tags are recommended)
+## @param git.digest Git image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
+## @param git.pullPolicy Git image pull policy
+## @param git.pullSecrets Specify docker-registry secret names as an array
+##
+git:
+ registry: docker.io
+ repository: bitnami/git
+ tag: 2.51.0-debian-12-r0
+ digest: ""
+ pullPolicy: IfNotPresent
+ ## Optionally specify an array of imagePullSecrets.
+ ## Secrets must be manually created in the namespace.
+ ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
+ ## e.g:
+ ## pullSecrets:
+ ## - myRegistryKeySecretName
+ ##
+ pullSecrets: []
+## @param replicaCount Number of replicas of the Apache deployment
+##
+replicaCount: 1
+## @param revisionHistoryLimit The number of old history to retain to allow rollback
+##
+revisionHistoryLimit: 10
+## @param podAffinityPreset Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
+## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
+##
+podAffinityPreset: ""
+## @param podAntiAffinityPreset Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
+## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
+##
+podAntiAffinityPreset: soft
+## Node affinity preset
+## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
+##
+nodeAffinityPreset:
+ ## @param nodeAffinityPreset.type Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
+ ##
+ type: ""
+ ## @param nodeAffinityPreset.key Node label key to match. Ignored if `affinity` is set
+ ##
+ key: ""
+ ## @param nodeAffinityPreset.values Node label values to match. Ignored if `affinity` is set
+ ## E.g.
+ ## values:
+ ## - e2e-az1
+ ## - e2e-az2
+ ##
+ values: []
+## @param affinity Affinity for pod assignment
+## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
+## NOTE: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set
+##
+affinity: {}
+## @param nodeSelector Node labels for pod assignment
+## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
+##
+nodeSelector: {}
+## @param tolerations Tolerations for pod assignment
+## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+##
+tolerations: []
+## @param topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains. Evaluated as a template
+## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
+##
+topologySpreadConstraints: []
+## @param extraPodSpec Optionally specify extra PodSpec
+##
+extraPodSpec: {}
+## Get the server static content from a git repository
+## @param cloneHtdocsFromGit.enabled Get the server static content from a git repository
+## @param cloneHtdocsFromGit.repository Repository to clone static content from
+## @param cloneHtdocsFromGit.branch Branch inside the git repository
+## @param cloneHtdocsFromGit.enableAutoRefresh Enables an automatic git pull with a sidecar container
+## @param cloneHtdocsFromGit.interval Interval for sidecar container pull from the repository
+## @param cloneHtdocsFromGit.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if cloneHtdocsFromGit.resources is set (cloneHtdocsFromGit.resources is recommended for production).
+## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
+## @param cloneHtdocsFromGit.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
+## Example:
+## resources:
+## requests:
+## cpu: 2
+## memory: 512Mi
+## limits:
+## cpu: 3
+## memory: 1024Mi
+## @param cloneHtdocsFromGit.extraVolumeMounts Add extra volume mounts for the GIT containers
+##
+cloneHtdocsFromGit:
+ enabled: false
+ repository: ""
+ branch: ""
+ enableAutoRefresh: true
+ interval: 60
+ resourcesPreset: "nano"
+ resources: {}
+ ## Useful to mount keys to connect through ssh. (normally used with extraVolumes)
+ ## E.g:
+ ## extraVolumeMounts:
+ ## - name: ssh-dir
+ ## mountPath: /root/.ssh/
+ ##
+ extraVolumeMounts: []
+## @param htdocsConfigMap Name of a config map with the server static content
+##
+htdocsConfigMap: ""
+## @param htdocsPVC Name of a PVC with the server static content
+##
+htdocsPVC: ""
+## @param vhostsConfigMap Name of a config map with the virtual hosts content
+##
+vhostsConfigMap: ""
+## @param httpdConfConfigMap Name of a config map with the httpd.conf file contents
+##
+httpdConfConfigMap: ""
+## @param podLabels Extra labels for Apache pods
+## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
+##
+podLabels: {}
+## @param podAnnotations Pod annotations
+## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
+##
+podAnnotations: {}
+## @param automountServiceAccountToken Mount Service Account token in pod
+##
+automountServiceAccountToken: false
+## @param hostAliases [array] Add deployment host aliases
+## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
+##
+hostAliases:
+ ## Necessary for apache-exporter to work
+ ##
+ - ip: "127.0.0.1"
+ hostnames:
+ - "status.localhost"
+## @param priorityClassName Apache Server pods' priorityClassName
+##
+priorityClassName: ""
+## @param schedulerName Name of the k8s scheduler (other than default)
+## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
+##
+schedulerName: ""
+## Configure Pods Security Context
+## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
+## @param podSecurityContext.enabled Enabled Apache Server pods' Security Context
+## @param podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
+## @param podSecurityContext.sysctls Set kernel settings using the sysctl interface
+## @param podSecurityContext.supplementalGroups Set filesystem extra groups
+## @param podSecurityContext.fsGroup Set Apache Server pod's Security Context fsGroup
+##
+podSecurityContext:
+ enabled: true
+ fsGroupChangePolicy: Always
+ sysctls: []
+ supplementalGroups: []
+ fsGroup: 1001
+## Configure Container Security Context
+## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
+## @param containerSecurityContext.enabled Enabled Apache Server containers' Security Context
+## @param containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
+## @param containerSecurityContext.runAsUser Set Apache Server containers' Security Context runAsUser
+## @param containerSecurityContext.runAsGroup Set Apache Server containers' Security Context runAsGroup
+## @param containerSecurityContext.runAsNonRoot Set Controller container's Security Context runAsNonRoot
+## @param containerSecurityContext.privileged Set primary container's Security Context privileged
+## @param containerSecurityContext.allowPrivilegeEscalation Set primary container's Security Context allowPrivilegeEscalation
+## @param containerSecurityContext.readOnlyRootFilesystem Set primary container's Security Context readOnlyRootFilesystem
+## @param containerSecurityContext.capabilities.drop List of capabilities to be dropped
+## @param containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
+##
+containerSecurityContext:
+ enabled: true
+ seLinuxOptions: {}
+ runAsUser: 1001
+ runAsGroup: 1001
+ runAsNonRoot: true
+ privileged: false
+ allowPrivilegeEscalation: false
+ readOnlyRootFilesystem: true
+ capabilities:
+ drop: ["ALL"]
+ seccompProfile:
+ type: "RuntimeDefault"
+## @param command Override default container command (useful when using custom images)
+##
+command: []
+## @param args Override default container args (useful when using custom images)
+##
+args: []
+## @param lifecycleHooks for the Apache server container(s) to automate configuration before or after startup
+##
+lifecycleHooks: {}
+## Apache pods' resource requests and limits
+## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
+## We usually recommend not to specify default resources and to leave this as a conscious
+## choice for the user. This also increases chances charts run on environments with little
+## resources, such as Minikube. If you do want to specify resources, uncomment the following
+## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+## @param resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if resources is set (resources is recommended for production).
+## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
+##
+resourcesPreset: "nano"
+## @param resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
+## Example:
+## resources:
+## requests:
+## cpu: 2
+## memory: 512Mi
+## limits:
+## cpu: 3
+## memory: 1024Mi
+##
+resources: {}
+## Configure extra options for containers' liveness and readiness probes
+## Configure extra options for Apache server containers' liveness, readiness and startup probes
+## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes)
+## @param startupProbe.enabled Enable startupProbe
+## @param startupProbe.path Path to access on the HTTP server
+## @param startupProbe.port Port for startupProbe
+## @param startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
+## @param startupProbe.periodSeconds Period seconds for startupProbe
+## @param startupProbe.timeoutSeconds Timeout seconds for startupProbe
+## @param startupProbe.failureThreshold Failure threshold for startupProbe
+## @param startupProbe.successThreshold Success threshold for startupProbe
+##
+startupProbe:
+ enabled: false
+ path: "/"
+ port: http
+ initialDelaySeconds: 180
+ periodSeconds: 20
+ timeoutSeconds: 5
+ failureThreshold: 6
+ successThreshold: 1
+## @param livenessProbe.enabled Enable liveness probe
+## @param livenessProbe.port Port for livenessProbe
+## @param livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
+## @param livenessProbe.periodSeconds Period seconds for livenessProbe
+## @param livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
+## @param livenessProbe.failureThreshold Failure threshold for livenessProbe
+## @param livenessProbe.successThreshold Success threshold for livenessProbe
+##
+livenessProbe:
+ enabled: true
+ port: http
+ initialDelaySeconds: 180
+ periodSeconds: 20
+ timeoutSeconds: 5
+ failureThreshold: 6
+ successThreshold: 1
+## @param readinessProbe.enabled Enable readiness probe
+## @param readinessProbe.path Path to access on the HTTP server
+## @param readinessProbe.port Port for readinessProbe
+## @param readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
+## @param readinessProbe.periodSeconds Period seconds for readinessProbe
+## @param readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
+## @param readinessProbe.failureThreshold Failure threshold for readinessProbe
+## @param readinessProbe.successThreshold Success threshold for readinessProbe
+##
+readinessProbe:
+ enabled: true
+ path: "/"
+ port: http
+ initialDelaySeconds: 30
+ periodSeconds: 10
+ timeoutSeconds: 5
+ failureThreshold: 6
+ successThreshold: 1
+## @param customStartupProbe Custom liveness probe for the Web component
+##
+customStartupProbe: {}
+## @param customLivenessProbe Custom liveness probe for the Web component
+##
+customLivenessProbe: {}
+## @param customReadinessProbe Custom rediness probe for the Web component
+##
+customReadinessProbe: {}
+## @param extraVolumes Array to add extra volumes (evaluated as a template)
+##
+extraVolumes: []
+## @param extraVolumeMounts Array to add extra mounts (normally used with extraVolumes, evaluated as a template)
+##
+extraVolumeMounts: []
+## @param extraEnvVars Array to add extra environment variables
+##
+extraEnvVars: []
+## @param extraEnvVarsCM Name of existing ConfigMap containing extra env vars for Apache server nodes
+##
+extraEnvVarsCM: ""
+## @param extraEnvVarsSecret Name of existing Secret containing extra env vars for Apache server nodes
+##
+extraEnvVarsSecret: ""
+## Apache server container port
+## @param containerPorts.http Apache server HTTP container port
+## @param containerPorts.https Apache server HTTPS container port
+##
+containerPorts:
+ http: 8080
+ https: 8443
+## @param initContainers Add additional init containers to the Apache pods
+## Example:
+## initContainers:
+## - name: your-image-name
+## image: your-image
+## imagePullPolicy: Always
+## ports:
+## - name: portname
+## containerPort: 1234
+##
+initContainers: []
+## @param sidecars Add additional sidecar containers to the Apache pods
+## Example:
+## sidecars:
+## - name: your-image-name
+## image: your-image
+## imagePullPolicy: Always
+## ports:
+## - name: portname
+## containerPort: 1234
+##
+sidecars: []
+## @param updateStrategy.type Apache Server deployment strategy type.
+## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
+## e.g:
+## updateStrategy:
+## type: RollingUpdate
+## rollingUpdate:
+## maxSurge: 25%
+## maxUnavailable: 25%
+##
+updateStrategy:
+ type: RollingUpdate
+## @section Other Parameters
+
+## Apache Pod Disruption Budget configuration
+## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
+## @param pdb.create Enable a Pod Disruption Budget creation
+## @param pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
+## @param pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable
+##
+pdb:
+ create: true
+ minAvailable: ""
+ maxUnavailable: ""
+## Apache Autoscaling parameters
+## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
+## @param autoscaling.enabled Enable Horizontal POD autoscaling for Apache
+## @param autoscaling.minReplicas Minimum number of Apache replicas
+## @param autoscaling.maxReplicas Maximum number of Apache replicas
+## @param autoscaling.targetCPU Target CPU utilization percentage
+## @param autoscaling.targetMemory Target Memory utilization percentage
+##
+autoscaling:
+ enabled: false
+ minReplicas: 1
+ maxReplicas: 11
+ targetCPU: 50
+ targetMemory: 50
+## @section Traffic Exposure Parameters
+
+## Apache service parameters
+##
+service:
+ ## @param service.type Apache Service type
+ ##
+ type: LoadBalancer
+ ## @param service.ports.http Apache service HTTP port
+ ## @param service.ports.https Apache service HTTPS port
+ ##
+ ports:
+ http: 80
+ https: 443
+ ## Node ports to expose
+ ## @param service.nodePorts.http Node port for HTTP
+ ## @param service.nodePorts.https Node port for HTTPS
+ ##
+ nodePorts:
+ http: ""
+ https: ""
+ ## @param service.clusterIP Apache service Cluster IP
+ ## e.g.:
+ ## clusterIP: None
+ ##
+ clusterIP: ""
+ ## @param service.loadBalancerIP Apache service Load Balancer IP
+ ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
+ ##
+ loadBalancerIP: ""
+ ## @param service.loadBalancerSourceRanges Apache service Load Balancer sources
+ ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
+ ## e.g:
+ ## loadBalancerSourceRanges:
+ ## - 10.10.10.0/24
+ ##
+ loadBalancerSourceRanges: []
+ ## @param service.annotations Additional custom annotations for Apache service
+ ## This can be used to set the LoadBalancer service type to internal only.
+ ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
+ ##
+ annotations: {}
+ ## @param service.externalTrafficPolicy Apache service external traffic policy
+ ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
+ ##
+ externalTrafficPolicy: Cluster
+ ## @param service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
+ ##
+ extraPorts: []
+ ## @param service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
+ ## If "ClientIP", consecutive client requests will be directed to the same mongos Pod
+ ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
+ ##
+ sessionAffinity: None
+ ## @param service.sessionAffinityConfig Additional settings for the sessionAffinity
+ ## sessionAffinityConfig:
+ ## clientIP:
+ ## timeoutSeconds: 300
+ ##
+ sessionAffinityConfig: {}
+## Network Policies
+## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
+##
+networkPolicy:
+ ## @param networkPolicy.enabled Specifies whether a NetworkPolicy should be created
+ ##
+ enabled: true
+ ## @param networkPolicy.allowExternal Don't require server label for connections
+ ## The Policy model to apply. When set to false, only pods with the correct
+ ## server label will have network access to the ports server is listening
+ ## on. When true, server will accept connections from any source
+ ## (with the correct destination port).
+ ##
+ allowExternal: true
+ ## @param networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
+ ##
+ allowExternalEgress: true
+ ## @param networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
+ ## e.g:
+ ## extraIngress:
+ ## - ports:
+ ## - port: 1234
+ ## from:
+ ## - podSelector:
+ ## - matchLabels:
+ ## - role: frontend
+ ## - podSelector:
+ ## - matchExpressions:
+ ## - key: role
+ ## operator: In
+ ## values:
+ ## - frontend
+ extraIngress: []
+ ## @param networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy (ignored if allowExternalEgress=true)
+ ## e.g:
+ ## extraEgress:
+ ## - ports:
+ ## - port: 1234
+ ## to:
+ ## - podSelector:
+ ## - matchLabels:
+ ## - role: frontend
+ ## - podSelector:
+ ## - matchExpressions:
+ ## - key: role
+ ## operator: In
+ ## values:
+ ## - frontend
+ ##
+ extraEgress: []
+ ## @param networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces
+ ## @param networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces
+ ##
+ ingressNSMatchLabels: {}
+ ingressNSPodMatchLabels: {}
+## Configure the ingress resource that allows you to access the Apache installation
+## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
+##
+ingress:
+ ## @param ingress.enabled Enable ingress record generation for Apache
+ ##
+ enabled: false
+ ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm
+ ##
+ selfSigned: false
+ ## @param ingress.pathType Ingress path type
+ ##
+ pathType: ImplementationSpecific
+ ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set)
+ ##
+ apiVersion: ""
+ ## @param ingress.ingressClassName IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+)
+ ## IngressClassName is used to reference the IngressClass that should be used to implement this Ingress.
+ ## This is supported in Kubernetes 1.18+ and required if you have more than one IngressClass marked as the default for your cluster .
+ ## ref: https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/
+ ##
+ ingressClassName: ""
+ ## @param ingress.hostname Default host for the ingress record
+ ##
+ hostname: example.local
+ ## @param ingress.path Default path for the ingress record
+ ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers
+ ##
+ path: /
+ ## @param ingress.annotations Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations.
+ ## For a full list of possible ingress annotations, please see
+ ## ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md
+ ## Use this parameter to set the required annotations for cert-manager, see
+ ## ref: https://cert-manager.io/docs/usage/ingress/#supported-annotations
+ ##
+ ## e.g:
+ ## annotations:
+ ## kubernetes.io/ingress.class: nginx
+ ## cert-manager.io/cluster-issuer: cluster-issuer-name
+ ##
+ annotations: {}
+ ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter
+ ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}`
+ ## You can:
+ ## - Use the `ingress.secrets` parameter to create this TLS secret
+ ## - Rely on cert-manager to create it by setting the corresponding annotations
+ ## - Rely on Helm to create self-signed certificates by setting `ingress.selfSigned=true`
+ ##
+ tls: false
+ ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record
+ ## e.g:
+ ## extraHosts:
+ ## - name: apache.local
+ ## path: /
+ ##
+ extraHosts: []
+ ## @param ingress.extraPaths An array with additional arbitrary paths that may need to be added to the ingress under the main host
+ ## e.g:
+ ## extraPaths:
+ ## - path: /*
+ ## backend:
+ ## serviceName: ssl-redirect
+ ## servicePort: use-annotation
+ ##
+ extraPaths: []
+ ## @param ingress.extraTls TLS configuration for additional hostname(s) to be covered with this ingress record
+ ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
+ ## e.g:
+ ## extraTls:
+ ## - hosts:
+ ## - apache.local
+ ## secretName: apache.local-tls
+ ##
+ extraTls: []
+ ## @param ingress.secrets Custom TLS certificates as secrets
+ ## NOTE: 'key' and 'certificate' are expected in PEM format
+ ## NOTE: 'name' should line up with a 'secretName' set further up
+ ## If it is not set and you're using cert-manager, this is unneeded, as it will create a secret for you with valid certificates
+ ## If it is not set and you're NOT using cert-manager either, self-signed certificates will be created valid for 365 days
+ ## It is also possible to create and manage the certificates outside of this helm chart
+ ## Please see README.md for more information
+ ## e.g:
+ ## secrets:
+ ## - name: example.local-tls
+ ## key: |-
+ ## -----BEGIN RSA PRIVATE KEY-----
+ ## ...
+ ## -----END RSA PRIVATE KEY-----
+ ## certificate: |-
+ ## -----BEGIN CERTIFICATE-----
+ ## ...
+ ## -----END CERTIFICATE-----
+ ##
+ secrets: []
+ ## @param ingress.extraRules Additional rules to be covered with this ingress record
+ ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules
+ ## e.g:
+ ## extraRules:
+ ## - host: apache.local
+ ## http:
+ ## path: /
+ ## backend:
+ ## service:
+ ## name: apache-svc
+ ## port:
+ ## name: http
+ ##
+ extraRules: []
+## @section Metrics Parameters
+metrics:
+ ## @param metrics.enabled Start a sidecar prometheus exporter to expose Apache metrics
+ ##
+ enabled: false
+ ## Bitnami Apache Prometheus Exporter image
+ ## ref: https://hub.docker.com/r/bitnami/apache-exporter/tags/
+ ## @param metrics.image.registry [default: REGISTRY_NAME] Apache Exporter image registry
+ ## @param metrics.image.repository [default: REPOSITORY_NAME/apache-exporter] Apache Exporter image repository
+ ## @skip metrics.image.tag Apache Exporter image tag (immutable tags are recommended)
+ ## @param metrics.image.digest Apache Exporter image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
+ ## @param metrics.image.pullPolicy Apache Exporter image pull policy
+ ## @param metrics.image.pullSecrets Apache Exporter image pull secrets
+ ## @param metrics.image.debug Apache Exporter image debug mode
+ ##
+ image:
+ registry: docker.io
+ repository: bitnami/apache-exporter
+ tag: 1.0.10-debian-12-r55
+ digest: ""
+ pullPolicy: IfNotPresent
+ ## Optionally specify an array of imagePullSecrets.
+ ## Secrets must be manually created in the namespace.
+ ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
+ ## e.g:
+ ## pullSecrets:
+ ## - myRegistryKeySecretName
+ ##
+ pullSecrets: []
+ ## Enable debug mode
+ ##
+ debug: false
+ ## @param metrics.scrapeUri Apache Prometheus Exporter scrape_uri
+ ## Default scrape_uri is 'http://status.localhost:{{ .Values.containerPorts.http }}/server-status/?auto' if this variable is empty.
+ scrapeUri: ""
+ ## @param metrics.podAnnotations [object] Additional custom annotations for Apache exporter service
+ ##
+ podAnnotations:
+ prometheus.io/scrape: "true"
+ prometheus.io/port: "9117"
+ ## Apache Prometheus exporter resource requests and limits
+ ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
+ ## We usually recommend not to specify default resources and to leave this as a conscious
+ ## choice for the user. This also increases chances charts run on environments with little
+ ## resources, such as Minikube. If you do want to specify resources, uncomment the following
+ ## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ ## @param metrics.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if metrics.resources is set (metrics.resources is recommended for production).
+ ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
+ ##
+ resourcesPreset: "none"
+ ## @param metrics.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
+ ## Example:
+ ## resources:
+ ## requests:
+ ## cpu: 2
+ ## memory: 512Mi
+ ## limits:
+ ## cpu: 3
+ ## memory: 1024Mi
+ ##
+ resources: {}
+ ## @param metrics.containerPort Apache Prometheus Exporter container port
+ ##
+ containerPort: 9141
+ ## Prometheus exporter service parameters
+ service:
+ ## @param metrics.service.port Metrics service port
+ ##
+ port: 9117
+ ## @param metrics.service.annotations [object] Additional custom annotations for Metrics service
+ ##
+ annotations:
+ prometheus.io/scrape: "true"
+ prometheus.io/port: "{{ .Values.metrics.service.port }}"
+ ## Prometheus Operator PodMonitor configuration
+ ##
+ serviceMonitor:
+ ## @param metrics.serviceMonitor.enabled if `true`, creates a Prometheus Operator PodMonitor (also requires `metrics.enabled` to be `true`)
+ ##
+ enabled: false
+ ## @param metrics.serviceMonitor.namespace Namespace for the PodMonitor Resource (defaults to the Release Namespace)
+ ##
+ namespace: ""
+ ## @param metrics.serviceMonitor.interval Interval at which metrics should be scraped.
+ ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
+ ## e.g:
+ ## interval: 10s
+ ##
+ interval: ""
+ ## @param metrics.serviceMonitor.scrapeTimeout Timeout after which the scrape is ended
+ ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
+ ## e.g:
+ ## scrapeTimeout: 10s
+ ##
+ scrapeTimeout: ""
+ ## @param metrics.serviceMonitor.labels Labels that can be used so PodMonitor will be discovered by Prometheus
+ ##
+ labels: {}
+ ## @param metrics.serviceMonitor.relabelings RelabelConfigs to apply to samples before scraping
+ ##
+ relabelings: []
+ ## @param metrics.serviceMonitor.metricRelabelings MetricRelabelConfigs to apply to samples before ingestion
+ ##
+ metricRelabelings: []
+ ## Prometheus Operator PrometheusRule configuration
+ ##
+ prometheusRule:
+ ## @param metrics.prometheusRule.enabled if `true`, creates a Prometheus Operator PrometheusRule (also requires `metrics.enabled` to be `true` and `metrics.prometheusRule.rules`)
+ ##
+ enabled: false
+ ## @param metrics.prometheusRule.namespace Namespace for the PrometheusRule Resource (defaults to the Release Namespace)
+ ##
+ namespace: ""
+ ## @param metrics.prometheusRule.labels Labels that can be used so PrometheusRule will be discovered by Prometheus
+ ##
+ labels: {}
+ ## @param metrics.prometheusRule.rules Prometheus Rule definitions
+ ## - alert: LowInstance
+ ## expr: up{service="{{ template "common.names.fullname" . }}"} < 1
+ ## for: 1m
+ ## labels:
+ ## severity: critical
+ ## annotations:
+ ## description: Service {{ template "common.names.fullname" . }} Apache is down since 1m.
+ ## summary: Apache instance is down.
+ ##
+ rules: []
+## Service Account
+## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
+##
+serviceAccount:
+ ## @param serviceAccount.create Enable creation of ServiceAccount for Apache pod
+ ##
+ create: true
+ ## @param serviceAccount.name The name of the ServiceAccount to use.
+ ## If not set and create is true, a name is generated using the common.names.fullname template
+ ##
+ name: ""
+ ## @param serviceAccount.automountServiceAccountToken Allows auto mount of ServiceAccountToken on the serviceAccount created
+ ## Can be set to false if pods using this serviceAccount do not need to use K8s API
+ ##
+ automountServiceAccountToken: false
+ ## @param serviceAccount.annotations Additional custom annotations for the ServiceAccount
+ ##
+ annotations: {}
diff --git a/Tests/Fixtures/real-yaml/compose-django.yaml b/Tests/Fixtures/real-yaml/compose-django.yaml
new file mode 100644
index 0000000..88df6d3
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/compose-django.yaml
@@ -0,0 +1,7 @@
+services:
+ web:
+ build:
+ context: app
+ target: builder
+ ports:
+ - '8000:8000'
diff --git a/Tests/Fixtures/real-yaml/compose-nginx-nodejs-redis.yaml b/Tests/Fixtures/real-yaml/compose-nginx-nodejs-redis.yaml
new file mode 100644
index 0000000..7f3748c
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/compose-nginx-nodejs-redis.yaml
@@ -0,0 +1,27 @@
+
+services:
+ redis:
+ image: 'redislabs/redismod'
+ ports:
+ - '6379:6379'
+ web1:
+ restart: on-failure
+ build: ./web
+ hostname: web1
+ ports:
+ - '81:5000'
+ web2:
+ restart: on-failure
+ build: ./web
+ hostname: web2
+ ports:
+ - '82:5000'
+ nginx:
+ build: ./nginx
+ ports:
+ - '80:80'
+ depends_on:
+ - web1
+ - web2
+
+
diff --git a/Tests/Fixtures/real-yaml/compose-prometheus-grafana.yaml b/Tests/Fixtures/real-yaml/compose-prometheus-grafana.yaml
new file mode 100644
index 0000000..24369bc
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/compose-prometheus-grafana.yaml
@@ -0,0 +1,25 @@
+services:
+ prometheus:
+ image: prom/prometheus
+ container_name: prometheus
+ command:
+ - '--config.file=/etc/prometheus/prometheus.yml'
+ ports:
+ - 9090:9090
+ restart: unless-stopped
+ volumes:
+ - ./prometheus:/etc/prometheus
+ - prom_data:/prometheus
+ grafana:
+ image: grafana/grafana
+ container_name: grafana
+ ports:
+ - 3000:3000
+ restart: unless-stopped
+ environment:
+ - GF_SECURITY_ADMIN_USER=admin
+ - GF_SECURITY_ADMIN_PASSWORD=grafana
+ volumes:
+ - ./grafana:/etc/grafana/provisioning/datasources
+volumes:
+ prom_data:
diff --git a/Tests/Fixtures/real-yaml/compose-wordpress-mysql.yaml b/Tests/Fixtures/real-yaml/compose-wordpress-mysql.yaml
new file mode 100644
index 0000000..afa0f46
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/compose-wordpress-mysql.yaml
@@ -0,0 +1,33 @@
+services:
+ db:
+ # We use a mariadb image which supports both amd64 & arm64 architecture
+ image: mariadb:10.6.4-focal
+ # If you really want to use MySQL, uncomment the following line
+ #image: mysql:8.0.27
+ command: '--default-authentication-plugin=mysql_native_password'
+ volumes:
+ - db_data:/var/lib/mysql
+ restart: always
+ environment:
+ - MYSQL_ROOT_PASSWORD=somewordpress
+ - MYSQL_DATABASE=wordpress
+ - MYSQL_USER=wordpress
+ - MYSQL_PASSWORD=wordpress
+ expose:
+ - 3306
+ - 33060
+ wordpress:
+ image: wordpress:latest
+ ports:
+ - 80:80
+ restart: always
+ environment:
+ - WORDPRESS_DB_HOST=db
+ - WORDPRESS_DB_USER=wordpress
+ - WORDPRESS_DB_PASSWORD=wordpress
+ - WORDPRESS_DB_NAME=wordpress
+volumes:
+ db_data:
+
+
+
\ No newline at end of file
diff --git a/Tests/Fixtures/real-yaml/docs-github-workflows-all-documents-yml.yml b/Tests/Fixtures/real-yaml/docs-github-workflows-all-documents-yml.yml
new file mode 100644
index 0000000..f52aebf
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/docs-github-workflows-all-documents-yml.yml
@@ -0,0 +1,42 @@
+name: All documents script
+
+# **What it does**: Verifies that the all-documents script works.
+# **Why we have it**: Code quality and sustainability.
+# **Who does it impact**: docs-engineering
+
+on:
+ pull_request:
+ paths:
+ - 'src/content-render/scripts/all-documents/**'
+ - 'package*.json'
+ - .github/workflows/all-documents.yml
+
+permissions:
+ contents: read
+
+jobs:
+ all-documents-script:
+ if: github.repository == 'github/docs-internal'
+ runs-on: ubuntu-latest
+ steps:
+ - name: Check out repo
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+
+ - uses: ./.github/actions/node-npm-setup
+
+ - name: Run all-documents script
+ env:
+ NODE_ENV: production
+ run: |
+ echo "Help..."
+ npm run all-documents -- --help
+
+ echo ""
+ echo "Storing in a file (English only)"
+ npm run all-documents -- -o all-documents.json -l en
+
+ echo ""
+ echo "Look at the first 50 lines of the file..."
+ cat all-documents.json | jq | head -n 50
+
+ # We're essentially expecting it to not crash and fail.
diff --git a/Tests/Fixtures/real-yaml/docs-github-workflows-article-api-docs-yml.yml b/Tests/Fixtures/real-yaml/docs-github-workflows-article-api-docs-yml.yml
new file mode 100644
index 0000000..b856b43
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/docs-github-workflows-article-api-docs-yml.yml
@@ -0,0 +1,45 @@
+name: 'Check article-api docs'
+
+# **What it does**: Makes sure changes to the article api are documented.
+# **Why we have it**: So what's documented doesn't fall behind
+# **Who does it impact**: Docs engineering, CGS team
+
+on:
+ workflow_dispatch:
+ pull_request:
+ paths:
+ - 'src/article-api/middleware/article.ts'
+ - 'src/article-api/middleware/pagelist.ts'
+ # Self-test
+ - .github/workflows/article-api-docs.yml
+
+permissions:
+ contents: read
+
+jobs:
+ check-content-linter-rules-docs:
+ runs-on: ubuntu-latest
+ if: github.repository == 'github/docs-internal' || github.repository == 'github/docs'
+ steps:
+ - name: Checkout
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+
+ - uses: ./.github/actions/node-npm-setup
+
+ - name: Check that src/article-api/README.md is up-to-date
+ run: npm run generate-article-api-docs
+
+ - name: Fail if it isn't up-to-date
+ run: |
+ if [ -n "$(git status --porcelain)" ]; then
+ git status
+ git diff
+
+ # Some whitespace for the sake of the message below
+ echo ""
+ echo ""
+
+ echo "src/article-api/README.md is out of date."
+ echo "Please run 'npm run generate-article-api-docs' and commit the changes."
+ exit 1;
+ fi
diff --git a/Tests/Fixtures/real-yaml/docs-github-workflows-auto-add-ready-for-doc-review-yml.yml b/Tests/Fixtures/real-yaml/docs-github-workflows-auto-add-ready-for-doc-review-yml.yml
new file mode 100644
index 0000000..14f9116
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/docs-github-workflows-auto-add-ready-for-doc-review-yml.yml
@@ -0,0 +1,54 @@
+name: Auto-add ready-for-doc-review label
+
+# **What it does**: Automatically adds the "ready-for-doc-review" label to DIY docs PRs that contain content or data changes when they are opened in a non-draft state or converted from draft to ready for review.
+# **Why we have it**: To ensure DIY docs PRs are automatically added to the docs-content review board without requiring manual labeling.
+# **Who does it impact**: Contributors making content changes and docs-content reviewers.
+
+on:
+ pull_request:
+ types:
+ - opened
+ - ready_for_review
+ paths:
+ - 'content/**'
+ - 'data/**'
+
+permissions:
+ contents: read
+ pull-requests: write
+
+jobs:
+ add-review-label:
+ name: Add ready-for-doc-review label to DIY docs PRs
+ if: github.repository == 'github/docs-internal' && github.event.pull_request.draft == false && github.actor != 'github-openapi-bot' && github.actor != 'docs-bot'
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Check out repo
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+
+ - name: Check team membership
+ id: membership_check
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ with:
+ github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ script: |
+ try {
+ await github.rest.teams.getMembershipForUserInOrg({
+ org: 'github',
+ team_slug: 'docs',
+ username: context.payload.sender.login,
+ });
+ return true
+ } catch(err) {
+ console.log(err)
+ return false
+ }
+
+ - name: Add ready-for-doc-review label
+ if: steps.membership_check.outputs.result == 'false'
+ env:
+ GITHUB_TOKEN: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ PR_URL: ${{ github.event.pull_request.html_url }}
+ run: |
+ gh pr edit $PR_URL --add-label ready-for-doc-review
diff --git a/Tests/Fixtures/real-yaml/docs-github-workflows-auto-close-dependencies-yml.yml b/Tests/Fixtures/real-yaml/docs-github-workflows-auto-close-dependencies-yml.yml
new file mode 100644
index 0000000..a073fa3
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/docs-github-workflows-auto-close-dependencies-yml.yml
@@ -0,0 +1,68 @@
+name: Auto Close Open Source Dependency Updates
+
+# **What it does**:
+# - close-external: Automatically close dependabot's pull requests in the open-source repository.
+# **Why we have it**:
+# - close-external: To avoid duplicating updates against the internal repository.
+# **Who does it impact**: It helps docs engineering focus on higher value work.
+
+on:
+ pull_request:
+ paths:
+ - 'package*.json'
+ - 'Gemfile*'
+ - 'Dockerfile'
+ - '.github/workflows/**'
+ pull_request_review:
+ types:
+ - edited
+ - submitted
+
+permissions:
+ contents: write
+ pull-requests: write
+
+jobs:
+ close-external:
+ if: >-
+ ${{
+ github.repository == 'github/docs' &&
+ github.event.pull_request.number &&
+ github.event.pull_request.base.ref == 'main' &&
+ github.event.pull_request.user.login == 'dependabot[bot]' &&
+ github.event.pull_request.state == 'open'
+ }}
+ runs-on: ubuntu-latest
+ steps:
+ - name: Close pull request and delete branch
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ PR_URL: ${{ github.event.pull_request.html_url }}
+ run: |
+ gh pr close "$PR_URL" --delete-branch
+
+ - name: Comment on the pull request
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ PR_URL: ${{ github.event.pull_request.html_url }}
+ run: |
+ gh pr comment "$PR_URL" --body "This dependency update will be handled internally by our engineering team."
+
+ # Because we get far too much spam ;_;
+ - name: Lock conversations
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3
+ env:
+ PR_NUMBER: ${{ github.event.pull_request.number }}
+ with:
+ script: |
+ try {
+ await github.rest.issues.lock({
+ ...context.repo,
+ issue_number: parseInt(process.env.PR_NUMBER, 10),
+ lock_reason: 'resolved'
+ })
+ console.log('Locked the pull request to prevent spam!')
+ } catch (error) {
+ console.error(`Failed to lock the pull request. Error: ${error}`)
+ throw error
+ }
diff --git a/Tests/Fixtures/real-yaml/docs-github-workflows-benchmark-pages-yml.yml b/Tests/Fixtures/real-yaml/docs-github-workflows-benchmark-pages-yml.yml
new file mode 100644
index 0000000..69e40cc
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/docs-github-workflows-benchmark-pages-yml.yml
@@ -0,0 +1,170 @@
+name: 'Weekly page benchmark'
+
+# **What it does**: Benchmarks all pages via the article API, flags errors and slow pages
+# **Why we have it**: Catch perf regressions and broken pages before users hit them
+# **Who does it impact**: Docs engineering
+
+on:
+ workflow_dispatch:
+ schedule:
+ - cron: '20 16 * * 1' # Every Monday at 16:20 UTC / 8:20 PST
+
+permissions:
+ contents: read
+
+jobs:
+ benchmark:
+ if: github.repository == 'github/docs-internal'
+ runs-on: ubuntu-latest
+ env:
+ BENCHMARK_LABEL: benchmark-regression
+ ISSUE_REPO: github/docs-engineering
+ steps:
+ - name: Checkout
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+ with:
+ persist-credentials: 'false'
+
+ - uses: ./.github/actions/node-npm-setup
+
+ - name: Build
+ run: npm run build
+
+ - name: Start server
+ env:
+ NODE_ENV: production
+ PORT: 4000
+ run: |
+ npm run start-for-ci &
+ sleep 5
+ curl --retry-connrefused --retry 6 -I http://localhost:4000/
+
+ - name: Run benchmark
+ run: |
+ npx tsx src/workflows/benchmark-pages.ts \
+ --versions "free-pro-team@latest,enterprise-cloud@latest,enterprise-server@latest" \
+ --modes article-body \
+ --slow 1000 \
+ --json /tmp/benchmark-results.json | tee /tmp/benchmark-output.txt
+
+ - name: Check results and create issue if needed
+ if: always()
+ env:
+ GH_TOKEN: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
+ run: |
+ echo "Reading benchmark results..."
+ ERRORS=$(jq '.errors | length' /tmp/benchmark-results.json 2>/dev/null || echo "0")
+ SLOW=$(jq '.slow | length' /tmp/benchmark-results.json 2>/dev/null || echo "0")
+ TOTAL=$(jq '.totalRequests' /tmp/benchmark-results.json 2>/dev/null || echo "0")
+ P50=$(jq '.p50' /tmp/benchmark-results.json 2>/dev/null || echo "0")
+ P99=$(jq '.p99' /tmp/benchmark-results.json 2>/dev/null || echo "0")
+ MAX=$(jq '.max' /tmp/benchmark-results.json 2>/dev/null || echo "0")
+ echo "Done reading results: $TOTAL pages, $ERRORS errors, $SLOW slow"
+
+ VERSIONS="free-pro-team@latest, enterprise-cloud@latest, enterprise-server@latest"
+ LANGS="en"
+
+ if [ "$ERRORS" = "0" ] && [ "$SLOW" = "0" ]; then
+ echo "✅ All clear — $TOTAL pages, p50=${P50}ms, p99=${P99}ms, max=${MAX}ms"
+
+ echo "Checking for existing open issue..."
+ existing=$(gh issue list \
+ --repo "$ISSUE_REPO" \
+ --label "$BENCHMARK_LABEL" \
+ --state open \
+ --json number \
+ --jq '.[0].number // empty' 2>/dev/null || true)
+ if [ -n "$existing" ]; then
+ echo "Closing issue #$existing..."
+ gh issue close "$existing" \
+ --repo "$ISSUE_REPO" \
+ --comment "All clear as of $RUN_URL — closing."
+ echo "Done closing issue #$existing"
+ else
+ echo "No existing issue to close"
+ fi
+ exit 0
+ fi
+
+ PROBLEM_COUNT=$((ERRORS + SLOW))
+ echo "Found $ERRORS errors and $SLOW slow pages ($PROBLEM_COUNT total problems)"
+
+ echo "Ensuring label exists..."
+ gh label create "$BENCHMARK_LABEL" \
+ --repo "$ISSUE_REPO" \
+ --description "Weekly page benchmark found slow or errored pages" \
+ --color "e16f24" 2>/dev/null || true
+ echo "Done ensuring label"
+
+ echo "Building issue body..."
+ BODY_FILE=/tmp/benchmark-issue-body.md
+ {
+ echo "## Weekly page benchmark found issues"
+ echo ""
+ echo "**Run:** $RUN_URL"
+ echo "**Languages:** $LANGS"
+ echo "**Versions:** $VERSIONS"
+ echo "**Total pages:** $TOTAL"
+ echo "**Stats:** p50=${P50}ms · p99=${P99}ms · max=${MAX}ms"
+ echo "**Errors:** $ERRORS"
+ echo "**Slow (≥1000ms):** $SLOW"
+ } > "$BODY_FILE"
+
+ if [ "$ERRORS" -gt 0 ]; then
+ {
+ echo ""
+ echo "### Errors"
+ echo ""
+ echo "| Status | Mode | Path | Error |"
+ echo "|--------|------|------|-------|"
+ jq -r '.errors[] | "| \(.status) | \(.mode) | \(.path) | \(.errorBody // "" | gsub("\\|"; "\\|") | gsub("\r"; " ") | gsub("\n"; " ")) |"' /tmp/benchmark-results.json
+ } >> "$BODY_FILE"
+ fi
+
+ if [ "$SLOW" -gt 0 ]; then
+ {
+ echo ""
+ echo "### Slow pages"
+ echo ""
+ echo "| Time | Mode | Path |"
+ echo "|------|------|------|"
+ jq -r '.slow[] | "| \(.timeMs)ms | \(.mode) | \(.path) |"' /tmp/benchmark-results.json
+ } >> "$BODY_FILE"
+ fi
+ echo "Done building issue body"
+
+ echo "Checking for existing open issue..."
+ existing=$(gh issue list \
+ --repo "$ISSUE_REPO" \
+ --label "$BENCHMARK_LABEL" \
+ --state open \
+ --json number \
+ --jq '.[0].number // empty' 2>/dev/null || true)
+
+ if [ -n "$existing" ]; then
+ echo "Commenting on existing issue #$existing..."
+ gh issue comment "$existing" \
+ --repo "$ISSUE_REPO" \
+ --body-file "$BODY_FILE"
+ echo "Done commenting on issue #$existing"
+ else
+ echo "Creating new issue..."
+ gh issue create \
+ --repo "$ISSUE_REPO" \
+ --label "$BENCHMARK_LABEL" \
+ --title "[Benchmark] ${PROBLEM_COUNT} slow or errored pages detected" \
+ --body-file "$BODY_FILE"
+ echo "Done creating issue"
+ fi
+
+ - uses: ./.github/actions/slack-alert
+ if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
+ with:
+ slack_channel_id: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }}
+ slack_token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }}
+
+ - uses: ./.github/actions/create-workflow-failure-issue
+ if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
+ with:
+ token: ${{ secrets.DOCS_BOT_PAT_BASE }}
diff --git a/Tests/Fixtures/real-yaml/docs-github-workflows-changelog-agent-yml.yml b/Tests/Fixtures/real-yaml/docs-github-workflows-changelog-agent-yml.yml
new file mode 100644
index 0000000..36b1ec6
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/docs-github-workflows-changelog-agent-yml.yml
@@ -0,0 +1,762 @@
+name: Changelog agent — draft entry when a qualified PR merges
+
+# **What it does**: When a PR merges that closes a docs-content issue with a
+# parent issue, uses an LLM to draft a changelog entry, opens a PR in
+# github/docs-content, and DMs the author in Slack for review.
+# **Why we have it**: Automates the changelog drafting process so authors
+# don't have to remember to write a changelog entry manually.
+# **Who does it impact**: docs-content team members.
+
+on:
+ pull_request:
+ types: [closed]
+ workflow_dispatch:
+ inputs:
+ pr_number:
+ description: 'PR number to test with (must be a merged PR)'
+ required: true
+ type: number
+ dry_run:
+ description: 'Dry run — log actions but do not create PR or send Slack DM'
+ required: false
+ type: boolean
+ default: true
+
+concurrency:
+ group: changelog-agent-${{ github.event.pull_request.number || github.event.inputs.pr_number }}
+ cancel-in-progress: true
+
+permissions:
+ contents: read
+ pull-requests: write
+ issues: write
+
+env:
+ CHANGELOG_FILE: docs-content-docs/docs-content-workflows/changelog-internal.md
+ TARGET_REPO: github/docs-content
+
+jobs:
+ generate-changelog:
+ if: >-
+ github.repository == 'github/docs-internal' &&
+ (
+ (github.event_name == 'pull_request' && github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'main') ||
+ github.event_name == 'workflow_dispatch'
+ )
+ runs-on: ubuntu-latest
+ steps:
+ - name: Resolve PR data
+ id: resolve_pr
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ with:
+ github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ script: |
+ let pr;
+ if (context.eventName === 'workflow_dispatch') {
+ const prNumber = parseInt('${{ inputs.pr_number }}', 10);
+ const { data } = await github.rest.pulls.get({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ pull_number: prNumber,
+ });
+ pr = data;
+ if (!pr.merged) {
+ core.setFailed(`PR #${prNumber} has not been merged. Cannot test.`);
+ return;
+ }
+ } else {
+ pr = context.payload.pull_request;
+ }
+ core.setOutput('pr_number', pr.number.toString());
+ core.setOutput('pr_author', pr.user.login);
+ core.setOutput('pr_title', pr.title);
+ core.setOutput('pr_body', pr.body || '');
+ core.setOutput('pr_url', pr.html_url);
+
+ - name: Check if PR author is in the team
+ id: check_team
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ with:
+ github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ script: |
+ const author = '${{ steps.resolve_pr.outputs.pr_author }}';
+
+ // Fetch github-to-slack.json from docs-content via API
+ let mapping = {};
+ try {
+ const { data } = await github.rest.repos.getContent({
+ owner: 'github',
+ repo: 'docs-content',
+ path: '.github/github-to-slack.json',
+ });
+ const content = Buffer.from(data.content, 'base64').toString('utf-8');
+ mapping = JSON.parse(content);
+ } catch (err) {
+ core.setFailed(`Could not fetch github-to-slack.json from docs-content: ${err.message}`);
+ return;
+ }
+
+ // Remove non-user keys (like _comment)
+ const teamMembers = Object.keys(mapping).filter(k => !k.startsWith('_'));
+
+ if (!teamMembers.includes(author)) {
+ core.info(`PR author @${author} is not in the team mapping. Skipping.`);
+ core.setOutput('is_team_member', 'false');
+ return;
+ }
+
+ core.info(`PR author @${author} is a team member. Proceeding.`);
+ core.setOutput('is_team_member', 'true');
+
+ - name: Extract linked docs-content issue
+ if: steps.check_team.outputs.is_team_member == 'true'
+ id: extract_issue
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ env:
+ PR_BODY: ${{ steps.resolve_pr.outputs.pr_body }}
+ with:
+ github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ script: |
+ const body = process.env.PR_BODY || '';
+
+ // Match closing keywords followed by docs-content issue references.
+ // Supports: closes github/docs-content#123, fixes https://github.com/github/docs-content/issues/123
+ const patterns = [
+ /(?:close[sd]?|fix(?:e[sd])?|resolve[sd]?):?\s+github\/docs-content#(\d+)/gi,
+ /(?:close[sd]?|fix(?:e[sd])?|resolve[sd]?):?\s+https:\/\/github\.com\/github\/docs-content\/issues\/(\d+)/gi,
+ ];
+
+ let issueNumber = null;
+ for (const pattern of patterns) {
+ const match = pattern.exec(body);
+ if (match) {
+ issueNumber = parseInt(match[1], 10);
+ break;
+ }
+ }
+
+ if (!issueNumber) {
+ core.info('No linked docs-content issue found in PR body. Exiting.');
+ core.setOutput('found', 'false');
+ return;
+ }
+
+ core.info(`Found linked docs-content issue: #${issueNumber}`);
+ core.setOutput('found', 'true');
+ core.setOutput('issue_number', issueNumber.toString());
+
+ - name: Check for parent issue
+ if: steps.extract_issue.outputs.found == 'true'
+ id: check_parent
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ with:
+ github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ script: |
+ const issueNumber = parseInt('${{ steps.extract_issue.outputs.issue_number }}', 10);
+
+ let issue;
+ try {
+ const { data } = await github.rest.issues.get({
+ owner: 'github',
+ repo: 'docs-content',
+ issue_number: issueNumber,
+ });
+ issue = data;
+ } catch (err) {
+ core.info(`Could not fetch docs-content issue #${issueNumber}: ${err.message}. Skipping.`);
+ core.setOutput('has_parent', 'false');
+ return;
+ }
+
+ // Query for parent issue via GraphQL
+ const query = `
+ query($nodeId: ID!) {
+ node(id: $nodeId) {
+ ... on Issue {
+ parent {
+ number
+ title
+ body
+ url
+ author { login }
+ assignees(first: 10) {
+ nodes { login }
+ }
+ repository {
+ nameWithOwner
+ }
+ }
+ }
+ }
+ }
+ `;
+
+ let result;
+ try {
+ result = await github.graphql(query, { nodeId: issue.node_id });
+ } catch (err) {
+ core.info(`GraphQL parent query failed: ${err.message}. Skipping.`);
+ core.setOutput('has_parent', 'false');
+ return;
+ }
+
+ const parent = result.node?.parent;
+
+ if (!parent) {
+ core.info('docs-content issue has no parent issue. Exiting.');
+ core.setOutput('has_parent', 'false');
+ return;
+ }
+
+ core.info(`Found parent issue: ${parent.repository.nameWithOwner}#${parent.number}`);
+ core.setOutput('has_parent', 'true');
+ core.setOutput('parent_number', parent.number.toString());
+ core.setOutput('parent_title', parent.title);
+ core.setOutput('parent_body', parent.body || '');
+ core.setOutput('parent_url', parent.url);
+ core.setOutput('parent_author', parent.author?.login || '');
+ core.setOutput('parent_assignees', (parent.assignees?.nodes || []).map(a => a.login).join(','));
+ core.setOutput('parent_repo', parent.repository.nameWithOwner);
+
+ // Also store the docs-content issue details
+ core.setOutput('dc_issue_title', issue.title);
+ core.setOutput('dc_issue_body', issue.body || '');
+
+ - name: Gather PR context
+ if: steps.check_parent.outputs.has_parent == 'true'
+ id: gather_context
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ env:
+ PR_TITLE: ${{ steps.resolve_pr.outputs.pr_title }}
+ PR_BODY: ${{ steps.resolve_pr.outputs.pr_body }}
+ PR_URL: ${{ steps.resolve_pr.outputs.pr_url }}
+ with:
+ github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ script: |
+ const prNumber = parseInt('${{ steps.resolve_pr.outputs.pr_number }}', 10);
+ const prAuthor = '${{ steps.resolve_pr.outputs.pr_author }}';
+
+ // Get approved reviewers (exclude bots and PR author)
+ const { data: reviews } = await github.rest.pulls.listReviews({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ pull_number: prNumber,
+ });
+
+ const approvedReviewers = [...new Set(
+ reviews
+ .filter(r => r.state === 'APPROVED' && r.user.type !== 'Bot' && r.user.login !== prAuthor)
+ .map(r => r.user.login)
+ )];
+
+ // Get changed files (paths only, limit to 50)
+ const { data: files } = await github.rest.pulls.listFiles({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ pull_number: prNumber,
+ per_page: 50,
+ });
+
+ const changedFiles = files.map(f => f.filename);
+
+ core.setOutput('pr_author', prAuthor);
+ core.setOutput('pr_title', process.env.PR_TITLE || '');
+ core.setOutput('pr_body', process.env.PR_BODY || '');
+ core.setOutput('pr_url', process.env.PR_URL || '');
+ core.setOutput('pr_number', prNumber.toString());
+ core.setOutput('approved_reviewers', approvedReviewers.join(','));
+ core.setOutput('changed_files', changedFiles.join('\n'));
+
+ - name: Check for existing changelog PR
+ if: steps.check_parent.outputs.has_parent == 'true'
+ id: check_existing
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ with:
+ github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ script: |
+ const branchName = `changelog-agent-${{ steps.resolve_pr.outputs.pr_number }}`;
+ const { data: pulls } = await github.rest.pulls.list({
+ owner: 'github',
+ repo: 'docs-content',
+ head: `github:${branchName}`,
+ state: 'open',
+ });
+
+ if (pulls.length > 0) {
+ core.info(`Changelog PR already exists: ${pulls[0].html_url}`);
+ core.setOutput('exists', 'true');
+ core.setOutput('existing_pr_url', pulls[0].html_url);
+ } else {
+ core.setOutput('exists', 'false');
+ }
+
+ - name: Read existing changelog examples
+ if: steps.check_parent.outputs.has_parent == 'true' && steps.check_existing.outputs.exists == 'false'
+ id: read_examples
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ with:
+ github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ script: |
+ // Fetch changelog-internal.md from docs-content
+ const { data } = await github.rest.repos.getContent({
+ owner: 'github',
+ repo: 'docs-content',
+ path: 'docs-content-docs/docs-content-workflows/changelog-internal.md',
+ });
+ const changelog = Buffer.from(data.content, 'base64').toString('utf-8');
+
+ // Extract the first 3 entries (each starts with **date**)
+ const lines = changelog.split('\n');
+ let count = 0;
+ let examples = [];
+ let capturing = false;
+ for (const line of lines) {
+ if (/^\*\*\d/.test(line)) {
+ count++;
+ if (count > 3) break;
+ capturing = true;
+ }
+ if (capturing) examples.push(line);
+ }
+
+ core.setOutput('examples', examples.join('\n'));
+
+ - name: Set up Node.js
+ if: steps.check_parent.outputs.has_parent == 'true' && steps.check_existing.outputs.exists == 'false'
+ uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
+ with:
+ node-version-file: 'package.json'
+
+ - name: Prepare prompts for LLM
+ if: steps.check_parent.outputs.has_parent == 'true' && steps.check_existing.outputs.exists == 'false'
+ id: prepare_prompts
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ env:
+ PR_TITLE: ${{ steps.gather_context.outputs.pr_title }}
+ PR_BODY: ${{ steps.gather_context.outputs.pr_body }}
+ PR_AUTHOR: ${{ steps.gather_context.outputs.pr_author }}
+ CHANGED_FILES: ${{ steps.gather_context.outputs.changed_files }}
+ APPROVED_REVIEWERS: ${{ steps.gather_context.outputs.approved_reviewers }}
+ DC_ISSUE_TITLE: ${{ steps.check_parent.outputs.dc_issue_title }}
+ DC_ISSUE_BODY: ${{ steps.check_parent.outputs.dc_issue_body }}
+ PARENT_TITLE: ${{ steps.check_parent.outputs.parent_title }}
+ PARENT_BODY: ${{ steps.check_parent.outputs.parent_body }}
+ PARENT_AUTHOR: ${{ steps.check_parent.outputs.parent_author }}
+ PARENT_ASSIGNEES: ${{ steps.check_parent.outputs.parent_assignees }}
+ CHANGELOG_EXAMPLES: ${{ steps.read_examples.outputs.examples }}
+ with:
+ script: |
+ const fs = require('fs');
+
+ const today = new Date();
+ const dateStr = today.toLocaleDateString('en-GB', {
+ day: 'numeric', month: 'long', year: 'numeric'
+ });
+
+ const systemPrompt = `You are a technical writer for GitHub Docs. You write changelog entries for the internal docs changelog.
+
+ Rules:
+ - Write in plain, clear language suitable for an internal audience of docs team members
+ - Focus on what shipped and its impact on users of docs.github.com
+ - Use present tense or past tense consistently
+ - Include links to relevant docs pages when possible (use full https://docs.github.com/... URLs)
+ - The entry MUST include these sections in order:
+ 1. A brief description paragraph of what shipped
+ 2. **Anticipated impact**: One or two sentences about who is affected and how
+ 3. **Authored by**: @username of the PR author
+ 4. **Thanks to**: @usernames of reviewers and stakeholders who helped
+ - Do NOT include any internal issue numbers, PR numbers, or repo references in the description
+ - Do NOT disclose sensitive information
+ - Match the tone and structure of the example entries provided
+ - Output ONLY the changelog entry text (no date header, no tag — those are added automatically)`;
+
+ const reviewers = process.env.APPROVED_REVIEWERS
+ ? process.env.APPROVED_REVIEWERS.split(',').filter(r => r !== process.env.PR_AUTHOR).map(r => `@${r}`).join(', ')
+ : '';
+ const stakeholders = [
+ process.env.PARENT_AUTHOR,
+ ...(process.env.PARENT_ASSIGNEES ? process.env.PARENT_ASSIGNEES.split(',') : []),
+ ].filter(Boolean).filter(u => u !== process.env.PR_AUTHOR).filter((v, i, a) => a.indexOf(v) === i).map(u => `@${u}`).join(', ');
+
+ const thanksTo = [reviewers, stakeholders].filter(Boolean).join(', ');
+
+ const userPrompt = `Draft a changelog entry for a docs change that just shipped.
+
+ ## PR details
+ Title: ${process.env.PR_TITLE}
+ Description: ${process.env.PR_BODY}
+ Author: @${process.env.PR_AUTHOR}
+ Changed files:
+ ${process.env.CHANGED_FILES}
+
+ ## docs-content issue
+ Title: ${process.env.DC_ISSUE_TITLE}
+ Description: ${process.env.DC_ISSUE_BODY}
+
+ ## Parent issue (broader feature/initiative)
+ Title: ${process.env.PARENT_TITLE}
+ Description: ${process.env.PARENT_BODY}
+
+ ## Credits
+ Author: @${process.env.PR_AUTHOR}
+ Thanks to: ${thanksTo || 'N/A'}
+
+ ## Example entries from the existing changelog (match this style):
+ ${process.env.CHANGELOG_EXAMPLES}
+
+ Write the changelog entry now. Include the **Anticipated impact**, **Authored by**, and **Thanks to** sections.`;
+
+ fs.writeFileSync('system-prompt.txt', systemPrompt);
+ fs.writeFileSync('prompt.txt', userPrompt);
+ core.setOutput('date_str', dateStr);
+
+ - name: Generate changelog draft via Copilot
+ if: steps.check_parent.outputs.has_parent == 'true' && steps.check_existing.outputs.exists == 'false'
+ id: generate_draft
+ uses: actions/ai-inference@17ff458cb182449bbb2e43701fcd98f6af8f6570 # v2.1.0
+ with:
+ provider: copilot
+ model: gpt-4.1
+ prompt-file: prompt.txt
+ system-prompt-file: system-prompt.txt
+ max-completion-tokens: 1000
+ temperature: 0.3
+ env:
+ COPILOT_GITHUB_TOKEN: ${{ secrets.DOCS_BOT_PAT_COPILOT }}
+
+ - name: Dry run summary
+ if: steps.generate_draft.outputs.response != '' && inputs.dry_run == true
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ env:
+ PR_AUTHOR: ${{ steps.gather_context.outputs.pr_author }}
+ PR_URL: ${{ steps.gather_context.outputs.pr_url }}
+ PARENT_TITLE: ${{ steps.check_parent.outputs.parent_title }}
+ DRAFT: ${{ steps.generate_draft.outputs.response }}
+ with:
+ script: |
+ core.info('=== DRY RUN — no PR will be created, no Slack DM sent ===');
+ core.info(`PR author: ${process.env.PR_AUTHOR || ''}`);
+ core.info(`Source PR: ${process.env.PR_URL || ''}`);
+ core.info(`Parent issue: ${process.env.PARENT_TITLE || ''}`);
+ core.info('--- Generated changelog draft ---');
+ core.info((process.env.DRAFT || '').replace(/^::/gm, ': :'));
+ core.info('--- End of draft ---');
+
+ - name: Create changelog PR in docs-content
+ if: steps.generate_draft.outputs.response != '' && steps.check_existing.outputs.exists == 'false' && inputs.dry_run != true
+ id: create_pr
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ env:
+ DRAFT: ${{ steps.generate_draft.outputs.response }}
+ DATE_STR: ${{ steps.prepare_prompts.outputs.date_str }}
+ PR_AUTHOR: ${{ steps.gather_context.outputs.pr_author }}
+ PR_URL: ${{ steps.gather_context.outputs.pr_url }}
+ PR_NUMBER: ${{ steps.gather_context.outputs.pr_number }}
+ APPROVED_REVIEWERS: ${{ steps.gather_context.outputs.approved_reviewers }}
+ PARENT_TITLE: ${{ steps.check_parent.outputs.parent_title }}
+ PARENT_URL: ${{ steps.check_parent.outputs.parent_url }}
+ PARENT_AUTHOR: ${{ steps.check_parent.outputs.parent_author }}
+ PARENT_ASSIGNEES: ${{ steps.check_parent.outputs.parent_assignees }}
+ with:
+ github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ script: |
+ const branchName = `changelog-agent-${{ steps.resolve_pr.outputs.pr_number }}`;
+ const filePath = 'docs-content-docs/docs-content-workflows/changelog-internal.md';
+
+ // Get the current changelog file from docs-content
+ const { data: fileData } = await github.rest.repos.getContent({
+ owner: 'github',
+ repo: 'docs-content',
+ path: filePath,
+ });
+
+ let changelog = Buffer.from(fileData.content, 'base64').toString('utf-8');
+
+ // Build the new entry
+ const entry = `**${process.env.DATE_STR}**\n\n${process.env.DRAFT}\n\n`;
+
+ // Insert after the first H1 heading so leading frontmatter, comments,
+ // or blank lines do not affect placement.
+ const lines = changelog.split('\n');
+ const headingIndex = lines.findIndex((line) => line.startsWith('# '));
+
+ if (headingIndex === -1) {
+ changelog = `${entry}\n${changelog}`;
+ } else {
+ const beforeAndHeading = lines.slice(0, headingIndex + 1).join('\n');
+ const rest = lines.slice(headingIndex + 1).join('\n');
+ changelog = rest
+ ? `${beforeAndHeading}\n\n${entry}\n${rest}`
+ : `${beforeAndHeading}\n\n${entry}`;
+ }
+
+ // Get the default branch SHA for creating a new branch
+ const { data: ref } = await github.rest.git.getRef({
+ owner: 'github',
+ repo: 'docs-content',
+ ref: 'heads/main',
+ });
+
+ // Create the branch in docs-content
+ try {
+ await github.rest.git.createRef({
+ owner: 'github',
+ repo: 'docs-content',
+ ref: `refs/heads/${branchName}`,
+ sha: ref.object.sha,
+ });
+ } catch (err) {
+ if (err.status === 422) {
+ core.info('Branch already exists, will update file on existing branch.');
+ } else {
+ throw err;
+ }
+ }
+
+ // Fetch the file from the branch (handles both new and existing branches)
+ const { data: branchFileData } = await github.rest.repos.getContent({
+ owner: 'github',
+ repo: 'docs-content',
+ path: filePath,
+ ref: branchName,
+ });
+
+ // Update the changelog file on the new branch
+ await github.rest.repos.createOrUpdateFileContents({
+ owner: 'github',
+ repo: 'docs-content',
+ path: filePath,
+ message: `Changelog draft for docs-internal PR #${process.env.PR_NUMBER}`,
+ content: Buffer.from(changelog).toString('base64'),
+ sha: branchFileData.sha,
+ branch: branchName,
+ committer: {
+ name: 'github-actions[bot]',
+ email: 'github-actions[bot]@users.noreply.github.com',
+ },
+ });
+
+ // Build credits for the PR body
+ const reviewers = process.env.APPROVED_REVIEWERS
+ ? process.env.APPROVED_REVIEWERS.split(',').map(r => `@${r}`).join(', ')
+ : 'None';
+ const parentAuthor = process.env.PARENT_AUTHOR ? `@${process.env.PARENT_AUTHOR}` : 'Unknown';
+ const parentAssignees = process.env.PARENT_ASSIGNEES
+ ? process.env.PARENT_ASSIGNEES.split(',').map(a => `@${a}`).join(', ')
+ : 'None';
+
+ const prBody = [
+ '### Automated docs changelog draft',
+ '',
+ `_Generated by the changelog-agent workflow from [docs-internal PR #${process.env.PR_NUMBER}](${process.env.PR_URL})._`,
+ '',
+ '**⚠️ This is an AI-generated draft. Please review carefully before merging.**',
+ '',
+ `**Source PR:** [docs-internal#${process.env.PR_NUMBER}](${process.env.PR_URL})`,
+ `**Parent initiative:** [${process.env.PARENT_TITLE}](${process.env.PARENT_URL})`,
+ '',
+ '#### Credits',
+ `- **Author:** @${process.env.PR_AUTHOR}`,
+ `- **Reviewers:** ${reviewers}`,
+ `- **Parent issue author:** ${parentAuthor}`,
+ `- **Parent issue assignees:** ${parentAssignees}`,
+ '',
+ '#### Review checklist',
+ '- [ ] Entry is accurate and covers what shipped',
+ '- [ ] Content is appropriate for the internal audience',
+ '- [ ] Format is consistent with other changelog entries',
+ '- [ ] No sensitive information disclosed',
+ ].join('\n');
+
+ const { data: pullRequest } = await github.rest.pulls.create({
+ owner: 'github',
+ repo: 'docs-content',
+ title: `Changelog draft for docs-internal PR #${process.env.PR_NUMBER}`,
+ body: prBody,
+ head: branchName,
+ base: 'main',
+ draft: true,
+ });
+
+ // Add labels
+ try {
+ await github.rest.issues.addLabels({
+ owner: 'github',
+ repo: 'docs-content',
+ issue_number: pullRequest.number,
+ labels: ['ready-for-doc-review', 'skip FR board', 'llm-generated'],
+ });
+ } catch (err) {
+ core.warning(`Failed to add labels: ${err.message}`);
+ }
+
+ // Assign to PR author
+ try {
+ await github.rest.issues.addAssignees({
+ owner: 'github',
+ repo: 'docs-content',
+ issue_number: pullRequest.number,
+ assignees: [process.env.PR_AUTHOR],
+ });
+ } catch (err) {
+ core.warning(`Failed to assign PR to @${process.env.PR_AUTHOR}: ${err.message}`);
+ }
+
+ core.setOutput('changelog_pr_url', pullRequest.html_url);
+ core.setOutput('changelog_pr_number', pullRequest.number.toString());
+
+ - name: Notify author via Slack DM
+ if: steps.create_pr.outputs.changelog_pr_url != '' && inputs.dry_run != true
+ id: slack_notify
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ env:
+ SLACK_TOKEN: ${{ secrets.SLACK_DOCS_BOT_TOKEN }}
+ PR_AUTHOR: ${{ steps.gather_context.outputs.pr_author }}
+ CHANGELOG_PR_URL: ${{ steps.create_pr.outputs.changelog_pr_url }}
+ PR_URL: ${{ steps.gather_context.outputs.pr_url }}
+ APPROVED_REVIEWERS: ${{ steps.gather_context.outputs.approved_reviewers }}
+ PARENT_TITLE: ${{ steps.check_parent.outputs.parent_title }}
+ PARENT_AUTHOR: ${{ steps.check_parent.outputs.parent_author }}
+ PARENT_ASSIGNEES: ${{ steps.check_parent.outputs.parent_assignees }}
+ with:
+ github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ script: |
+ const author = process.env.PR_AUTHOR;
+ const changelogPrUrl = process.env.CHANGELOG_PR_URL;
+
+ // Fetch GitHub-to-Slack mapping from docs-content
+ let slackMapping = {};
+ try {
+ const { data } = await github.rest.repos.getContent({
+ owner: 'github',
+ repo: 'docs-content',
+ path: '.github/github-to-slack.json',
+ });
+ const content = Buffer.from(data.content, 'base64').toString('utf-8');
+ slackMapping = JSON.parse(content);
+ } catch (err) {
+ core.warning(`Could not fetch github-to-slack.json: ${err.message}`);
+ }
+
+ const slackUserId = slackMapping[author];
+
+ // Build credits summary for the DM
+ const reviewers = process.env.APPROVED_REVIEWERS
+ ? process.env.APPROVED_REVIEWERS.split(',').join(', ')
+ : 'none';
+ const stakeholders = [
+ process.env.PARENT_AUTHOR,
+ ...(process.env.PARENT_ASSIGNEES ? process.env.PARENT_ASSIGNEES.split(',') : []),
+ ].filter(Boolean).filter((v, i, a) => a.indexOf(v) === i).join(', ');
+
+ const slackMessage = [
+ `👋 Hi! A changelog draft has been created for your merged PR:`,
+ ``,
+ `📝 *Changelog PR:* ${changelogPrUrl}`,
+ `🔗 *Source PR:* ${process.env.PR_URL}`,
+ `🎯 *Parent initiative:* ${process.env.PARENT_TITLE}`,
+ ``,
+ `*Reviewers to thank:* ${reviewers || 'none'}`,
+ `*Stakeholders to thank:* ${stakeholders || 'none'}`,
+ ``,
+ `Please review the draft changelog entry and merge or close the PR. The entry is AI-generated, so double-check accuracy and tone.`,
+ ].join('\n');
+
+ if (slackUserId) {
+ try {
+ const response = await fetch('https://slack.com/api/chat.postMessage', {
+ method: 'POST',
+ headers: {
+ 'Authorization': `Bearer ${process.env.SLACK_TOKEN}`,
+ 'Content-Type': 'application/json',
+ },
+ body: JSON.stringify({
+ channel: slackUserId,
+ text: slackMessage,
+ }),
+ });
+
+ const result = await response.json();
+ if (result.ok) {
+ core.info(`Slack DM sent to ${author} (${slackUserId})`);
+ core.setOutput('notified_via', 'slack');
+ return;
+ } else {
+ core.warning(`Slack API error: ${result.error}`);
+ }
+ } catch (err) {
+ core.warning(`Slack DM failed: ${err.message}`);
+ }
+ } else {
+ core.warning(`No Slack mapping found for GitHub user: ${author}`);
+ }
+
+ // Fallback: post a GitHub comment on the source PR
+ core.info('Falling back to GitHub comment notification.');
+ await github.rest.issues.createComment({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ issue_number: parseInt('${{ steps.resolve_pr.outputs.pr_number }}', 10),
+ body: [
+ `👋 @${author} — A changelog draft has been created for this PR!`,
+ ``,
+ `📝 **Changelog PR:** ${changelogPrUrl}`,
+ ``,
+ `Please review the draft entry and merge or close it. The entry is AI-generated, so double-check accuracy and tone.`,
+ ``,
+ `**Reviewers to thank:** ${reviewers || 'none'}`,
+ `**Stakeholders to thank:** ${stakeholders || 'none'}`,
+ ].join('\n'),
+ });
+ core.setOutput('notified_via', 'github_comment');
+
+ - name: Post agent marker comment
+ if: steps.create_pr.outputs.changelog_pr_url != '' && inputs.dry_run != true
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ with:
+ github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ script: |
+ const changelogPrUrl = '${{ steps.create_pr.outputs.changelog_pr_url }}';
+ await github.rest.issues.createComment({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ issue_number: parseInt('${{ steps.resolve_pr.outputs.pr_number }}', 10),
+ body: `\n🤖 A changelog draft PR has been automatically created in docs-content: ${changelogPrUrl}`,
+ });
+
+ - name: Send Slack failure alert
+ if: failure()
+ env:
+ SLACK_CHANNEL_ID: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }}
+ SLACK_TOKEN: ${{ secrets.SLACK_DOCS_BOT_TOKEN }}
+ WORKFLOW_NAME: ${{ github.workflow }}
+ REPOSITORY: ${{ github.repository }}
+ RUN_ID: ${{ github.run_id }}
+ SERVER_URL: ${{ github.server_url }}
+ run: |
+ curl -sS -X POST https://slack.com/api/chat.postMessage \
+ -H "Authorization: Bearer ${SLACK_TOKEN}" \
+ -H "Content-Type: application/json; charset=utf-8" \
+ --data "$(cat <"
+ }
+ }
+ ]
+ }
+ EOF
+ )"
diff --git a/Tests/Fixtures/real-yaml/docs-github-workflows-changelog-prompt-yml.yml b/Tests/Fixtures/real-yaml/docs-github-workflows-changelog-prompt-yml.yml
new file mode 100644
index 0000000..bb65d8a
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/docs-github-workflows-changelog-prompt-yml.yml
@@ -0,0 +1,66 @@
+name: Changelog prompt when a PR is closed
+
+on:
+ pull_request:
+ types: [closed]
+
+permissions:
+ contents: read
+ pull-requests: write
+
+jobs:
+ comment-on-pr:
+ # This workflow should only run on the 'github/docs-internal' repository because it posts changelog instructions
+ # and links that are specific to the internal documentation process and resources.
+ # It also only runs if PR is merged into the main branch.
+ if: github.repository == 'github/docs-internal' && github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'main'
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Check if PR author is in docs-content team
+ id: check_team
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ with:
+ github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ script: |
+ try {
+ const pr = context.payload.pull_request;
+ await github.rest.teams.getMembershipForUserInOrg({
+ org: 'github',
+ team_slug: 'docs-content',
+ username: pr.user.login,
+ });
+ core.exportVariable('CONTINUE_WORKFLOW', 'true');
+ } catch(err) {
+ core.info("Workflow triggered by a merged PR, but the PR author is not a member of the docs-content team.");
+ core.exportVariable('CONTINUE_WORKFLOW', 'false');
+ }
+
+ - name: Post changelog instructions comment
+
+ if: env.CONTINUE_WORKFLOW == 'true'
+
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ with:
+ github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ script: |
+ // Get PR author username
+ const pr = context.payload.pull_request;
+ const prAuthor = pr.user.login;
+
+ // Compose the comment body with readable YAML and correct formatting
+ const commentBody =
+ "👋 @" + prAuthor +
+ " - Did this PR add noteworthy changes to the GitHub docs? If so, you might want to publicize this by adding an entry to " +
+ "the [Docs changelog](https://github.com/github/docs-internal/blob/main/CHANGELOG.md).\n\n" +
+ "To do this, type `/changelog` in a new comment on this PR and complete the fields.\n\n" +
+ "A message will be posted to the **#docs-changelog** channel and a PR will be raised to update the [CHANGELOG.md](https://github.com/github/docs-internal/blob/main/CHANGELOG.md) file.";
+
+ // Post the comment
+ await github.rest.issues.createComment({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ issue_number: pr.number,
+ body: commentBody
+ });
diff --git a/Tests/Fixtures/real-yaml/docs-github-workflows-check-for-spammy-issues-yml.yml b/Tests/Fixtures/real-yaml/docs-github-workflows-check-for-spammy-issues-yml.yml
new file mode 100644
index 0000000..9ef657e
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/docs-github-workflows-check-for-spammy-issues-yml.yml
@@ -0,0 +1,82 @@
+name: Check for Spammy Issues
+
+# **What it does**: This action closes low value pull requests in the open-source repository.
+# **Why we have it**: We get lots of spam in the open-source repository.
+# **Who does it impact**: Open-source contributors.
+
+on:
+ issues:
+ types: [opened]
+
+permissions:
+ contents: read
+
+jobs:
+ spammy-title-check:
+ name: Remove issues with spammy titles
+ if: github.repository == 'github/docs'
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3
+ with:
+ github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ script: |
+
+ const issue = context.payload.issue
+ const owner = 'github'
+ const repo = 'docs'
+
+ const titleWordCount = issue.title.trim().split(' ').length
+ const titleWordCountMin = 3
+
+ try {
+ await github.rest.teams.getMembershipForUserInOrg({
+ org: 'github',
+ team_slug: 'employees',
+ username: context.payload.sender.login,
+ });
+
+ // Do not perform this workflow with GitHub employees. This return
+ // statement only gets hit if the user is a GitHub employee
+ return
+ } catch (err) {
+ // An error will be thrown if the user is not a GitHub employee
+ // If a user is not a GitHub employee, we should check to see if title has at least the minimum required number of words in it and if it does, we can exit the workflow
+
+ if (titleWordCount >= titleWordCountMin) {
+ return
+ }
+ }
+
+ //
+ // Assuming the user is not a GitHub employee and the issue title
+ // does not contain the minimum number of words required, proceed.
+ //
+
+ // Close the issue and add the invalid label
+ await github.rest.issues.update({
+ owner: owner,
+ repo: repo,
+ issue_number: issue.number,
+ labels: ['invalid'],
+ state: 'closed'
+ });
+
+ // Comment on the issue
+ await github.rest.issues.createComment({
+ owner: owner,
+ repo: repo,
+ issue_number: issue.number,
+ body: `This issue may have been opened accidentally. I'm going to close it now, but feel free to open a new issue with a more descriptive title!`
+ });
+
+ // Add the issue to the Done column on the triage board
+ try {
+ await github.rest.projects.createCard({
+ column_id: 11167427,
+ content_id: context.payload.issue.id,
+ content_type: "Issue"
+ });
+ } catch (error) {
+ console.log(error);
+ }
diff --git a/Tests/Fixtures/real-yaml/docs-github-workflows-close-bad-repo-sync-prs-yml.yml b/Tests/Fixtures/real-yaml/docs-github-workflows-close-bad-repo-sync-prs-yml.yml
new file mode 100644
index 0000000..507b859
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/docs-github-workflows-close-bad-repo-sync-prs-yml.yml
@@ -0,0 +1,63 @@
+name: Close bad repo-sync PRs
+
+# **What it does**:
+# Closes and PR from `repo-sync` to `main` that wasn't created by a Hubber.
+# **Why we have it**:
+# Unfortunately, a lot of PRs in github/docs are created by people who
+# shouldn't be creating such PRs. We bot our bots to own it.
+# **Who does it impact**: Open-source.
+
+on:
+ # Necessary in lieu of `pull_request` so that PRs opened from forks can be closed if they try to push to a repo sync branch.
+ pull_request_target:
+
+permissions:
+ contents: write
+ pull-requests: write
+
+jobs:
+ close-invalid-repo-sync-pr:
+ if: ${{ github.repository == 'github/docs' && github.event.pull_request.base.ref == 'main' && github.event.pull_request.head.ref == 'repo-sync' }}
+ name: Close if invalid repo-sync PR author
+ runs-on: ubuntu-latest
+ steps:
+ - name: Close pull request if unwanted
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3
+ with:
+ github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ script: |
+ const { owner, repo } = context.repo
+ const prCreator = context.actor
+ const prNumber = context.issue.number
+
+ try {
+ await github.rest.teams.getMembershipForUserInOrg({
+ org: 'github',
+ team_slug: 'employees',
+ username: prCreator
+ })
+
+ // If the PR creator is a GitHub employee, stop now
+ console.log("PR creator is a GitHub employee")
+ return
+ } catch (err) {
+ // An error will be thrown if the user is not a GitHub employee.
+ // That said, we still want to proceed anyway!
+ }
+
+ // Close the PR and add the invalid label
+ await github.rest.issues.update({
+ owner,
+ repo,
+ issue_number: prNumber,
+ labels: ['invalid'],
+ state: 'closed'
+ })
+
+ // Comment on the PR
+ await github.rest.issues.createComment({
+ owner,
+ repo,
+ issue_number: prNumber,
+ body: "Please leave this `repo-sync` branch to the robots!\n\nI'm going to close this pull request now, but feel free to open a new issue in the repository!"
+ })
diff --git a/Tests/Fixtures/real-yaml/docs-github-workflows-close-on-invalid-label-yaml.yaml b/Tests/Fixtures/real-yaml/docs-github-workflows-close-on-invalid-label-yaml.yaml
new file mode 100644
index 0000000..ec54378
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/docs-github-workflows-close-on-invalid-label-yaml.yaml
@@ -0,0 +1,48 @@
+name: Close issue/PR on adding invalid label
+
+# **What it does**: This action closes invalid pull requests in the open-source repository.
+# **Why we have it**: We get lots of spam in the open-source repository.
+# **Who does it impact**: Open-source contributors.
+
+on:
+ issues:
+ types: [labeled]
+ # Needed in lieu of `pull_request` so that PRs from a fork can be
+ # closed when marked as invalid.
+ pull_request_target:
+ types: [labeled]
+
+permissions:
+ contents: read
+ issues: write
+ pull-requests: write
+
+jobs:
+ close-on-adding-invalid-label:
+ if: github.repository == 'github/docs' && github.event.label.name == 'invalid'
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Close issue
+ if: ${{ github.event_name == 'issues' }}
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ ISSUE_URL: ${{ github.event.issue.html_url }}
+ run: gh issue close "$ISSUE_URL"
+
+ - name: Close PR
+ if: ${{ github.event_name == 'pull_request_target' }}
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ PR_URL: ${{ github.event.pull_request.html_url }}
+ run: gh pr close "$PR_URL"
+
+ - name: Check out repo
+ if: ${{ failure() && github.event_name != 'pull_request_target' }}
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+
+ - uses: ./.github/actions/slack-alert
+ if: ${{ failure() && github.event_name != 'pull_request_target' }}
+ with:
+ slack_channel_id: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }}
+ slack_token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }}
diff --git a/Tests/Fixtures/real-yaml/docs-github-workflows-codeql-yml.yml b/Tests/Fixtures/real-yaml/docs-github-workflows-codeql-yml.yml
new file mode 100644
index 0000000..dfe6632
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/docs-github-workflows-codeql-yml.yml
@@ -0,0 +1,48 @@
+name: CodeQL analysis
+
+# **What it does**: This runs CodeQL on our repository.
+# **Why we have it**: Security scanning.
+# **Who does it impact**: Docs engineering.
+
+on:
+ pull_request:
+ branches:
+ - main
+ # This is so that when CodeQL runs on a pull request, it can compare
+ # against the state of the base branch.
+ push:
+ branches:
+ - main
+
+permissions:
+ actions: read
+ contents: read
+ security-events: write
+
+# This allows a subsequently queued workflow run to interrupt previous runs
+concurrency:
+ group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}'
+ cancel-in-progress: true
+
+jobs:
+ build:
+ if: github.repository == 'github/docs-internal' || github.repository == 'github/docs'
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+ - uses: github/codeql-action/init@e296a935590eb16afc0c0108289f68c87e2a89a5 # v4.30.7
+ with:
+ languages: javascript # comma separated list of values from {go, python, javascript, java, cpp, csharp, ruby}
+ - uses: github/codeql-action/analyze@e296a935590eb16afc0c0108289f68c87e2a89a5 # v4.30.7
+ continue-on-error: true
+
+ - uses: ./.github/actions/slack-alert
+ if: ${{ failure() && github.event_name != 'pull_request' }}
+ with:
+ slack_channel_id: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }}
+ slack_token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }}
+
+ - uses: ./.github/actions/create-workflow-failure-issue
+ if: ${{ failure() && github.event_name != 'pull_request' }}
+ with:
+ token: ${{ secrets.DOCS_BOT_PAT_BASE }}
diff --git a/Tests/Fixtures/real-yaml/docs-github-workflows-comment-release-note-info-yml.yml b/Tests/Fixtures/real-yaml/docs-github-workflows-comment-release-note-info-yml.yml
new file mode 100644
index 0000000..8aabdb2
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/docs-github-workflows-comment-release-note-info-yml.yml
@@ -0,0 +1,33 @@
+# This workflow provides information when a contributor edits a release note file
+
+name: Comment on release note changes
+
+on:
+ pull_request:
+ types:
+ - opened
+ paths:
+ - data/release-notes/enterprise-server/**
+ - .github/workflows/comment-release-note-info.yml
+
+permissions:
+ contents: read
+ pull-requests: write
+
+jobs:
+ comment:
+ # Do not add this comment on PRs created by the bot during the standard patch release process
+ # or in the github/docs repository
+ if: github.event.pull_request.user.login != 'release-controller[bot]' && github.repository == 'github/docs-internal'
+ runs-on: ubuntu-latest
+ steps:
+ - uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9
+ with:
+ issue-number: ${{ github.event.pull_request.number }}
+ body: |
+ Thank you for updating our GitHub Enterprise Server release notes. Please request a technical review for your changes. Once the technical review is complete, a member of the `docs-content-enterprise` team will review your changes.
+
+ - If the change is urgent, post in `#docs-content-enterprise` on Slack.
+ - Review the [style guide for release notes](https://docs.github.com/en/contributing/style-guide-and-content-model/style-guide#release-notes).
+ - If you're updating or adding a note, add a datestamp in the format `[Updated: YYYY-MM-DD]`.
+ - If you're removing a note, add an [Errata](https://docs.github.com/en/contributing/style-guide-and-content-model/style-guide#errata) section with details of the change.
diff --git a/Tests/Fixtures/real-yaml/docs-github-workflows-confirm-internal-staff-work-in-docs-yml.yml b/Tests/Fixtures/real-yaml/docs-github-workflows-confirm-internal-staff-work-in-docs-yml.yml
new file mode 100644
index 0000000..8551ead
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/docs-github-workflows-confirm-internal-staff-work-in-docs-yml.yml
@@ -0,0 +1,91 @@
+name: Confirm internal staff meant to post in public
+
+# **What it does**: If a GitHub staff makes an issue/pull request in the open-source repo, creates an issue in the internal one to verify intent.
+# **Why we have it**: We don't want GitHub staff accidentally making issues/pull requests in the wrong repository.
+# **Who does it impact**: GitHub staff.
+
+on:
+ issues:
+ types:
+ - opened
+ - transferred
+ # Required in lieu of `pull_request` so that this workflow can query users in org to determine membership.
+ pull_request_target:
+ types:
+ - opened
+
+permissions:
+ contents: read
+
+jobs:
+ check-team-membership:
+ runs-on: ubuntu-latest
+ continue-on-error: true
+ if: github.repository == 'github/docs' && github.actor != 'docs-bot'
+ steps:
+ - id: membership_check
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3
+ env:
+ TEAM_CONTENT_REPO: ${{ secrets.TEAM_CONTENT_REPO }}
+ with:
+ github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ script: |
+ // Only perform this action with GitHub employees
+ try {
+ await github.rest.teams.getMembershipForUserInOrg({
+ org: 'github',
+ team_slug: 'employees',
+ username: context.payload.sender.login,
+ });
+ } catch(err) {
+ // An error will be thrown if the user is not a GitHub employee
+ // If a user is not a GitHub employee, we should stop here and
+ // Not send a notification
+ return
+ }
+
+ // Don't perform this action with Docs team members
+ try {
+ await github.rest.teams.getMembershipForUserInOrg({
+ org: 'github',
+ team_slug: 'docs',
+ username: context.payload.sender.login,
+ });
+ // If the user is a Docs team member, we should stop here and not send
+ // a notification
+ return
+ } catch(err) {
+ // An error will be thrown if the user is not a Docs team member
+ // If a user is not a Docs team member we should continue and send
+ // the notification
+ }
+
+ const issueNo = context.number || context.issue.number
+
+ // Create an issue in our private repo
+ await github.rest.issues.create({
+ owner: 'github',
+ repo: process.env.TEAM_CONTENT_REPO,
+ title: `@${context.payload.sender.login} confirm that \#${issueNo} should be in the public github/docs repo`,
+ body: `@${context.payload.sender.login} opened https://github.com/github/docs/issues/${issueNo} publicly in the github/docs repo, instead of the private github/${process.env.TEAM_CONTENT_REPO} repo.\n\n@${context.payload.sender.login}, please confirm that this belongs in the public repo and that no sensitive information was disclosed by commenting below and closing the issue.\n\nIf this was not intentional and sensitive information was shared, please delete https://github.com/github/docs/issues/${issueNo} and notify us in the \#docs-open-source channel.\n\nThanks!`,
+ labels: ['OS confirmation', 'skip FR board'],
+ });
+
+ core.setOutput('did_warn', 'true')
+
+ - name: Send Slack notification if a GitHub employee who isn't on the docs team opens an issue in public
+ if: ${{ steps.membership_check.outputs.did_warn && github.repository == 'github/docs' }}
+ uses: someimportantcompany/github-actions-slack-message@a975b440de2bcef178d451cc70d4c1161b5a30cd
+ with:
+ channel: ${{ secrets.DOCS_OPEN_SOURCE_SLACK_CHANNEL_ID }}
+ bot-token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }}
+ text: <@${{github.actor}}> opened https://github.com/github/docs/issues/${{ github.event.number || github.event.issue.number }} publicly on the github/docs repo instead of a private repo. They have been notified via a new issue in the private repo to confirm this was intentional.
+
+ - name: Check out repo
+ if: ${{ failure() && github.event_name != 'pull_request_target' }}
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+ - uses: ./.github/actions/slack-alert
+ if: ${{ failure() && github.event_name != 'pull_request_target' }}
+ with:
+ slack_channel_id: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }}
+ slack_token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }}
diff --git a/Tests/Fixtures/real-yaml/docs-github-workflows-content-lint-markdown-yml.yml b/Tests/Fixtures/real-yaml/docs-github-workflows-content-lint-markdown-yml.yml
new file mode 100644
index 0000000..80f35ec
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/docs-github-workflows-content-lint-markdown-yml.yml
@@ -0,0 +1,55 @@
+name: 'Content Lint Markdown'
+
+# **What it does**: Lints our content markdown to ensure the content matches the specified styleguide.
+# **Why we have it**: We want some level of consistency to our content markdown files.
+# **Who does it impact**: Docs content writers.
+
+on:
+ pull_request:
+ merge_group:
+ workflow_dispatch:
+ inputs:
+ branch:
+ description: The branch containing the changes we want to lint.
+ required: true
+ type: string
+ default: main
+permissions:
+ contents: read
+
+jobs:
+ lint-content:
+ if: github.repository == 'github/docs-internal' || github.repository == 'github/docs'
+ runs-on: ubuntu-latest
+ steps:
+ - name: Check out repo
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+ with:
+ # Fetch 2 commits so tj-actions/changed-files can diff without extra API calls
+ fetch-depth: 2
+
+ - name: Set up Node and dependencies
+ uses: ./.github/actions/node-npm-setup
+
+ - name: Get changed content/data files
+ id: changed_files
+ uses: tj-actions/changed-files@22103cc46bda19c2b464ffe86db46df6922fd323 # v47.0.5
+ with:
+ files: |
+ content/**
+ data/**
+
+ - name: Print content linter annotations if changed content/data files
+ if: steps.changed_files.outputs.any_modified == 'true'
+ env:
+ CHANGED_FILES: ${{ steps.changed_files.outputs.all_modified_files }}
+ # If there are errors, using `--print-annotations` will make it
+ # so it does *not* exit non-zero.
+ # This is so that all warnings and errors are printed.
+ run: npm run lint-content -- --print-annotations --paths $CHANGED_FILES
+
+ - name: Run content linter if changed content/data files
+ if: steps.changed_files.outputs.any_modified == 'true'
+ env:
+ CHANGED_FILES: ${{ steps.changed_files.outputs.all_modified_files }}
+ run: npm run lint-content -- --errors-only --paths $CHANGED_FILES
diff --git a/Tests/Fixtures/real-yaml/docs-github-workflows-content-linter-rules-docs-yml.yml b/Tests/Fixtures/real-yaml/docs-github-workflows-content-linter-rules-docs-yml.yml
new file mode 100644
index 0000000..1f0c7eb
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/docs-github-workflows-content-linter-rules-docs-yml.yml
@@ -0,0 +1,48 @@
+name: 'Check content-linter rules docs'
+
+# **What it does**: Makes sure the content-linter-rules.md is up-to-date.
+# **Why we have it**: So what's automated doesn't fall behind
+# **Who does it impact**: Docs content.
+
+on:
+ workflow_dispatch:
+ pull_request:
+ paths:
+ - 'src/content-linter/**'
+ # In case imported markdownlint rules are updated
+ - package-lock.json
+ # In case manual changes are made to the content-linter-rules.md file
+ - data/reusables/contributing/content-linter-rules.md
+ # Self-test
+ - .github/workflows/content-linter-rules-docs.yml
+
+permissions:
+ contents: read
+
+jobs:
+ check-content-linter-rules-docs:
+ runs-on: ubuntu-latest
+ if: github.repository == 'github/docs-internal' || github.repository == 'github/docs'
+ steps:
+ - name: Checkout
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+
+ - uses: ./.github/actions/node-npm-setup
+
+ - name: Check that content-linter-rules.md is up-to-date
+ run: npm run generate-content-linter-docs
+
+ - name: Fail if it isn't up-to-date
+ run: |
+ if [ -n "$(git status --porcelain)" ]; then
+ git status
+ git diff
+
+ # Some whitespace for the sake of the message below
+ echo ""
+ echo ""
+
+ echo "content-linter-rules.md is out of date."
+ echo "Please run 'npm run generate-content-linter-docs' and commit the changes."
+ exit 1;
+ fi
diff --git a/Tests/Fixtures/real-yaml/docs-github-workflows-content-pipelines-yml.yml b/Tests/Fixtures/real-yaml/docs-github-workflows-content-pipelines-yml.yml
new file mode 100644
index 0000000..58faa65
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/docs-github-workflows-content-pipelines-yml.yml
@@ -0,0 +1,191 @@
+name: 'Content pipelines: Update content'
+
+# **What it does**: On a schedule, runs the content pipeline update script for each
+# configured entry. The script clones each source repo, detects changes, and
+# runs a Copilot agent to update content articles. The workflow handles
+# branching, committing, and opening PRs.
+# **Why we have it**: Keeps reference documentation in sync with upstream source
+# docs without storing copies of those source docs in this repository.
+# **Who does it impact**: Docs content writers, docs engineering.
+#
+# To add a new entry, add it to src/content-pipelines/config.yml and to the matrix
+# `include` list below (only `id` is needed). The update logic lives in
+# src/content-pipelines/scripts/update.ts, which reads config.yml for all other
+# values. Run locally: npx tsx src/content-pipelines/scripts/update.ts --help
+
+on:
+ schedule:
+ - cron: '20 16 * * 1-5' # Mon-Fri at 16:20 UTC
+ workflow_dispatch:
+
+permissions:
+ contents: write
+ pull-requests: write
+
+env:
+ HUSKY: 0
+
+jobs:
+ update:
+ if: github.repository == 'github/docs-internal'
+ runs-on: ubuntu-latest
+ strategy:
+ fail-fast: false
+ matrix:
+ include:
+ # Each entry only needs `id`. Everything else (source-repo,
+ # source-path, target-articles, etc.) is read from
+ # src/content-pipelines/config.yml by the update script.
+ - id: copilot-cli
+ # - id: mcp-server
+
+ steps:
+ - name: Checkout docs-internal
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+
+ - uses: ./.github/actions/node-npm-setup
+
+ - name: Install Copilot CLI
+ run: npm install -g @github/copilot@prerelease
+
+ - name: Derive branch name
+ id: branch
+ run: echo "update_branch=docs/content-pipeline-${{ matrix.id }}-update" >> "$GITHUB_OUTPUT"
+
+ - name: Check for existing PR
+ id: check-pr
+ env:
+ GH_TOKEN: ${{ github.token }}
+ UPDATE_BRANCH: ${{ steps.branch.outputs.update_branch }}
+ run: |
+ PR_NUMBER=$(gh pr list --head "$UPDATE_BRANCH" --state open --json number --jq '.[0].number // empty' 2>/dev/null || echo "")
+ echo "pr_number=$PR_NUMBER" >> "$GITHUB_OUTPUT"
+
+ - name: Setup branch
+ id: setup-branch
+ env:
+ UPDATE_BRANCH: ${{ steps.branch.outputs.update_branch }}
+ PR_NUMBER: ${{ steps.check-pr.outputs.pr_number }}
+ run: |
+ git config user.name "github-actions[bot]"
+ git config user.email "github-actions[bot]@users.noreply.github.com"
+
+ if git ls-remote --exit-code --heads origin "$UPDATE_BRANCH" > /dev/null 2>&1; then
+ git fetch --unshallow origin "$UPDATE_BRANCH" main 2>/dev/null || git fetch origin "$UPDATE_BRANCH" main
+ git checkout "$UPDATE_BRANCH"
+ git merge origin/main --no-edit || {
+ echo "Merge conflict with main — resetting branch to main"
+ git merge --abort 2>/dev/null || true
+ git checkout -f main
+ git branch -D "$UPDATE_BRANCH"
+ if [ -z "$PR_NUMBER" ]; then
+ git push origin --delete "$UPDATE_BRANCH" || true
+ else
+ echo "Skipping remote branch delete — PR #$PR_NUMBER is open"
+ echo "force_push=true" >> "$GITHUB_OUTPUT"
+ fi
+ git checkout -b "$UPDATE_BRANCH"
+ }
+ else
+ git checkout -b "$UPDATE_BRANCH"
+ fi
+
+ - name: Run content pipeline update script
+ env:
+ GH_TOKEN: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ COPILOT_GITHUB_TOKEN: ${{ secrets.DOCS_BOT_PAT_COPILOT }}
+ run: npx tsx src/content-pipelines/scripts/update.ts --id "${{ matrix.id }}"
+
+ - name: Commit changes
+ id: commit
+ env:
+ ID: ${{ matrix.id }}
+ run: |
+ git add content/ data/
+ if git diff --cached --quiet; then
+ echo "has_changes=false" >> "$GITHUB_OUTPUT"
+ echo "No documentation changes to commit"
+ else
+ git add "src/content-pipelines/state/${ID}.sha"
+ git commit -m "docs: update ${ID} content from source docs" \
+ -m "Updated by the content-pipeline-update agent (${ID}) via GitHub Actions." \
+ -m "Run: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
+ echo "has_changes=true" >> "$GITHUB_OUTPUT"
+ fi
+
+ - name: Push changes
+ if: steps.commit.outputs.has_changes == 'true'
+ env:
+ UPDATE_BRANCH: ${{ steps.branch.outputs.update_branch }}
+ FORCE_PUSH: ${{ steps.setup-branch.outputs.force_push }}
+ run: |
+ if [ "$FORCE_PUSH" = "true" ]; then
+ echo "Force-pushing to align branch after merge conflict reset"
+ git push --force-with-lease origin "$UPDATE_BRANCH"
+ else
+ git push origin "$UPDATE_BRANCH"
+ fi
+
+ - name: Read source repo info from config
+ id: source-info
+ env:
+ PIPELINE_ID: ${{ matrix.id }}
+ run: |
+ SOURCE_REPO=$(yq -r ".[\"${PIPELINE_ID}\"].\"source-repo\"" src/content-pipelines/config.yml)
+ SOURCE_PATH=$(yq -r ".[\"${PIPELINE_ID}\"].\"source-path\"" src/content-pipelines/config.yml)
+ echo "source_repo=$SOURCE_REPO" >> "$GITHUB_OUTPUT"
+ echo "source_path=$SOURCE_PATH" >> "$GITHUB_OUTPUT"
+
+ - name: Create or update PR
+ if: steps.commit.outputs.has_changes == 'true'
+ env:
+ GH_TOKEN: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ UPDATE_BRANCH: ${{ steps.branch.outputs.update_branch }}
+ PIPELINE_ID: ${{ matrix.id }}
+ SOURCE_REPO: ${{ steps.source-info.outputs.source_repo }}
+ SOURCE_PATH: ${{ steps.source-info.outputs.source_path }}
+ run: |
+ PR_NUMBER="${{ steps.check-pr.outputs.pr_number }}"
+ PR_TITLE="docs: update ${PIPELINE_ID} content from source docs"
+ SOURCE_LINK="See the [upstream repo](https://github.com/${SOURCE_REPO}/tree/main/${SOURCE_PATH}) for changes that triggered this update."
+
+ if [ -n "$PR_NUMBER" ]; then
+ echo "PR #$PR_NUMBER already exists"
+
+ echo "Ensuring PR #$PR_NUMBER is marked ready for review"
+ gh pr ready "$PR_NUMBER" || echo "Unable to mark PR #$PR_NUMBER as ready (it may already be ready)"
+ else
+ echo "Creating new PR"
+
+ PR_BODY="_GitHub Copilot generated this pull request._"$'\n\n'
+ PR_BODY+="> [!NOTE]"$'\n'
+ PR_BODY+="> This PR is **automatically generated** by the [content pipeline update workflow](${{ github.server_url }}/${{ github.repository }}/actions/workflows/content-pipelines.yml). Each run adds a new commit with any documentation changes detected."$'\n\n'
+ PR_BODY+="## What this does"$'\n\n'
+ PR_BODY+="Runs the \`content-pipeline-update\` agent (${PIPELINE_ID}) against the latest source docs and updates official articles under \`content/\` that have fallen out of sync."$'\n\n'
+ PR_BODY+="## Source changes"$'\n\n'
+ PR_BODY+="${SOURCE_LINK}"$'\n\n'
+ PR_BODY+="## Review"$'\n\n'
+ PR_BODY+="* Review each commit for accuracy — the agent uses AI, so spot-check important changes"$'\n'
+ PR_BODY+="* To adjust agent behavior, see [Modifying results](${{ github.server_url }}/${{ github.repository }}/blob/main/src/content-pipelines/README.md#modifying-results)"$'\n'
+ PR_BODY+="* Once satisfied, merge to keep docs up to date"$'\n'
+ PR_BODY+="* A new PR will be created on the next run if there are further changes"
+
+ gh pr create \
+ --title "$PR_TITLE" \
+ --body "$PR_BODY" \
+ --base main \
+ --head "$UPDATE_BRANCH" \
+ --label "workflow-generated,content-pipeline-update,ready-for-doc-review,skip FR board"
+ fi
+
+ - uses: ./.github/actions/slack-alert
+ if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
+ with:
+ slack_channel_id: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }}
+ slack_token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }}
+
+ - uses: ./.github/actions/create-workflow-failure-issue
+ if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
+ with:
+ token: ${{ secrets.DOCS_BOT_PAT_BASE }}
diff --git a/Tests/Fixtures/real-yaml/docs-github-workflows-copilot-setup-steps-yml.yml b/Tests/Fixtures/real-yaml/docs-github-workflows-copilot-setup-steps-yml.yml
new file mode 100644
index 0000000..213b537
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/docs-github-workflows-copilot-setup-steps-yml.yml
@@ -0,0 +1,53 @@
+# Copilot cloud agent setup steps
+#
+# This is a special-name workflow recognized by Copilot cloud agent.
+# When a cloud agent session starts (via GitHub issue assignment or the
+# Copilot UI), these steps run first to bootstrap the development
+# environment before the agent begins working.
+#
+# The workflow_dispatch trigger allows manual testing of the setup steps.
+# This is NOT a regular CI workflow — it does not run on push or PR events.
+#
+# See also:
+# .github/copilot-instructions.md — always-on agent instructions
+# .github/instructions/ — contextual instruction files
+# .github/prompts/ — on-demand prompt files (e.g. /code-review)
+
+name: 'Copilot Setup Steps'
+
+on:
+ workflow_dispatch:
+
+jobs:
+ copilot-setup-steps:
+ runs-on: ubuntu-latest
+ if: github.repository == 'github/docs-internal' || github.repository == 'github/docs'
+ permissions:
+ contents: read
+ id-token: write
+ env:
+ ELASTICSEARCH_URL: http://localhost:9200/
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+
+ - uses: ./.github/actions/node-npm-setup
+
+ # Search and language test suites require a running Elasticsearch instance.
+ - uses: ./.github/actions/setup-elasticsearch
+ with:
+ token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+
+ # docs-internal has early-access content that must be fetched separately.
+ - uses: ./.github/actions/get-docs-early-access
+ if: ${{ github.repository == 'github/docs-internal' }}
+ with:
+ token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+
+ # Many test suites depend on Next.js build artifacts.
+ - name: Build
+ run: npm run build
+
+ # Populate Elasticsearch with fixture data so search/language tests work.
+ - name: Index fixtures into the local Elasticsearch
+ run: npm run index-test-fixtures
diff --git a/Tests/Fixtures/real-yaml/docs-github-workflows-copy-api-issue-to-internal-yml.yml b/Tests/Fixtures/real-yaml/docs-github-workflows-copy-api-issue-to-internal-yml.yml
new file mode 100644
index 0000000..09adbdb
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/docs-github-workflows-copy-api-issue-to-internal-yml.yml
@@ -0,0 +1,81 @@
+name: Copy to API/events issue to docs-content
+
+# **What it does**: Copies an issue in the open source repo to the docs-content repo, comments on and closes the original issue
+# **Why we have it**: OpenAPI/GraphQL schema updates cannot be made in the open source repo. Instead, we copy the issue to an internal issue (we do not transfer so that the issue does not disappear for the contributor) and close the original issue.
+# **Who does it impact**: Open source and docs-content maintainers
+
+on:
+ issues:
+ types:
+ - labeled
+
+permissions:
+ contents: read
+
+jobs:
+ transfer-issue:
+ name: Transfer issue
+ runs-on: ubuntu-latest
+ if: github.event.label.name == 'fix-internally' && github.repository == 'github/docs'
+ steps:
+ - name: Check if this run was triggered by a member of the docs team
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3
+ id: triggered-by-member
+ with:
+ github-token: ${{secrets.DOCS_BOT_PAT_BASE}}
+ result-encoding: string
+ script: |
+ const triggerer_login = context.payload.sender.login
+ const teamMembers = await github.request(
+ `/orgs/github/teams/docs/members?per_page=100`
+ )
+ const logins = teamMembers.data.map(member => member.login)
+ if (logins.includes(triggerer_login)) {
+ console.log(`This workflow was triggered by ${triggerer_login} (on the docs team).`)
+ return 'true'
+ }
+ console.log(`This workflow was triggered by ${triggerer_login} (not on the docs team), so no action will be taken.`)
+ return 'false'
+
+ - name: Exit if not triggered by a docs team member
+ if: steps.triggered-by-member.outputs.result == 'false'
+ run: |
+ echo Aborting. This workflow must be triggered by a member of the docs team.
+ exit 1
+
+ - name: Create an issue in the docs-content repo
+ run: |
+ new_issue_url="$(gh issue create --title "$ISSUE_TITLE" --body "$ISSUE_BODY" --repo github/docs-content --label "workflow-generated")"
+ echo 'NEW_ISSUE='$new_issue_url >> $GITHUB_ENV
+ env:
+ GITHUB_TOKEN: ${{secrets.DOCS_BOT_PAT_BASE}}
+ ISSUE_TITLE: ${{ github.event.issue.title }}
+ ISSUE_BODY: ${{ github.event.issue.body }}
+
+ - name: Comment on the old issue
+ run: gh issue comment $OLD_ISSUE --body "Thank you for opening this issue! Updates to this documentation must be made internally. I have copied your issue to an internal issue, so I will close this issue."
+ env:
+ GITHUB_TOKEN: ${{secrets.DOCS_BOT_PAT_BASE}}
+ OLD_ISSUE: ${{ github.event.issue.html_url }}
+
+ - name: Close the old issue
+ run: gh issue close $OLD_ISSUE
+ env:
+ GITHUB_TOKEN: ${{secrets.DOCS_BOT_PAT_BASE}}
+ OLD_ISSUE: ${{ github.event.issue.html_url }}
+
+ - name: Comment on the new issue
+ run: gh issue comment $NEW_ISSUE --body "This issue was originally opened in the open source repo as $OLD_ISSUE"
+ env:
+ GITHUB_TOKEN: ${{secrets.DOCS_BOT_PAT_BASE}}
+ NEW_ISSUE: ${{ env.NEW_ISSUE }}
+ OLD_ISSUE: ${{ github.event.issue.html_url }}
+
+ - name: Check out repo
+ if: ${{ failure() && github.event_name != 'workflow_dispatch' && github.repository == 'github/docs-internal' }}
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+ - uses: ./.github/actions/slack-alert
+ if: ${{ failure() && github.event_name != 'workflow_dispatch' && github.repository == 'github/docs-internal' }}
+ with:
+ slack_channel_id: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }}
+ slack_token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }}
diff --git a/Tests/Fixtures/real-yaml/docs-github-workflows-count-translation-corruptions-yml.yml b/Tests/Fixtures/real-yaml/docs-github-workflows-count-translation-corruptions-yml.yml
new file mode 100644
index 0000000..8045fcc
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/docs-github-workflows-count-translation-corruptions-yml.yml
@@ -0,0 +1,44 @@
+name: Count translation corruptions
+
+# **What it does**: Generates a summary of Liquid corruptions per language.
+# **Why we have it**: For insights into the state of translations and things we can do to fix them
+# **Who does it impact**: Engineering
+
+on:
+ workflow_dispatch:
+ pull_request:
+ paths:
+ - src/languages/scripts/count-translation-corruptions.ts
+ - src/languages/lib/correct-translation-content.ts
+ - .github/workflows/count-translation-corruptions.yml
+ - .github/actions/node-npm-setup/action.yml
+ - .github/actions/clone-translations/action.yml
+ - 'package**.json'
+
+permissions:
+ contents: read
+
+jobs:
+ count-translation-corruptions:
+ if: github.repository == 'github/docs-internal'
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout English repo
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+ with:
+ # Using a PAT is necessary so that the new commit will trigger the
+ # CI in the PR. (Events from GITHUB_TOKEN don't trigger new workflows.)
+ token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+
+ # It's important because translations are often a bit behind.
+ # So if a translation is a bit behind, it might still be referencing
+ # an asset even though none of the English content does.
+ - name: Clone all translations
+ uses: ./.github/actions/clone-translations
+ with:
+ token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+
+ - uses: ./.github/actions/node-npm-setup
+
+ - name: Run count
+ run: npm run count-translation-corruptions
diff --git a/Tests/Fixtures/real-yaml/docs-github-workflows-create-changelog-pr-yml.yml b/Tests/Fixtures/real-yaml/docs-github-workflows-create-changelog-pr-yml.yml
new file mode 100644
index 0000000..2167ff7
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/docs-github-workflows-create-changelog-pr-yml.yml
@@ -0,0 +1,171 @@
+name: Create a PR to add an entry to the CHANGELOG.md file in this repo
+
+# **What it does**: If a member of the github org posts a changelog comment, it creates a PR to update the CHANGELOG.md file.
+# **Why we have it**: This surfaces docs changelog details publicly.
+# **Who does it impact**: GitHub users and staff.
+
+on:
+ issue_comment:
+ types: [created]
+ workflow_dispatch:
+
+permissions:
+ contents: write
+ pull-requests: write
+
+env:
+ CHANGELOG_FILE: CHANGELOG.md
+ CHANGELOG_FILE_URL: https://github.com/github/docs-internal/blob/main/CHANGELOG.md
+
+jobs:
+ docs-changelog-pr:
+ if: ${{ github.repository == 'github/docs-internal' && github.event.issue.pull_request }}
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+
+ - name: 'Ensure ${{ env.CHANGELOG_FILE }} exists'
+ run: |
+ if [ ! -f ${{ env.CHANGELOG_FILE }} ]; then
+ echo "${{ env.CHANGELOG_FILE }} is missing at the root of the repository."
+ exit 1
+ fi
+
+ - name: Check that the user belongs to the github org
+ id: hubber_check
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3
+ with:
+ github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ script: |
+ try {
+ await github.rest.teams.getMembershipForUserInOrg({
+ org: 'github',
+ team_slug: 'employees',
+ username: context.payload.sender.login,
+ });
+ core.exportVariable('CONTINUE_WORKFLOW', 'true');
+ } catch(err) {
+ core.info("Workflow triggered by a comment, but the commenter is not a Hubber. Exiting.");
+ core.exportVariable('CONTINUE_WORKFLOW', 'false');
+ }
+
+ - name: Check if comment starts with '## Changelog summary'
+ if: env.CONTINUE_WORKFLOW == 'true'
+ id: check_summary
+ env:
+ COMMENT_BODY: ${{ github.event.comment.body }}
+ run: |
+ # Get the first line of the comment and trim the leading/trailing whitespace:
+ FIRST_LINE=$(printf "%s\n" "$COMMENT_BODY" | head -n1 | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
+ if [[ "$FIRST_LINE" != '## Changelog summary' ]]; then
+ echo "FIRST_LINE=|$FIRST_LINE|"
+ echo "The pull request comment is not a changelog summary. Exiting."
+ echo "CONTINUE_WORKFLOW=false" >> $GITHUB_ENV
+ fi
+
+ - name: Create changelog text
+ if: env.CONTINUE_WORKFLOW == 'true'
+ id: create_text
+ env:
+ COMMENT_BODY: ${{ github.event.comment.body }}
+ run: |
+ set -euo pipefail
+ DATE=$(date +"**%-d %B %Y**")
+ BODY="$(printf "%s\n" "$COMMENT_BODY" | tail -n +2)"
+ CHANGELOG_TEXT="$(printf "%s\n" "$BODY" | awk '/^:writing_hand:/{exit} {print}')"
+ {
+ echo "$DATE"
+ echo -e "$CHANGELOG_TEXT\n"
+ } > changelog_entry.txt
+
+ - name: Set up git
+ if: env.CONTINUE_WORKFLOW == 'true'
+ run: |
+ git config user.name "github-actions[bot]"
+ git config user.email "github-actions[bot]@users.noreply.github.com"
+
+ - name: Prepare branch
+ if: env.CONTINUE_WORKFLOW == 'true'
+ run: |
+ BRANCH="changelog-update-$(date +%s)"
+ echo "BRANCH=$BRANCH" >> $GITHUB_ENV
+ git checkout -b "$BRANCH"
+
+ # Insert new changelog entry after the first heading, as follows:
+ # Print the first line of the existing CHANGELOG.md file into a `tmp` file, followed by an empty line.
+ # Then, print the contents of `changelog_entry.txt` into the `tmp` file.
+ # Then, print the rest of the existing CHANGELOG.md file into the `tmp` file.
+ # Finally, replace the existing CHANGELOG.md file with the `tmp` file.
+ awk 'NR==1{print; print ""; while ((getline line < "changelog_entry.txt") > 0) print line; next}1' CHANGELOG.md > tmp && mv tmp CHANGELOG.md
+
+ git add CHANGELOG.md
+ git commit -m "Update changelog for $(head -n1 changelog_entry.txt)"
+ git push origin "$BRANCH"
+
+ - name: Create a pull request
+ if: env.CONTINUE_WORKFLOW == 'true'
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3
+ id: create_pull_request
+ with:
+ github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ script: |
+ const { data: pullRequest } = await github.rest.pulls.create({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ title: `Update docs changelog (for PR #${context.payload.issue.number})`,
+ body: `### Automated docs changelog update\n\n**Purpose:** Update the [${{ env.CHANGELOG_FILE }}](${{ env.CHANGELOG_FILE_URL }}) file with details of a recent docs change.\n\nThis PR is an automated update, generated by the create-changelog-pr.yml Actions workflow as a result of a "Changelog summary" comment being added to [PR #${context.payload.issue.number}](${context.payload.issue.html_url}).\n\n**Notes for reviewer**:\n- This change to the [${{ env.CHANGELOG_FILE }}](${{ env.CHANGELOG_FILE_URL }}) file will be synced to the public docs site, so make sure that the content of the entry is appropriate for public consumption. If the content is wholly inappropriate for public consumption, then this PR can be closed.\n- Make sure the format of this changelog entry is consistent with the other entries in the file.\n\nOriginal PR comment posted by @${context.payload.comment.user.login}, using the /changelog slash command:\n\n${context.payload.comment.body}`,
+ head: process.env.BRANCH,
+ base: 'main'
+ });
+
+ core.setOutput('pull-request-number', pullRequest.number);
+ core.setOutput('pull-request-url', pullRequest.html_url);
+
+ - name: Add 'ready-for-doc-review' and 'skip FR board' labels to PR
+ if: env.CONTINUE_WORKFLOW == 'true'
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3
+ env:
+ # Get the number of the PR that was just created:
+ PULL_REQUEST_NUMBER: ${{ steps.create_pull_request.outputs.pull-request-number }}
+ with:
+ github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ script: |
+ await github.rest.issues.addLabels({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ issue_number: Number(process.env.PULL_REQUEST_NUMBER),
+ labels: ['ready-for-doc-review','skip FR board']
+ });
+
+ - name: Assign PR to commenter
+ if: env.CONTINUE_WORKFLOW == 'true'
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3
+ env:
+ # Reuse the PR number captured earlier
+ PULL_REQUEST_NUMBER: ${{ steps.create_pull_request.outputs.pull-request-number }}
+ with:
+ github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ script: |
+ try {
+ const username = context.payload.comment.user.login;
+ await github.rest.issues.addAssignees({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ issue_number: Number(process.env.PULL_REQUEST_NUMBER),
+ assignees: [username]
+ });
+ } catch (err) {
+ core.info(`Failed to assign PR to @${context.payload.comment.user.login}: ${err.message}`);
+ }
+
+ - uses: ./.github/actions/slack-alert
+ if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
+ with:
+ slack_channel_id: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }}
+ slack_token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }}
+
+ - uses: ./.github/actions/create-workflow-failure-issue
+ if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
+ with:
+ token: ${{ secrets.DOCS_BOT_PAT_BASE }}
diff --git a/Tests/Fixtures/real-yaml/docs-github-workflows-delete-orphan-translation-files-yml.yml b/Tests/Fixtures/real-yaml/docs-github-workflows-delete-orphan-translation-files-yml.yml
new file mode 100644
index 0000000..3b6e4f2
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/docs-github-workflows-delete-orphan-translation-files-yml.yml
@@ -0,0 +1,168 @@
+name: Delete orphan translation files
+
+# **What it does**:
+# Compares content & data files left in each translation that aren't
+# in docs-internal. Then creates a PR to delete these files.
+# **Why we have it**:
+# When Juno dumps to each translation repo it can not account for the
+# fact that files in docs-internal get moved or deleted. So the
+# sum total of files constantly grows.
+# This leads to excess files in each translation repo that are not
+# ever used but has to be put into every production build.
+# **Who does it impact**: Docs engineering
+
+on:
+ workflow_dispatch:
+ schedule:
+ - cron: '20 16 * * 1' # Run every Monday at 16:20 UTC / 8:20 PST
+
+permissions:
+ contents: write
+
+jobs:
+ delete-orphan-translation-files:
+ if: github.repository == 'github/docs-internal'
+ runs-on: ubuntu-latest
+ strategy:
+ fail-fast: false
+ matrix:
+ include:
+ - language: zh
+ language_dir: translations/zh-cn
+ language_repo: github/docs-internal.zh-cn
+
+ - language: es
+ language_dir: translations/es-es
+ language_repo: github/docs-internal.es-es
+
+ - language: pt
+ language_dir: translations/pt-br
+ language_repo: github/docs-internal.pt-br
+
+ - language: ru
+ language_dir: translations/ru-ru
+ language_repo: github/docs-internal.ru-ru
+
+ - language: ja
+ language_dir: translations/ja-jp
+ language_repo: github/docs-internal.ja-jp
+
+ - language: fr
+ language_dir: translations/fr-fr
+ language_repo: github/docs-internal.fr-fr
+
+ - language: de
+ language_dir: translations/de-de
+ language_repo: github/docs-internal.de-de
+
+ - language: ko
+ language_dir: translations/ko-kr
+ language_repo: github/docs-internal.ko-kr
+
+ steps:
+ - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+
+ - name: Checkout the language-specific repo
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+ with:
+ repository: ${{ matrix.language_repo }}
+ token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ path: ${{ matrix.language_dir }}
+
+ - uses: ./.github/actions/node-npm-setup
+
+ - name: Delete orphan files
+ run: |
+ npm run delete-orphan-translation-files -- ${{ matrix.language_dir }}
+
+ - name: Debug deleted files
+ working-directory: ${{ matrix.language_dir }}
+ run: git status
+
+ - name: Git config
+ working-directory: ${{ matrix.language_dir }}
+ run: |
+ git config --global user.name "docs-bot"
+ git config --global user.email "77750099+docs-bot@users.noreply.github.com"
+
+ - name: Git commit and push, create and merge PR
+ working-directory: ${{ matrix.language_dir }}
+ env:
+ # Needed for gh
+ GH_TOKEN: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ run: |
+ # If nothing to commit, exit now. It's fine. No orphans.
+ changes=$(git diff --name-only | wc -l)
+ untracked=$(git status --untracked-files --short | wc -l)
+ if [[ $changes -eq 0 ]] && [[ $untracked -eq 0 ]]; then
+ echo "There are no changes to commit or untracked files. Exiting."
+ exit 0
+ fi
+
+ # Create a general retry function that retries and sleeps
+ retry_command() {
+ local max_attempts=3
+ local attempt=1
+
+ while [ $attempt -le $max_attempts ]; do
+ echo "Attempt $attempt: $@"
+ "$@" && return 0
+ ((attempt++))
+ sleep 3 # You can adjust the sleep duration as needed
+ done
+
+ echo "Max attempts reached. Command failed after $max_attempts attempts."
+ return 1
+ }
+
+ git status
+ current_timestamp=$(date '+%Y-%m-%d-%H%M%S')
+ branch_name="delete-orphan-files-$current_timestamp"
+ git checkout -b "$branch_name"
+ current_daystamp=$(date '+%Y-%m-%d')
+ git commit -a -m "Delete orphan files ($current_daystamp)"
+ git push origin "$branch_name"
+
+ # Create PR
+ echo "Creating pull request..."
+ gh pr create \
+ --title "Delete orphan files ($current_daystamp)" \
+ --body '👋 humans. This PR was generated from docs-internal/.github/workflows/delete-orphan-translation-files.yml.
+ ' \
+ --repo "${{ matrix.language_repo }}" \
+ --label "workflow-generated" \
+ --head=$branch_name
+ echo "Merge created PR..."
+ # Prefer enabling auto-merge so the PR waits for any required
+ # checks before merging. If auto-merge can't be enabled — usually
+ # because all required checks completed before this step ran and
+ # the PR is already immediately mergeable — fall back to a direct
+ # merge. GitHub returns one of these misleading errors in that
+ # case: "Branch does not have required protected branch rules",
+ # "Pull request is in unstable status", or "Pull request is not
+ # in a mergeable state".
+ auto_merge_err=$(mktemp)
+ trap 'rm -f "$auto_merge_err"' EXIT
+ if retry_command gh pr merge --merge --auto --delete-branch "$branch_name" 2>"$auto_merge_err"; then
+ :
+ else
+ cat "$auto_merge_err"
+ if grep -qE "does not have required protected branch rules|unstable status|Pull request is not in a mergeable state" "$auto_merge_err"; then
+ echo "Auto-merge unavailable; PR appears immediately mergeable. Falling back to direct merge."
+ retry_command gh pr merge --merge --delete-branch "$branch_name"
+ else
+ echo "Auto-merge failed with an unexpected error."
+ exit 1
+ fi
+ fi
+
+ - uses: ./.github/actions/slack-alert
+ if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
+ with:
+ slack_channel_id: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }}
+ slack_token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }}
+
+ - uses: ./.github/actions/create-workflow-failure-issue
+ if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
+ with:
+ token: ${{ secrets.DOCS_BOT_PAT_BASE }}
diff --git a/Tests/Fixtures/real-yaml/docs-github-workflows-docs-review-collect-yml.yml b/Tests/Fixtures/real-yaml/docs-github-workflows-docs-review-collect-yml.yml
new file mode 100644
index 0000000..5ca21c4
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/docs-github-workflows-docs-review-collect-yml.yml
@@ -0,0 +1,54 @@
+name: Add docs-reviewers request to the docs-content review board
+
+# **What it does**: Adds PRs in github/github and github/audit-log-allowlists that requested a review from docs-reviewers to the docs-content review board
+# **Why we have it**: To catch docs-reviewers requests in github/audit-log-allowlists
+# **Who does it impact**: docs-content maintainers
+
+on:
+ workflow_dispatch:
+ schedule:
+ - cron: '20 16 * * 1-5' # Run Mon-Fri at 16:20 UTC / 8:20 PST
+
+permissions:
+ contents: read
+
+jobs:
+ add-requests-to-board:
+ name: Add requests to board
+ if: ${{ github.repository == 'github/docs-internal' }}
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Check out repo content
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+
+ - name: Setup Node.js
+ uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
+ with:
+ node-version-file: 'package.json'
+ cache: npm
+
+ - name: Install dependencies
+ run: npm ci
+
+ - name: Run script for audit-log-allowlists
+ run: |
+ npm run fr-add-docs-reviewers-requests
+ env:
+ TOKEN: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ PROJECT_NUMBER: 2936
+ ORGANIZATION: 'github'
+ REPO: 'audit-log-allowlists'
+ REVIEWER: 'docs-reviewers'
+ FEATURE: 'Audit log event descriptions'
+
+ - uses: ./.github/actions/slack-alert
+ if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
+ with:
+ slack_channel_id: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }}
+ slack_token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }}
+
+ - uses: ./.github/actions/create-workflow-failure-issue
+ if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
+ with:
+ token: ${{ secrets.DOCS_BOT_PAT_BASE }}
diff --git a/Tests/Fixtures/real-yaml/docs-github-workflows-dont-delete-assets-yml.yml b/Tests/Fixtures/real-yaml/docs-github-workflows-dont-delete-assets-yml.yml
new file mode 100644
index 0000000..3d66d1c
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/docs-github-workflows-dont-delete-assets-yml.yml
@@ -0,0 +1,66 @@
+name: Don't delete assets
+
+# **What it does**:
+# If the PR (against main) involves deletion of assets, if any of
+# them are deletions or renames, post a comment, and ultimately
+# fail the check.
+# **Why we have it**:
+# If you delete the reference to an image, the English content is fine
+# because it no longer tries to serve an image that doesn't exist.
+# But this is not the case for translations.
+# **Who does it impact**: Docs content.
+
+on:
+ workflow_dispatch:
+ pull_request:
+ branches:
+ - main
+ paths:
+ - 'assets/**'
+ - '.github/workflows/dont-delete-assets.yml'
+
+permissions:
+ contents: read
+ pull-requests: write
+
+jobs:
+ dont-delete-assets:
+ # It's 'docs-bot' that creates those PR from "Delete orphaned assets"
+ if: github.event.pull_request.user.login != 'docs-bot' && (github.repository == 'github/docs-internal' || github.repository == 'github/docs')
+ runs-on: ubuntu-latest
+ steps:
+ - name: Check out repo
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+
+ - uses: ./.github/actions/node-npm-setup
+
+ - name: Get comment markdown
+ id: comment
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: npm run deleted-assets-pr-comment
+
+ - name: Find possible previous comment
+ if: ${{ steps.comment.outputs.markdown != '' }}
+ uses: peter-evans/find-comment@b30e6a3c0ed37e7c023ccd3f1db5c6c0b0c23aad
+ id: findComment
+ with:
+ issue-number: ${{ github.event.number }}
+ comment-author: 'github-actions[bot]'
+ body-includes: ''
+
+ - name: Update comment
+ if: ${{ steps.comment.outputs.markdown != '' }}
+ uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9
+ with:
+ comment-id: ${{ steps.findComment.outputs.comment-id }}
+ issue-number: ${{ github.event.number }}
+ body: ${{ steps.comment.outputs.markdown }}
+ edit-mode: replace
+
+ - name: Ultimately fail the workflow for attention
+ if: ${{ steps.comment.outputs.markdown != '' }}
+ run: |
+ echo "More than 1 asset image was deleted as part of this PR."
+ echo "See posted PR commented about how to get them back."
+ exit 1
diff --git a/Tests/Fixtures/real-yaml/docs-github-workflows-dont-delete-features-yml.yml b/Tests/Fixtures/real-yaml/docs-github-workflows-dont-delete-features-yml.yml
new file mode 100644
index 0000000..9790d39
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/docs-github-workflows-dont-delete-features-yml.yml
@@ -0,0 +1,66 @@
+name: Don't delete features
+
+# **What it does**:
+# If the PR (against main) involves deletion of features, if any of
+# them are deletions or renames, post a comment, and ultimately
+# fail the check.
+# **Why we have it**:
+# If you delete the reference to an image, the English content is fine
+# because it no longer tries to use the feature that doesn't exist.
+# But this is not the case for translations.
+# **Who does it impact**: Docs content.
+
+on:
+ workflow_dispatch:
+ pull_request:
+ branches:
+ - main
+ paths:
+ - 'data/features/**'
+ - .github/workflows/dont-delete-features.yml
+
+permissions:
+ contents: read
+ pull-requests: write
+
+jobs:
+ dont-delete-features:
+ # It's 'docs-bot' that creates those PR from "Delete orphaned features"
+ if: github.event.pull_request.user.login != 'docs-bot' && (github.repository == 'github/docs-internal' || github.repository == 'github/docs')
+ runs-on: ubuntu-latest
+ steps:
+ - name: Check out repo
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+
+ - uses: ./.github/actions/node-npm-setup
+
+ - name: Get comment markdown
+ id: comment
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: npm run deleted-features-pr-comment
+
+ - name: Find possible previous comment
+ if: ${{ steps.comment.outputs.markdown != '' }}
+ uses: peter-evans/find-comment@b30e6a3c0ed37e7c023ccd3f1db5c6c0b0c23aad
+ id: findComment
+ with:
+ issue-number: ${{ github.event.number }}
+ comment-author: 'github-actions[bot]'
+ body-includes: ''
+
+ - name: Update comment
+ if: ${{ steps.comment.outputs.markdown != '' }}
+ uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9
+ with:
+ comment-id: ${{ steps.findComment.outputs.comment-id }}
+ issue-number: ${{ github.event.number }}
+ body: ${{ steps.comment.outputs.markdown }}
+ edit-mode: replace
+
+ - name: Ultimately fail the workflow for attention
+ if: ${{ steps.comment.outputs.markdown != '' }}
+ run: |
+ echo "More than 1 feature was deleted as part of this PR."
+ echo "See posted PR commented about how to get them back."
+ exit 1
diff --git a/Tests/Fixtures/real-yaml/docs-github-workflows-enterprise-dates-yml.yml b/Tests/Fixtures/real-yaml/docs-github-workflows-enterprise-dates-yml.yml
new file mode 100644
index 0000000..b56bd1f
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/docs-github-workflows-enterprise-dates-yml.yml
@@ -0,0 +1,81 @@
+name: Enterprise date updater
+
+# **What it does**: Runs on a schedule to update
+# src/ghes-releases/lib/enterprise-dates.json.
+# **Why we have it**: The src/ghes-releases/lib/enterprise-dates.json
+# file needs to be up-to-date for the
+# Used to display deprecation banner dates and as a reference
+# for all past server release numbers.
+# **Who does it impact**: Docs engineering, docs content.
+
+on:
+ workflow_dispatch:
+ schedule:
+ - cron: '20 16 * * 1' # Run every Monday at 16:20 UTC / 8:20 PST
+
+permissions:
+ contents: write
+ pull-requests: write
+
+jobs:
+ open_enterprise_issue:
+ name: Enterprise date updater
+ if: github.repository == 'github/docs-internal'
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout repository code
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+
+ - uses: ./.github/actions/node-npm-setup
+
+ - name: Run src/ghes-releases/scripts/update-enterprise-dates.ts
+ run: npm run update-enterprise-dates
+ env:
+ GITHUB_TOKEN: ${{ secrets.DOCS_BOT_PAT_BASE }}
+
+ - name: Create pull request
+ id: create-pull-request
+ uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725 # pin @v8.0.0
+ env:
+ # Disable pre-commit hooks; they don't play nicely here
+ HUSKY: '0'
+ with:
+ # need to use a token with repo and workflow scopes for this step
+ token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ commit-message: '🤖 ran src/ghes-releases/scripts/update-enterprise-dates.ts'
+ title: 🤖 src/ghes-releases/lib/enterprise-dates.json update
+ body:
+ "Hello! The GitHub Enterprise Server release dates have changed.\n\n
+ If CI passes, this PR will be auto-merged. :green_heart:\n\n
+ If CI does not pass or other problems arise, contact #docs-engineering on slack.\n\nThis PR was 🤖-crafted by `.github/workflows/enterprise-dates.yml`. 🧶"
+ branch: enterprise-server-dates-update
+ delete-branch: true
+
+ - name: Enable GitHub auto-merge
+ if: ${{ steps.create-pull-request.outputs.pull-request-number }}
+ env:
+ GITHUB_TOKEN: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ AUTOMERGE_PR_NUMBER: ${{ steps.create-pull-request.outputs.pull-request-number }}
+ run: npm run enable-automerge
+
+ - if: ${{ failure() }}
+ name: Delete remote branch (if previous steps failed)
+ run: git push origin --delete enterprise-server-dates-update
+
+ - if: ${{ steps.create-pull-request.outputs.pull-request-number }}
+ name: Approve
+ uses: juliangruber/approve-pull-request-action@dcc4effb325c0b503408619918d56e40653dcc91
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ number: ${{ steps.create-pull-request.outputs.pull-request-number }}
+
+ - uses: ./.github/actions/slack-alert
+ if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
+ with:
+ slack_channel_id: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }}
+ slack_token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }}
+
+ - uses: ./.github/actions/create-workflow-failure-issue
+ if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
+ with:
+ token: ${{ secrets.DOCS_BOT_PAT_BASE }}
diff --git a/Tests/Fixtures/real-yaml/docs-github-workflows-enterprise-release-issue-yml.yml b/Tests/Fixtures/real-yaml/docs-github-workflows-enterprise-release-issue-yml.yml
new file mode 100644
index 0000000..cb40f2d
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/docs-github-workflows-enterprise-release-issue-yml.yml
@@ -0,0 +1,45 @@
+name: Open Enterprise release or deprecation issue
+
+# **What it does**: Checks if there is an Enterprise release or deprecation upcoming, and if so, opens an issue with the tasks to be completed.
+# **Why we have it**: GHES releases and deprecations run on a predictable schedule, so we can automate some of the project management aspects.
+# **Who does it impact**: Docs engineering, docs content.
+
+on:
+ workflow_dispatch:
+ schedule:
+ - cron: '20 16 * * 1' # Run every Monday at 16:20 UTC / 8:20 PST
+
+permissions:
+ contents: read
+
+jobs:
+ open_enterprise_issue:
+ name: Open Enterprise issue
+ if: github.repository == 'github/docs-internal'
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout repository code
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+
+ - uses: ./.github/actions/node-npm-setup
+
+ - name: Create an enterprise release issue
+ run: npm run create-enterprise-issue -- release
+ env:
+ GITHUB_TOKEN: ${{ secrets.DOCS_BOT_PAT_BASE }}
+
+ - name: Create an enterprise deprecation issue
+ run: npm run create-enterprise-issue -- deprecation
+ env:
+ GITHUB_TOKEN: ${{ secrets.DOCS_BOT_PAT_BASE }}
+
+ - uses: ./.github/actions/slack-alert
+ if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
+ with:
+ slack_channel_id: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }}
+ slack_token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }}
+
+ - uses: ./.github/actions/create-workflow-failure-issue
+ if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
+ with:
+ token: ${{ secrets.DOCS_BOT_PAT_BASE }}
diff --git a/Tests/Fixtures/real-yaml/docs-github-workflows-expertise-required-label-message-yml.yml b/Tests/Fixtures/real-yaml/docs-github-workflows-expertise-required-label-message-yml.yml
new file mode 100644
index 0000000..a3e3613
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/docs-github-workflows-expertise-required-label-message-yml.yml
@@ -0,0 +1,25 @@
+name: Expertise Required label message
+
+# **What it does**: Adds a bot comment stating a certain level of expertise is required to a docs-content issue when the `contributor-expertise-required` label is applied
+# **Why we have it**: We need a method to surface a message denoting if an issue requires a certain level of expertise in order to be resolved
+# **Who does it impact**: Open Source and Hubbers
+
+on:
+ issues:
+ types:
+ - labeled
+
+jobs:
+ job:
+ name: Comment on issue with expertise required message
+ runs-on: ubuntu-latest
+ permissions:
+ issues: write
+ if: github.event.label.name == 'contributor-expertise-required' && github.repository == 'github/docs'
+ steps:
+ - name: Comment on issue
+ env:
+ GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
+ issue: ${{ github.event.issue.html_url }}
+ run: |
+ gh issue comment $issue --body 'Addressing this issue will require additional expertise from the contributor. Please make sure to review the issue carefully before opening a PR and ask any questions you might have in the issue.'
diff --git a/Tests/Fixtures/real-yaml/docs-github-workflows-feedback-prompt-yml.yml b/Tests/Fixtures/real-yaml/docs-github-workflows-feedback-prompt-yml.yml
new file mode 100644
index 0000000..8c3c0d1
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/docs-github-workflows-feedback-prompt-yml.yml
@@ -0,0 +1,78 @@
+name: Feedback prompt for non-Docs team contributors when a PR is closed
+
+on:
+ pull_request:
+ types: [closed]
+
+permissions:
+ contents: read
+ pull-requests: write
+
+jobs:
+ comment-on-pr:
+ # This workflow should only run on the 'github/docs-internal' repository because it posts a feedback request
+ # to non-Docs team contributors when their PR is merged into the main branch.
+ # The feedback request asks contributors to leave feedback on their contributing experience in Slack.
+ if: github.repository == 'github/docs-internal' && github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'main'
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Check if PR author is in docs-content team
+ id: check_team
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ with:
+ github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ script: |
+ try {
+ const pr = context.payload.pull_request;
+ await github.rest.teams.getMembershipForUserInOrg({
+ org: 'github',
+ team_slug: 'docs-content',
+ username: pr.user.login,
+ });
+ // Author is in the team. Do nothing!
+ } catch(err) {
+ // Author not in team
+ core.exportVariable('NON_DOCS_HUBBER', 'true');
+ }
+
+ - name: Post changelog instructions comment
+
+ if: env.NON_DOCS_HUBBER == 'true'
+
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ with:
+ github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ script: |
+ const pr = context.payload.pull_request;
+ const prAuthor = pr.user.login;
+ const assignees = (pr.assignees ?? [])
+ .filter(a => a.login.toLowerCase() !== "copilot")
+ .map(a => "@" + a.login)
+ .join(" ");
+
+ let commentBody;
+ if (assignees) {
+ commentBody =
+ "👋 " + assignees +
+ " - Thanks for your contribution! " +
+ "If you think something could be improved about the contributor experience, please post in `#docs-contributor-feedback` on Slack.";
+ } else if (prAuthor.toLowerCase() !== "copilot") {
+ commentBody =
+ "👋 @" + prAuthor +
+ " - Thanks for your contribution! " +
+ "If you think something could be improved about the contributor experience, please post in `#docs-contributor-feedback` on Slack.";
+ } else {
+ // nobody to mention!
+ commentBody =
+ "👋 Thanks for your contribution! " +
+ "If you think something could be improved about the contributor experience, please post in `#docs-contributor-feedback` on Slack.";
+ }
+
+ await github.rest.issues.createComment({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ issue_number: pr.number,
+ body: commentBody
+ });
diff --git a/Tests/Fixtures/real-yaml/docs-github-workflows-first-responder-v2-prs-collect-yml.yml b/Tests/Fixtures/real-yaml/docs-github-workflows-first-responder-v2-prs-collect-yml.yml
new file mode 100644
index 0000000..de07121
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/docs-github-workflows-first-responder-v2-prs-collect-yml.yml
@@ -0,0 +1,56 @@
+name: Add maintenance PRs to the docs-content FR project v2
+
+# **What it does**: Adds docs-internal pull requests authored by docs-bot to the docs-content FR project v2
+# **Why we have it**: So we don't lose track of maintenance pull requests for docs-content to review
+# **Who does it impact**: Docs content
+
+on:
+ pull_request:
+ types:
+ - reopened
+ - opened
+ - ready_for_review
+
+permissions:
+ contents: read
+ pull-requests: write
+ repository-projects: write
+
+jobs:
+ first-responder-triage-pr:
+ name: Add maintenance PR to FR project v2
+ if: github.repository == 'github/docs-internal' && github.event.pull_request.draft == false && github.event.pull_request.user.id == 77750099 && github.event.pull_request.head.ref != 'repo-sync' && !contains(github.event.pull_request.labels.*.name, 'skip FR board')
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+
+ # Add to the FR project
+ # and set type to "Maintenance"
+ # and set date to now
+ - name: Triage to docs-content FR project
+ env:
+ GITHUB_TOKEN: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ PR_URL: ${{ github.event.pull_request.html_url }}
+ PROJECT_NUMBER: 11672
+ PROJECT_ID: PVT_kwDNJr_OAGNkBg
+ TYPE_FIELD_ID: PVTSSF_lADNJr_OAGNkBs4D-Nyn
+ DATE_FIELD_ID: PVTF_lADNJr_OAGNkBs4D-N1h
+ TYPE_FIELD_VALUE: 3f142cf2
+ run: |
+ echo "Adding item to project..."
+
+ ITEM_ID=$(gh project item-add $PROJECT_NUMBER --owner github --url $PR_URL --format json | jq .id)
+
+ echo "Editing type..."
+
+ gh project item-edit --project-id $PROJECT_ID --id $ITEM_ID --field-id $TYPE_FIELD_ID --single-select-option-id $TYPE_FIELD_VALUE
+
+ echo "Editing date..."
+
+ DATE=$(date '+%Y-%m-%d')
+
+ gh project item-edit --project-id $PROJECT_ID --id $ITEM_ID --field-id $DATE_FIELD_ID --date $DATE
+
+ echo "done editing"
diff --git a/Tests/Fixtures/real-yaml/docs-github-workflows-generate-code-scanning-query-lists-yml.yml b/Tests/Fixtures/real-yaml/docs-github-workflows-generate-code-scanning-query-lists-yml.yml
new file mode 100644
index 0000000..da3e7f7
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/docs-github-workflows-generate-code-scanning-query-lists-yml.yml
@@ -0,0 +1,262 @@
+name: Generate code scanning query lists
+
+# **What it does**: This workflow is currently run manually approximately every two weeks as part
+# of the release process for the CodeQL CLI. We hope to automate this in the future
+# When run, this workflow generates updated query lists with data from the codeql
+# repository, and creates a pull request if there are updates.
+# **Why we have it**: So we can automate CodeQL query tables and show code scanning users the built in queries.
+# **Who does it impact**: Anyone making CodeQL query suite changes in `github/codeql`, and wanting to get them published on the docs site.
+
+on:
+ workflow_dispatch:
+ inputs:
+ SOURCE_BRANCH:
+ description: 'Branch to pull the source files from in the codeql repo (for example codeql-cli-2.x.x).'
+ type: string
+ required: true
+ default: 'main'
+
+ pull_request:
+ paths:
+ - .github/workflows/generate-code-scanning-query-lists.yml
+ - src/codeql-queries/scripts/generate-code-scanning-query-list.ts
+ - src/codeql-queries/scripts/generate-code-quality-query-list.ts
+ - .github/actions/install-cocofix/action.yml
+
+permissions:
+ contents: read
+
+jobs:
+ generate-security-query-lists:
+ if: github.repository == 'github/docs-internal'
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout repository code
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+
+ - uses: ./.github/actions/node-npm-setup
+
+ - name: Checkout codeql repo
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+ with:
+ repository: github/codeql
+ path: codeql
+ ref: ${{ inputs.SOURCE_BRANCH || 'main' }}
+
+ - name: Get the codeql SHA being synced
+ id: codeql
+ shell: bash
+ run: |
+ cd codeql
+ OPENAPI_COMMIT_SHA=$(git rev-parse HEAD)
+ echo "OPENAPI_COMMIT_SHA=$OPENAPI_COMMIT_SHA" >> $GITHUB_OUTPUT
+ echo "Copied files from github/codeql repo. Commit SHA: $OPENAPI_COMMIT_SHA"
+
+ - name: Download CodeQL CLI
+ # Look under the `codeql` directory, as this is where we checked out the `github/codeql` repo
+ uses: ./codeql/.github/actions/fetch-codeql
+
+ - name: Test CodeQL CLI Download
+ shell: bash
+ run: codeql --version
+
+ # "Server for running multiple commands while avoiding repeated JVM initialization."
+ # Having started this should speed up the execution of the various
+ # CLI calls of the executable.
+ - name: Start CodeQL CLI server in the background
+ shell: bash
+ run: |
+ codeql execute cli-server &
+ sleep 3
+ codeql --version
+
+ - uses: ./.github/actions/install-cocofix
+ with:
+ token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+
+ - name: Build code scanning security query lists
+ shell: bash
+ run: |
+ for lang in "actions" "cpp" "csharp" "go" "java" "javascript" "python" "ruby" "rust" "swift"; do
+ echo "Generating code scanning query list for $lang"
+ npm run generate-code-scanning-query-list -- \
+ --verbose \
+ --codeql-path codeql \
+ --codeql-dir codeql \
+ -o data/reusables/code-scanning/codeql-query-tables/$lang.md \
+ $lang
+ done
+
+ - name: Upload security query lists
+ uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
+ with:
+ name: security-query-lists
+ path: data/reusables/code-scanning/codeql-query-tables/
+
+ generate-quality-query-lists:
+ if: github.repository == 'github/docs-internal'
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout repository code
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+
+ - uses: ./.github/actions/node-npm-setup
+
+ - name: Checkout codeql repo
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+ with:
+ repository: github/codeql
+ path: codeql
+ ref: ${{ inputs.SOURCE_BRANCH || 'main' }}
+
+ - name: Get the codeql SHA being synced
+ id: codeql
+ shell: bash
+ run: |
+ cd codeql
+ OPENAPI_COMMIT_SHA=$(git rev-parse HEAD)
+ echo "OPENAPI_COMMIT_SHA=$OPENAPI_COMMIT_SHA" >> $GITHUB_OUTPUT
+ echo "Copied files from github/codeql repo. Commit SHA: $OPENAPI_COMMIT_SHA"
+
+ - name: Download CodeQL CLI
+ # Look under the `codeql` directory, as this is where we checked out the `github/codeql` repo
+ uses: ./codeql/.github/actions/fetch-codeql
+
+ - name: Test CodeQL CLI Download
+ shell: bash
+ run: codeql --version
+
+ # "Server for running multiple commands while avoiding repeated JVM initialization."
+ # Having started this should speed up the execution of the various
+ # CLI calls of the executable.
+ - name: Start CodeQL CLI server in the background
+ shell: bash
+ run: |
+ codeql execute cli-server &
+ sleep 3
+ codeql --version
+
+ - name: Build code quality query lists
+ shell: bash
+ run: |
+ for lang in "csharp" "go" "java" "javascript" "python" "ruby"; do
+ echo "Generating code quality query list for $lang"
+ npm run generate-code-quality-query-list -- \
+ --verbose \
+ --codeql-path codeql \
+ --codeql-dir codeql \
+ -o data/reusables/code-quality/codeql-query-tables/$lang.md \
+ $lang
+ done
+
+ - name: Upload quality query lists
+ uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
+ with:
+ name: quality-query-lists
+ path: data/reusables/code-quality/codeql-query-tables/
+
+ create-pull-request:
+ if: github.repository == 'github/docs-internal'
+ runs-on: ubuntu-latest
+ permissions:
+ contents: write
+ pull-requests: write
+ needs: [generate-security-query-lists, generate-quality-query-lists]
+ steps:
+ - name: Checkout repository code
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+
+ - name: Checkout codeql repo
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+ with:
+ repository: github/codeql
+ path: codeql
+ ref: ${{ inputs.SOURCE_BRANCH || 'main' }}
+
+ - name: Get the codeql SHA being synced
+ id: codeql
+ shell: bash
+ run: |
+ cd codeql
+ OPENAPI_COMMIT_SHA=$(git rev-parse HEAD)
+ echo "OPENAPI_COMMIT_SHA=$OPENAPI_COMMIT_SHA" >> $GITHUB_OUTPUT
+ echo "Copied files from github/codeql repo. Commit SHA: $OPENAPI_COMMIT_SHA"
+
+ - name: Download security query lists
+ uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0
+ with:
+ name: security-query-lists
+ path: data/reusables/code-scanning/codeql-query-tables/
+
+ - name: Download quality query lists
+ uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0
+ with:
+ name: quality-query-lists
+ path: data/reusables/code-quality/codeql-query-tables/
+
+ - name: Insight into diff
+ shell: bash
+ run: |
+ git diff
+
+ - name: Create pull request
+ env:
+ GITHUB_TOKEN: ${{ secrets.DOCS_BOT_PAT_BASE }}
+ DRY_RUN: ${{ github.event_name == 'pull_request'}}
+ shell: bash
+ run: |
+
+ # When we started, we downloaded the CodeQL CLI here in this workflow.
+ # We have no intention of checking that in but we also don't want
+ # `git status ...` to show it as an untracked file.
+ rm -fr ./codeql
+
+ # If nothing to commit, exit now. It's fine. No orphans.
+ changes=$(git diff --name-only | wc -l)
+ untracked=$(git status --untracked-files --short | wc -l)
+ if [[ $changes -eq 0 ]] && [[ $untracked -eq 0 ]]; then
+ echo "There are no changes to commit after running the generation and conversion scripts. Exiting..."
+ exit 0
+ fi
+
+ git config --global user.name "docs-bot"
+ git config --global user.email "77750099+docs-bot@users.noreply.github.com"
+
+ branchname=codeql-query-tables-${{ steps.codeql.outputs.OPENAPI_COMMIT_SHA }}
+
+ # Exit if the branch already exists. Since the actions/checkout fetch-depth is 1,
+ # it doesn't "know" about branches locally, so we need to manually list them.
+ branchExists=$(git ls-remote --heads origin refs/heads/$branchname | wc -l)
+
+ # When run on a pull_request, we're just testing the tooling.
+ # Exit before it actually pushes the possible changes.
+ if [ "$DRY_RUN" = "true" ]; then
+ echo "Dry-run mode when run in a pull request"
+ echo "See the 'Insight into diff' step for the changes it would create PR about."
+ exit 0
+ fi
+
+ if [ $branchExists -ne 0 ]; then
+ echo "Branch $branchname already exists in the remote repository."
+ exit 0
+ else
+ git checkout -b $branchname
+ fi
+
+ git add data/reusables/code-scanning/codeql-query-tables
+ git add data/reusables/code-quality/codeql-query-tables
+ git commit -m "Update CodeQL query tables"
+ git push -u origin $branchname
+
+ echo "Creating pull request..."
+ gh pr create \
+ --title "Update CodeQL query tables" \
+ --repo github/docs-internal \
+ --label "codeql-query-tables,skip FR board,ready-for-doc-review,workflow-generated" \
+ --body '👋 humans. This PR updates the **CodeQL query table reusables** with the latest changes in preparation for the next **CodeQL CLI** release. (Synced from codeql@${{ steps.codeql.outputs.OPENAPI_COMMIT_SHA }})
+
+
+ No action is required from the first responder for the Docs content team. This PR is automatically added to the Docs content review board. Any writer can review this by checking that the PR looks sensible. If CI does not pass or other problems arise, contact #docs-engineering on slack.
+
+
+ When the DRI for the CodeQL CLI release is ready to publish, they will ask us to merge this PR in #docs-content.'
diff --git a/Tests/Fixtures/real-yaml/github-actions-node.yml b/Tests/Fixtures/real-yaml/github-actions-node.yml
new file mode 100644
index 0000000..d5ccc14
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/github-actions-node.yml
@@ -0,0 +1,31 @@
+# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
+# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs
+
+name: Node.js CI
+
+on:
+ push:
+ branches: [ $default-branch ]
+ pull_request:
+ branches: [ $default-branch ]
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+
+ strategy:
+ matrix:
+ node-version: [18.x, 20.x, 22.x]
+ # See supported Node.js release schedule at https://nodejs.org/en/about/releases/
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: Use Node.js ${{ matrix.node-version }}
+ uses: actions/setup-node@v4
+ with:
+ node-version: ${{ matrix.node-version }}
+ cache: 'npm'
+ - run: npm ci
+ - run: npm run build --if-present
+ - run: npm test
diff --git a/Tests/Fixtures/real-yaml/github-docs-test-workflow.yml b/Tests/Fixtures/real-yaml/github-docs-test-workflow.yml
new file mode 100644
index 0000000..2890611
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/github-docs-test-workflow.yml
@@ -0,0 +1,173 @@
+name: Test
+
+# **What it does**: Runs our tests.
+# **Why we have it**: We want our tests to pass before merging code.
+# **Who does it impact**: Docs engineering, open-source engineering contributors.
+
+on:
+ workflow_dispatch:
+ merge_group:
+ pull_request:
+
+permissions:
+ contents: read
+ pull-requests: read
+
+# This allows a subsequently queued workflow run to interrupt previous runs
+concurrency:
+ group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}'
+ cancel-in-progress: true
+
+env:
+ # Setting this will activate the vitest tests that depend on actually
+ # sending real search queries to Elasticsearch
+ ELASTICSEARCH_URL: http://localhost:9200/
+
+jobs:
+ test:
+ name: ${{ matrix.name }}
+ if: github.repository == 'github/docs-internal' || github.repository == 'github/docs'
+ runs-on: ubuntu-latest
+ timeout-minutes: 60
+ strategy:
+ fail-fast: false
+ matrix:
+ # Note that *if you add* to this, remember to also add that
+ # to the **required checks** in the branch protection rules.
+ name:
+ # src/ directory
+ - archives
+ - article-api
+ - assets
+ - audit-logs
+ - automated-pipelines
+ # - bookmarklets
+ # - code-scanning
+ # - codeql-cli
+ - color-schemes
+ - content-linter
+ - content-render
+ - data-directory
+ # - dev-toc
+ - early-access
+ - events
+ - fixtures
+ - frame
+ - github-apps
+ - graphql
+ - landings
+ - languages
+ # - links
+ - observability
+ # - open-source
+ # - pages
+ - products
+ - redirects
+ - release-notes
+ - rest
+ - search
+ - secret-scanning
+ - shielding
+ # - tests
+ # - tools
+ - versions
+ - webhooks
+ - workflows
+
+ # The languages suite only runs on docs-internal
+ isPrivateRepo:
+ - ${{ github.repository == 'github/docs-internal' }}
+ exclude:
+ - name: languages
+ isPrivateRepo: false
+
+ steps:
+ # Each of these ifs needs to be repeated at each step to make sure the required check still runs
+ # Even if if doesn't do anything
+ - name: Check out repo
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+ with:
+ # Fetch 2 commits so tj-actions/changed-files can diff without extra API calls
+ fetch-depth: 2
+
+ - uses: ./.github/actions/setup-elasticsearch
+ if: ${{ matrix.name == 'search' || matrix.name == 'languages' }}
+
+ - uses: ./.github/actions/node-npm-setup
+
+ - uses: ./.github/actions/get-docs-early-access
+ if: ${{ github.repository == 'github/docs-internal' }}
+ with:
+ token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+
+ - name: Check the test fixture data (if applicable)
+ if: ${{ matrix.name == 'fixtures' }}
+ run: npm run copy-fixture-data -- --check
+
+ # This keeps our fixture content/data in check
+ - name: Check the test fixture content (if applicable)
+ if: ${{ matrix.name == 'fixtures' }}
+ env:
+ ROOT: src/fixtures/fixtures
+ run: |
+ # If either of these fail, it means our fixture content's internal
+ # links can and should be updated.
+ npm run update-internal-links -- --dry-run --check --strict \
+ src/fixtures/fixtures/content \
+ --exclude src/fixtures/fixtures/content/get-started/foo/typo-autotitling.md \
+ --exclude src/fixtures/fixtures/content/get-started/foo/anchor-autotitling.md
+ npm run update-internal-links -- --dry-run --check --strict \
+ src/fixtures/fixtures/data
+
+ - name: Clone all translations
+ if: ${{ matrix.name == 'languages' }}
+ uses: ./.github/actions/clone-translations
+ with:
+ token: ${{ secrets.DOCS_BOT_PAT_BASE }}
+
+ - name: Gather files changed
+ if: ${{ matrix.name == 'content-linter' }}
+ id: changed_files
+ uses: tj-actions/changed-files@22103cc46bda19c2b464ffe86db46df6922fd323 # v47.0.5
+
+ - name: Write changed files to diff file
+ if: ${{ matrix.name == 'content-linter' }}
+ run: echo "${{ steps.changed_files.outputs.all_modified_files }}" > get_diff_files.txt
+
+ - uses: ./.github/actions/cache-nextjs
+
+ - name: Run build script
+ run: npm run build
+
+ - uses: ./.github/actions/warmup-remotejson-cache
+ # Only the 'routing' tests include end-to-end tests about
+ # archived enterprise server URLs.
+ if: ${{ matrix.name == 'redirects' }}
+
+ - uses: ./.github/actions/precompute-pageinfo
+ # Only the 'pageinfo' tests include end-to-end tests about this.
+ if: ${{ matrix.name == 'article-api' }}
+ env:
+ ROOT: src/fixtures/fixtures
+
+ - name: Index fixtures into the local Elasticsearch
+ # For the sake of saving time, only run this step if the group
+ # is one that will run tests against an Elasticsearch on localhost.
+ if: ${{ matrix.name == 'search' || matrix.name == 'languages' }}
+ run: npm run index-test-fixtures
+
+ - name: Run tests
+ env:
+ DIFF_FILE: get_diff_files.txt
+ CHANGELOG_CACHE_FILE_PATH: src/fixtures/fixtures/changelog-feed.json
+ # By default, when `process.env.NODE_ENV === 'test'` it forces the
+ # tests run only in English. The exception is the
+ # `languages` suite which needs all languages to be set up.
+ ENABLED_LANGUAGES: ${{ matrix.name == 'languages' && 'all' || '' }}
+ ROOT: ${{ (matrix.name == 'fixtures' || matrix.name == 'article-api' || matrix.name == 'landings' ) && 'src/fixtures/fixtures' || '' }}
+ TRANSLATIONS_FIXTURE_ROOT: ${{ (matrix.name == 'fixtures' || matrix.name == 'article-api') && 'src/fixtures/fixtures/translations' || '' }}
+ # Enable debug logging when "Re-run jobs with debug logging" is used in GitHub Actions UI
+ # This will output additional timing and path information to help diagnose timeout issues
+ RUNNER_DEBUG: ${{ runner.debug }}
+ VITEST_FLAGS: ${{ matrix.name == 'article-api' && '--no-file-parallelism --maxWorkers=1' || '' }}
+ run: npm test -- $VITEST_FLAGS src/${{ matrix.name }}/tests/
diff --git a/Tests/Fixtures/real-yaml/jenkins-kubernetes-operator-all-in-one.yaml b/Tests/Fixtures/real-yaml/jenkins-kubernetes-operator-all-in-one.yaml
new file mode 100644
index 0000000..7d2546b
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/jenkins-kubernetes-operator-all-in-one.yaml
@@ -0,0 +1,288 @@
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: jenkins-operator
+---
+# permissions to do leader election.
+apiVersion: rbac.authorization.k8s.io/v1
+kind: Role
+metadata:
+ name: leader-election-role
+rules:
+- apiGroups:
+ - ""
+ - coordination.k8s.io
+ resources:
+ - configmaps
+ - leases
+ verbs:
+ - get
+ - list
+ - watch
+ - create
+ - update
+ - patch
+ - delete
+- apiGroups:
+ - ""
+ resources:
+ - events
+ verbs:
+ - create
+ - patch
+---
+kind: Role
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: jenkins-operator
+rules:
+ - apiGroups:
+ - apps
+ resources:
+ - daemonsets
+ - deployments
+ - replicasets
+ - statefulsets
+ verbs:
+ - '*'
+ - apiGroups:
+ - apps
+ - jenkins-operator
+ resources:
+ - deployments/finalizers
+ verbs:
+ - update
+ - apiGroups:
+ - build.openshift.io
+ resources:
+ - buildconfigs
+ - builds
+ verbs:
+ - get
+ - list
+ - watch
+ - apiGroups:
+ - ""
+ resources:
+ - configmaps
+ - secrets
+ - services
+ verbs:
+ - create
+ - get
+ - list
+ - update
+ - watch
+ - apiGroups:
+ - ""
+ resources:
+ - events
+ verbs:
+ - create
+ - get
+ - list
+ - patch
+ - watch
+ - apiGroups:
+ - ""
+ resources:
+ - persistentvolumeclaims
+ verbs:
+ - get
+ - list
+ - watch
+ - apiGroups:
+ - ""
+ resources:
+ - pods
+ verbs:
+ - create
+ - delete
+ - get
+ - list
+ - patch
+ - update
+ - watch
+ - apiGroups:
+ - ""
+ resources:
+ - pods
+ - pods/exec
+ verbs:
+ - '*'
+ - apiGroups:
+ - ""
+ resources:
+ - pods/log
+ verbs:
+ - get
+ - list
+ - watch
+ - apiGroups:
+ - ""
+ resources:
+ - pods/portforward
+ verbs:
+ - create
+ - apiGroups:
+ - ""
+ resources:
+ - serviceaccounts
+ verbs:
+ - create
+ - get
+ - list
+ - update
+ - watch
+ - apiGroups:
+ - image.openshift.io
+ resources:
+ - imagestreams
+ verbs:
+ - get
+ - list
+ - watch
+ - apiGroups:
+ - jenkins.io
+ resources:
+ - jenkins/finalizers
+ verbs:
+ - update
+ - apiGroups:
+ - jenkins.io
+ resources:
+ - jenkins/status
+ verbs:
+ - get
+ - patch
+ - update
+ - apiGroups:
+ - jenkins.io
+ resources:
+ - '*'
+ verbs:
+ - '*'
+ - apiGroups:
+ - rbac.authorization.k8s.io
+ resources:
+ - rolebindings
+ - roles
+ verbs:
+ - create
+ - get
+ - list
+ - update
+ - watch
+ - apiGroups:
+ - "route.openshift.io"
+ resources:
+ - routes
+ verbs:
+ - create
+ - get
+ - list
+ - update
+ - watch
+ - apiGroups:
+ - "image.openshift.io"
+ resources:
+ - imagestreams
+ verbs:
+ - get
+ - list
+ - watch
+ - apiGroups:
+ - "build.openshift.io"
+ resources:
+ - builds
+ - buildconfigs
+ verbs:
+ - get
+ - list
+ - watch
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+ name: leader-election-rolebinding
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: Role
+ name: leader-election-role
+subjects:
+- kind: ServiceAccount
+ name: jenkins-operator
+---
+kind: RoleBinding
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: jenkins-operator
+subjects:
+ - kind: ServiceAccount
+ name: jenkins-operator
+roleRef:
+ kind: Role
+ name: jenkins-operator
+ apiGroup: rbac.authorization.k8s.io
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: jenkins-operator
+ labels:
+ app.kubernetes.io/name: jenkins-operator
+ helm.sh/chart: jenkins-operator-0.9.0-beta1
+ app.kubernetes.io/version: "0.9.0-beta1"
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/name: jenkins-operator
+ template:
+ metadata:
+ labels:
+ app.kubernetes.io/name: jenkins-operator
+ spec:
+ serviceAccountName: jenkins-operator
+ containers:
+ - name: jenkins-operator
+ image: quay.io/jenkins-kubernetes-operator/operator:v0.9.0-beta2
+ imagePullPolicy: IfNotPresent
+ ports:
+ - name: http
+ containerPort: 80
+ protocol: TCP
+ command:
+ - /manager
+ args:
+ livenessProbe:
+ httpGet:
+ path: /healthz
+ port: 8081
+ initialDelaySeconds: 15
+ periodSeconds: 20
+ readinessProbe:
+ httpGet:
+ path: /readyz
+ port: 8081
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ env:
+ - name: WATCH_NAMESPACE
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.namespace
+ - name: POD_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.name
+ - name: OPERATOR_NAME
+ value: "jenkins-operator"
+ resources:
+ limits:
+ cpu: 100m
+ memory: 120Mi
+ requests:
+ cpu: 100m
+ memory: 120Mi
diff --git a/Tests/Fixtures/real-yaml/kubernetes-website-deployment.yaml b/Tests/Fixtures/real-yaml/kubernetes-website-deployment.yaml
new file mode 100644
index 0000000..dbed8bc
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/kubernetes-website-deployment.yaml
@@ -0,0 +1,19 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: nginx-deployment
+spec:
+ selector:
+ matchLabels:
+ app: nginx
+ replicas: 2 # tells deployment to run 2 pods matching the template
+ template:
+ metadata:
+ labels:
+ app: nginx
+ spec:
+ containers:
+ - name: nginx
+ image: nginx:1.14.2
+ ports:
+ - containerPort: 80
diff --git a/Tests/Fixtures/real-yaml/openapi-api-with-examples.yaml b/Tests/Fixtures/real-yaml/openapi-api-with-examples.yaml
new file mode 100644
index 0000000..18726a5
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/openapi-api-with-examples.yaml
@@ -0,0 +1,170 @@
+openapi: "3.0.0"
+info:
+ title: Simple API overview
+ version: 2.0.0
+paths:
+ /:
+ get:
+ operationId: listVersionsv2
+ summary: List API versions
+ responses:
+ '200':
+ description: |-
+ 200 response
+ content:
+ application/json:
+ examples:
+ foo:
+ value:
+ {
+ "versions": [
+ {
+ "status": "CURRENT",
+ "updated": "2011-01-21T11:33:21Z",
+ "id": "v2.0",
+ "links": [
+ {
+ "href": "http://127.0.0.1:8774/v2/",
+ "rel": "self"
+ }
+ ]
+ },
+ {
+ "status": "EXPERIMENTAL",
+ "updated": "2013-07-23T11:33:21Z",
+ "id": "v3.0",
+ "links": [
+ {
+ "href": "http://127.0.0.1:8774/v3/",
+ "rel": "self"
+ }
+ ]
+ }
+ ]
+ }
+ '300':
+ description: |-
+ 300 response
+ content:
+ application/json:
+ examples:
+ foo:
+ value: |
+ {
+ "versions": [
+ {
+ "status": "CURRENT",
+ "updated": "2011-01-21T11:33:21Z",
+ "id": "v2.0",
+ "links": [
+ {
+ "href": "http://127.0.0.1:8774/v2/",
+ "rel": "self"
+ }
+ ]
+ },
+ {
+ "status": "EXPERIMENTAL",
+ "updated": "2013-07-23T11:33:21Z",
+ "id": "v3.0",
+ "links": [
+ {
+ "href": "http://127.0.0.1:8774/v3/",
+ "rel": "self"
+ }
+ ]
+ }
+ ]
+ }
+ /v2:
+ get:
+ operationId: getVersionDetailsv2
+ summary: Show API version details
+ responses:
+ '200':
+ description: |-
+ 200 response
+ content:
+ application/json:
+ examples:
+ foo:
+ value:
+ {
+ "version": {
+ "status": "CURRENT",
+ "updated": "2011-01-21T11:33:21Z",
+ "media-types": [
+ {
+ "base": "application/xml",
+ "type": "application/vnd.openstack.compute+xml;version=2"
+ },
+ {
+ "base": "application/json",
+ "type": "application/vnd.openstack.compute+json;version=2"
+ }
+ ],
+ "id": "v2.0",
+ "links": [
+ {
+ "href": "http://127.0.0.1:8774/v2/",
+ "rel": "self"
+ },
+ {
+ "href": "http://docs.openstack.org/api/openstack-compute/2/os-compute-devguide-2.pdf",
+ "type": "application/pdf",
+ "rel": "describedby"
+ },
+ {
+ "href": "http://docs.openstack.org/api/openstack-compute/2/wadl/os-compute-2.wadl",
+ "type": "application/vnd.sun.wadl+xml",
+ "rel": "describedby"
+ },
+ {
+ "href": "http://docs.openstack.org/api/openstack-compute/2/wadl/os-compute-2.wadl",
+ "type": "application/vnd.sun.wadl+xml",
+ "rel": "describedby"
+ }
+ ]
+ }
+ }
+ '203':
+ description: |-
+ 203 response
+ content:
+ application/json:
+ examples:
+ foo:
+ value:
+ {
+ "version": {
+ "status": "CURRENT",
+ "updated": "2011-01-21T11:33:21Z",
+ "media-types": [
+ {
+ "base": "application/xml",
+ "type": "application/vnd.openstack.compute+xml;version=2"
+ },
+ {
+ "base": "application/json",
+ "type": "application/vnd.openstack.compute+json;version=2"
+ }
+ ],
+ "id": "v2.0",
+ "links": [
+ {
+ "href": "http://23.253.228.211:8774/v2/",
+ "rel": "self"
+ },
+ {
+ "href": "http://docs.openstack.org/api/openstack-compute/2/os-compute-devguide-2.pdf",
+ "type": "application/pdf",
+ "rel": "describedby"
+ },
+ {
+ "href": "http://docs.openstack.org/api/openstack-compute/2/wadl/os-compute-2.wadl",
+ "type": "application/vnd.sun.wadl+xml",
+ "rel": "describedby"
+ }
+ ]
+ }
+ }
diff --git a/Tests/Fixtures/real-yaml/openapi-callback-example.yaml b/Tests/Fixtures/real-yaml/openapi-callback-example.yaml
new file mode 100644
index 0000000..262b8df
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/openapi-callback-example.yaml
@@ -0,0 +1,61 @@
+openapi: 3.0.0
+info:
+ title: Callback Example
+ version: 1.0.0
+paths:
+ /streams:
+ post:
+ description: subscribes a client to receive out-of-band data
+ parameters:
+ - name: callbackUrl
+ in: query
+ required: true
+ description: |
+ the location where data will be sent. Must be network accessible
+ by the source server
+ schema:
+ type: string
+ format: uri
+ example: https://tonys-server.com
+ responses:
+ '201':
+ description: subscription successfully created
+ content:
+ application/json:
+ schema:
+ description: subscription information
+ required:
+ - subscriptionId
+ properties:
+ subscriptionId:
+ description: this unique identifier allows management of the subscription
+ type: string
+ example: 2531329f-fb09-4ef7-887e-84e648214436
+ callbacks:
+ # the name `onData` is a convenience locator
+ onData:
+ # when data is sent, it will be sent to the `callbackUrl` provided
+ # when making the subscription PLUS the suffix `/data`
+ '{$request.query.callbackUrl}/data':
+ post:
+ requestBody:
+ description: subscription payload
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ timestamp:
+ type: string
+ format: date-time
+ userData:
+ type: string
+ responses:
+ '202':
+ description: |
+ Your server implementation should return this HTTP status code
+ if the data was received successfully
+ '204':
+ description: |
+ Your server should return this HTTP status code if no longer interested
+ in further updates
diff --git a/Tests/Fixtures/real-yaml/openapi-link-example.yaml b/Tests/Fixtures/real-yaml/openapi-link-example.yaml
new file mode 100644
index 0000000..5837d70
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/openapi-link-example.yaml
@@ -0,0 +1,203 @@
+openapi: 3.0.0
+info:
+ title: Link Example
+ version: 1.0.0
+paths:
+ /2.0/users/{username}:
+ get:
+ operationId: getUserByName
+ parameters:
+ - name: username
+ in: path
+ required: true
+ schema:
+ type: string
+ responses:
+ '200':
+ description: The User
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/user'
+ links:
+ userRepositories:
+ $ref: '#/components/links/UserRepositories'
+ /2.0/repositories/{username}:
+ get:
+ operationId: getRepositoriesByOwner
+ parameters:
+ - name: username
+ in: path
+ required: true
+ schema:
+ type: string
+ responses:
+ '200':
+ description: repositories owned by the supplied user
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/repository'
+ links:
+ userRepository:
+ $ref: '#/components/links/UserRepository'
+ /2.0/repositories/{username}/{slug}:
+ get:
+ operationId: getRepository
+ parameters:
+ - name: username
+ in: path
+ required: true
+ schema:
+ type: string
+ - name: slug
+ in: path
+ required: true
+ schema:
+ type: string
+ responses:
+ '200':
+ description: The repository
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/repository'
+ links:
+ repositoryPullRequests:
+ $ref: '#/components/links/RepositoryPullRequests'
+ /2.0/repositories/{username}/{slug}/pullrequests:
+ get:
+ operationId: getPullRequestsByRepository
+ parameters:
+ - name: username
+ in: path
+ required: true
+ schema:
+ type: string
+ - name: slug
+ in: path
+ required: true
+ schema:
+ type: string
+ - name: state
+ in: query
+ schema:
+ type: string
+ enum:
+ - open
+ - merged
+ - declined
+ responses:
+ '200':
+ description: an array of pull request objects
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/pullrequest'
+ /2.0/repositories/{username}/{slug}/pullrequests/{pid}:
+ get:
+ operationId: getPullRequestsById
+ parameters:
+ - name: username
+ in: path
+ required: true
+ schema:
+ type: string
+ - name: slug
+ in: path
+ required: true
+ schema:
+ type: string
+ - name: pid
+ in: path
+ required: true
+ schema:
+ type: string
+ responses:
+ '200':
+ description: a pull request object
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/pullrequest'
+ links:
+ pullRequestMerge:
+ $ref: '#/components/links/PullRequestMerge'
+ /2.0/repositories/{username}/{slug}/pullrequests/{pid}/merge:
+ post:
+ operationId: mergePullRequest
+ parameters:
+ - name: username
+ in: path
+ required: true
+ schema:
+ type: string
+ - name: slug
+ in: path
+ required: true
+ schema:
+ type: string
+ - name: pid
+ in: path
+ required: true
+ schema:
+ type: string
+ responses:
+ '204':
+ description: the PR was successfully merged
+components:
+ links:
+ UserRepositories:
+ # returns array of '#/components/schemas/repository'
+ operationId: getRepositoriesByOwner
+ parameters:
+ username: $response.body#/username
+ UserRepository:
+ # returns '#/components/schemas/repository'
+ operationId: getRepository
+ parameters:
+ username: $response.body#/owner/username
+ slug: $response.body#/slug
+ RepositoryPullRequests:
+ # returns '#/components/schemas/pullrequest'
+ operationId: getPullRequestsByRepository
+ parameters:
+ username: $response.body#/owner/username
+ slug: $response.body#/slug
+ PullRequestMerge:
+ # executes /2.0/repositories/{username}/{slug}/pullrequests/{pid}/merge
+ operationId: mergePullRequest
+ parameters:
+ username: $response.body#/author/username
+ slug: $response.body#/repository/slug
+ pid: $response.body#/id
+ schemas:
+ user:
+ type: object
+ properties:
+ username:
+ type: string
+ uuid:
+ type: string
+ repository:
+ type: object
+ properties:
+ slug:
+ type: string
+ owner:
+ $ref: '#/components/schemas/user'
+ pullrequest:
+ type: object
+ properties:
+ id:
+ type: integer
+ title:
+ type: string
+ repository:
+ $ref: '#/components/schemas/repository'
+ author:
+ $ref: '#/components/schemas/user'
diff --git a/Tests/Fixtures/real-yaml/openapi-petstore-expanded.yaml b/Tests/Fixtures/real-yaml/openapi-petstore-expanded.yaml
new file mode 100644
index 0000000..7e5bff0
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/openapi-petstore-expanded.yaml
@@ -0,0 +1,158 @@
+openapi: "3.0.0"
+info:
+ version: 1.0.0
+ title: Swagger Petstore
+ description: A sample API that uses a petstore as an example to demonstrate features in the OpenAPI 3.0 specification
+ termsOfService: http://swagger.io/terms/
+ contact:
+ name: Swagger API Team
+ email: apiteam@swagger.io
+ url: http://swagger.io
+ license:
+ name: Apache 2.0
+ url: https://www.apache.org/licenses/LICENSE-2.0.html
+servers:
+ - url: https://petstore.swagger.io/v2
+paths:
+ /pets:
+ get:
+ description: |
+ Returns all pets from the system that the user has access to
+ Nam sed condimentum est. Maecenas tempor sagittis sapien, nec rhoncus sem sagittis sit amet. Aenean at gravida augue, ac iaculis sem. Curabitur odio lorem, ornare eget elementum nec, cursus id lectus. Duis mi turpis, pulvinar ac eros ac, tincidunt varius justo. In hac habitasse platea dictumst. Integer at adipiscing ante, a sagittis ligula. Aenean pharetra tempor ante molestie imperdiet. Vivamus id aliquam diam. Cras quis velit non tortor eleifend sagittis. Praesent at enim pharetra urna volutpat venenatis eget eget mauris. In eleifend fermentum facilisis. Praesent enim enim, gravida ac sodales sed, placerat id erat. Suspendisse lacus dolor, consectetur non augue vel, vehicula interdum libero. Morbi euismod sagittis libero sed lacinia.
+
+ Sed tempus felis lobortis leo pulvinar rutrum. Nam mattis velit nisl, eu condimentum ligula luctus nec. Phasellus semper velit eget aliquet faucibus. In a mattis elit. Phasellus vel urna viverra, condimentum lorem id, rhoncus nibh. Ut pellentesque posuere elementum. Sed a varius odio. Morbi rhoncus ligula libero, vel eleifend nunc tristique vitae. Fusce et sem dui. Aenean nec scelerisque tortor. Fusce malesuada accumsan magna vel tempus. Quisque mollis felis eu dolor tristique, sit amet auctor felis gravida. Sed libero lorem, molestie sed nisl in, accumsan tempor nisi. Fusce sollicitudin massa ut lacinia mattis. Sed vel eleifend lorem. Pellentesque vitae felis pretium, pulvinar elit eu, euismod sapien.
+ operationId: findPets
+ parameters:
+ - name: tags
+ in: query
+ description: tags to filter by
+ required: false
+ style: form
+ schema:
+ type: array
+ items:
+ type: string
+ - name: limit
+ in: query
+ description: maximum number of results to return
+ required: false
+ schema:
+ type: integer
+ format: int32
+ responses:
+ '200':
+ description: pet response
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/Pet'
+ default:
+ description: unexpected error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ post:
+ description: Creates a new pet in the store. Duplicates are allowed
+ operationId: addPet
+ requestBody:
+ description: Pet to add to the store
+ required: true
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/NewPet'
+ responses:
+ '200':
+ description: pet response
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Pet'
+ default:
+ description: unexpected error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ /pets/{id}:
+ get:
+ description: Returns a user based on a single ID, if the user does not have access to the pet
+ operationId: find pet by id
+ parameters:
+ - name: id
+ in: path
+ description: ID of pet to fetch
+ required: true
+ schema:
+ type: integer
+ format: int64
+ responses:
+ '200':
+ description: pet response
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Pet'
+ default:
+ description: unexpected error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ delete:
+ description: deletes a single pet based on the ID supplied
+ operationId: deletePet
+ parameters:
+ - name: id
+ in: path
+ description: ID of pet to delete
+ required: true
+ schema:
+ type: integer
+ format: int64
+ responses:
+ '204':
+ description: pet deleted
+ default:
+ description: unexpected error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+components:
+ schemas:
+ Pet:
+ allOf:
+ - $ref: '#/components/schemas/NewPet'
+ - type: object
+ required:
+ - id
+ properties:
+ id:
+ type: integer
+ format: int64
+
+ NewPet:
+ type: object
+ required:
+ - name
+ properties:
+ name:
+ type: string
+ tag:
+ type: string
+
+ Error:
+ type: object
+ required:
+ - code
+ - message
+ properties:
+ code:
+ type: integer
+ format: int32
+ message:
+ type: string
diff --git a/Tests/Fixtures/real-yaml/openapi-uspto.yaml b/Tests/Fixtures/real-yaml/openapi-uspto.yaml
new file mode 100644
index 0000000..d301152
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/openapi-uspto.yaml
@@ -0,0 +1,210 @@
+openapi: 3.0.1
+servers:
+ - url: '{scheme}://developer.uspto.gov/ds-api'
+ variables:
+ scheme:
+ description: 'The Data Set API is accessible via https and http'
+ enum:
+ - 'https'
+ - 'http'
+ default: 'https'
+info:
+ description: >-
+ The Data Set API (DSAPI) allows the public users to discover and search
+ USPTO exported data sets. This is a generic API that allows USPTO users to
+ make any CSV based data files searchable through API. With the help of GET
+ call, it returns the list of data fields that are searchable. With the help
+ of POST call, data can be fetched based on the filters on the field names.
+ Please note that POST call is used to search the actual data. The reason for
+ the POST call is that it allows users to specify any complex search criteria
+ without worry about the GET size limitations as well as encoding of the
+ input parameters.
+ version: 1.0.0
+ title: USPTO Data Set API
+ contact:
+ name: Open Data Portal
+ url: 'https://developer.uspto.gov'
+ email: developer@uspto.gov
+tags:
+ - name: metadata
+ description: Find out about the data sets
+ - name: search
+ description: Search a data set
+paths:
+ /:
+ get:
+ tags:
+ - metadata
+ operationId: list-data-sets
+ summary: List available data sets
+ responses:
+ '200':
+ description: Returns a list of data sets
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/dataSetList'
+ example:
+ {
+ "total": 2,
+ "apis": [
+ {
+ "apiKey": "oa_citations",
+ "apiVersionNumber": "v1",
+ "apiUrl": "https://developer.uspto.gov/ds-api/oa_citations/v1/fields",
+ "apiDocumentationUrl": "https://developer.uspto.gov/ds-api-docs/index.html?url=https://developer.uspto.gov/ds-api/swagger/docs/oa_citations.json"
+ },
+ {
+ "apiKey": "cancer_moonshot",
+ "apiVersionNumber": "v1",
+ "apiUrl": "https://developer.uspto.gov/ds-api/cancer_moonshot/v1/fields",
+ "apiDocumentationUrl": "https://developer.uspto.gov/ds-api-docs/index.html?url=https://developer.uspto.gov/ds-api/swagger/docs/cancer_moonshot.json"
+ }
+ ]
+ }
+ /{dataset}/{version}/fields:
+ get:
+ tags:
+ - metadata
+ summary: >-
+ Provides the general information about the API and the list of fields
+ that can be used to query the dataset.
+ description: >-
+ This GET API returns the list of all the searchable field names that are
+ in the oa_citations. Please see the 'fields' attribute which returns an
+ array of field names. Each field or a combination of fields can be
+ searched using the syntax options shown below.
+ operationId: list-searchable-fields
+ parameters:
+ - name: dataset
+ in: path
+ description: 'Name of the dataset.'
+ required: true
+ example: "oa_citations"
+ schema:
+ type: string
+ - name: version
+ in: path
+ description: Version of the dataset.
+ required: true
+ example: "v1"
+ schema:
+ type: string
+ responses:
+ '200':
+ description: >-
+ The dataset API for the given version is found and it is accessible
+ to consume.
+ content:
+ application/json:
+ schema:
+ type: string
+ '404':
+ description: >-
+ The combination of dataset name and version is not found in the
+ system or it is not published yet to be consumed by public.
+ content:
+ application/json:
+ schema:
+ type: string
+ /{dataset}/{version}/records:
+ post:
+ tags:
+ - search
+ summary: >-
+ Provides search capability for the data set with the given search
+ criteria.
+ description: >-
+ This API is based on Solr/Lucene Search. The data is indexed using
+ SOLR. This GET API returns the list of all the searchable field names
+ that are in the Solr Index. Please see the 'fields' attribute which
+ returns an array of field names. Each field or a combination of fields
+ can be searched using the Solr/Lucene Syntax. Please refer
+ https://lucene.apache.org/core/3_6_2/queryparsersyntax.html#Overview for
+ the query syntax. List of field names that are searchable can be
+ determined using above GET api.
+ operationId: perform-search
+ parameters:
+ - name: version
+ in: path
+ description: Version of the dataset.
+ required: true
+ schema:
+ type: string
+ default: v1
+ - name: dataset
+ in: path
+ description: 'Name of the dataset. In this case, the default value is oa_citations'
+ required: true
+ schema:
+ type: string
+ default: oa_citations
+ responses:
+ '200':
+ description: successful operation
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ type: object
+ additionalProperties:
+ type: object
+ '404':
+ description: No matching record found for the given criteria.
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ schema:
+ type: object
+ properties:
+ criteria:
+ description: >-
+ Uses Lucene Query Syntax in the format of
+ propertyName:value, propertyName:[num1 TO num2] and date
+ range format: propertyName:[yyyyMMdd TO yyyyMMdd]. In the
+ response please see the 'docs' element which has the list of
+ record objects. Each record structure would consist of all
+ the fields and their corresponding values.
+ type: string
+ default: '*:*'
+ start:
+ description: Starting record number. Default value is 0.
+ type: integer
+ default: 0
+ rows:
+ description: >-
+ Specify number of rows to be returned. If you run the search
+ with default values, in the response you will see 'numFound'
+ attribute which will tell the number of records available in
+ the dataset.
+ type: integer
+ default: 100
+ required:
+ - criteria
+components:
+ schemas:
+ dataSetList:
+ type: object
+ properties:
+ total:
+ type: integer
+ apis:
+ type: array
+ items:
+ type: object
+ properties:
+ apiKey:
+ type: string
+ description: To be used as a dataset parameter value
+ apiVersionNumber:
+ type: string
+ description: To be used as a version parameter value
+ apiUrl:
+ type: string
+ format: uriref
+ description: "The URL describing the dataset's fields"
+ apiDocumentationUrl:
+ type: string
+ format: uriref
+ description: A URL to the API console for each API
diff --git a/Tests/Fixtures/real-yaml/starter-workflows-ci-ada-yml.yml b/Tests/Fixtures/real-yaml/starter-workflows-ci-ada-yml.yml
new file mode 100644
index 0000000..ecb01cd
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/starter-workflows-ci-ada-yml.yml
@@ -0,0 +1,24 @@
+name: Ada (GNAT)
+
+on:
+ push:
+ branches: [ $default-branch ]
+ pull_request:
+ branches: [ $default-branch ]
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Set up GNAT toolchain
+ run: >
+ sudo apt-get update &&
+ sudo apt-get install gnat gprbuild
+
+ - name: Build
+ run: gprbuild -j0 -p
diff --git a/Tests/Fixtures/real-yaml/starter-workflows-ci-android-yml.yml b/Tests/Fixtures/real-yaml/starter-workflows-ci-android-yml.yml
new file mode 100644
index 0000000..fec1eb9
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/starter-workflows-ci-android-yml.yml
@@ -0,0 +1,26 @@
+name: Android CI
+
+on:
+ push:
+ branches: [ $default-branch ]
+ pull_request:
+ branches: [ $default-branch ]
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: set up JDK 11
+ uses: actions/setup-java@v4
+ with:
+ java-version: '11'
+ distribution: 'temurin'
+ cache: gradle
+
+ - name: Grant execute permission for gradlew
+ run: chmod +x gradlew
+ - name: Build with Gradle
+ run: ./gradlew build
diff --git a/Tests/Fixtures/real-yaml/starter-workflows-ci-ant-yml.yml b/Tests/Fixtures/real-yaml/starter-workflows-ci-ant-yml.yml
new file mode 100644
index 0000000..8cfe641
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/starter-workflows-ci-ant-yml.yml
@@ -0,0 +1,25 @@
+# This workflow will build a Java project with Ant
+# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-ant
+
+name: Java CI
+
+on:
+ push:
+ branches: [ $default-branch ]
+ pull_request:
+ branches: [ $default-branch ]
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: Set up JDK 11
+ uses: actions/setup-java@v4
+ with:
+ java-version: '11'
+ distribution: 'temurin'
+ - name: Build with Ant
+ run: ant -noinput -buildfile build.xml
diff --git a/Tests/Fixtures/real-yaml/starter-workflows-ci-blank-yml.yml b/Tests/Fixtures/real-yaml/starter-workflows-ci-blank-yml.yml
new file mode 100644
index 0000000..8decfee
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/starter-workflows-ci-blank-yml.yml
@@ -0,0 +1,36 @@
+# This is a basic workflow to help you get started with Actions
+
+name: CI
+
+# Controls when the workflow will run
+on:
+ # Triggers the workflow on push or pull request events but only for the $default-branch branch
+ push:
+ branches: [ $default-branch ]
+ pull_request:
+ branches: [ $default-branch ]
+
+ # Allows you to run this workflow manually from the Actions tab
+ workflow_dispatch:
+
+# A workflow run is made up of one or more jobs that can run sequentially or in parallel
+jobs:
+ # This workflow contains a single job called "build"
+ build:
+ # The type of runner that the job will run on
+ runs-on: ubuntu-latest
+
+ # Steps represent a sequence of tasks that will be executed as part of the job
+ steps:
+ # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
+ - uses: actions/checkout@v4
+
+ # Runs a single command using the runners shell
+ - name: Run a one-line script
+ run: echo Hello, world!
+
+ # Runs a set of commands using the runners shell
+ - name: Run a multi-line script
+ run: |
+ echo Add other actions to build,
+ echo test, and deploy your project.
diff --git a/Tests/Fixtures/real-yaml/starter-workflows-ci-c-cpp-yml.yml b/Tests/Fixtures/real-yaml/starter-workflows-ci-c-cpp-yml.yml
new file mode 100644
index 0000000..087efee
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/starter-workflows-ci-c-cpp-yml.yml
@@ -0,0 +1,23 @@
+name: C/C++ CI
+
+on:
+ push:
+ branches: [ $default-branch ]
+ pull_request:
+ branches: [ $default-branch ]
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: configure
+ run: ./configure
+ - name: make
+ run: make
+ - name: make check
+ run: make check
+ - name: make distcheck
+ run: make distcheck
diff --git a/Tests/Fixtures/real-yaml/starter-workflows-ci-clojure-yml.yml b/Tests/Fixtures/real-yaml/starter-workflows-ci-clojure-yml.yml
new file mode 100644
index 0000000..06396a8
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/starter-workflows-ci-clojure-yml.yml
@@ -0,0 +1,19 @@
+name: Clojure CI
+
+on:
+ push:
+ branches: [ $default-branch ]
+ pull_request:
+ branches: [ $default-branch ]
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: Install dependencies
+ run: lein deps
+ - name: Run tests
+ run: lein test
diff --git a/Tests/Fixtures/real-yaml/starter-workflows-ci-cmake-multi-platform-yml.yml b/Tests/Fixtures/real-yaml/starter-workflows-ci-cmake-multi-platform-yml.yml
new file mode 100644
index 0000000..6d49398
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/starter-workflows-ci-cmake-multi-platform-yml.yml
@@ -0,0 +1,75 @@
+# This starter workflow is for a CMake project running on multiple platforms. There is a different starter workflow if you just want a single platform.
+# See: https://github.com/actions/starter-workflows/blob/main/ci/cmake-single-platform.yml
+name: CMake on multiple platforms
+
+on:
+ push:
+ branches: [ $default-branch ]
+ pull_request:
+ branches: [ $default-branch ]
+
+jobs:
+ build:
+ runs-on: ${{ matrix.os }}
+
+ strategy:
+ # Set fail-fast to false to ensure that feedback is delivered for all matrix combinations. Consider changing this to true when your workflow is stable.
+ fail-fast: false
+
+ # Set up a matrix to run the following 3 configurations:
+ # 1.
+ # 2.
+ # 3.
+ #
+ # To add more build types (Release, Debug, RelWithDebInfo, etc.) customize the build_type list.
+ matrix:
+ os: [ubuntu-latest, windows-latest]
+ build_type: [Release]
+ c_compiler: [gcc, clang, cl]
+ include:
+ - os: windows-latest
+ c_compiler: cl
+ cpp_compiler: cl
+ - os: ubuntu-latest
+ c_compiler: gcc
+ cpp_compiler: g++
+ - os: ubuntu-latest
+ c_compiler: clang
+ cpp_compiler: clang++
+ exclude:
+ - os: windows-latest
+ c_compiler: gcc
+ - os: windows-latest
+ c_compiler: clang
+ - os: ubuntu-latest
+ c_compiler: cl
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Set reusable strings
+ # Turn repeated input strings (such as the build output directory) into step outputs. These step outputs can be used throughout the workflow file.
+ id: strings
+ shell: bash
+ run: |
+ echo "build-output-dir=${{ github.workspace }}/build" >> "$GITHUB_OUTPUT"
+
+ - name: Configure CMake
+ # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
+ # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
+ run: >
+ cmake -B ${{ steps.strings.outputs.build-output-dir }}
+ -DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }}
+ -DCMAKE_C_COMPILER=${{ matrix.c_compiler }}
+ -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
+ -S ${{ github.workspace }}
+
+ - name: Build
+ # Build your program with the given configuration. Note that --config is needed because the default Windows generator is a multi-config generator (Visual Studio generator).
+ run: cmake --build ${{ steps.strings.outputs.build-output-dir }} --config ${{ matrix.build_type }}
+
+ - name: Test
+ working-directory: ${{ steps.strings.outputs.build-output-dir }}
+ # Execute tests defined by the CMake configuration. Note that --build-config is needed because the default Windows generator is a multi-config generator (Visual Studio generator).
+ # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
+ run: ctest --build-config ${{ matrix.build_type }}
diff --git a/Tests/Fixtures/real-yaml/starter-workflows-ci-cmake-single-platform-yml.yml b/Tests/Fixtures/real-yaml/starter-workflows-ci-cmake-single-platform-yml.yml
new file mode 100644
index 0000000..1e89f2f
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/starter-workflows-ci-cmake-single-platform-yml.yml
@@ -0,0 +1,39 @@
+# This starter workflow is for a CMake project running on a single platform. There is a different starter workflow if you need cross-platform coverage.
+# See: https://github.com/actions/starter-workflows/blob/main/ci/cmake-multi-platform.yml
+name: CMake on a single platform
+
+on:
+ push:
+ branches: [ $default-branch ]
+ pull_request:
+ branches: [ $default-branch ]
+
+env:
+ # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
+ BUILD_TYPE: Release
+
+jobs:
+ build:
+ # The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac.
+ # You can convert this to a matrix build if you need cross-platform coverage.
+ # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Configure CMake
+ # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
+ # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
+ run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
+
+ - name: Build
+ # Build your program with the given configuration
+ run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
+
+ - name: Test
+ working-directory: ${{github.workspace}}/build
+ # Execute tests defined by the CMake configuration.
+ # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
+ run: ctest -C ${{env.BUILD_TYPE}}
+
diff --git a/Tests/Fixtures/real-yaml/starter-workflows-ci-crystal-yml.yml b/Tests/Fixtures/real-yaml/starter-workflows-ci-crystal-yml.yml
new file mode 100644
index 0000000..0b4f570
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/starter-workflows-ci-crystal-yml.yml
@@ -0,0 +1,22 @@
+name: Crystal CI
+
+on:
+ push:
+ branches: [ $default-branch ]
+ pull_request:
+ branches: [ $default-branch ]
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+
+ container:
+ image: crystallang/crystal
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: Install dependencies
+ run: shards install
+ - name: Run tests
+ run: crystal spec
diff --git a/Tests/Fixtures/real-yaml/starter-workflows-ci-d-yml.yml b/Tests/Fixtures/real-yaml/starter-workflows-ci-d-yml.yml
new file mode 100644
index 0000000..e268298
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/starter-workflows-ci-d-yml.yml
@@ -0,0 +1,32 @@
+# This workflow uses actions that are not certified by GitHub.
+# They are provided by a third-party and are governed by
+# separate terms of service, privacy policy, and support
+# documentation.
+name: D
+
+on:
+ push:
+ branches: [ $default-branch ]
+ pull_request:
+ branches: [ $default-branch ]
+
+permissions:
+ contents: read
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v4
+ - uses: dlang-community/setup-dlang@4c99aa991ce7d19dd3064de0a4f2f6b2f152e2d7
+
+ - name: 'Build & Test'
+ run: |
+ # Build the project, with its main file included, without unittests
+ dub build --compiler=$DC
+ # Build and run tests, as defined by `unittest` configuration
+ # In this mode, `mainSourceFile` is excluded and `version (unittest)` are included
+ # See https://dub.pm/package-format-json.html#configurations
+ dub test --compiler=$DC
diff --git a/Tests/Fixtures/real-yaml/starter-workflows-ci-dart-yml.yml b/Tests/Fixtures/real-yaml/starter-workflows-ci-dart-yml.yml
new file mode 100644
index 0000000..35c0ee6
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/starter-workflows-ci-dart-yml.yml
@@ -0,0 +1,42 @@
+# This workflow uses actions that are not certified by GitHub.
+# They are provided by a third-party and are governed by
+# separate terms of service, privacy policy, and support
+# documentation.
+
+name: Dart
+
+on:
+ push:
+ branches: [ $default-branch ]
+ pull_request:
+ branches: [ $default-branch ]
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v4
+
+ # Note: This workflow uses the latest stable version of the Dart SDK.
+ # You can specify other versions if desired, see documentation here:
+ # https://github.com/dart-lang/setup-dart/blob/main/README.md
+ # - uses: dart-lang/setup-dart@v1
+ - uses: dart-lang/setup-dart@9a04e6d73cca37bd455e0608d7e5092f881fd603
+
+ - name: Install dependencies
+ run: dart pub get
+
+ # Uncomment this step to verify the use of 'dart format' on each commit.
+ # - name: Verify formatting
+ # run: dart format --output=none --set-exit-if-changed .
+
+ # Consider passing '--fatal-infos' for slightly stricter analysis.
+ - name: Analyze project source
+ run: dart analyze
+
+ # Your project will need to have tests in test/ and a dependency on
+ # package:test for this step to succeed. Note that Flutter projects will
+ # want to change this to 'flutter test'.
+ - name: Run tests
+ run: dart test
diff --git a/Tests/Fixtures/real-yaml/starter-workflows-ci-datadog-synthetics-yml.yml b/Tests/Fixtures/real-yaml/starter-workflows-ci-datadog-synthetics-yml.yml
new file mode 100644
index 0000000..a034c39
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/starter-workflows-ci-datadog-synthetics-yml.yml
@@ -0,0 +1,38 @@
+# This workflow will trigger Datadog Synthetic tests within your Datadog organisation
+# For more information on running Synthetic tests within your GitHub workflows see: https://docs.datadoghq.com/synthetics/cicd_integrations/github_actions/
+
+# This workflow uses actions that are not certified by GitHub.
+# They are provided by a third-party and are governed by
+# separate terms of service, privacy policy, and support
+# documentation.
+
+# To get started:
+
+# 1. Add your Datadog API (DD_API_KEY) and Application Key (DD_APP_KEY) as secrets to your GitHub repository. For more information, see: https://docs.datadoghq.com/account_management/api-app-keys/.
+# 2. Start using the action within your workflow
+
+name: Run Datadog Synthetic tests
+
+on:
+ push:
+ branches: [ $default-branch ]
+ pull_request:
+ branches: [ $default-branch ]
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v4
+
+ # Run Synthetic tests within your GitHub workflow.
+ # For additional configuration options visit the action within the marketplace: https://github.com/marketplace/actions/datadog-synthetics-ci
+ - name: Run Datadog Synthetic tests
+ uses: DataDog/synthetics-ci-github-action@87b505388a22005bb8013481e3f73a367b9a53eb # v1.4.0
+ with:
+ api_key: ${{secrets.DD_API_KEY}}
+ app_key: ${{secrets.DD_APP_KEY}}
+ test_search_query: 'tag:e2e-tests' #Modify this tag to suit your tagging strategy
+
+
diff --git a/Tests/Fixtures/real-yaml/starter-workflows-ci-deno-yml.yml b/Tests/Fixtures/real-yaml/starter-workflows-ci-deno-yml.yml
new file mode 100644
index 0000000..abbf294
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/starter-workflows-ci-deno-yml.yml
@@ -0,0 +1,42 @@
+# This workflow uses actions that are not certified by GitHub.
+# They are provided by a third-party and are governed by
+# separate terms of service, privacy policy, and support
+# documentation.
+
+# This workflow will install Deno then run `deno lint` and `deno test`.
+# For more information see: https://github.com/denoland/setup-deno
+
+name: Deno
+
+on:
+ push:
+ branches: [$default-branch]
+ pull_request:
+ branches: [$default-branch]
+
+permissions:
+ contents: read
+
+jobs:
+ test:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Setup repo
+ uses: actions/checkout@v4
+
+ - name: Setup Deno
+ # uses: denoland/setup-deno@v1
+ uses: denoland/setup-deno@61fe2df320078202e33d7d5ad347e7dcfa0e8f31 # v1.1.2
+ with:
+ deno-version: v1.x
+
+ # Uncomment this step to verify the use of 'deno fmt' on each commit.
+ # - name: Verify formatting
+ # run: deno fmt --check
+
+ - name: Run linter
+ run: deno lint
+
+ - name: Run tests
+ run: deno test -A
diff --git a/Tests/Fixtures/real-yaml/starter-workflows-ci-django-yml.yml b/Tests/Fixtures/real-yaml/starter-workflows-ci-django-yml.yml
new file mode 100644
index 0000000..0503635
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/starter-workflows-ci-django-yml.yml
@@ -0,0 +1,30 @@
+name: Django CI
+
+on:
+ push:
+ branches: [ $default-branch ]
+ pull_request:
+ branches: [ $default-branch ]
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+ strategy:
+ max-parallel: 4
+ matrix:
+ python-version: [3.7, 3.8, 3.9]
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: Set up Python ${{ matrix.python-version }}
+ uses: actions/setup-python@v3
+ with:
+ python-version: ${{ matrix.python-version }}
+ - name: Install Dependencies
+ run: |
+ python -m pip install --upgrade pip
+ pip install -r requirements.txt
+ - name: Run Tests
+ run: |
+ python manage.py test
diff --git a/Tests/Fixtures/real-yaml/starter-workflows-ci-docker-image-yml.yml b/Tests/Fixtures/real-yaml/starter-workflows-ci-docker-image-yml.yml
new file mode 100644
index 0000000..be757cc
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/starter-workflows-ci-docker-image-yml.yml
@@ -0,0 +1,18 @@
+name: Docker Image CI
+
+on:
+ push:
+ branches: [ $default-branch ]
+ pull_request:
+ branches: [ $default-branch ]
+
+jobs:
+
+ build:
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: Build the Docker image
+ run: docker build . --file Dockerfile --tag my-image-name:$(date +%s)
diff --git a/Tests/Fixtures/real-yaml/starter-workflows-ci-docker-publish-yml.yml b/Tests/Fixtures/real-yaml/starter-workflows-ci-docker-publish-yml.yml
new file mode 100644
index 0000000..f8e709f
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/starter-workflows-ci-docker-publish-yml.yml
@@ -0,0 +1,98 @@
+name: Docker
+
+# This workflow uses actions that are not certified by GitHub.
+# They are provided by a third-party and are governed by
+# separate terms of service, privacy policy, and support
+# documentation.
+
+on:
+ schedule:
+ - cron: $cron-daily
+ push:
+ branches: [ $default-branch ]
+ # Publish semver tags as releases.
+ tags: [ 'v*.*.*' ]
+ pull_request:
+ branches: [ $default-branch ]
+
+env:
+ # Use docker.io for Docker Hub if empty
+ REGISTRY: ghcr.io
+ # github.repository as /
+ IMAGE_NAME: ${{ github.repository }}
+
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ packages: write
+ # This is used to complete the identity challenge
+ # with sigstore/fulcio when running outside of PRs.
+ id-token: write
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v4
+
+ # Install the cosign tool except on PR
+ # https://github.com/sigstore/cosign-installer
+ - name: Install cosign
+ if: github.event_name != 'pull_request'
+ uses: sigstore/cosign-installer@59acb6260d9c0ba8f4a2f9d9b48431a222b68e20 #v3.5.0
+ with:
+ cosign-release: 'v2.2.4'
+
+ # Set up BuildKit Docker container builder to be able to build
+ # multi-platform images and export cache
+ # https://github.com/docker/setup-buildx-action
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3.0.0
+
+ # Login against a Docker registry except on PR
+ # https://github.com/docker/login-action
+ - name: Log into registry ${{ env.REGISTRY }}
+ if: github.event_name != 'pull_request'
+ uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0
+ with:
+ registry: ${{ env.REGISTRY }}
+ username: ${{ github.actor }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+
+ # Extract metadata (tags, labels) for Docker
+ # https://github.com/docker/metadata-action
+ - name: Extract Docker metadata
+ id: meta
+ uses: docker/metadata-action@96383f45573cb7f253c731d3b3ab81c87ef81934 # v5.0.0
+ with:
+ images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
+
+ # Build and push Docker image with Buildx (don't push on PR)
+ # https://github.com/docker/build-push-action
+ - name: Build and push Docker image
+ id: build-and-push
+ uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 # v5.0.0
+ with:
+ context: .
+ push: ${{ github.event_name != 'pull_request' }}
+ tags: ${{ steps.meta.outputs.tags }}
+ labels: ${{ steps.meta.outputs.labels }}
+ cache-from: type=gha
+ cache-to: type=gha,mode=max
+
+ # Sign the resulting Docker image digest except on PRs.
+ # This will only write to the public Rekor transparency log when the Docker
+ # repository is public to avoid leaking data. If you would like to publish
+ # transparency data even for private images, pass --force to cosign below.
+ # https://github.com/sigstore/cosign
+ - name: Sign the published Docker image
+ if: ${{ github.event_name != 'pull_request' }}
+ env:
+ # https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-an-intermediate-environment-variable
+ TAGS: ${{ steps.meta.outputs.tags }}
+ DIGEST: ${{ steps.build-and-push.outputs.digest }}
+ # This step uses the identity token to provision an ephemeral certificate
+ # against the sigstore community Fulcio instance.
+ run: echo "${TAGS}" | xargs -I {} cosign sign --yes {}@${DIGEST}
diff --git a/Tests/Fixtures/real-yaml/starter-workflows-ci-dotnet-desktop-yml.yml b/Tests/Fixtures/real-yaml/starter-workflows-ci-dotnet-desktop-yml.yml
new file mode 100644
index 0000000..a7b9152
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/starter-workflows-ci-dotnet-desktop-yml.yml
@@ -0,0 +1,115 @@
+# This workflow uses actions that are not certified by GitHub.
+# They are provided by a third-party and are governed by
+# separate terms of service, privacy policy, and support
+# documentation.
+
+# This workflow will build, test, sign and package a WPF or Windows Forms desktop application
+# built on .NET Core.
+# To learn how to migrate your existing application to .NET Core,
+# refer to https://docs.microsoft.com/en-us/dotnet/desktop-wpf/migration/convert-project-from-net-framework
+#
+# To configure this workflow:
+#
+# 1. Configure environment variables
+# GitHub sets default environment variables for every workflow run.
+# Replace the variables relative to your project in the "env" section below.
+#
+# 2. Signing
+# Generate a signing certificate in the Windows Application
+# Packaging Project or add an existing signing certificate to the project.
+# Next, use PowerShell to encode the .pfx file using Base64 encoding
+# by running the following Powershell script to generate the output string:
+#
+# $pfx_cert = Get-Content '.\SigningCertificate.pfx' -Encoding Byte
+# [System.Convert]::ToBase64String($pfx_cert) | Out-File 'SigningCertificate_Encoded.txt'
+#
+# Open the output file, SigningCertificate_Encoded.txt, and copy the
+# string inside. Then, add the string to the repo as a GitHub secret
+# and name it "Base64_Encoded_Pfx."
+# For more information on how to configure your signing certificate for
+# this workflow, refer to https://github.com/microsoft/github-actions-for-desktop-apps#signing
+#
+# Finally, add the signing certificate password to the repo as a secret and name it "Pfx_Key".
+# See "Build the Windows Application Packaging project" below to see how the secret is used.
+#
+# For more information on GitHub Actions, refer to https://github.com/features/actions
+# For a complete CI/CD sample to get started with GitHub Action workflows for Desktop Applications,
+# refer to https://github.com/microsoft/github-actions-for-desktop-apps
+
+name: .NET Core Desktop
+
+on:
+ push:
+ branches: [ $default-branch ]
+ pull_request:
+ branches: [ $default-branch ]
+
+jobs:
+
+ build:
+
+ strategy:
+ matrix:
+ configuration: [Debug, Release]
+
+ runs-on: windows-latest # For a list of available runner types, refer to
+ # https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on
+
+ env:
+ Solution_Name: your-solution-name # Replace with your solution name, i.e. MyWpfApp.sln.
+ Test_Project_Path: your-test-project-path # Replace with the path to your test project, i.e. MyWpfApp.Tests\MyWpfApp.Tests.csproj.
+ Wap_Project_Directory: your-wap-project-directory-name # Replace with the Wap project directory relative to the solution, i.e. MyWpfApp.Package.
+ Wap_Project_Path: your-wap-project-path # Replace with the path to your Wap project, i.e. MyWpf.App.Package\MyWpfApp.Package.wapproj.
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+
+ # Install the .NET Core workload
+ - name: Install .NET Core
+ uses: actions/setup-dotnet@v4
+ with:
+ dotnet-version: 8.0.x
+
+ # Add MSBuild to the PATH: https://github.com/microsoft/setup-msbuild
+ - name: Setup MSBuild.exe
+ uses: microsoft/setup-msbuild@v2
+
+ # Execute all unit tests in the solution
+ - name: Execute unit tests
+ run: dotnet test
+
+ # Restore the application to populate the obj folder with RuntimeIdentifiers
+ - name: Restore the application
+ run: msbuild $env:Solution_Name /t:Restore /p:Configuration=$env:Configuration
+ env:
+ Configuration: ${{ matrix.configuration }}
+
+ # Decode the base 64 encoded pfx and save the Signing_Certificate
+ - name: Decode the pfx
+ run: |
+ $pfx_cert_byte = [System.Convert]::FromBase64String("${{ secrets.Base64_Encoded_Pfx }}")
+ $certificatePath = Join-Path -Path $env:Wap_Project_Directory -ChildPath GitHubActionsWorkflow.pfx
+ [IO.File]::WriteAllBytes("$certificatePath", $pfx_cert_byte)
+
+ # Create the app package by building and packaging the Windows Application Packaging project
+ - name: Create the app package
+ run: msbuild $env:Wap_Project_Path /p:Configuration=$env:Configuration /p:UapAppxPackageBuildMode=$env:Appx_Package_Build_Mode /p:AppxBundle=$env:Appx_Bundle /p:PackageCertificateKeyFile=GitHubActionsWorkflow.pfx /p:PackageCertificatePassword=${{ secrets.Pfx_Key }}
+ env:
+ Appx_Bundle: Always
+ Appx_Bundle_Platforms: x86|x64
+ Appx_Package_Build_Mode: StoreUpload
+ Configuration: ${{ matrix.configuration }}
+
+ # Remove the pfx
+ - name: Remove the pfx
+ run: Remove-Item -path $env:Wap_Project_Directory\GitHubActionsWorkflow.pfx
+
+ # Upload the MSIX package: https://github.com/marketplace/actions/upload-a-build-artifact
+ - name: Upload build artifacts
+ uses: actions/upload-artifact@v4
+ with:
+ name: MSIX Package
+ path: ${{ env.Wap_Project_Directory }}\AppPackages
diff --git a/Tests/Fixtures/real-yaml/starter-workflows-ci-dotnet-yml.yml b/Tests/Fixtures/real-yaml/starter-workflows-ci-dotnet-yml.yml
new file mode 100644
index 0000000..b869d6e
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/starter-workflows-ci-dotnet-yml.yml
@@ -0,0 +1,28 @@
+# This workflow will build a .NET project
+# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net
+
+name: .NET
+
+on:
+ push:
+ branches: [ $default-branch ]
+ pull_request:
+ branches: [ $default-branch ]
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: Setup .NET
+ uses: actions/setup-dotnet@v4
+ with:
+ dotnet-version: 8.0.x
+ - name: Restore dependencies
+ run: dotnet restore
+ - name: Build
+ run: dotnet build --no-restore
+ - name: Test
+ run: dotnet test --no-build --verbosity normal
diff --git a/Tests/Fixtures/real-yaml/starter-workflows-ci-elixir-yml.yml b/Tests/Fixtures/real-yaml/starter-workflows-ci-elixir-yml.yml
new file mode 100644
index 0000000..43b32be
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/starter-workflows-ci-elixir-yml.yml
@@ -0,0 +1,39 @@
+# This workflow uses actions that are not certified by GitHub.
+# They are provided by a third-party and are governed by
+# separate terms of service, privacy policy, and support
+# documentation.
+
+name: Elixir CI
+
+on:
+ push:
+ branches: [ $default-branch ]
+ pull_request:
+ branches: [ $default-branch ]
+
+permissions:
+ contents: read
+
+jobs:
+ build:
+
+ name: Build and test
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: Set up Elixir
+ uses: erlef/setup-beam@61e01a43a562a89bfc54c7f9a378ff67b03e4a21 # v1.16.0
+ with:
+ elixir-version: '1.15.2' # [Required] Define the Elixir version
+ otp-version: '26.0' # [Required] Define the Erlang/OTP version
+ - name: Restore dependencies cache
+ uses: actions/cache@v3
+ with:
+ path: deps
+ key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }}
+ restore-keys: ${{ runner.os }}-mix-
+ - name: Install dependencies
+ run: mix deps.get
+ - name: Run tests
+ run: mix test
diff --git a/Tests/Fixtures/real-yaml/starter-workflows-ci-erlang-yml.yml b/Tests/Fixtures/real-yaml/starter-workflows-ci-erlang-yml.yml
new file mode 100644
index 0000000..d8dcb76
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/starter-workflows-ci-erlang-yml.yml
@@ -0,0 +1,26 @@
+name: Erlang CI
+
+on:
+ push:
+ branches: [ $default-branch ]
+ pull_request:
+ branches: [ $default-branch ]
+
+permissions:
+ contents: read
+
+jobs:
+
+ build:
+
+ runs-on: ubuntu-latest
+
+ container:
+ image: erlang:22.0.7
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: Compile
+ run: rebar3 compile
+ - name: Run tests
+ run: rebar3 do eunit, ct
diff --git a/Tests/Fixtures/real-yaml/website-content-en-examples-access-deployment-replicas-policy-yaml.yaml b/Tests/Fixtures/real-yaml/website-content-en-examples-access-deployment-replicas-policy-yaml.yaml
new file mode 100644
index 0000000..d7d11e9
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/website-content-en-examples-access-deployment-replicas-policy-yaml.yaml
@@ -0,0 +1,19 @@
+apiVersion: admissionregistration.k8s.io/v1
+kind: ValidatingAdmissionPolicy
+metadata:
+ name: "deploy-replica-policy.example.com"
+spec:
+ paramKind:
+ apiVersion: rules.example.com/v1
+ kind: ReplicaLimit
+ matchConstraints:
+ resourceRules:
+ - apiGroups: ["apps"]
+ apiVersions: ["v1"]
+ operations: ["CREATE", "UPDATE"]
+ resources: ["deployments"]
+ validations:
+ - expression: "object.spec.replicas <= params.maxReplicas"
+ messageExpression: "'object.spec.replicas must be no greater than ' + string(params.maxReplicas)"
+ reason: Invalid
+
diff --git a/Tests/Fixtures/real-yaml/website-content-en-examples-access-endpoints-aggregated-yaml.yaml b/Tests/Fixtures/real-yaml/website-content-en-examples-access-endpoints-aggregated-yaml.yaml
new file mode 100644
index 0000000..d238820
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/website-content-en-examples-access-endpoints-aggregated-yaml.yaml
@@ -0,0 +1,20 @@
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+ annotations:
+ kubernetes.io/description: |-
+ Add endpoints write permissions to the edit and admin roles. This was
+ removed by default in 1.22 because of CVE-2021-25740. See
+ https://issue.k8s.io/103675. This can allow writers to direct LoadBalancer
+ or Ingress implementations to expose backend IPs that would not otherwise
+ be accessible, and can circumvent network policies or security controls
+ intended to prevent/isolate access to those backends.
+ EndpointSlices were never included in the edit or admin roles, so there
+ is nothing to restore for the EndpointSlice API.
+ labels:
+ rbac.authorization.k8s.io/aggregate-to-edit: "true"
+ name: custom:aggregate-to-edit:endpoints # you can change this if you wish
+rules:
+ - apiGroups: [""]
+ resources: ["endpoints"]
+ verbs: ["create", "delete", "deletecollection", "patch", "update"]
diff --git a/Tests/Fixtures/real-yaml/website-content-en-examples-access-image-matches-namespace-environment-policy-yaml.yaml b/Tests/Fixtures/real-yaml/website-content-en-examples-access-image-matches-namespace-environment-policy-yaml.yaml
new file mode 100644
index 0000000..cf7508d
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/website-content-en-examples-access-image-matches-namespace-environment-policy-yaml.yaml
@@ -0,0 +1,28 @@
+# This policy enforces that all containers of a deployment has the image repo match the environment label of its namespace.
+# Except for "exempt" deployments, or any containers that do not belong to the "example.com" organization (e.g. common sidecars).
+# For example, if the namespace has a label of {"environment": "staging"}, all container images must be either staging.example.com/*
+# or do not contain "example.com" at all, unless the deployment has {"exempt": "true"} label.
+apiVersion: admissionregistration.k8s.io/v1
+kind: ValidatingAdmissionPolicy
+metadata:
+ name: "image-matches-namespace-environment.policy.example.com"
+spec:
+ failurePolicy: Fail
+ matchConstraints:
+ resourceRules:
+ - apiGroups: ["apps"]
+ apiVersions: ["v1"]
+ operations: ["CREATE", "UPDATE"]
+ resources: ["deployments"]
+ variables:
+ - name: environment
+ expression: "'environment' in namespaceObject.metadata.labels ? namespaceObject.metadata.labels['environment'] : 'prod'"
+ - name: exempt
+ expression: "'exempt' in object.metadata.labels && object.metadata.labels['exempt'] == 'true'"
+ - name: containers
+ expression: "object.spec.template.spec.containers"
+ - name: containersToCheck
+ expression: "variables.containers.filter(c, c.image.contains('example.com/'))"
+ validations:
+ - expression: "variables.exempt || variables.containersToCheck.all(c, c.image.startsWith(variables.environment + '.'))"
+ messageExpression: "'only ' + variables.environment + ' images are allowed in namespace ' + namespaceObject.metadata.name"
\ No newline at end of file
diff --git a/Tests/Fixtures/real-yaml/website-content-en-examples-access-simple-clusterrole-yaml.yaml b/Tests/Fixtures/real-yaml/website-content-en-examples-access-simple-clusterrole-yaml.yaml
new file mode 100644
index 0000000..4b4f2af
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/website-content-en-examples-access-simple-clusterrole-yaml.yaml
@@ -0,0 +1,12 @@
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+ # "namespace" omitted since ClusterRoles are not namespaced
+ name: secret-reader
+rules:
+- apiGroups: [""]
+ #
+ # at the HTTP level, the name of the resource for accessing Secret
+ # objects is "secrets"
+ resources: ["secrets"]
+ verbs: ["get", "watch", "list"]
diff --git a/Tests/Fixtures/real-yaml/website-content-en-examples-access-simple-clusterrolebinding-yaml.yaml b/Tests/Fixtures/real-yaml/website-content-en-examples-access-simple-clusterrolebinding-yaml.yaml
new file mode 100644
index 0000000..3887326
--- /dev/null
+++ b/Tests/Fixtures/real-yaml/website-content-en-examples-access-simple-clusterrolebinding-yaml.yaml
@@ -0,0 +1,13 @@
+apiVersion: rbac.authorization.k8s.io/v1
+# This cluster role binding allows anyone in the "manager" group to read secrets in any namespace.
+kind: ClusterRoleBinding
+metadata:
+ name: read-secrets-global
+subjects:
+- kind: Group
+ name: manager # Name is case sensitive
+ apiGroup: rbac.authorization.k8s.io
+roleRef:
+ kind: ClusterRole
+ name: secret-reader
+ apiGroup: rbac.authorization.k8s.io