UNPKG

openapi-directory

Version:

Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS

1 lines 156 kB
{"openapi":"3.0.0","info":{"contact":{"name":"Google","url":"https://google.com"},"description":"Manages the deployment of apps to Android for Work users.","title":"Google Play EMM","version":"v1","x-apiClientRegistration":{"url":"https://console.developers.google.com"},"x-logo":{"url":"https://www.gstatic.com/android/market_images/web/play_logo_x2.png"},"x-origin":[{"converter":{"url":"https://github.com/lucybot/api-spec-converter","version":"2.7.18"},"format":"google","url":"https://www.googleapis.com/discovery/v1/apis/androidenterprise/v1/rest","version":"v1"}],"x-preferred":true,"x-providerName":"googleapis.com","x-serviceName":"androidenterprise"},"externalDocs":{"url":"https://developers.google.com/android/work/play/emm-api"},"tags":[{"name":"devices"},{"name":"enterprises"},{"name":"entitlements"},{"name":"grouplicenses"},{"name":"grouplicenseusers"},{"name":"installs"},{"name":"managedconfigurationsfordevice"},{"name":"managedconfigurationsforuser"},{"name":"managedconfigurationssettings"},{"name":"permissions"},{"name":"products"},{"name":"serviceaccountkeys"},{"name":"storelayoutclusters"},{"name":"storelayoutpages"},{"name":"users"},{"name":"webapps"}],"paths":{"/enterprises":{"get":{"description":"Looks up an enterprise by domain name. This is only supported for enterprises created via the Google-initiated creation flow. Lookup of the id is not needed for enterprises created via the EMM-initiated flow since the EMM learns the enterprise ID in the callback specified in the Enterprises.generateSignupUrl call.","operationId":"androidenterprise.enterprises.list","parameters":[{"description":"The exact primary domain name of the enterprise to look up.","in":"query","name":"domain","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EnterprisesListResponse"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["enterprises"]},"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}]},"/enterprises/acknowledgeNotificationSet":{"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}],"post":{"description":"Acknowledges notifications that were received from Enterprises.PullNotificationSet to prevent subsequent calls from returning the same notifications.","operationId":"androidenterprise.enterprises.acknowledgeNotificationSet","parameters":[{"description":"The notification set ID as returned by Enterprises.PullNotificationSet. This must be provided.","in":"query","name":"notificationSetId","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["enterprises"]}},"/enterprises/completeSignup":{"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}],"post":{"description":"Completes the signup flow, by specifying the Completion token and Enterprise token. This request must not be called multiple times for a given Enterprise Token.","operationId":"androidenterprise.enterprises.completeSignup","parameters":[{"description":"The Completion token initially returned by GenerateSignupUrl.","in":"query","name":"completionToken","schema":{"type":"string"}},{"description":"The Enterprise token appended to the Callback URL.","in":"query","name":"enterpriseToken","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Enterprise"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["enterprises"]}},"/enterprises/enroll":{"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}],"post":{"description":"Enrolls an enterprise with the calling EMM.","operationId":"androidenterprise.enterprises.enroll","parameters":[{"description":"The token provided by the enterprise to register the EMM.","in":"query","name":"token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Enterprise"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Enterprise"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["enterprises"]}},"/enterprises/pullNotificationSet":{"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}],"post":{"description":"Pulls and returns a notification set for the enterprises associated with the service account authenticated for the request. The notification set may be empty if no notification are pending.\nA notification set returned needs to be acknowledged within 20 seconds by calling Enterprises.AcknowledgeNotificationSet, unless the notification set is empty.\nNotifications that are not acknowledged within the 20 seconds will eventually be included again in the response to another PullNotificationSet request, and those that are never acknowledged will ultimately be deleted according to the Google Cloud Platform Pub/Sub system policy.\nMultiple requests might be performed concurrently to retrieve notifications, in which case the pending notifications (if any) will be split among each caller, if any are pending.\nIf no notifications are present, an empty notification list is returned. Subsequent requests may return more notifications once they become available.","operationId":"androidenterprise.enterprises.pullNotificationSet","parameters":[{"description":"The request mode for pulling notifications.\nSpecifying waitForNotifications will cause the request to block and wait until one or more notifications are present, or return an empty notification list if no notifications are present after some time.\nSpeciying returnImmediately will cause the request to immediately return the pending notifications, or an empty list if no notifications are present.\nIf omitted, defaults to waitForNotifications.","in":"query","name":"requestMode","schema":{"type":"string","enum":["returnImmediately","waitForNotifications"]}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/NotificationSet"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["enterprises"]}},"/enterprises/signupUrl":{"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}],"post":{"description":"Generates a sign-up URL.","operationId":"androidenterprise.enterprises.generateSignupUrl","parameters":[{"description":"The callback URL to which the Admin will be redirected after successfully creating an enterprise. Before redirecting there the system will add a single query parameter to this URL named \"enterpriseToken\" which will contain an opaque token to be used for the CompleteSignup request.\nBeware that this means that the URL will be parsed, the parameter added and then a new URL formatted, i.e. there may be some minor formatting changes and, more importantly, the URL must be well-formed so that it can be parsed.","in":"query","name":"callbackUrl","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SignupInfo"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["enterprises"]}},"/enterprises/{enterpriseId}":{"get":{"description":"Retrieves the name and domain of an enterprise.","operationId":"androidenterprise.enterprises.get","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Enterprise"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["enterprises"]},"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}]},"/enterprises/{enterpriseId}/account":{"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}],"put":{"description":"Sets the account that will be used to authenticate to the API as the enterprise.","operationId":"androidenterprise.enterprises.setAccount","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnterpriseAccount"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EnterpriseAccount"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["enterprises"]}},"/enterprises/{enterpriseId}/androidDevicePolicyConfig":{"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}],"put":{"description":"Deprecated and unused.","operationId":"androidenterprise.enterprises.setAndroidDevicePolicyConfig","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AndroidDevicePolicyConfig"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AndroidDevicePolicyConfig"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["enterprises"]}},"/enterprises/{enterpriseId}/createWebToken":{"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}],"post":{"description":"Returns a unique token to access an embeddable UI. To generate a web UI, pass the generated token into the managed Google Play javascript API. Each token may only be used to start one UI session. See the javascript API documentation for further information.","operationId":"androidenterprise.enterprises.createWebToken","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdministratorWebTokenSpec"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdministratorWebToken"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["enterprises"]}},"/enterprises/{enterpriseId}/groupLicenses":{"get":{"description":"Retrieves IDs of all products for which the enterprise has a group license.","operationId":"androidenterprise.grouplicenses.list","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GroupLicensesListResponse"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["grouplicenses"]},"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}]},"/enterprises/{enterpriseId}/groupLicenses/{groupLicenseId}":{"get":{"description":"Retrieves details of an enterprise's group license for a product.","operationId":"androidenterprise.grouplicenses.get","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}},{"description":"The ID of the product the group license is for, e.g. \"app:com.google.android.gm\".","in":"path","name":"groupLicenseId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GroupLicense"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["grouplicenses"]},"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}]},"/enterprises/{enterpriseId}/groupLicenses/{groupLicenseId}/users":{"get":{"description":"Retrieves the IDs of the users who have been granted entitlements under the license.","operationId":"androidenterprise.grouplicenseusers.list","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}},{"description":"The ID of the product the group license is for, e.g. \"app:com.google.android.gm\".","in":"path","name":"groupLicenseId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GroupLicenseUsersListResponse"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["grouplicenseusers"]},"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}]},"/enterprises/{enterpriseId}/products":{"get":{"description":"Finds approved products that match a query, or all approved products if there is no query.","operationId":"androidenterprise.products.list","parameters":[{"description":"Specifies whether to search among all products (false) or among only products that have been approved (true). Only \"true\" is supported, and should be specified.","in":"query","name":"approved","schema":{"type":"boolean"}},{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}},{"description":"The BCP47 tag for the user's preferred language (e.g. \"en-US\", \"de\"). Results are returned in the language best matching the preferred language.","in":"query","name":"language","schema":{"type":"string"}},{"description":"Specifies the maximum number of products that can be returned per request. If not specified, uses a default value of 100, which is also the maximum retrievable within a single response.","in":"query","name":"maxResults","schema":{"type":"integer"}},{"description":"The search query as typed in the Google Play store search box. If omitted, all approved apps will be returned (using the pagination parameters), including apps that are not available in the store (e.g. unpublished apps).","in":"query","name":"query","schema":{"type":"string"}},{"description":"A pagination token is contained in a request's response when there are more products. The token can be used in a subsequent request to obtain more products, and so forth. This parameter cannot be used in the initial request.","in":"query","name":"token","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ProductsListResponse"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["products"]},"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}]},"/enterprises/{enterpriseId}/products/{productId}":{"get":{"description":"Retrieves details of a product for display to an enterprise admin.","operationId":"androidenterprise.products.get","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}},{"description":"The BCP47 tag for the user's preferred language (e.g. \"en-US\", \"de\").","in":"query","name":"language","schema":{"type":"string"}},{"description":"The ID of the product, e.g. \"app:com.google.android.gm\".","in":"path","name":"productId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Product"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["products"]},"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}]},"/enterprises/{enterpriseId}/products/{productId}/appRestrictionsSchema":{"get":{"description":"Retrieves the schema that defines the configurable properties for this product. All products have a schema, but this schema may be empty if no managed configurations have been defined. This schema can be used to populate a UI that allows an admin to configure the product. To apply a managed configuration based on the schema obtained using this API, see Managed Configurations through Play.","operationId":"androidenterprise.products.getAppRestrictionsSchema","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}},{"description":"The BCP47 tag for the user's preferred language (e.g. \"en-US\", \"de\").","in":"query","name":"language","schema":{"type":"string"}},{"description":"The ID of the product.","in":"path","name":"productId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AppRestrictionsSchema"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["products"]},"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}]},"/enterprises/{enterpriseId}/products/{productId}/approve":{"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}],"post":{"description":"Approves the specified product and the relevant app permissions, if any. The maximum number of products that you can approve per enterprise customer is 1,000.\n\nTo learn how to use managed Google Play to design and create a store layout to display approved products to your users, see Store Layout Design.","operationId":"androidenterprise.products.approve","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}},{"description":"The ID of the product.","in":"path","name":"productId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductsApproveRequest"}}}},"responses":{"200":{"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["products"]}},"/enterprises/{enterpriseId}/products/{productId}/generateApprovalUrl":{"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}],"post":{"description":"Generates a URL that can be rendered in an iframe to display the permissions (if any) of a product. An enterprise admin must view these permissions and accept them on behalf of their organization in order to approve that product.\n\nAdmins should accept the displayed permissions by interacting with a separate UI element in the EMM console, which in turn should trigger the use of this URL as the approvalUrlInfo.approvalUrl property in a Products.approve call to approve the product. This URL can only be used to display permissions for up to 1 day.","operationId":"androidenterprise.products.generateApprovalUrl","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}},{"description":"The BCP 47 language code used for permission names and descriptions in the returned iframe, for instance \"en-US\".","in":"query","name":"languageCode","schema":{"type":"string"}},{"description":"The ID of the product.","in":"path","name":"productId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ProductsGenerateApprovalUrlResponse"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["products"]}},"/enterprises/{enterpriseId}/products/{productId}/managedConfigurationsSettings":{"get":{"description":"Lists all the managed configurations settings for the specified app. Only the ID and the name is set.","operationId":"androidenterprise.managedconfigurationssettings.list","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}},{"description":"The ID of the product for which the managed configurations settings applies to.","in":"path","name":"productId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ManagedConfigurationsSettingsListResponse"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["managedconfigurationssettings"]},"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}]},"/enterprises/{enterpriseId}/products/{productId}/permissions":{"get":{"description":"Retrieves the Android app permissions required by this app.","operationId":"androidenterprise.products.getPermissions","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}},{"description":"The ID of the product.","in":"path","name":"productId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ProductPermissions"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["products"]},"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}]},"/enterprises/{enterpriseId}/products/{productId}/unapprove":{"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}],"post":{"description":"Unapproves the specified product (and the relevant app permissions, if any)","operationId":"androidenterprise.products.unapprove","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}},{"description":"The ID of the product.","in":"path","name":"productId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["products"]}},"/enterprises/{enterpriseId}/sendTestPushNotification":{"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}],"post":{"description":"Sends a test notification to validate the EMM integration with the Google Cloud Pub/Sub service for this enterprise.","operationId":"androidenterprise.enterprises.sendTestPushNotification","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EnterprisesSendTestPushNotificationResponse"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["enterprises"]}},"/enterprises/{enterpriseId}/serviceAccount":{"get":{"description":"Returns a service account and credentials. The service account can be bound to the enterprise by calling setAccount. The service account is unique to this enterprise and EMM, and will be deleted if the enterprise is unbound. The credentials contain private key data and are not stored server-side.\n\nThis method can only be called after calling Enterprises.Enroll or Enterprises.CompleteSignup, and before Enterprises.SetAccount; at other times it will return an error.\n\nSubsequent calls after the first will generate a new, unique set of credentials, and invalidate the previously generated credentials.\n\nOnce the service account is bound to the enterprise, it can be managed using the serviceAccountKeys resource.","operationId":"androidenterprise.enterprises.getServiceAccount","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}},{"description":"The type of credential to return with the service account. Required.","in":"query","name":"keyType","schema":{"type":"string","enum":["googleCredentials","pkcs12"]}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ServiceAccount"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["enterprises"]},"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}]},"/enterprises/{enterpriseId}/serviceAccountKeys":{"get":{"description":"Lists all active credentials for the service account associated with this enterprise. Only the ID and key type are returned. The calling service account must have been retrieved by calling Enterprises.GetServiceAccount and must have been set as the enterprise service account by calling Enterprises.SetAccount.","operationId":"androidenterprise.serviceaccountkeys.list","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ServiceAccountKeysListResponse"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["serviceaccountkeys"]},"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}],"post":{"description":"Generates new credentials for the service account associated with this enterprise. The calling service account must have been retrieved by calling Enterprises.GetServiceAccount and must have been set as the enterprise service account by calling Enterprises.SetAccount.\n\nOnly the type of the key should be populated in the resource to be inserted.","operationId":"androidenterprise.serviceaccountkeys.insert","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccountKey"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ServiceAccountKey"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["serviceaccountkeys"]}},"/enterprises/{enterpriseId}/serviceAccountKeys/{keyId}":{"delete":{"description":"Removes and invalidates the specified credentials for the service account associated with this enterprise. The calling service account must have been retrieved by calling Enterprises.GetServiceAccount and must have been set as the enterprise service account by calling Enterprises.SetAccount.","operationId":"androidenterprise.serviceaccountkeys.delete","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}},{"description":"The ID of the key.","in":"path","name":"keyId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["serviceaccountkeys"]},"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}]},"/enterprises/{enterpriseId}/storeLayout":{"get":{"description":"Returns the store layout for the enterprise. If the store layout has not been set, returns \"basic\" as the store layout type and no homepage.","operationId":"androidenterprise.enterprises.getStoreLayout","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StoreLayout"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["enterprises"]},"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}],"put":{"description":"Sets the store layout for the enterprise. By default, storeLayoutType is set to \"basic\" and the basic store layout is enabled. The basic layout only contains apps approved by the admin, and that have been added to the available product set for a user (using the setAvailableProductSet call). Apps on the page are sorted in order of their product ID value. If you create a custom store layout (by setting storeLayoutType = \"custom\" and setting a homepage), the basic store layout is disabled.","operationId":"androidenterprise.enterprises.setStoreLayout","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoreLayout"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StoreLayout"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["enterprises"]}},"/enterprises/{enterpriseId}/storeLayout/pages":{"get":{"description":"Retrieves the details of all pages in the store.","operationId":"androidenterprise.storelayoutpages.list","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StoreLayoutPagesListResponse"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["storelayoutpages"]},"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}],"post":{"description":"Inserts a new store page.","operationId":"androidenterprise.storelayoutpages.insert","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/StorePage"},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StorePage"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["storelayoutpages"]}},"/enterprises/{enterpriseId}/storeLayout/pages/{pageId}":{"delete":{"description":"Deletes a store page.","operationId":"androidenterprise.storelayoutpages.delete","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}},{"description":"The ID of the page.","in":"path","name":"pageId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["storelayoutpages"]},"get":{"description":"Retrieves details of a store page.","operationId":"androidenterprise.storelayoutpages.get","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}},{"description":"The ID of the page.","in":"path","name":"pageId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StorePage"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["storelayoutpages"]},"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}],"patch":{"description":"Updates the content of a store page. This method supports patch semantics.","operationId":"androidenterprise.storelayoutpages.patch","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}},{"description":"The ID of the page.","in":"path","name":"pageId","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/StorePage"},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StorePage"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["storelayoutpages"]},"put":{"description":"Updates the content of a store page.","operationId":"androidenterprise.storelayoutpages.update","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}},{"description":"The ID of the page.","in":"path","name":"pageId","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/StorePage"},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StorePage"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["storelayoutpages"]}},"/enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters":{"get":{"description":"Retrieves the details of all clusters on the specified page.","operationId":"androidenterprise.storelayoutclusters.list","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}},{"description":"The ID of the page.","in":"path","name":"pageId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StoreLayoutClustersListResponse"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["storelayoutclusters"]},"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}],"post":{"description":"Inserts a new cluster in a page.","operationId":"androidenterprise.storelayoutclusters.insert","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}},{"description":"The ID of the page.","in":"path","name":"pageId","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/StoreCluster"},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StoreCluster"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["storelayoutclusters"]}},"/enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters/{clusterId}":{"delete":{"description":"Deletes a cluster.","operationId":"androidenterprise.storelayoutclusters.delete","parameters":[{"description":"The ID of the cluster.","in":"path","name":"clusterId","required":true,"schema":{"type":"string"}},{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}},{"description":"The ID of the page.","in":"path","name":"pageId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["storelayoutclusters"]},"get":{"description":"Retrieves details of a cluster.","operationId":"androidenterprise.storelayoutclusters.get","parameters":[{"description":"The ID of the cluster.","in":"path","name":"clusterId","required":true,"schema":{"type":"string"}},{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}},{"description":"The ID of the page.","in":"path","name":"pageId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StoreCluster"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["storelayoutclusters"]},"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}],"patch":{"description":"Updates a cluster. This method supports patch semantics.","operationId":"androidenterprise.storelayoutclusters.patch","parameters":[{"description":"The ID of the cluster.","in":"path","name":"clusterId","required":true,"schema":{"type":"string"}},{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}},{"description":"The ID of the page.","in":"path","name":"pageId","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/StoreCluster"},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StoreCluster"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["storelayoutclusters"]},"put":{"description":"Updates a cluster.","operationId":"androidenterprise.storelayoutclusters.update","parameters":[{"description":"The ID of the cluster.","in":"path","name":"clusterId","required":true,"schema":{"type":"string"}},{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}},{"description":"The ID of the page.","in":"path","name":"pageId","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/StoreCluster"},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StoreCluster"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["storelayoutclusters"]}},"/enterprises/{enterpriseId}/unenroll":{"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}],"post":{"description":"Unenrolls an enterprise from the calling EMM.","operationId":"androidenterprise.enterprises.unenroll","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["enterprises"]}},"/enterprises/{enterpriseId}/users":{"get":{"description":"Looks up a user by primary email address. This is only supported for Google-managed users. Lookup of the id is not needed for EMM-managed users because the id is already returned in the result of the Users.insert call.","operationId":"androidenterprise.users.list","parameters":[{"description":"The exact primary email address of the user to look up.","in":"query","name":"email","required":true,"schema":{"type":"string"}},{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UsersListResponse"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["users"]},"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}],"post":{"description":"Creates a new EMM-managed user.\n\nThe Users resource passed in the body of the request should include an accountIdentifier and an accountType.\nIf a corresponding user already exists with the same account identifier, the user will be updated with the resource. In this case only the displayName field can be changed.","operationId":"androidenterprise.users.insert","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/User"},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/User"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["users"]}},"/enterprises/{enterpriseId}/users/{userId}":{"delete":{"description":"Deleted an EMM-managed user.","operationId":"androidenterprise.users.delete","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}},{"description":"The ID of the user.","in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["users"]},"get":{"description":"Retrieves a user's details.","operationId":"androidenterprise.users.get","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}},{"description":"The ID of the user.","in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/User"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["users"]},"parameters":[{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/userIp"}],"patch":{"description":"Updates the details of an EMM-managed user.\n\nCan be used with EMM-managed users only (not Google managed users). Pass the new details in the Users resource in the request body. Only the displayName field can be changed. Other fields must either be unset or have the currently active value. This method supports patch semantics.","operationId":"androidenterprise.users.patch","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}},{"description":"The ID of the user.","in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/User"},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/User"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/androidenterprise"]}],"tags":["users"]},"put":{"description":"Updates the details of an EMM-managed user.\n\nCan be used with EMM-managed users only (not Google managed users). Pass the new details in the Users resource in the request body. Only the displayName field can be changed. Other fields must either be unset or have the currently active value.","operationId":"androidenterprise.users.update","parameters":[{"description":"The ID of the enterprise.","in":"path","name":"enterpriseId","required":true,"schema":{"type":"string"}},{"description":"The ID of the user.","in":"path","name":"userId","required":true,"schema":{"type":"st