{"openapi":"3.0.2","components":{"parameters":{"$filter":{"name":"$filter","in":"query","description":"\n    An OData filter\n\n    http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_SystemQueryOptionfilter\n  ","schema":{"type":"string"}},"$orderby":{"name":"$orderby","in":"query","description":"\n    An OData query option to fetch ordered data\n\n    https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_SystemQueryOptionorderby\n  ","schema":{"type":"string"}},"$own":{"name":"$own","schema":{"type":"boolean"},"description":"If only the resources created by the authenticated app member should be included","in":"query"},"$select":{"name":"$select","in":"query","description":"\n    The OData `$select` query option.\n\n    This is a comma separated string of fields to select. Only filtering flat properties is\n    supported.\n\n    http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_SystemQueryOptionselect\n  ","schema":{"type":"string"}},"$skip":{"name":"$skip","in":"query","description":"Start the query from an offset.","schema":{"type":"integer","minimum":0}},"$top":{"name":"$top","in":"query","description":"Limit the number of entities returned.","schema":{"type":"integer","minimum":0}},"appId":{"name":"appId","in":"path","description":"The ID of the app on which to perform an operation","required":true,"schema":{"$ref":"#/components/schemas/App/properties/id"}},"appMemberId":{"name":"memberId","in":"path","description":"The id of the app member on which to perform an operation","required":true,"schema":{"$ref":"#/components/schemas/AppMember/properties/id"}},"appOAuth2SecretId":{"name":"appOAuth2SecretId","in":"path","description":"The ID of the app OAuth2 secret on which to perform an operation","required":true,"schema":{"$ref":"#/components/schemas/AppOAuth2Secret/properties/id"}},"appSamlSecretId":{"name":"appSamlSecretId","in":"path","description":"The ID of the app SAML secret on which to perform an operation","required":true,"schema":{"type":"string"}},"appVariableId":{"name":"appVariableId","in":"path","description":"The id of the app variable on which to perform an operation","required":true,"schema":{"type":"string"}},"assetId":{"name":"assetId","in":"path","description":"The ID of the asset on which to perform an operation","required":true,"schema":{"$ref":"#/components/schemas/Asset/properties/id"}},"blockId":{"name":"blockId","in":"path","description":"The ID of the block on which to perform an operation, but without the organization scope.","required":true,"schema":{"type":"string","pattern":"^([0-9a-z](?:(?!.*--)[-0-9a-z]*[0-9a-z])?)$"}},"blockVersion":{"name":"blockVersion","in":"path","description":"The version of the block on which to perform an operation.","required":true,"schema":{"$ref":"#/components/schemas/BlockVersion/properties/version"}},"delimiter":{"name":"delimiter","in":"query","description":"\nDelimiter to be used to parse the CSV file\n  ","schema":{"type":"string"}},"endpoint":{"name":"endpoint","in":"query","description":"The URL of the endpoint associated with the subscription.","required":true,"schema":{"type":"string","format":"uri"}},"groupId":{"name":"groupId","in":"path","description":"The ID of the group on which to perform an operation","required":true,"schema":{"type":"number"}},"groupMemberId":{"name":"groupMemberId","in":"path","description":"The id of the group member on which to perform an operation","required":true,"schema":{"$ref":"#/components/schemas/AppMember/properties/id"}},"height":{"name":"height","in":"query","description":"Height the image should be rescaled to.","required":false,"schema":{"type":"number"}},"language":{"name":"language","in":"path","description":"The language on which to perform an operation","required":true,"schema":{"type":"string"}},"organizationId":{"name":"organizationId","required":true,"in":"path","description":"The ID of the organization on which to perform an operation","schema":{"$ref":"#/components/schemas/Organization/properties/id"}},"organizationSubscriptionId":{"name":"organizationSubscriptionId","required":true,"in":"path","description":"The ID of the subscription on which to perform an operation","schema":{"$ref":"#/components/schemas/OrganizationSubscription/properties/id"}},"readmeId":{"name":"readmeId","in":"path","description":"The id of an app readme","required":true,"schema":{"type":"number"}},"resourceId":{"name":"resourceId","in":"path","description":"The ID of the resource on which to perform an operation","required":true,"schema":{"$ref":"#/components/schemas/Resource/properties/id"}},"resourceType":{"name":"resourceType","in":"path","description":"The type of the resource on which to perform an operation","required":true,"schema":{"type":"string"}},"roles":{"name":"roles","in":"query","description":"The roles of app members on which to perform an operation","schema":{"type":"string"}},"screenshotId":{"name":"screenshotId","in":"path","description":"The id of an app screenshot","required":true,"schema":{"type":"number"}},"seed":{"name":"seed","in":"query","description":"\n    Whether the resources or assets are seed instead.\n    ","schema":{"type":"string"}},"selectedGroupId":{"name":"selectedGroupId","in":"query","description":"The currently selected group of the app member.","schema":{"type":"number"}},"serviceSecretId":{"name":"serviceSecretId","in":"path","description":"The id of the app service secret on which to perform an operation","required":true,"schema":{"type":"string"}},"trainingId":{"name":"trainingId","in":"path","description":"Id of the training on which the operation will be performed.","required":true,"schema":{"$ref":"#/components/schemas/Training/properties/id"}},"view":{"name":"view","in":"query","description":"The view of the resource to fetch.","schema":{"type":"string"}},"webhookName":{"name":"webhookName","in":"path","description":"The name of the webhook to call","required":true,"schema":{"type":"string"}},"webhookSecretId":{"name":"webhookSecretId","in":"path","description":"The id of the app webhook secret on which to perform an operation","required":true,"schema":{"type":"string"}},"width":{"name":"width","in":"query","description":"Width the image should be rescaled to.","required":false,"schema":{"type":"number"}}},"requestBodies":{"oauth2Consent":{"description":"The OAuth2 client credentials","required":true,"content":{"application/json":{"schema":{"type":"object","required":["redirectUri","scope"],"description":"A representation of a user’s OAuth2 consent when logging in to an app.","additionalProperties":false,"properties":{"redirectUri":{"type":"string","format":"uri","description":"The URI to redirect the user back to."},"scope":{"type":"string","description":"The OAuth2 scope requested by the app."}}}}}},"resource":{"description":"A resource definition","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"}},"multipart/form-data":{"schema":{"type":"object","required":["resource"],"description":"A `multipart/form-data` representation of a resource.","additionalProperties":false,"properties":{"resource":{"$ref":"#/components/schemas/Resource"},"assets":{"type":"array","description":"A list of assets that should be linked to the resource.","items":{"type":"string","format":"binary"}}}}}}},"user":{"description":"A user profile","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserInfo"}}}}},"responses":{"app":{"description":"An app response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/App"}}}},"blockVersion":{"description":"A block definition response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlockVersion"}}}},"default":{"description":"The default error response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"invite":{"description":"An invite response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Organization"}}}},"oauth2AuthorizationCode":{"description":"An OAuth2 authorization code.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/App"}}}},"organization":{"description":"An organization response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Organization"}}}},"resource":{"description":"A resource response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"}},"text/csv":{"schema":{"type":"string"}}}},"subscriptions":{"description":"A subscription response.","content":{"application/json":{"schema":{"type":"object","description":"A mapping of resources names to resource subscriptions.","additionalProperties":{"$ref":"#/components/schemas/ResourceSubscription"}}}}}},"schemas":{"App":{"type":"object","description":"An app definition defines what an app will look like.","additionalProperties":false,"properties":{"id":{"type":"number","minimum":0,"readOnly":true,"description":"The unique identifier for the app.\n\nThis value will be generated automatically by the API.\n"},"OrganizationId":{"$ref":"#/components/schemas/Organization/properties/id"},"path":{"type":"string","minLength":1,"maxLength":41,"pattern":"^([0-9a-z](?:(?!.*--)[-0-9a-z]*[0-9a-z])?)$","description":"The URL path segment on which this app is reachable.\n\nThis may only contain lower case characters, numbers, and hyphens. By default this is a\nnormalized version of the app name.\n"},"domain":{"anyOf":[{"type":"string","maxLength":0},{"type":"string","format":"hostname"}],"description":"The domain name on which this app should be served.\n\nIf this is unspecified, the app will be served from the path on the domain of the server\n`HOSTNAME` variable.\n"},"visibility":{"description":"Determine the app visibility of the app in the Appsemble app store.\n\nThis doesn’t affect whether or not the app can be accessed on its own domain.\n\n- **public**: The app is publicly listed in the Appsemble app store.\n- **unlisted**: The app store page can be accessed, but the app isn’t listed publicly in the\n  Appsemble app store.\n- **private**: The app is only visible to people who are part of the organization.\n","default":"unlisted","enum":["public","unlisted","private"]},"showAppDefinition":{"type":"boolean","description":"Whether or not people who have access to the app may see the app definition."},"locked":{"enum":["fullLock","studioLock","unlocked"],"default":"unlocked","description":"Determines whether this app should be locked from being updated.\n      If this is set to `fullLock`, no changes can be made to the app,\n      if this is set to `studioLock`, no changes can be made from the studio but updating from the CLI is possible,\n      and to make any changes from the studio, this should be set to `unlocked`.\n"},"totp":{"enum":["disabled","enabled","required"],"default":"disabled","description":"The TOTP (two-factor authentication) setting for the app.\n\n- **disabled**: TOTP is not available for app members.\n- **enabled**: TOTP is available but optional for app members.\n- **required**: TOTP is required for all app members. **WARNING**: Setting this will lock out existing users who have not yet enabled 2FA on their accounts.\n"},"displayAppMemberName":{"type":"boolean","description":"Whether to display app member name in the title bar."},"displayInstallationPrompt":{"type":"boolean","description":"Whether to display installtion prompt to the users of app"},"template":{"type":"boolean","description":"Determines whether this app should be included when fetching for templates."},"demoMode":{"type":"boolean","description":"Determines whether this app should be used in demo mode."},"longDescription":{"type":"string","description":"\nA long description for the app.\n\nThe long description will be rendered on the app details page. Markdown content is supported.\n"},"definition":{"type":"object","additionalProperties":true,"description":"An app definition describes what an Appsemble app looks like."},"screenshotUrls":{"type":"array","description":"A list of URLs referencing app screenshots","items":{"type":"string"}},"googleAnalyticsID":{"type":"string","description":"If this is specified, Google analytics will be applied to the app","pattern":"^(|UA-[0-9]{4,10}-[0-9]{1,4}|G-[0-9A-Z]{4,})$"},"sentryDsn":{"type":"string","description":"The Sentry DSN to use for this app.\n\nIf this is specified, the given Sentry DSN will be used for error tracking. Apps without a custom\ndomain fall back to use the Appsemble server Sentry DSN.\n","format":"url"},"sentryEnvironment":{"type":"string","description":"The name that should be used as the sentry environment.\n\n  This is only applied when `sentryDsn` is specified."},"controllerCode":{"type":"string","description":"Custom app logic as a JavaScript string"},"controllerImplementations":{"type":"string","description":"Appsemble SDK interfaces implementations"},"supportedLanguages":{"type":"array","description":"Supported languages for an app","items":{"type":"string","minLength":2}}}},"AppAccount":{"type":"object","description":"An object representing a member of an app","additionalProperties":false,"properties":{"app":{"$ref":"#/components/schemas/App","description":"The app this account is for."},"appMemberInfo":{"$ref":"#/components/schemas/AppMemberInfo","description":"The app member info."},"sso":{"type":"array","description":"The single sign on configurations which link the user to an external account.","items":{"$ref":"#/components/schemas/SSOConfiguration"}}}},"AppCollection":{"type":"object","description":"An app collection","additionalProperties":false,"properties":{"id":{"type":"integer","readOnly":true,"description":"The unique ID of the app collection."},"name":{"type":"string","description":"The name of the app collection."},"OrganizationId":{"type":"string","description":"The ID of the organization that owns the app collection."},"OrganizationName":{"type":"string","description":"The name of the organization that owns the app collection."},"visibility":{"enum":["private","public"],"description":"The visibility of the app collection."},"$expert":{"type":"object","additionalProperties":false,"description":"The app collection’s expert/curator.","properties":{"name":{"type":"string","description":"The name of the expert."},"description":{"type":"string","description":"The description of the expert."},"profileImage":{"type":"string","description":"The URL at which the expert’s profile image can be found."}}},"headerImage":{"type":"string","description":"The URL at which the app collection’s header image can be found."},"$created":{"type":"string","format":"date-time","description":"When the collection was first created as an ISO 8601 formatted string"},"$updated":{"type":"string","format":"date-time","description":"When the collection was last updated as an ISO 8601 formatted string"}}},"AppCollectionDefinition":{"type":"object","description":"An app collection","additionalProperties":false,"properties":{"name":{"type":"string","description":"The name of the app collection.","minLength":1,"maxLength":30},"visibility":{"enum":["private","public"],"description":"The visibility of the app collection."},"expertName":{"type":"string","description":"The name of the app collection’s expert/curator.","minLength":1,"maxLength":30},"expertDescription":{"type":"string","description":"The description of the app collection’s expert/curator.","maxLength":4000},"expertProfileImage":{"type":"string","format":"binary","description":"The profile image of the app collection’s expert/curator."},"headerImage":{"type":"string","format":"binary","description":"The header image of the app collection."},"domain":{"anyOf":[{"type":"string","maxLength":0},{"type":"string","format":"hostname","maxLength":253}]}}},"AppMember":{"type":"object","description":"An object representing a member of an app","additionalProperties":false,"properties":{"id":{"type":"string","readOnly":true,"description":"The id of the app member."},"role":{"type":"string","description":"The role of the app member within the app."},"name":{"type":"string","description":"The full name of the app member."},"email":{"type":"string","format":"email","description":"The email address of the app member."}}},"AppMemberInfo":{"type":"object","description":"An object representing the OAuth2 info of a member of an app","additionalProperties":false,"properties":{"sub":{"type":"string","readOnly":true,"description":"The id of the app member."},"name":{"type":"string","description":"The full name of the app member."},"email":{"type":"string","format":"email","description":"The email address of the app member."},"email_verified":{"type":"boolean","description":"Whether this email address has been verified."},"picture":{"type":"string","format":"url","description":"The URL of the profile picture of the app member."},"locale":{"type":"string","description":"The locale of the app member."},"zoneinfo":{"enum":["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmera","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/La_Rioja","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Buenos_Aires","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Catamarca","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Ciudad_Juarez","America/Coral_Harbour","America/Cordoba","America/Costa_Rica","America/Coyhaique","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Fort_Nelson","America/Fortaleza","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Indianapolis","America/Inuvik","America/Iqaluit","America/Jamaica","America/Jujuy","America/Juneau","America/Kentucky/Monticello","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Louisville","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Mendoza","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montserrat","America/Nassau","America/New_York","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Ojinaga","America/Panama","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yakutat","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Calcutta","Asia/Chita","Asia/Colombo","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Hebron","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Katmandu","Asia/Khandyga","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Rangoon","Asia/Riyadh","Asia/Saigon","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faeroe","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Ulyanovsk","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zurich","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Ponape","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Truk","Pacific/Wake","Pacific/Wallis"],"description":"The time zone of the app member."},"role":{"type":"string","description":"The role of the app member within the app"},"properties":{"type":"object","description":"The custom properties of the app member.","additionalProperties":true},"unverifiedEmail":{"type":"string","description":"Unverified email of the app member which will replace the main email when verified"}}},"AppMessages":{"type":"object","description":"The response object of an messages create call.","required":["language","messages"],"additionalProperties":false,"properties":{"language":{"type":"string","description":"The language the messages represent."},"messages":{"$ref":"#/components/schemas/AppsembleMessages"},"force":{"type":"boolean","writeOnly":true,"description":"If this is true, the app lock is ignored."}}},"AppOAuth2Secret":{"type":"object","description":"Settings for login in apps using third party OAuth2 providers","required":["authorizationUrl","clientId","clientSecret","icon","name","scope","tokenUrl"],"additionalProperties":false,"properties":{"id":{"type":"number","description":"An autogenerated ID","readOnly":true},"authorizationUrl":{"type":"string","format":"uri","description":"The OAuth2 redirect URL."},"tokenUrl":{"type":"string","format":"uri","description":"The URL to request access tokens from."},"clientId":{"type":"string","description":"The public client id which identifies Appsemble to the authorization server."},"clientSecret":{"type":"string","description":"The OAuth2 client secret."},"icon":{"type":"string","description":"A Font Awesome icon which represents the OAuth2 provider."},"name":{"type":"string","description":"A display name which represents the OAuth2 provider."},"scope":{"type":"string","description":"The login scope that will be requested from the authorization server."},"userInfoUrl":{"type":"string","format":"uri","description":"The URL to request user info from"},"remapper":{"type":"array","description":"A remapper to apply on retrieved user information from the user info endpoint.","items":{}},"created":{"type":"string","format":"date-time","description":"When the secret was created originally."},"updated":{"type":"string","format":"date-time","description":"When the secret was last updated."}}},"AppServiceSecret":{"type":"object","description":"App service secret settings","required":["urlPatterns","authenticationMethod"],"additionalProperties":false,"properties":{"id":{"type":"number","description":"An autogenerated ID.","readOnly":true},"name":{"type":"string","description":"An optional name to give extra clarity what the secret is used for."},"urlPatterns":{"type":"string","description":"The url pattern that is matched when a proxied request action is called."},"authenticationMethod":{"enum":["http-basic","client-certificate","client-credentials","cookie","custom-header","query-parameter"],"description":"The method to authenticate the request action with."},"identifier":{"type":"string","description":"The parameter name, header name, username or certificate that goes with the secret."},"secret":{"type":"string","description":"The secret to authenticate the proxied outgoing request with."},"tokenUrl":{"type":"string","description":"The URL to request access tokens from."},"scope":{"type":"string","description":"The scope to request access tokens for."},"public":{"type":"boolean","description":"If a secret is marked public, it can be applied to the unauthenticated users, e.g. in the requests originating in a custom sign up or login page.","default":false},"ca":{"type":"string","description":"The custom certificate authority."}}},"AppVariable":{"type":"object","description":"App variable","required":["name"],"additionalProperties":false,"properties":{"id":{"type":"number","description":"An autogenerated ID.","readOnly":true},"name":{"type":"string","description":"The name of the variable, that will be accessible from clients."},"value":{"description":"The value of the variable.","anyOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}}},"AppWebhookSecret":{"type":"object","description":"App webhook secret settings","additionalProperties":false,"properties":{"id":{"type":"number","description":"An autogenerated ID.","readOnly":true},"name":{"type":"string","description":"An optional name to give extra clarity what the secret is used for."},"webhookName":{"type":"string","description":"The name of the webhook the secret is tied to"},"secret":{"type":"string","description":"The autogenerated secret to authenticate the webhook caller with."}}},"AppsembleMessages":{"type":"object","description":"A mapping of the messages for this language","additionalProperties":false,"properties":{"core":{"type":"object","description":"Translations for the core of the app.","additionalProperties":{"type":"string"}},"app":{"type":"object","description":"Translations for global block messages and meta properties of the app.","additionalProperties":{"type":"string"}},"blocks":{"type":"object","description":"Translations for the core of the app.","additionalProperties":{"type":"object","description":"The name of the block type.","pattern":"^@([0-9a-z](?:(?!.*--)[-0-9a-z]*[0-9a-z])?)/([0-9a-z](?:(?!.*--)[-0-9a-z]*[0-9a-z])?)$","additionalProperties":{"type":"object","description":"The version of the block.","pattern":"^\\d+\\.\\d+\\.\\d+(-[\\d.a-z-]+)?$","additionalProperties":{"type":"string"}}}},"messageIds":{"type":"object","description":"A list of custom message IDs used by the app.","additionalProperties":{"type":"string"}}}},"Asset":{"type":"object","description":"The response object of an asset publish call.","additionalProperties":false,"properties":{"id":{"type":"string","readOnly":true,"description":"The unique identifier for the asset.","pattern":"^([0-9a-z](?:(?!.*--)[-0-9a-z]*[0-9a-z])?)$"},"mime":{"type":"string","readOnly":true,"description":"The IANA MIME type of the asset."},"filename":{"type":"string","readOnly":true,"description":"The filename of the asset."},"name":{"type":"string","pattern":"^([0-9a-z](?:(?!.*--)[-0-9a-z]*[0-9a-z])?)$","description":"The given name of the asset. Assets may be referenced by their name or ID in the API."}}},"BlockVersion":{"type":"object","description":"A version of a block definition\n\nBlock versions can’t be updated or deleted. This ensures apps that use a block version can never\nbe broken by alterations of block definitions.\n","required":["name","version","files"],"additionalProperties":false,"properties":{"name":{"type":"string","readOnly":true,"description":"The name of a block.\n\nThis uses the same form as scoped npm packages. For example, `@appsemble/form`.\n","pattern":"^@([0-9a-z](?:(?!.*--)[-0-9a-z]*[0-9a-z])?)/([0-9a-z](?:(?!.*--)[-0-9a-z]*[0-9a-z])?)$"},"description":{"type":"string","description":"The description of the block.","maxLength":160},"longDescription":{"type":"string","description":"The long description of the block."},"repositoryUrl":{"type":"string","format":"uri","description":"A URL to the source code repository of the block."},"icon":{"type":"string","format":"binary","description":"An icon to represent the block in Appsemble studio."},"iconUrl":{"type":"string","format":"uri","description":"The relative URL on which the icon is served","readOnly":true},"version":{"type":"string","pattern":"^\\d+\\.\\d+\\.\\d+(-[\\d.a-z-]+)?$","description":"A [semver](https://semver.org) representation of the block version."},"visibility":{"enum":["public","unlisted"],"default":"public","description":"Whether the block should be listed publicly for users who aren’t part of the block’s organization.\n\n- **`public`**: The block is visible for everyone.\n- **`unlisted`**: The block will only be visible if the user is logged in and is part of the block’s organization."},"layout":{"description":"How the block will be displayed on the screen.\n\n- **`float`**: The block will float somewhere on the screen.\n- **`grow`**: The block will be positioned in the main page. It will grow to fill up remaining\n  space on the page.\n- **`static`**: The block will be positioned in the main page. It will take up a fixed amount of\n  space.\n- **`hidden`**: The block will not be rendered at all.\n","default":"grow","enum":["float","grow","static","hidden"]},"actions":{"type":"object","description":"An object which describes the actions a block can trigger.\n\nThis will be used to validate app definitions.\n","additionalProperties":true},"parameters":{"type":"object","additionalProperties":true,"description":"A draft 7 JSON schema to use for block parameter validation.\n\nIf the parameters of a block definition don’t conform to this schema, the app definition will be\nconsidered invalid.\n"},"events":{"type":"object","description":"An object describing the names of the events the block can listen and emit to.","additionalProperties":false,"properties":{"listen":{"type":"object","description":"A mapping of events this block may listen on","additionalProperties":{"description":"A mapping of events this block may listen on","type":"object","additionalProperties":false,"properties":{"description":{"type":"string"}}}},"emit":{"type":"object","description":"A mapping of events this block may emit","additionalProperties":{"description":"A mapping of events this block may emit","type":"object","additionalProperties":false,"properties":{"description":{"type":"string"}}}}}},"resources":{"type":"object","description":"deprecated","additionalProperties":true},"messages":{"type":"object","description":"The translated messages for the block.\n\nEnglish (`en`) messages are required.\n","required":["en"],"properties":{"en":{"type":"object","description":"A mapping of language IDs to their English translation","additionalProperties":{"type":"string","description":"The default translations to use.","minLength":1}}},"additionalProperties":{"type":"object","description":"A mapping of language IDs to their internationalized translation","additionalProperties":{"type":"string","description":"The translated messages for this language."}}},"files":{"type":"array","description":"A list of file assets that belong to the app version.","minLength":1,"items":{"type":"string","format":"binary"}},"examples":{"type":"array","description":"A list of exmples how the block can be used within an app definition.","items":{"type":"string"}},"wildcardActions":{"type":"boolean","description":"Whether action validation for wildcard action is skipped.\n\nIf true, ignore unused actions that fall under '$any'."}}},"Error":{"type":"object","description":"The generic error object returned by any expected API errors.","readOnly":true,"additionalProperties":false,"properties":{"statusCode":{"type":"number","description":"Matches the HTTP response status code.","example":404},"error":{"type":"string","description":"Matches the HTTP response status description.","example":"Not Found"},"message":{"type":"string","description":"A message describing the error.","example":"Entity not found"}}},"GroupMember":{"type":"object","description":"An object representing a member of a group","additionalProperties":false,"properties":{"id":{"type":"string","readOnly":true,"description":"The id of the app member."},"role":{"type":"string","description":"The role of the app member within the group."},"name":{"$ref":"#/components/schemas/AppMember/properties/name"},"email":{"$ref":"#/components/schemas/AppMember/properties/email"}}},"Health":{"type":"object","description":"A health check status","readOnly":true,"additionalProperties":false,"properties":{"database":{"type":"boolean","description":"Whether or not the database status is healthy"}}},"OAuth2AuthorizationCode":{"type":"object","description":"OAuth2 client credentials","required":["code"],"additionalProperties":false,"properties":{"code":{"type":"string","description":"The OAuth2 authorization code.","readOnly":true}}},"OAuth2ClientCredentials":{"type":"object","description":"OAuth2 client credentials","required":["description","scopes"],"additionalProperties":false,"properties":{"id":{"type":"string","description":"The generated client id","readOnly":true},"secret":{"type":"string","description":"The generated client secret","readOnly":true},"description":{"type":"string","description":"A description for the user to recognize the client.","maxLength":50},"expires":{"type":"string","description":"When the client credentials expire automatically.","format":"date-time"},"scopes":{"type":"array","description":"The scopes that have been granted to the client.","items":{"enum":["apps:export","apps:write","apps:delete","blocks:write","blocks:delete","organizations:write","resources:read","resources:write","assets:write","groups:read","groups:write"]}}}},"Organization":{"type":"object","description":"An organization groups a set of users, apps, themes, and permissions together","required":["id"],"additionalProperties":false,"properties":{"id":{"type":"string","pattern":"^([0-9a-z](?:(?!.*--)[-0-9a-z]*[0-9a-z])?)$","minLength":1,"maxLength":30,"description":"The unique identifier for the organization."},"name":{"type":"string","description":"The display name for the organization."},"description":{"type":"string","description":"The description of the organization.","maxLength":160},"email":{"type":"string","description":"The email address of the organization."},"website":{"type":"string","description":"The website of the organization."},"iconUrl":{"type":"string","description":"The URL used to fetch the organization’s icon."},"vatIdNumber":{"type":"string","description":"The VAT id number of the organization."},"streetName":{"type":"string","description":"Street name that will appear on the invoice."},"houseNumber":{"type":"string","description":"House number of the organization,"},"city":{"type":"string","description":"City where the organization is located"},"zipCode":{"type":"string","description":"Zip code of the organization"},"countryCode":{"type":"string","description":"Country code of the country where the organization is located"},"invoiceReference":{"type":"string","description":"The reference identifier that will appear on the invoices."},"stripeCustomerId":{"type":"string","description":"Stripe internal ID of the customer used to match it with the organization in our database."}}},"OrganizationMember":{"type":"object","description":"A member of an organization.","required":["id"],"additionalProperties":false,"properties":{"id":{"$ref":"#/components/schemas/User/properties/id"},"name":{"$ref":"#/components/schemas/User/properties/name"},"primaryEmail":{"type":"string","format":"email","description":"The primary email address of the user."},"role":{"enum":["Member","AppTranslator","AppContentsExplorer","AppContentsManager","AppMemberManager","AppGroupManager","AppGroupMembersManager","AppManager","AppCollectionManager","BlockManager","Maintainer","Owner"]},"properties":{"type":"object","description":"Additional custom properties that a user might have.","additionalProperties":{"type":"string"}}}},"OrganizationSubscription":{"type":"object","description":"A subscription holds permission to what the users withing an organization are allowed to do.","required":["id","subscriptionPlan","organizationId"],"additionalProperties":false,"properties":{"id":{"type":"number","description":"The unique identifier for the subscription."},"cancelled":{"type":"boolean","description":"Whether the subscription will be renewed at the end."},"cancellationReason":{"type":"string","description":"Users reasoning for cancelling the subscription."},"expirationDate":{"type":"string","description":"The expiration date of the subscription.","format":"date-time"},"subscriptionPlan":{"description":"The plan associated with the subscription.","enum":["free","premium"]},"renewalPeriod":{"description":"The renewal period associated with the subscription.","enum":["month","year"]},"organizationId":{"type":"string","pattern":"^([0-9a-z](?:(?!.*--)[-0-9a-z]*[0-9a-z])?)$","minLength":1,"maxLength":30,"description":"The unique identifier for the organization."}}},"Rating":{"type":"object","description":"A representation of an App rating.","additionalProperties":false,"required":["rating"],"properties":{"rating":{"type":"number","minimum":1,"maximum":5,"description":"A value ranging from 1 to 5 stars rating of the App."},"description":{"type":"string","description":"An optional explanation of the given rating."},"name":{"$ref":"#/components/schemas/User/properties/name","readOnly":true,"description":"The name of the user who submitted the rating."}}},"Resource":{"type":"object","additionalProperties":true,"description":"A resource can be anything defined as described in an app resource definition.","properties":{"id":{"type":"number","readOnly":true},"$clonable":{"type":"boolean"},"$ephemeral":{"type":"boolean"},"$expires":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","pattern":"^(\\d+(y|yr|years))?\\s*(\\d+months)?\\s*(\\d+(w|wk|weeks))?\\s*(\\d+(d|days))?\\s*(\\d+(h|hr|hours))?\\s*(\\d+(m|min|minutes))?\\s*(\\d+(s|sec|seconds))?$"}]}}},"ResourceSubscription":{"type":"object","additionalProperties":false,"description":"This describes how a user is subscribed to a resource.","properties":{"create":{"type":"boolean","description":"If true, the user is subscribed to any create actions for the resource type"},"update":{"type":"boolean","description":"If true, the user is subscribed to any update actions for the resource type"},"delete":{"type":"boolean","description":"If true, the user is subscribed to any delete actions for the resource type"},"subscriptions":{"type":"object","description":"A mapping of resource IDs to individual resource subscriptions","additionalProperties":{"type":"object","description":"The subscription status of a user for a single resource.","additionalProperties":false,"properties":{"update":{"type":"boolean","description":"If true, the user is subscribed to update actions on this particular resource."},"delete":{"type":"boolean","description":"If true, the user will be notified when this particular resource is deleted."}}}}}},"SSLSecret":{"type":"object","additionalProperties":false,"description":"The SSL secret of an app.","properties":{"certificate":{"type":"string","description":"The public SSL certificate chain in PEM format."},"key":{"type":"string","description":"The SSL private key in PEM format."}}},"SSOConfiguration":{"type":"object","description":"A single sign on configuration which is exposed to users.","additionalProperties":false,"properties":{"url":{"type":"string","format":"url","description":"The URL users will be redirected to in the login process."},"name":{"type":"string","description":"A user readable name for the configuration."},"icon":{"type":"string","description":"A Font Awesome icon."}}},"ScimPatchOp":{"type":"object","description":"A SCIM patch operation","required":["schemas","operations"],"additionalProperties":true,"properties":{"schemas":{"type":"array","maxItems":1,"minItems":1,"items":{"enum":["urn:ietf:params:scim:api:messages:2.0:PatchOp"]}},"operations":{"type":"array","description":"Patch operations to apply to the resource","items":{"anyOf":[{"type":"object","description":"A SCIM patch single replace operation","additionalProperties":false,"required":["op","path","value"],"properties":{"op":{"enum":["add","replace"]},"name":{"type":"string"},"path":{"type":"string"},"value":{}}},{"type":"object","description":"A SCIM patch bulk replace operation","additionalProperties":false,"required":["op","path"],"properties":{"op":{"enum":["remove"]},"path":{"type":"string"}}}]}}}},"ScimSecret":{"type":"object","additionalProperties":false,"description":"An app’s SCIM configuration.","properties":{"enabled":{"type":"boolean","description":"Whether or not SCIM is enabled for the app."},"token":{"type":"string","description":"The secret SCIM token"}}},"ScimUser":{"type":"object","additionalProperties":true,"description":"The definition of a user according to the SCIM documentation.","required":["emails","schemas","userName"],"properties":{"schemas":{"type":"array","items":{"type":"string"}},"userName":{"type":"string","description":"A unique identifier for the user (generally maps to the Azure AD user principal name)"},"active":{"type":"boolean"},"meta":{"type":"object","additionalProperties":false,"description":"Read-only metadata maintained by the service provider","properties":{"resourceType":{"type":"string"},"created":{"type":"string"},"lastModified":{"type":"string"},"location":{"type":"string"}}},"emails":{"type":"array","minLength":1,"items":{"type":"object","additionalProperties":false,"description":"A user's email. By default, one of these should be of type 'work' and have 'primary' set to true. Value contains actual address","required":["primary","type","value"],"properties":{"primary":{"type":"boolean"},"type":{"type":"string"},"value":{"type":"string"}}}}}},"Training":{"type":"object","description":"Object representation of a training","additionalProperties":false,"required":["id"],"properties":{"id":{"type":"string","description":"Id of the training"}}},"TrainingCompleted":{"type":"object","description":"Object which stores that a user has completed a certain training","additionalProperties":false,"properties":{"trainingId":{"type":"string","description":"The training that the user has completed.","readOnly":true},"userId":{"type":"string","description":"The user who completed the training"}}},"User":{"type":"object","description":"An object representing a user","additionalProperties":false,"properties":{"id":{"type":"string","readOnly":true,"description":"The id of the user."}}},"UserEmail":{"type":"object","description":"\n    An email address that is linked to a user.\n\n    Users may use any of their email addresses to login.\n  ","required":["email"],"additionalProperties":false,"properties":{"email":{"type":"string","format":"email","description":"The email address that is registered"},"verified":{"type":"boolean","readOnly":true,"description":"Wether or not the email address has been verified by the user."}}},"UserInfo":{"type":"object","description":"An object representing the OAuth2 info of a user","additionalProperties":false,"properties":{"sub":{"type":"string","readOnly":true,"description":"The id of the user."},"name":{"type":"string","description":"The full name of the user."},"email":{"type":"string","description":"The email of the user."},"email_verified":{"type":"boolean","description":"Whether this email address has been verified."},"picture":{"type":"string","format":"url","description":"The URL of the profile picture of the user."},"locale":{"type":"string","description":"The locale of the user."},"timezone":{"enum":["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmera","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/La_Rioja","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Buenos_Aires","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Catamarca","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Ciudad_Juarez","America/Coral_Harbour","America/Cordoba","America/Costa_Rica","America/Coyhaique","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Fort_Nelson","America/Fortaleza","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Indianapolis","America/Inuvik","America/Iqaluit","America/Jamaica","America/Jujuy","America/Juneau","America/Kentucky/Monticello","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Louisville","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Mendoza","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montserrat","America/Nassau","America/New_York","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Ojinaga","America/Panama","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yakutat","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Calcutta","Asia/Chita","Asia/Colombo","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Hebron","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Katmandu","Asia/Khandyga","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Rangoon","Asia/Riyadh","Asia/Saigon","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faeroe","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Ulyanovsk","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zurich","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Ponape","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Truk","Pacific/Wake","Pacific/Wallis"],"description":"The time zone of the user."},"subscribed":{"type":"boolean","description":"If the user is subscribed to the newsletter."}}}},"securitySchemes":{"app":{"type":"oauth2","description":"\n    OAuth2 login for apps.\n\n    The authorization code flow is recommended. The password flow exists for legacy apps and will be\n    removed in the future.\n  ","flows":{"authorizationCode":{"authorizationUrl":"/connect/authorize","tokenUrl":"/apps/{appId}/auth/oauth2/token","refreshUrl":"/apps/{appId}/auth/oauth2/token","scopes":{"email":"Read the user email address.","openid":"Login the user to the requesting app using OpenID.","profile":"Read the user profile, including the display name and profile picture.","resources:manage":"Manage app resources on behalf of a user.","groups:read":"Read the groups the user is a part of.","groups:write":"Add new members to a group."}},"password":{"tokenUrl":"/apps/{appId}/auth/oauth2/token","refreshUrl":"/apps/{appId}/auth/oauth2/token","scopes":{"email":"Read the user email address.","openid":"Login the user to the requesting app using OpenID.","profile":"Read the user profile, including the display name and profile picture.","resources:manage":"Manage app resources on behalf of a user.","groups:read":"Read the groups the user is a part of.","groups:write":"Add new members to a group."}}}},"basic":{"type":"http","scheme":"basic","description":"Used for logging in to the web interface"},"cli":{"type":"oauth2","description":"\n    OAuth2 login for client credentials.\n\n    For example the Appsemble CLI uses this.\n  ","flows":{"clientCredentials":{"tokenUrl":"/auth/oauth2/token","scopes":{"apps:export":"Export apps as zip files","apps:write":"Create and update apps","apps:delete":"Delete apps","blocks:write":"Register and update blocks, and publish new block versions.","blocks:delete":"Delete specific block versions.","organizations:write":"Create and manage organizations.","resources:read":"Read app resources on behalf of a user.","resources:write":"Modify app resources on behalf of a user.","assets:write":"Create app assets on behalf of a user.","groups:read":"Read information about the user’s groups.","groups:write":"Read information about the user’s groups."}}}},"scim":{"type":"http","scheme":"bearer","description":"Used SCIM clients"},"studio":{"type":"http","scheme":"bearer","bearerFormat":"jwt","description":"Used for authenticating requests made using Appsemble studio interface."},"webhook":{"type":"http","scheme":"bearer","description":"Used for webhook calls"}}},"externalDocs":{"description":"Appsemble developer documentation","url":"https://appsemble.app:9999/docs"},"info":{"title":"Appsemble","description":"Welcome to the Appsemble API.\n\nThe app studio can be found on\n> https://appsemble.app:9999\n\nThe OpenAPI explorer can be found on\n> https://appsemble.app:9999/api-explorer\n","license":{"name":"LGPL","url":"https://gitlab.com/appsemble/appsemble/blob/main/LICENSE.md"},"version":"0.36.6-test.0"},"paths":{"/api/app-collections/{appCollectionId}/apps/{appId}/pinned":{"post":{"tags":["main","app-collection","app"],"description":"Pin an app to an app collection","operationId":"pinAppToAppCollection","parameters":[{"name":"appCollectionId","in":"path","description":"The id of the app collection to pin the app to","required":true,"schema":{"$ref":"#/components/schemas/AppCollection/properties/id"}},{"name":"appId","in":"path","description":"The id of the app to pin","required":true,"schema":{"$ref":"#/components/schemas/App/properties/id"}}],"responses":{"200":{"description":"The app was pinned to the app collection","content":{"application/json":{"schema":{"type":"object","properties":{"pinned":{"type":"string","format":"date-time"}}}}}}},"security":[{"studio":[]}]},"delete":{"tags":["main","app-collection","app"],"description":"Unpin an app from an app collection","operationId":"unpinAppFromAppCollection","parameters":[{"name":"appCollectionId","in":"path","description":"The id of the app collection to unpin the app from","required":true,"schema":{"$ref":"#/components/schemas/AppCollection/properties/id"}},{"name":"appId","in":"path","description":"The id of the app to unpin","required":true,"schema":{"$ref":"#/components/schemas/App/properties/id"}}],"responses":{"204":{"description":"The app was unpinned from the app collection"}},"security":[{"studio":[]}]}},"/api/app-collections/{appCollectionId}/apps/{appId}":{"delete":{"tags":["main","app-collection","app"],"description":"Remove an app from an app collection","operationId":"removeAppFromAppCollection","parameters":[{"name":"appCollectionId","in":"path","description":"The id of the app collection","required":true,"schema":{"$ref":"#/components/schemas/AppCollection/properties/id"}},{"name":"appId","in":"path","description":"The id of the app","required":true,"schema":{"$ref":"#/components/schemas/AppCollection/properties/id"}}],"responses":{"204":{"description":"The app was removed from the app collection"}},"security":[{"studio":[]}]}},"/api/app-collections/{appCollectionId}/apps":{"get":{"tags":["main","app-collection","app"],"description":"Get a list of apps in an app collection","operationId":"queryAppCollectionApps","parameters":[{"name":"appCollectionId","in":"path","description":"The id of the app collection","required":true,"schema":{"$ref":"#/components/schemas/AppCollection/properties/id"}},{"name":"language","in":"query","description":"The language to include the translations of, if available","schema":{"type":"string"}}],"responses":{"200":{"description":"A list of apps","content":{"application/json":{"schema":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/App"},{"type":"object","properties":{"pinned":{"type":"string","format":"date-time","nullable":true}}}]}}}}}},"security":[{"studio":[]},{}]},"post":{"tags":["main","app-collection","app"],"description":"Add an app to an app collection","operationId":"addAppToAppCollection","parameters":[{"name":"appCollectionId","in":"path","description":"The id of the app collection","required":true,"schema":{"$ref":"#/components/schemas/AppCollection/properties/id"}}],"requestBody":{"description":"The app to add to the app collection","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"AppId":{"$ref":"#/components/schemas/App/properties/id"}}}}}},"responses":{"204":{"description":"The app was added to the app collection"}},"security":[{"studio":[]},{"cli":["apps:write"]}]}},"/api/app-collections/{appCollectionId}/expert/profile-image":{"get":{"tags":["main","app-collection"],"description":"Get an app collection’s expert’s profile image","operationId":"getAppCollectionExpertProfileImage","parameters":[{"name":"appCollectionId","in":"path","description":"The id of the app collection","required":true,"schema":{"$ref":"#/components/schemas/AppCollection/properties/id"}}],"responses":{"200":{"description":"The app collection’s expert’s profile image","content":{"image/png":{},"image/jpeg":{},"image/tiff":{},"image/webp":{}}}},"security":[{"studio":[]},{}]}},"/api/app-collections/{appCollectionId}/header-image":{"get":{"tags":["main","app-collection"],"description":"Get an app collection’s header image","operationId":"getAppCollectionHeaderImage","parameters":[{"name":"appCollectionId","in":"path","description":"The id of the app collection","required":true,"schema":{"$ref":"#/components/schemas/AppCollection/properties/id"}}],"responses":{"200":{"description":"The app collection’s header image","content":{"image/png":{},"image/jpeg":{},"image/tiff":{},"image/webp":{}}}},"security":[{"studio":[]},{}]}},"/api/app-collections/{appCollectionId}":{"get":{"tags":["main","app-collection"],"description":"Get an app collection","operationId":"getAppCollection","parameters":[{"name":"appCollectionId","in":"path","description":"The id of the app collection","required":true,"schema":{"$ref":"#/components/schemas/AppCollection/properties/id"}}],"responses":{"200":{"description":"An app collection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppCollection"}}}}},"security":[{"studio":[]},{}]},"patch":{"tags":["main","app-collection"],"description":"Update an app collection","operationId":"updateAppCollection","parameters":[{"name":"appCollectionId","in":"path","description":"The id of the app collection","required":true,"schema":{"$ref":"#/components/schemas/AppCollection/properties/id"}}],"requestBody":{"description":"The app collection to update","required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/AppCollectionDefinition"},"encoding":{"expertProfileImage":{"contentType":"image/png,image/jpeg,image/tiff,image/webp"},"headerImage":{"contentType":"image/png,image/jpeg,image/tiff,image/webp"}}}}},"responses":{"200":{"description":"The updated app collection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppCollection"}}}}},"security":[{"studio":[]}]},"delete":{"tags":["main","app-collection"],"description":"Delete an app collection","operationId":"deleteAppCollection","parameters":[{"name":"appCollectionId","in":"path","description":"The id of the app collection","required":true,"schema":{"$ref":"#/components/schemas/AppCollection/properties/id"}}],"responses":{"204":{"description":"The app collection was deleted"}},"security":[{"studio":[]}]}},"/api/app-collections":{"get":{"tags":["main","app-collection"],"description":"Get a list of app collections","operationId":"queryAppCollections","responses":{"200":{"description":"A list of app collections","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AppCollection"}}}}}},"security":[{"studio":[]},{}]}},"/api/apps/{appId}/app-invites/{token}/respond":{"parameters":[{"$ref":"#/components/parameters/appId"},{"name":"token","in":"path","description":"The token of the invite.","required":true,"schema":{"type":"string"}}],"post":{"tags":["app-invite"],"description":"Respond to a given invitation.","operationId":"respondAppInvite","requestBody":{"description":"The response of the invitation.\n\n        If response is true, user will join the app. If response is false, the user declines the invite and the invite is removed.","required":true,"content":{"application/json":{"schema":{"type":"object","required":["response"],"properties":{"response":{"type":"boolean"},"password":{"type":"string","minLength":8},"timezone":{"enum":["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmera","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/La_Rioja","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Buenos_Aires","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Catamarca","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Ciudad_Juarez","America/Coral_Harbour","America/Cordoba","America/Costa_Rica","America/Coyhaique","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Fort_Nelson","America/Fortaleza","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Indianapolis","America/Inuvik","America/Iqaluit","America/Jamaica","America/Jujuy","America/Juneau","America/Kentucky/Monticello","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Louisville","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Mendoza","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montserrat","America/Nassau","America/New_York","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Ojinaga","America/Panama","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yakutat","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Calcutta","Asia/Chita","Asia/Colombo","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Hebron","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Katmandu","Asia/Khandyga","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Rangoon","Asia/Riyadh","Asia/Saigon","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faeroe","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Ulyanovsk","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zurich","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Ponape","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Truk","Pacific/Wake","Pacific/Wallis"]},"locale":{"type":"string"}}}}}},"responses":{"204":{"description":"The response has been processed."}}}},"/api/apps/{appId}/app-invites/{token}":{"parameters":[{"$ref":"#/components/parameters/appId"},{"name":"token","in":"path","description":"The token of the invite.","required":true,"schema":{"type":"string"}}],"get":{"tags":["app-invite"],"description":"Fetch information about an invite.","operationId":"getAppInvite","responses":{"200":{"description":"An invite response","$ref":"#/components/responses/invite"}}}},"/api/apps/{appId}/app-members/{appMemberId}/picture":{"parameters":[{"$ref":"#/components/parameters/appId"},{"name":"appMemberId","in":"path","description":"The id of the member on which to perform the operation","required":true,"schema":{"$ref":"#/components/schemas/AppMember/properties/id"}}],"get":{"tags":["common","app-member"],"description":"Get an app member’s profile picture.\n\n  This will return a 404 if the user has not uploaded one.","operationId":"getAppMemberPicture","responses":{"200":{"description":"The profile picture of the app member.","content":{"image/png":{},"image/jpeg":{},"image/tiff":{},"image/webp":{}}}}}},"/api/apps/{appId}/app-members/{appMemberId}/properties":{"parameters":[{"$ref":"#/components/parameters/appId"},{"name":"appMemberId","in":"path","description":"The id of the app member on which to perform an operation","required":true,"schema":{"$ref":"#/components/schemas/AppMember/properties/id"}}],"patch":{"tags":["common","app-member"],"description":"Patch the properties of an app member.","operationId":"patchAppMemberProperties","parameters":[{"$ref":"#/components/parameters/selectedGroupId"}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","additionalProperties":false,"properties":{"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"The member’s custom properties."}}}}}},"responses":{"200":{"description":"The updated app member","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppMember"}}}}},"security":[{"app":[]}]},"put":{"tags":["common","app-member","update"],"description":"Update the properties of an app member.","operationId":"updateAppMemberProperties","parameters":[{"$ref":"#/components/parameters/selectedGroupId"}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","additionalProperties":false,"properties":{"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"The member’s custom properties."}}}}}},"responses":{"200":{"description":"The updated app member","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppMember"}}}}},"security":[{"studio":[]}]}},"/api/apps/{appId}/app-members/{appMemberId}/role":{"parameters":[{"$ref":"#/components/parameters/appId"},{"name":"appMemberId","in":"path","description":"The id of the app member on which to perform an operation","required":true,"schema":{"$ref":"#/components/schemas/AppMember/properties/id"}}],"put":{"tags":["common","app","member"],"description":"Patch an app member.","operationId":"updateAppMemberRole","parameters":[{"$ref":"#/components/parameters/selectedGroupId"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"role":{"type":"string"}}}}}},"responses":{"200":{"description":"The updated app member","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppMember"}}}}},"security":[{"studio":[]},{"app":[]}]}},"/api/apps/{appId}/app-members/{appMemberId}":{"parameters":[{"$ref":"#/components/parameters/appId"},{"name":"appMemberId","in":"path","description":"The id of the app member on which to perform an operation","required":true,"schema":{"$ref":"#/components/schemas/AppMember/properties/id"}}],"delete":{"tags":["common","app-member"],"description":"Delete an app member.","operationId":"deleteAppMember","parameters":[{"$ref":"#/components/parameters/selectedGroupId"}],"responses":{"204":{"description":"The app member was deleted successfully."}},"security":[{"studio":[]},{"app":["resources:manage"]},{}]}},"/api/apps/{appId}/actions/{path}":{"parameters":[{"$ref":"#/components/parameters/appId"},{"in":"path","name":"path","description":"The path to the action to execute.","required":true,"schema":{"type":"string"}}],"get":{"tags":["app","action"],"description":"Proxy a GET request action","operationId":"proxyGet","responses":{"default":{"description":"The proxied response"}},"security":[{"app":["email","profile"]},{}],"parameters":[{"in":"query","name":"data","description":"The data that was passed to the action","required":true,"schema":{"type":"string"}}]},"delete":{"tags":["app","action"],"description":"Proxy a DELETE request action","operationId":"proxyDelete","responses":{"default":{"description":"The proxied response"}},"security":[{"app":["email","profile"]},{}],"parameters":[{"in":"query","name":"data","description":"The data that was passed to the action","required":true,"schema":{"type":"string"}}]},"patch":{"tags":["app","action"],"description":"Proxy a PATCH request action","operationId":"proxyPatch","responses":{"default":{"description":"The proxied response"}},"security":[{"app":["email","profile"]},{}],"requestBody":{"description":"The data that was passed to the action","required":true,"content":{"multipart/form-data":{"schema":{"type":"object","description":"A `multipart/form-data` representation of a resource.","additionalProperties":true,"properties":{"resource":{"type":"array","items":{"$ref":"#/components/schemas/Resource"}},"assets":{"type":"array","description":"A list of assets that should be linked to the resource.","items":{"type":"string","format":"binary"}}}}},"*/*":{}}}},"post":{"tags":["app","action"],"description":"Proxy a POST request action","operationId":"proxyPost","responses":{"default":{"description":"The proxied response"}},"security":[{"app":["email","profile"]},{}],"requestBody":{"description":"The data that was passed to the action","required":true,"content":{"multipart/form-data":{"schema":{"type":"object","description":"A `multipart/form-data` representation of a resource.","additionalProperties":true,"properties":{"resource":{"type":"array","items":{"$ref":"#/components/schemas/Resource"}},"assets":{"type":"array","description":"A list of assets that should be linked to the resource.","items":{"type":"string","format":"binary"}}}}},"*/*":{}}}},"put":{"tags":["app","action"],"description":"Proxy a PUT request action","operationId":"proxyPut","responses":{"default":{"description":"The proxied response"}},"security":[{"app":["email","profile"]},{}],"requestBody":{"description":"The data that was passed to the action","required":true,"content":{"multipart/form-data":{"schema":{"type":"object","description":"A `multipart/form-data` representation of a resource.","additionalProperties":true,"properties":{"resource":{"type":"array","items":{"$ref":"#/components/schemas/Resource"}},"assets":{"type":"array","description":"A list of assets that should be linked to the resource.","items":{"type":"string","format":"binary"}}}}},"*/*":{}}}}},"/api/apps/{appId}/clonable-assets":{"parameters":[{"$ref":"#/components/parameters/appId"}],"get":{"tags":["common","app","asset"],"description":"Check if an app has clonable assets.","operationId":"checkAppClonableAssets","responses":{"200":{"description":"Whether the app has clonable assets.","content":{"application/json":{"schema":{"type":"boolean"}}}}},"security":[{"studio":[]},{}]}},"/api/apps/{appId}/clonable-resources":{"parameters":[{"$ref":"#/components/parameters/appId"}],"get":{"tags":["common","app","resource"],"description":"Check if an app has clonable resources.","operationId":"checkAppClonableResources","responses":{"200":{"description":"Whether the app has clonable resources.","content":{"application/json":{"schema":{"type":"boolean"}}}}},"security":[{"studio":[]},{}]}},"/api/apps/{appId}/assets/\\$count":{"parameters":[{"$ref":"#/components/parameters/appId"}],"get":{"tags":["common","app","asset"],"description":"Get the number of assets in the app.","operationId":"countAppAssets","responses":{"200":{"description":"The number of assets in the app.","content":{"application/json":{"schema":{"type":"number"}}}}},"security":[{"studio":[]},{"app":["resources:manage"]},{"cli":["resources:read"]},{}]}},"/api/apps/{appId}/assets/{assetId}":{"parameters":[{"$ref":"#/components/parameters/appId"},{"$ref":"#/components/parameters/assetId"},{"$ref":"#/components/parameters/width"},{"$ref":"#/components/parameters/height"}],"get":{"tags":["common","app","asset"],"description":"Get a single asset","operationId":"getAppAssetById","responses":{"200":{"description":"The asset that matches the given id."}}},"head":{"tags":["common","app","asset"],"description":"Get the headers for a single asset","operationId":"getAppAssetHeadersById","responses":{"200":{"description":"The headers of the asset that matches the given id."}}},"delete":{"tags":["common","app","asset"],"description":"Remove an existing asset","operationId":"deleteAppAsset","responses":{"204":{"description":"The asset was successfully deleted."}},"security":[{"studio":[]},{"app":["resources:manage"]}]}},"/api/apps/{appId}/assets":{"parameters":[{"$ref":"#/components/parameters/appId"}],"get":{"tags":["common","app","asset"],"description":"Get all of the app’s assets.","operationId":"queryAppAssets","parameters":[{"$ref":"#/components/parameters/$skip"},{"$ref":"#/components/parameters/$top"},{"$ref":"#/components/parameters/seed"}],"responses":{"200":{"description":"The assets associated with the app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Asset"}}}}},"security":[{"studio":[]},{}]},"post":{"tags":["common","app","asset"],"description":"Upload a new asset.","operationId":"createAppAsset","parameters":[{"$ref":"#/components/parameters/seed"}],"requestBody":{"description":"The asset to upload.","content":{"multipart/form-data":{"schema":{"type":"object","description":"The request body for creating an asset.","additionalProperties":false,"required":["file"],"properties":{"file":{"type":"string","format":"binary","writeOnly":true,"description":"The binary data of the asset. This may include a filename."},"name":{"type":"string","pattern":"^([0-9a-z](?:(?!.*--)[-0-9a-z]*[0-9a-z])?)$","description":"The given name of the asset. Assets may be referenced by their name or ID in the API."},"clonable":{"type":"boolean","description":"Whether the asset should be transferable when cloning the app they are in."}}}}}},"responses":{"201":{"description":"The asset that was created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Asset"}}}}},"security":[{"studio":[]},{"cli":["assets:write"]},{}]},"delete":{"tags":["common","app","asset"],"description":"Delete multiple app assets.","operationId":"deleteAppAssets","parameters":[{"$ref":"#/components/parameters/seed"}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","description":"An array of asset IDs to remove.","items":{"$ref":"#/components/schemas/Asset/properties/id"}}}}},"responses":{"204":{"description":"The app assets have been deleted successfully."}},"security":[{"studio":[]},{"app":["resources:manage"]},{"cli":["assets:write"]},{}]}},"/api/apps/{appId}/broadcast":{"parameters":[{"$ref":"#/components/parameters/appId"}],"post":{"tags":["main","app"],"description":"Broadcast a push notification to every subscriber of the app.","operationId":"sendAppNotifications","requestBody":{"content":{"application/json":{"schema":{"type":"object","description":"The data to include in the notification","required":["body"],"properties":{"title":{"description":"The title of the notification. This defaults to the name of the app if not otherwise specified.","type":"string"},"body":{"description":"The content of the notification","type":"string"}}}}}},"responses":{"204":{"description":"The notification has been successfully broadcasted."}},"security":[{"studio":[]}]}},"/api/apps/{appId}/demo-groups":{"parameters":[{"$ref":"#/components/parameters/appId"}],"get":{"tags":["common","app","demo-group"],"description":"Get a list of app groups.","operationId":"getAppDemoGroups","responses":{"200":{"description":"The list of all groups.","content":{"application/json":{"schema":{"type":"array","items":{"description":"An app demo group","type":"object","properties":{"id":{"type":"number"},"name":{"type":"string"}}}}}}}}}},"/api/apps/{appId}/demo-members":{"parameters":[{"$ref":"#/components/parameters/appId"},{"$ref":"#/components/parameters/roles"},{"$ref":"#/components/parameters/$filter"}],"get":{"tags":["common","app","demo-member"],"description":"Fetch all demo members of an app.","operationId":"queryAppDemoMembers","responses":{"200":{"description":"The list of app demo members.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AppMemberInfo"}}}}}},"security":[{"studio":[]},{"app":[]},{}]},"post":{"tags":["main","seed-app-members","demo-member","app"],"description":"Seed demo app members from the cli.","operationId":"seedDemoAppMembers","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","additionalProperties":false,"items":{"type":"object","required":["name","role"],"properties":{"name":{"type":"string"},"role":{"type":"string"},"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"The member’s custom properties."},"timezone":{"enum":["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmera","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/La_Rioja","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Buenos_Aires","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Catamarca","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Ciudad_Juarez","America/Coral_Harbour","America/Cordoba","America/Costa_Rica","America/Coyhaique","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Fort_Nelson","America/Fortaleza","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Indianapolis","America/Inuvik","America/Iqaluit","America/Jamaica","America/Jujuy","America/Juneau","America/Kentucky/Monticello","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Louisville","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Mendoza","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montserrat","America/Nassau","America/New_York","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Ojinaga","America/Panama","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yakutat","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Calcutta","Asia/Chita","Asia/Colombo","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Hebron","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Katmandu","Asia/Khandyga","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Rangoon","Asia/Riyadh","Asia/Saigon","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faeroe","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Ulyanovsk","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zurich","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Ponape","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Truk","Pacific/Wake","Pacific/Wallis"]}}}}}}},"responses":{"200":{"description":"The list of created app members","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AppMemberInfo"}}}}}},"security":[{"cli":["apps:write"]}]},"delete":{"description":"Delete all seed app members for an app","tags":["main","app","demo-member","delete"],"operationId":"deleteSeedAppMembers","responses":{"204":{"description":"The seed app members have been deleted successfully"}},"security":[{"cli":["apps:write"]}]}},"/api/apps/{appId}/email":{"parameters":[{"$ref":"#/components/parameters/appId"}],"get":{"tags":["main","app"],"description":"Get the app’s email settings.","operationId":"getAppEmailSettings","responses":{"200":{"description":"The current app email settings","content":{"application/json":{"schema":{"type":"object","properties":{"emailName":{"type":"string","description":"The name used for emails."},"emailHost":{"type":"string","description":"The hostname of the SMTP server."},"emailPassword":{"type":"boolean","description":"Whether a password is set."},"emailUser":{"type":"string","description":"The username used to authenticate against the SMTP server."},"emailPort":{"type":"string","description":"The port used for the SMTP server."},"emailSecure":{"type":"boolean","description":"Whether TLS is being used."}}}}}}},"security":[{"studio":[]},{"cli":["apps:write"]}]}},"/api/undelivered-emails":{"post":{"tags":["main","emails"],"description":"Webhook for delivering response on undelivered emails.","parameters":[{"name":"secret","schema":{"type":"string"},"description":"Secret used to authenticate incoming Postal webhooks.","in":"query"}],"operationId":"undeliveredEmails","responses":{"200":{"description":"Response sent to Postal, should be 200 OK if we receive the webhook, regardless of our internals."}}}},"/api/apps/{appId}/payment":{"parameters":[{"$ref":"#/components/parameters/appId"}],"get":{"tags":["main","app"],"operationId":"getAppPaymentSettings","description":"Get app payment settings configuration","responses":{"200":{"description":"The app payment configuration","content":{"application/json":{"schema":{"type":"object","properties":{"stripeApiSecretKey":{"type":"boolean","description":"Whether stripe api key is set."},"stripeWebhookSecret":{"type":"boolean","description":"Whether stripe secret is set."},"successUrl":{"type":"string","description":"The url users are redirected to after successfully completing app related Stripe checkout session."},"cancelUrl":{"type":"string","description":"The url users are redirected to after unsuccessfully completing app related Stripe checkout session."}}}}}}},"parameters":[{"in":"path","name":"appId","description":"App that is creating the checkout.","schema":{"type":"number"}}],"security":[{"studio":[]}]},"patch":{"tags":["main","app"],"operationId":"updateAppPaymentSettings","description":"Update app payment settings configuration","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"stripeApiSecretKey":{"type":"string","description":"The private API key used for accessing Stripe account connected to the app."},"stripeWebhookSecret":{"type":"string","description":"The private secret used for authenticating app related Stripe webhooks."},"successUrl":{"type":"string","description":"The url users are redirected to after successfully completing app related Stripe checkout session."},"cancelUrl":{"type":"string","description":"The url users are redirected to after unsuccessfully completing app related Stripe checkout session."}}}}}},"responses":{"200":{"description":"The app payment configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppPaymentSettings"}}}}},"security":[{"studio":[]},{"cli":["apps:write"]}]}},"/api/apps/{appId}/accept-payment":{"post":{"tags":["main","app","payments"],"description":"Accept a payment for in app transaction.","operationId":"acceptAppPayment","requestBody":{"description":"Information about the payment sent by Stripe forwarded to an app webhook.","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string"},"api_version":{"type":"string"},"created":{"type":"number"},"data":{"type":"object","properties":{"object":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string"},"account_country":{"type":"string"},"account_name":{"type":"string"},"account_tax_ids":{"type":"string"},"amount_due":{"type":"number"},"amount_paid":{"type":"number"},"amount_remaining":{"type":"number"},"amount_shipping":{"type":"number"},"application":{"type":"string"},"application_fee_amount":{"type":"number"},"attempt_count":{"type":"number"},"attempted":{"type":"boolean"},"auto_advance":{"type":"boolean"},"automatic_tax":{"type":"object"},"automatically_finalizes_at":{"type":"number"},"billing_reason":{"type":"string"},"charge":{"type":"string"},"collection_method":{"type":"string"},"created":{"type":"number"},"currency":{"type":"string"},"custom_fields":{"type":"array","items":{"type":"object"}},"customer":{"type":"string"},"customer_address":{"type":"object"},"customer_email":{"type":"string"},"customer_name":{"type":"string"},"customer_phone":{"type":"string"},"customer_shipping":{"type":"object"},"customer_tax_exempt":{"type":"string"},"customer_tax_ids":{"type":"array","items":{"type":"object"}},"default_payment_method":{"type":"string"},"default_source":{"type":"string"},"default_tax_rates":{"type":"array","items":{"type":"object"}},"description":{"type":"string"},"discount":{"type":"object"},"discounts":{"type":"array","items":{"type":"string"}},"due_date":{"type":"number"},"effective_at":{"type":"number"},"ending_balance":{"type":"number"},"footer":{"type":"string"},"from_invoice":{"type":"object"},"hosted_invoice_url":{"type":"string"},"invoice_pdf":{"type":"string"},"issuer":{"type":"object"},"last_finalization_error":{"type":"object"},"latest_revision":{"type":"string"},"lines":{"type":"object"},"livemode":{"type":"boolean"},"metadata":{"type":"object","properties":{"id":{"type":"number"}}},"next_payment_attempt":{"type":"number"},"number":{"type":"string"},"on_behalf_of":{"type":"string"},"paid":{"type":"boolean"},"paid_out_of_band":{"type":"boolean"},"payment_intent":{"type":"string"},"payment_settings":{"type":"object"},"period_end":{"type":"number"},"period_start":{"type":"number"},"post_payment_credit_notes_amount":{"type":"number"},"pre_payment_credit_notes_amount":{"type":"number"},"quote":{"type":"string"},"receipt_number":{"type":"string"},"rendering":{"type":"object"},"shipping_cost":{"type":"object"},"shipping_details":{"type":"object"},"starting_balance":{"type":"number"},"statement_descriptor":{"type":"string"},"status":{"type":"string"},"status_transitions":{"type":"object"},"subscription":{"type":"string"},"subscription_details":{"type":"object"},"subtotal":{"type":"number"},"subtotal_excluding_tax":{"type":"number"},"tax":{"type":"number"},"test_clock":{"type":"string"},"total":{"type":"number"},"total_discount_amounts":{"type":"array","items":{"type":"object"}},"total_excluding_tax":{"type":"number"},"total_pretax_credit_amounts":{"type":"array","items":{"type":"object"}},"total_tax_amounts":{"type":"array","items":{"type":"object"}},"transfer_data":{"type":"object"},"webhooks_delivered_at":{"type":"number"}}}}},"livemode":{"type":"boolean"},"pending_webhooks":{"type":"number"},"request":{"type":"object","properties":{"id":{"type":"string"},"idempotency_key":{"type":"string"}}},"type":{"type":"string"}}}}}},"responses":{"200":{"description":"Response sent to Stripe, should be 200 OK if we receive the webhook, regardless of our internals."}}}},"/api/apps/{appId}/export":{"parameters":[{"$ref":"#/components/parameters/appId"}],"get":{"tags":["main","app"],"description":"Export an app as a zip file","operationId":"exportApp","parameters":[{"name":"resources","schema":{"type":"boolean"},"description":"Whether to include resources for an app.","in":"query"},{"name":"assets","schema":{"type":"boolean"},"description":"Whether to include assets in the export file","in":"query"},{"name":"screenshots","schema":{"type":"boolean"},"description":"Whether to include screenshots in the export file","in":"query"},{"name":"readmes","schema":{"type":"boolean"},"description":"Whether to include readmes in the export file","in":"query"}],"responses":{"200":{"description":"App exported successfully."}},"security":[{"studio":[]},{"cli":["apps:export"]}]}},"/api/apps/{appId}/groups":{"parameters":[{"$ref":"#/components/parameters/appId"}],"get":{"tags":["common","app","group"],"description":"Get a list of app groups.","operationId":"getAppGroups","responses":{"200":{"description":"The list of all groups.","content":{"application/json":{"schema":{"type":"array","items":{"description":"An app group","type":"object","properties":{"id":{"type":"number"},"name":{"type":"string"}}}}}}}},"security":[{"studio":[]},{"app":["groups:read"]},{}]},"post":{"tags":["common","app","group"],"description":"Create a new group.","operationId":"createAppGroup","parameters":[{"$ref":"#/components/parameters/selectedGroupId"}],"requestBody":{"description":"The group to create.","required":true,"content":{"application/json":{"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"annotations":{"type":"object","additionalProperties":{"type":"string"}}}}}}},"responses":{"201":{"description":"The created group","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"number"},"name":{"type":"string"},"role":{"type":"string","description":"The role of the user who created the group","enum":["member"]}}}}}}},"security":[{"app":["groups:write"]},{"studio":[]},{"cli":["groups:write"]}]}},"/api/apps/{appId}/icon":{"parameters":[{"$ref":"#/components/parameters/appId"}],"get":{"tags":["main","app"],"description":"Get the current app icon.","operationId":"getAppIcon","responses":{"200":{"description":"The icon of the app that matches the given id.","content":{"image/png":{},"image/jpeg":{},"image/tiff":{},"image/webp":{}}}}},"delete":{"tags":["main","app"],"description":"Delete the current app icon.","operationId":"deleteAppIcon","responses":{"204":{"description":"The icon has been successfully removed"}},"security":[{"studio":[]},{"cli":["apps:write"]}]}},"/api/apps/{appId}/create-checkout":{"parameters":[{"$ref":"#/components/parameters/appId"}],"post":{"tags":["main","app","payments"],"description":"Create checkout for in-app transaction.","operationId":"createAppCheckout","responses":{"200":{"description":"Whether the invoice has been succesfully created and sent to Stripe."}},"parameters":[{"in":"path","name":"appId","description":"App that is creating the checkout.","schema":{"type":"number"}},{"in":"query","name":"price","description":"Product that is being charged.","schema":{"type":"string"}},{"in":"query","name":"locale","description":"Locale that the app is currently shown in, to be used for Stripe checkout.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","description":"Customer email address"}},"required":["email"]}}}}}},"/api/apps/{appId}/invites/resend":{"parameters":[{"$ref":"#/components/parameters/appId"}],"post":{"tags":["app"],"description":"Request to resend an invitation.","operationId":"resendAppInvite","requestBody":{"description":"The email of the person to resend the invitation to.","required":true,"content":{"application/json":{"schema":{"type":"object","required":["email"],"properties":{"email":{"type":"string"}}}}}},"responses":{"204":{"description":"The invite has been sent."}},"security":[{"studio":[]}]}},"/api/apps/{appId}/invites":{"parameters":[{"$ref":"#/components/parameters/appId"}],"get":{"tags":["app","invite"],"description":"Get a list of invited app members.","operationId":"getAppInvites","responses":{"200":{"description":"The list of all invites.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"email":{"type":"string","format":"email"},"role":{"type":"string"}}}}}}}},"security":[{"studio":[]}]},"post":{"tags":["app","invite"],"description":"Invite a new app member to an app.","operationId":"createAppInvites","parameters":[{"$ref":"#/components/parameters/selectedGroupId"}],"requestBody":{"description":"The invite to create.","required":true,"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","required":["email","role"],"properties":{"email":{"type":"string","format":"email","description":"The email address of the user to invite."},"role":{"type":"string","description":"The role to invite the user as."}}}}}}},"responses":{"200":{"description":"The invited member","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppMember"}}}}},"security":[{"studio":[]},{"app":["app:write"]}]},"delete":{"tags":["app","invite"],"description":"Revoke an app member invitation.","operationId":"deleteAppInvite","requestBody":{"description":"The email address to revoke the invite of.","required":true,"content":{"application/json":{"schema":{"type":"object","required":["email"],"properties":{"email":{"type":"string","format":"email"}}}}}},"responses":{"204":{"description":"The invitation has been successfully revoked."}},"security":[{"studio":[]}]}},"/api/apps/{appId}/lock":{"parameters":[{"$ref":"#/components/parameters/appId"}],"post":{"tags":["main","app"],"description":"Update the locked property an app.","operationId":"setAppLock","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["locked"],"properties":{"locked":{"$ref":"#/components/schemas/App/properties/locked","description":"Whether the app should be locked."}}}}}},"responses":{"204":{"description":"Lock status successfully changed","content":{"application/zip":{}}}},"security":[{"studio":[]},{"cli":["apps:write"]}]}},"/api/apps/{appId}/maskable-icon":{"parameters":[{"$ref":"#/components/parameters/appId"}],"delete":{"tags":["main","app"],"description":"Delete the current app’s maskable icon.","operationId":"deleteAppMaskableIcon","responses":{"204":{"description":"The icon has been successfully removed"}},"security":[{"studio":[]},{"cli":["apps:write"]}]}},"/api/apps/{appId}/members/current/groups":{"parameters":[{"$ref":"#/components/parameters/appId"}],"get":{"tags":["app","member","current-member"],"description":"Get a list of groups that the app member is a member of.","operationId":"getCurrentAppMemberGroups","responses":{"200":{"description":"The list of groups of the app member.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number"},"name":{"type":"string"},"role":{"type":"string"}}}}}}}},"security":[{"app":[]}]}},"/api/apps/{appId}/members/current/link":{"parameters":[{"$ref":"#/components/parameters/appId"}],"post":{"tags":["app","member","current-member"],"description":"Link the app member to an unlinked authorization.","operationId":"linkCurrentAppMember","security":[{"app":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"externalId":{"type":"string","description":"The external id of the of the external user.\n\nThe `externalId` maps to the following ids of the external login methods.\n- Appsemble OAuth2 login: `UserId`\n- App OAuth2 login: `sub`\n- App SAML login: `nameId`\n"},"secret":{"type":"string","description":"The secret that was used to get the external id."}}}}}},"responses":{"200":{"description":"","content":{}}}}},"/api/apps/{appId}/members/current":{"parameters":[{"$ref":"#/components/parameters/appId"}],"get":{"tags":["app","member","current-member"],"description":"\n      Get the app member information formatted as OpenID user info.\n\n      See https://connect2id.com/products/server/docs/api/userinfo\n    ","operationId":"getCurrentAppMember","security":[{"app":["openid"]}],"responses":{"200":{"description":"OpenID compatible app member information","content":{"application/json":{"schema":{"type":"object","properties":{"sub":{"type":"string","description":"The subject (end-user) identifier. "},"name":{"type":"string","description":"The full name of the end-user"},"picture":{"type":"string","format":"url","description":"The URL of the profile page for the end-user."},"profile":{"type":"string","format":"url","description":"The URL to the app member profile."},"email":{"type":"string","format":"email","description":"The end-user’s preferred email address."},"email_verified":{"type":"boolean","description":"True if the end-user’s email address has been verified, else false."},"properties":{"type":"object","description":"Custom app member properties."},"phoneNumber":{"type":"string","description":"Phone number"}}}}}}}},"patch":{"description":"Update the data of the currently logged in app member","tags":["app","member"],"operationId":"patchCurrentAppMember","security":[{"studio":[]},{"app":[]}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string"},"picture":{"type":"string","format":"binary","description":"The member’s profile picture."},"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"The member’s custom properties."},"locale":{"type":"string","description":"The preferred locale of the user."},"phoneNumber":{"type":"string","description":"Phone number"}}},"encoding":{"picture":{"contentType":"image/png,image/jpeg,image/tiff,image/webp"}}}}},"responses":{"200":{"description":"The patched app member","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppMember"}}}}}}},"/api/apps/{appId}/members":{"parameters":[{"$ref":"#/components/parameters/appId"},{"$ref":"#/components/parameters/roles"},{"$ref":"#/components/parameters/selectedGroupId"},{"$ref":"#/components/parameters/$filter"}],"get":{"tags":["common","app","member"],"description":"Fetch all members of an app.","operationId":"queryAppMembers","security":[{"studio":[]},{"app":["openid"]},{}],"responses":{"200":{"description":"The list of app members.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AppMemberInfo"}}}}}}}},"/api/apps/{appId}/messages/{language}":{"parameters":[{"$ref":"#/components/parameters/appId"},{"$ref":"#/components/parameters/language"},{"in":"query","name":"merge","description":"Whether the language’s messages should be merged with its base language.","schema":{"type":"string"}},{"in":"query","name":"override","description":"Whether the app’s language overrides should be included and merged.","schema":{"type":"string","default":"true"}}],"delete":{"tags":["main","apps","language"],"description":"Delete the app’s messages for this language.","operationId":"deleteAppMessages","responses":{"204":{"description":"The messages have successfully been deleted."}},"security":[{"studio":[]}]},"get":{"tags":["common","apps","language"],"description":"Get the app’s messages for this language.","operationId":"getAppMessages","responses":{"200":{"description":"The app messages for the selected language.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppMessages"}}}}}}},"/api/apps/{appId}/messages":{"parameters":[{"$ref":"#/components/parameters/appId"},{"name":"merge","in":"query","schema":{"type":"boolean"}},{"name":"includeMessages","in":"query","schema":{"type":"boolean"}}],"get":{"tags":["common","apps","language"],"description":"Get a list of all languages with messages.","operationId":"getAppLanguages","responses":{"200":{"description":"The list of supported languages","content":{"application/json":{"schema":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"#/components/schemas/AppMessages"}]}}}}}}},"post":{"tags":["main","apps","language"],"description":"Upload messages for the given language.","operationId":"createAppMessages","requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AppMessages"},{"type":"array","items":{"$ref":"#/components/schemas/AppMessages"}}]}}}},"responses":{"201":{"description":"The translation was created.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AppMessages"},{"type":"array","items":{"$ref":"#/components/schemas/AppMessages"}}]}}}}},"security":[{"studio":[]},{"cli":["apps:write"]}]}},"/api/apps/{appId}/quotas/email":{"get":{"tags":["main","app","quota","email"],"operationId":"getAppEmailQuota","parameters":[{"$ref":"#/components/parameters/appId"}],"security":[{"studio":[]},{}],"responses":{"200":{"description":"Email quota for an app","content":{"application/json":{"schema":{"type":"object","properties":{"used":{"type":"number","description":"Number of emails sent today"},"limit":{"type":"number","description":"Maximum number of emails that can be sent today"},"reset":{"type":"string","format":"date-time","description":"Date and time when the quota resets"}}}}}}}}},"/api/apps/{appId}/ratings":{"parameters":[{"$ref":"#/components/parameters/appId"}],"get":{"tags":["main","app","rating"],"description":"Fetch all ratings of an app.","operationId":"getAppRatings","responses":{"200":{"description":"The list of apps ratings.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Rating"}}}}}}},"post":{"tags":["main","app","rating"],"description":"Submit an app rating.","operationId":"createAppRating","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["rating"],"properties":{"rating":{"$ref":"#/components/schemas/Rating/properties/rating"},"description":{"$ref":"#/components/schemas/Rating/properties/description"}}}}}},"responses":{"200":{"description":"The submitted app rating.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Asset/properties/id"}}}}},"security":[{"studio":[]}]}},"/api/apps/{appId}/readmes/{readmeId}":{"parameters":[{"$ref":"#/components/parameters/appId"},{"$ref":"#/components/parameters/readmeId"}],"get":{"tags":["main","app","readme"],"description":"Get a readme of an app.","operationId":"getAppReadme","responses":{"200":{"description":"The app readme"}}}},"/api/apps/{appId}/reseed":{"parameters":[{"$ref":"#/components/parameters/appId"}],"post":{"tags":["main","app"],"operationId":"reseedDemoApp","responses":{"200":{"description":"The app has successfully been reseeded."}},"security":[{"studio":["apps:write"]}]}},"/api/apps/{appId}/resources/{resourceType}/\\$count":{"parameters":[{"$ref":"#/components/parameters/appId"},{"$ref":"#/components/parameters/resourceType"},{"$ref":"#/components/parameters/selectedGroupId"}],"get":{"tags":["common","app","resource"],"description":"Get a count of all resources of this app.","operationId":"countAppResources","parameters":[{"$ref":"#/components/parameters/$filter"},{"$ref":"#/components/parameters/$own"}],"responses":{"200":{"description":"The count of all this app’s resources of this type.","content":{"application/json":{"schema":{"type":"number"}}}}},"security":[{"studio":[]},{"app":["resources:manage"]},{"cli":["resources:read"]},{}]}},"/api/apps/{appId}/resources/{resourceType}/{resourceId}/subscriptions":{"parameters":[{"$ref":"#/components/parameters/appId"},{"$ref":"#/components/parameters/resourceType"},{"$ref":"#/components/parameters/resourceId"},{"$ref":"#/components/parameters/endpoint"}],"get":{"tags":["common","app","resource","subscription"],"description":"Get the subscription status of a resource.","operationId":"getAppResourceSubscription","responses":{"200":{"description":"The subscription status of the resource that matches the given id.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"number"},"update":{"type":"boolean"},"delete":{"type":"boolean"}}}}}}}}},"/api/apps/{appId}/resources/{resourceType}/{resourceId}":{"parameters":[{"$ref":"#/components/parameters/appId"},{"$ref":"#/components/parameters/resourceType"},{"$ref":"#/components/parameters/resourceId"},{"$ref":"#/components/parameters/selectedGroupId"}],"get":{"tags":["common","app","resource"],"parameters":[{"$ref":"#/components/parameters/view"},{"name":"$own","schema":{"type":"boolean"},"description":"If the resources created by the authenticated app member should be included","in":"query"}],"description":"Get a single app resource.","operationId":"getAppResourceById","responses":{"200":{"description":"The resource that matches the given id.","$ref":"#/components/responses/resource"}},"security":[{"studio":[]},{"app":["resources:manage"]},{"cli":["resources:read"]},{}]},"put":{"tags":["common","app","resource"],"description":"Update an existing app resource.","operationId":"updateAppResource","requestBody":{"required":true,"$ref":"#/components/requestBodies/resource"},"responses":{"200":{"description":"The updated resource.","$ref":"#/components/responses/resource"}},"security":[{"studio":[]},{"app":["resources:manage"]},{"cli":["resources:write"]},{}]},"patch":{"tags":["common","app","resource"],"description":"Patch an existing app resource.","operationId":"patchAppResource","requestBody":{"required":true,"$ref":"#/components/requestBodies/resource"},"responses":{"200":{"description":"The patched resource.","$ref":"#/components/responses/resource"}},"security":[{"studio":[]},{"app":["resources:manage"]},{"cli":["resources:write"]},{}]},"delete":{"tags":["common","app","resource"],"description":"Delete an existing app resource.","operationId":"deleteAppResource","responses":{"204":{"description":"The app resource has been deleted successfully.","$ref":"#/components/responses/resource"}},"security":[{"studio":[]},{"app":["resources:manage"]},{"cli":["resources:write"]},{}]}},"/api/apps/{appId}/resources/{resourceType}/{resourceId}/group":{"parameters":[{"$ref":"#/components/parameters/appId"},{"$ref":"#/components/parameters/resourceType"},{"$ref":"#/components/parameters/resourceId"},{"$ref":"#/components/parameters/selectedGroupId","description":"ID of the group resource belongs to this"}],"put":{"tags":["app","resource","positioning","custom-sort"],"description":"Move a resource from one group to another or from no group to other.","operationId":"updateAppResourceGroup","requestBody":{"content":{"application/json":{"schema":{"type":"object","description":"","required":["groupId"],"properties":{"groupId":{"description":"ID of the group the resource should be moved to"}}}}}},"responses":{"200":{"description":"The updated group ID.","content":{"application/json":{"schema":{"type":"number","description":"The updated group ID"}}}}},"security":[{"app":["resources:manage"]},{}]}},"/api/apps/{appId}/resources/{resourceType}/subscriptions":{"parameters":[{"$ref":"#/components/parameters/appId"},{"$ref":"#/components/parameters/resourceType"},{"$ref":"#/components/parameters/endpoint"}],"get":{"tags":["common","app","resource","subscription"],"description":"Get the current subscription status of this resource.","operationId":"getAppResourceTypeSubscription","responses":{"200":{"description":"The subscription status for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceSubscription"}}}}},"security":[{"studio":[]},{"app":["openid"]},{}]}},"/api/apps/{appId}/resources/{resourceType}":{"parameters":[{"$ref":"#/components/parameters/appId"},{"$ref":"#/components/parameters/resourceType"},{"$ref":"#/components/parameters/selectedGroupId"}],"get":{"tags":["common","app","resource"],"description":"Get all resources of this app.","operationId":"queryAppResources","parameters":[{"$ref":"#/components/parameters/view"},{"$ref":"#/components/parameters/$filter"},{"$ref":"#/components/parameters/$orderby"},{"$ref":"#/components/parameters/$select"},{"$ref":"#/components/parameters/$skip"},{"$ref":"#/components/parameters/$top"},{"$ref":"#/components/parameters/$own"},{"$ref":"#/components/parameters/delimiter"}],"responses":{"200":{"description":"The list of all this app’s resources of this type.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Resource"}}},"text/csv":{"schema":{"type":"string"}}}}},"security":[{"studio":[]},{"app":["resources:manage"]},{"cli":["resources:read"]},{}]},"post":{"tags":["common","app","resource"],"description":"Create a new resource for this app.","operationId":"createAppResource","requestBody":{"required":true,"description":"The resource to create","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/Resource"},{"type":"array","items":{"$ref":"#/components/schemas/Resource"}}]}},"multipart/form-data":{"schema":{"type":"object","required":["resource"],"description":"A `multipart/form-data` representation of a resource.","additionalProperties":false,"properties":{"resource":{"type":"array","items":{"$ref":"#/components/schemas/Resource"}},"assets":{"type":"array","description":"A list of assets that should be linked to the resource.","items":{"type":"string","format":"binary"}}}}},"text/csv":{"schema":{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}}}}}},"responses":{"201":{"description":"The resource that was created.","$ref":"#/components/responses/resource"}},"security":[{"studio":[]},{"app":["resources:manage"]},{"cli":["resources:write"]},{}]},"put":{"tags":["common","app","resource"],"description":"Update existing app resources.","operationId":"updateAppResources","requestBody":{"required":true,"description":"The resources to update","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Resource"}}},"multipart/form-data":{"schema":{"type":"object","required":["resource"],"description":"A `multipart/form-data` representation of a resource.","additionalProperties":false,"properties":{"resource":{"type":"array","items":{"$ref":"#/components/schemas/Resource"}},"assets":{"type":"array","description":"A list of assets that should be linked to the resources.","items":{"type":"string","format":"binary"}}}}},"text/csv":{"schema":{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}}}}}},"responses":{"200":{"description":"The updated resources.","$ref":"#/components/responses/resource"}},"security":[{"studio":[]},{"app":["resources:manage"]},{"cli":["resources:write"]},{}]},"delete":{"tags":["common","app","resource"],"description":"Delete multiple app resources.","operationId":"deleteAppResources","requestBody":{"content":{"application/json":{"schema":{"type":"array","description":"An array of resource IDs to remove.","items":{"$ref":"#/components/schemas/Resource/properties/id"}}}}},"responses":{"204":{"description":"The app resources have been deleted successfully."}},"security":[{"studio":[]},{"app":["resources:manage"]},{"cli":["resources:write"]},{}]}},"/api/apps/{appId}/resources/{resourceType}/{resourceId}/versions":{"parameters":[{"$ref":"#/components/parameters/appId"},{"$ref":"#/components/parameters/resourceType"},{"$ref":"#/components/parameters/resourceId"},{"$ref":"#/components/parameters/selectedGroupId"}],"get":{"tags":["main","app","resource","version"],"description":"Get the known history of a resource","operationId":"getAppResourceVersions","responses":{"200":{"description":"The resource that matches the given id.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/responses/resource"}}}}}},"security":[{"studio":[]},{"app":["resources:manage"]}]}},"/api/apps/{appId}/resources/{resourceType}/{resourceId}/positions":{"parameters":[{"$ref":"#/components/parameters/appId"},{"$ref":"#/components/parameters/resourceType"},{"$ref":"#/components/parameters/resourceId"},{"$ref":"#/components/parameters/selectedGroupId"},{"$ref":"#/components/parameters/$filter"}],"put":{"tags":["app","resource","positioning","custom-sort"],"description":"Update the current position of the resource in the order.","operationId":"updateAppResourcePosition","requestBody":{"content":{"application/json":{"schema":{"type":"object","description":"","required":["prevResourcePosition","nextResourcePosition"],"properties":{"prevResourcePosition":{"oneOf":[{"type":"number","minimum":0},{"enum":[null]}]},"nextResourcePosition":{"oneOf":[{"type":"number","minimum":0},{"enum":[null]}]}}}}}},"responses":{"200":{"description":"The subscription status of the resource that matches the given id.","content":{"application/json":{"schema":{"type":"number","description":"The updated position"}}}}},"security":[{"app":["resources:manage"]},{}]}},"/api/apps/{appId}/resources":{"parameters":[{"$ref":"#/components/parameters/appId"}],"delete":{"tags":["main","app","resource"],"description":"Delete all app seed resources.","operationId":"deleteAppSeedResources","responses":{"204":{"description":"The app resources have been deleted successfully."}},"security":[{"cli":["resources:write"]},{}]}},"/api/apps/{appId}/saml/{appSamlSecretId}/acs":{"parameters":[{"$ref":"#/components/parameters/appId"},{"$ref":"#/components/parameters/appSamlSecretId"}],"post":{"tags":["main","app","saml"],"operationId":"assertAppSamlConsumerService","security":[{"studio":[]},{}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"RelayState":{"type":"string"},"SAMLResponse":{"type":"string"}}}}}},"responses":{"302":{"description":"A list of the SAML secrets for the app.","content":{"application/json":{"schema":{}}}}}}},"/api/apps/{appId}/saml/{appSamlSecretId}/authn":{"parameters":[{"$ref":"#/components/parameters/appId"},{"$ref":"#/components/parameters/appSamlSecretId"}],"post":{"tags":["main","app","saml"],"operationId":"createAppSamlAuthnRequest","security":[{"studio":[]},{}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"redirectUri":{"type":"string"},"scope":{"type":"string"},"state":{"type":"string"},"timezone":{"enum":["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmera","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/La_Rioja","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Buenos_Aires","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Catamarca","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Ciudad_Juarez","America/Coral_Harbour","America/Cordoba","America/Costa_Rica","America/Coyhaique","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Fort_Nelson","America/Fortaleza","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Indianapolis","America/Inuvik","America/Iqaluit","America/Jamaica","America/Jujuy","America/Juneau","America/Kentucky/Monticello","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Louisville","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Mendoza","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montserrat","America/Nassau","America/New_York","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Ojinaga","America/Panama","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yakutat","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Calcutta","Asia/Chita","Asia/Colombo","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Hebron","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Katmandu","Asia/Khandyga","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Rangoon","Asia/Riyadh","Asia/Saigon","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faeroe","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Ulyanovsk","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zurich","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Ponape","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Truk","Pacific/Wake","Pacific/Wallis"]}}}}}},"responses":{"201":{"description":"A list of the SAML secrets for the app.","content":{"application/json":{"schema":{}}}}}}},"/api/apps/{appId}/saml/{appSamlSecretId}/metadata.xml":{"parameters":[{"$ref":"#/components/parameters/appId"},{"$ref":"#/components/parameters/appSamlSecretId"}],"get":{"tags":["main","app","saml"],"operationId":"getAppSamlEntityId","responses":{"200":{"description":"Get the SAML entity ID metadata","content":{"application/xml":{"schema":{}}}}}}},"/api/apps/{appId}/scim/resource-types/{resourceTypeId}":{"parameters":[{"$ref":"#/components/parameters/appId"},{"name":"resourceTypeId","in":"path","schema":{"type":"string"}}],"get":{"tags":["main","app","scim"],"security":[{"scim":[]}],"operationId":"getAppScimResourceType","responses":{"200":{"description":"SCIM user","content":{"application/scim+json":{"schema":{}}}}}}},"/api/apps/{appId}/scim/resource-types":{"parameters":[{"$ref":"#/components/parameters/appId"}],"get":{"tags":["main","app","scim"],"security":[{"scim":[]}],"operationId":"getAppScimResourceTypes","responses":{"200":{"description":"SCIM user","content":{"application/scim+json":{"schema":{}}}}}}},"/api/apps/{appId}/scim/schemas/{schemaId}":{"parameters":[{"$ref":"#/components/parameters/appId"},{"name":"schemaId","in":"path","schema":{"type":"string"}}],"get":{"tags":["main","app","scim"],"security":[{"scim":[]}],"operationId":"getAppScimSchema","responses":{"200":{"description":"The SCIM Schema","content":{"application/scim+json":{"schema":{"$ref":"#/components/schemas/ScimUser"}}}}}}},"/api/apps/{appId}/scim/schemas":{"parameters":[{"$ref":"#/components/parameters/appId"}],"get":{"tags":["main","app","scim"],"security":[{"scim":[]}],"operationId":"getAppScimSchemas","responses":{"200":{"description":"The SCIM Schema","content":{"application/scim+json":{"schema":{"$ref":"#/components/schemas/ScimUser"}}}}}}},"/api/apps/{appId}/scim/service-provider-config":{"parameters":[{"$ref":"#/components/parameters/appId"}],"get":{"tags":["main","app","scim"],"security":[{"scim":[]}],"operationId":"getAppScimServiceProviderConfig","responses":{"200":{"description":"SCIM user","content":{"application/scim+json":{"schema":{}}}}}}},"/api/apps/{appId}/scim/users/{userId}":{"parameters":[{"$ref":"#/components/parameters/appId"},{"name":"userId","in":"path","description":"The ID of the member to perform the operation on","required":true,"schema":{"$ref":"#/components/schemas/User/properties/id"}}],"get":{"tags":["main","app","scim"],"security":[{"scim":[]}],"operationId":"getAppScimUser","responses":{"200":{"description":"SCIM user","content":{"application/scim+json":{"schema":{"$ref":"#/components/schemas/ScimUser"}}}}}},"delete":{"tags":["main","app","scim"],"security":[{"scim":[]}],"operationId":"deleteAppScimUser","responses":{"204":{"description":"SCIM user"}}},"put":{"tags":["main","app","scim"],"security":[{"scim":[]}],"operationId":"updateAppScimUser","requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}},"application/scim+json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"SCIM user"}}},"patch":{"tags":["main","app","scim"],"security":[{"scim":[]}],"operationId":"patchAppScimUser","requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}},"application/scim+json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"SCIM user"}}}},"/api/apps/{appId}/scim/users":{"parameters":[{"$ref":"#/components/parameters/appId"}],"post":{"tags":["main","app","scim"],"security":[{"scim":[]}],"operationId":"createAppScimUser","requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}},"application/scim+json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"201":{"description":"Integrated SCIM user schema","content":{"application/scim+json":{"schema":{"$ref":"#/components/schemas/ScimUser"}}}}}},"get":{"tags":["main","app","scim"],"security":[{"scim":[]}],"operationId":"getAppScimUsers","parameters":[{"name":"count","in":"query","schema":{"type":"number"}},{"name":"startIndex","in":"query","schema":{"type":"number"}}],"responses":{"200":{"description":"SCIM user","content":{"application/scim+json":{"schema":{"$ref":"#/components/schemas/ScimUser"}}}}}}},"/api/apps/{appId}/screenshots/{screenshotId}":{"parameters":[{"$ref":"#/components/parameters/appId"},{"$ref":"#/components/parameters/screenshotId"}],"get":{"tags":["main","app","screenshot"],"description":"Get a screenshot of an app.","operationId":"getAppScreenshot","responses":{"200":{"description":"The app screenshot"}}},"delete":{"tags":["main","app","screenshot"],"description":"Delete an existing screenshot.","operationId":"deleteAppScreenshot","responses":{"200":{"description":"The screenshot has been successfully deleted."}},"security":[{"studio":[]},{"cli":["apps:write"]}]}},"/api/apps/{appId}/screenshots":{"parameters":[{"$ref":"#/components/parameters/appId"}],"post":{"tags":["main","app","screenshot"],"description":"Add one or multiple screenshots of an app.","operationId":"createAppScreenshot","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"screenshots":{"type":"array","description":"Screenshots to showcase in the store","minItems":1,"items":{"type":"string","format":"binary"}},"language":{"type":"string","description":"The language for which the screenshots will be uploaded"}}},"encoding":{"screenshots":{"contentType":"image/png,image/jpeg,image/tiff,image/webp"}}}}},"responses":{"201":{"description":"The screenshots have been successfully created.","content":{"application/json":{"schema":{"type":"array","items":{"type":"integer","description":"The ID of the newly created screenshot."}}}}}},"security":[{"studio":[]},{"cli":["apps:write"]}]}},"/api/apps/{appId}/secrets/oauth2/{appOAuth2SecretId}/verify":{"parameters":[{"$ref":"#/components/parameters/appId"},{"$ref":"#/components/parameters/appOAuth2SecretId"}],"post":{"tags":["main","app","secret","oauth2"],"operationId":"verifyAppOAuth2SecretCode","security":[{"studio":[]},{}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["code","scope","redirectUri","timezone"],"properties":{"code":{"type":"string"},"scope":{"type":"string"},"redirectUri":{"type":"string"},"timezone":{"type":"string"}}}}}},"responses":{"200":{"description":"\n            Get a partial app OAuth2 secret\n\n            Only public facing values are output on this endpoint.\n          ","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}},"/api/apps/{appId}/secrets/oauth2/{appOAuth2SecretId}":{"parameters":[{"$ref":"#/components/parameters/appId"},{"$ref":"#/components/parameters/appOAuth2SecretId"}],"get":{"tags":["main","app","secret","oauth2"],"operationId":"getAppOAuth2Secret","responses":{"200":{"description":"\n            Get a partial app OAuth2 secret\n\n            Only public facing values are output on this endpoint.\n          ","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AppOAuth2Secret"}}}}}}},"put":{"tags":["main","app","secret","oauth2"],"operationId":"updateAppOAuth2Secret","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppOAuth2Secret"}}}},"security":[{"studio":[]}],"responses":{"200":{"description":"The updated OAuth2 secret.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppOAuth2Secret"}}}}}},"delete":{"tags":["main","app","secret","oauth2"],"operationId":"deleteAppOAuth2Secret","security":[{"studio":[]}],"responses":{"204":{"description":"The deleted OAuth2 secret."}}}},"/api/apps/{appId}/secrets/oauth2":{"parameters":[{"$ref":"#/components/parameters/appId"}],"post":{"tags":["main","app","secret","oauth2"],"operationId":"createAppOAuth2Secret","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppOAuth2Secret"}}}},"security":[{"studio":[]},{"cli":["apps:write"]}],"responses":{"201":{"description":"A list of the OAuth2 secrets for the app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppOAuth2Secret"}}}}}},"get":{"tags":["main","app","secret","oauth2"],"operationId":"getAppOAuth2Secrets","security":[{"studio":[]}],"responses":{"200":{"description":"A list of the OAuth2 secrets for the app.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AppOAuth2Secret"}}}}}}},"delete":{"tags":["main","app","secret","oauth2"],"operationId":"deleteAppOAuth2Secrets","security":[{"studio":[]},{"cli":["apps:write"]}],"responses":{"204":{"description":"The deleted app OAuth2 secrets."}}}},"/api/apps/{appId}/secrets/saml/{appSamlSecretId}":{"parameters":[{"$ref":"#/components/parameters/appId"},{"$ref":"#/components/parameters/appSamlSecretId"}],"put":{"tags":["main","app","secret","saml"],"operationId":"updateAppSamlSecret","requestBody":{"content":{"application/json":{"schema":{}}}},"security":[{"studio":[]}],"responses":{"200":{"description":"The updated SAML secret.","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["main","app","secret","saml"],"operationId":"deleteAppSamlSecret","security":[{"studio":[]}],"responses":{"204":{"description":"The deleted SAML secret."}}}},"/api/apps/{appId}/secrets/saml":{"parameters":[{"$ref":"#/components/parameters/appId"}],"post":{"tags":["main","app","secret","saml"],"operationId":"createAppSamlSecret","requestBody":{"content":{"application/json":{"schema":{}}}},"security":[{"studio":[]},{"cli":["apps:write"]}],"responses":{"201":{"description":"A list of the SAML secrets for the app.","content":{"application/json":{"schema":{}}}}}},"get":{"tags":["main","app","secret","saml"],"operationId":"getAppSamlSecrets","security":[{"studio":[]}],"responses":{"200":{"description":"A list of the SAML secrets for the app.","content":{"application/json":{"schema":{"type":"array","items":{}}}}}}},"delete":{"tags":["main","app","secret","saml"],"operationId":"deleteAppSamlSecrets","security":[{"studio":[]},{"cli":["apps:write"]}],"responses":{"204":{"description":"The deleted app saml secrets."}}}},"/api/apps/{appId}/secrets/scim":{"parameters":[{"$ref":"#/components/parameters/appId"}],"get":{"tags":["main","app","secret","scim"],"operationId":"getAppScimSecret","description":"Get app SCIM secret configuration","security":[{"studio":[]}],"responses":{"200":{"description":"The app SCIM configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScimSecret"}}}}}},"patch":{"tags":["main","app","secret","scim"],"operationId":"updateAppScimSecret","description":"Update app SCIM secret configuration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScimSecret"}}}},"security":[{"studio":[]},{"cli":["apps:write"]}],"responses":{"200":{"description":"The app SCIM configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScimSecret"}}}}}}},"/api/apps/{appId}/secrets/service/{serviceSecretId}":{"parameters":[{"$ref":"#/components/parameters/appId"},{"$ref":"#/components/parameters/serviceSecretId"}],"put":{"tags":["main","app","secret","service"],"operationId":"updateAppServiceSecret","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppServiceSecret"}}}},"security":[{"studio":[]}],"responses":{"200":{"description":"The updated app service secret.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppServiceSecret"}}}}}},"delete":{"tags":["main","app","secret","service"],"operationId":"deleteAppServiceSecret","security":[{"studio":[]}],"responses":{"204":{"description":"The deleted app service secret."}}}},"/api/apps/{appId}/secrets/service":{"parameters":[{"$ref":"#/components/parameters/appId"}],"post":{"tags":["main","app","secret","service"],"operationId":"createAppServiceSecret","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppServiceSecret"}}}},"security":[{"studio":[]},{"cli":["apps:write"]}],"responses":{"201":{"description":"The created app service secret.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppServiceSecret"}}}}}},"get":{"tags":["main","app","secret","service"],"operationId":"getAppServiceSecrets","security":[{"studio":[]}],"responses":{"200":{"description":"The list of app service secrets.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AppServiceSecret"}}}}}}},"delete":{"tags":["main","app","secret","service"],"operationId":"deleteAppServiceSecrets","security":[{"studio":[]},{"cli":["apps:write"]}],"responses":{"204":{"description":"The deleted app service secrets."}}}},"/api/apps/{appId}/secrets/ssl":{"parameters":[{"$ref":"#/components/parameters/appId"}],"get":{"tags":["main","app","secret","ssl"],"description":"Get the SSL certificate of an app","operationId":"getAppSslSecret","responses":{"200":{"description":"The SSL secret of the app.","$ref":"#/components/schemas/SSLSecret"}},"security":[{"studio":[]}]},"put":{"tags":["main","app","secret","ssl"],"description":"Update the app’s SSL secret","operationId":"updateAppSslSecret","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SSLSecret"}}}},"responses":{"200":{"description":"The updated SSL secret.","$ref":"#/components/schemas/SSLSecret"}},"security":[{"studio":[]},{"cli":["apps:write"]}]}},"/api/apps/{appId}/secrets/webhook/{webhookSecretId}":{"parameters":[{"$ref":"#/components/parameters/appId"},{"$ref":"#/components/parameters/webhookSecretId"}],"get":{"tags":["main","app","secret","webhook"],"operationId":"getAppWebhookSecret","security":[{"studio":[]}],"responses":{"200":{"description":"The requested webhook secret.","content":{"application/json":{"schema":{"type":"object","properties":{"secret":{"type":"string"}}}}}}}},"put":{"tags":["main","app","secret","webhook"],"operationId":"updateAppWebhookSecret","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppWebhookSecret"}}}},"security":[{"studio":[]}],"responses":{"200":{"description":"The updated app webhook secret.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppWebhookSecret"}}}}}},"delete":{"tags":["main","app","secret","webhook"],"operationId":"deleteAppWebhookSecret","security":[{"studio":[]}],"responses":{"204":{"description":"The deleted app webhook secret."}}}},"/api/apps/{appId}/secrets/webhook":{"parameters":[{"$ref":"#/components/parameters/appId"}],"post":{"tags":["main","app","secret","webhook"],"operationId":"createAppWebhookSecret","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppWebhookSecret"}}}},"security":[{"studio":[]},{"cli":["apps:write"]}],"responses":{"201":{"description":"The created app webhook secret.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppWebhookSecret"}}}}}},"get":{"tags":["main","app","secret","webhook"],"operationId":"getAppWebhookSecrets","security":[{"studio":[]}],"responses":{"200":{"description":"The list of app webhook secrets.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AppWebhookSecret"}}}}}}}},"/api/apps/{appId}/snapshots/{snapshotId}":{"parameters":[{"$ref":"#/components/parameters/appId"},{"name":"snapshotId","in":"path","description":"The ID of the snapshot","required":true,"schema":{"type":"number","description":"The ID of the snapshot."}}],"get":{"tags":["main","app","snapshot"],"description":"Get a single snapshot made of the app.","operationId":"getAppSnapshot","responses":{"200":{"description":"The snapshot","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the snapshot."},"yaml":{"type":"string","description":"The app definition."},"$created":{"type":"string","format":"date-time","description":"The creation date of the snapshot."},"$author":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/User/properties/id"},"name":{"$ref":"#/components/schemas/User/properties/name"}}}}}}}}},"security":[{"studio":[]},{"cli":["apps:write"]}]}},"/api/apps/{appId}/snapshots":{"parameters":[{"$ref":"#/components/parameters/appId"}],"get":{"tags":["main","app","snapshot"],"description":"Get a list of snapshots made of the app.","operationId":"getAppSnapshots","responses":{"200":{"description":"The available snapshots","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number","description":"The ID of the snapshot."},"$created":{"type":"string","format":"date-time","description":"The creation date of the snapshot."},"$author":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/User/properties/id"},"name":{"$ref":"#/components/schemas/User/properties/name"}}}}}}}}}},"security":[{"studio":[]},{"cli":["apps:write"]}]}},"/api/apps/{appId}/style/block/@{organizationId}/{blockId}":{"parameters":[{"$ref":"#/components/parameters/appId"},{"$ref":"#/components/parameters/organizationId"},{"$ref":"#/components/parameters/blockId"}],"get":{"tags":["common","app"],"description":"Get the app style for a block.","operationId":"getAppBlockStyle","responses":{"200":{"description":"The stylesheet associated with this block for this app.","content":{"text/css":{}}}}},"post":{"tags":["main","app","block"],"description":"Upload a block stylesheet for this app.","operationId":"setAppBlockStyle","requestBody":{"description":"The new app block stylesheet.","content":{"application/json":{"schema":{"type":"object","required":["style"],"properties":{"style":{"type":"string"},"force":{"type":"boolean","writeOnly":true,"description":"If this is true, the app lock is ignored."}}}}}},"responses":{"204":{"description":"The block style has been updated successfully."}},"security":[{"studio":[]},{"cli":["apps:write"]}]}},"/api/apps/{appId}/style/core":{"parameters":[{"$ref":"#/components/parameters/appId"}],"get":{"tags":["common","app"],"description":"Get the core style for this app.","operationId":"getAppCoreStyle","responses":{"200":{"description":"The core stylesheet associated with this app.","content":{"text/css":{}}}}}},"/api/apps/{appId}/style/shared":{"parameters":[{"$ref":"#/components/parameters/appId"}],"get":{"tags":["common","app"],"description":"Get the shared style for this app.","operationId":"getAppSharedStyle","responses":{"200":{"description":"The shared stylesheet associated with this app.","content":{"text/css":{}}}}}},"/api/apps/{appId}/subscriptions":{"parameters":[{"$ref":"#/components/parameters/appId"}],"get":{"tags":["main","app","subscription"],"parameters":[{"$ref":"#/components/parameters/endpoint"}],"description":"Fetch all subscription settings of an app.","operationId":"getAppSubscription","responses":{"200":{"description":"The subscription settings.","$ref":"#/components/responses/subscriptions"}}},"post":{"tags":["main","app","subscription"],"description":"Subscribe to an app’s push notifications","operationId":"createAppSubscription","requestBody":{"content":{"application/json":{"schema":{"type":"object","description":"A serialized PushSubscription object","required":["endpoint","keys"],"properties":{"endpoint":{"type":"string"},"keys":{"type":"object","required":["p256dh","auth"],"properties":{"p256dh":{"type":"string"},"auth":{"type":"string"}}}}}}}},"responses":{"204":{"description":"The subscription has successfully been registered."}},"security":[{"studio":[]},{"app":["openid"]},{}]},"patch":{"tags":["main","app","subscription"],"description":"Subscribe to an app’s push notifications. If value isn’t set it will toggle between subscribing and unsubscribing.","operationId":"updateAppSubscription","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["endpoint","resource","action"],"properties":{"endpoint":{"type":"string","format":"uri"},"resource":{"type":"string"},"action":{"type":"string","enum":["create","update","delete"]},"value":{"type":"boolean"},"resourceId":{"type":"number"}}}}}},"responses":{"204":{"description":"The subscription has successfully been updated."}},"security":[{"studio":[]},{"app":["openid"]},{}]}},"/api/apps/{appId}/variables/{appVariableId}":{"parameters":[{"$ref":"#/components/parameters/appId"},{"$ref":"#/components/parameters/appVariableId"}],"put":{"tags":["main","app","variable"],"operationId":"updateAppVariable","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppVariable"}}}},"security":[{"studio":[]}],"responses":{"200":{"description":"The updated app variable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppVariable"}}}}}},"delete":{"tags":["main","app","variable"],"operationId":"deleteAppVariable","security":[{"studio":[]}],"responses":{"204":{"description":"The deleted app variable."}}}},"/api/apps/{appId}/variables":{"parameters":[{"$ref":"#/components/parameters/appId"}],"get":{"tags":["common","app","variable"],"operationId":"getAppVariables","responses":{"200":{"description":"The list of app variables.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AppVariable"}}}}}}},"post":{"tags":["main","app","variable"],"operationId":"createAppVariable","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppVariable"}}}},"security":[{"studio":[]},{"cli":["apps:write"]}],"responses":{"201":{"description":"The created app variable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppVariable"}}}}}},"delete":{"tags":["main","app","variable"],"operationId":"deleteAppVariables","security":[{"studio":[]},{"cli":["apps:write"]}],"responses":{"204":{"description":"The deleted app variables."}}}},"/api/apps/{appId}/webhooks/{webhookName}":{"parameters":[{"$ref":"#/components/parameters/appId"},{"$ref":"#/components/parameters/webhookName"}],"post":{"tags":["main","app","webhook"],"description":"Call a webhook defined in the app","operationId":"callAppWebhook","responses":{"200":{"description":"The webhook was called successfully."}},"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","additionalProperties":true}},"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"webhook":[]},{"app":["email","profile"]},{}]}},"/api/apps/{appId}":{"parameters":[{"$ref":"#/components/parameters/appId"}],"get":{"tags":["main","app"],"parameters":[{"name":"language","schema":{"type":"string"},"description":"The language to include the translations of, if available","in":"query"}],"description":"Get a single app","operationId":"getAppById","responses":{"200":{"description":"The app that matches the given id.","$ref":"#/components/responses/app"}},"security":[{"studio":[]},{}]},"patch":{"tags":["main","app"],"description":"Update parts of an existing app","operationId":"patchApp","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"domain":{"$ref":"#/components/schemas/App/properties/domain"},"path":{"$ref":"#/components/schemas/App/properties/path"},"visibility":{"$ref":"#/components/schemas/App/properties/visibility"},"template":{"$ref":"#/components/schemas/App/properties/template"},"demoMode":{"$ref":"#/components/schemas/App/properties/demoMode"},"force":{"type":"boolean","description":"Whether the locked property should be ignored."},"yaml":{"type":"string","description":"The original YAML definition used to define the app."},"icon":{"type":"string","format":"binary","description":"The app icon."},"maskableIcon":{"type":"string","format":"binary","description":"The app icon."},"iconBackground":{"type":"string","pattern":"^#[\\dA-Fa-f]{6}$"},"coreStyle":{"type":"string","description":"The custom style to apply to the core app."},"sharedStyle":{"type":"string","description":"The custom style to apply to all parts of app."},"supportedLanguages":{"$ref":"#/components/schemas/App/properties/supportedLanguages"},"screenshots":{"type":"array","description":"Screenshots to showcase in the store","items":{"type":"string","format":"binary"}},"readmes":{"type":"array","description":"Readmes to showcase in the store","items":{"type":"string","format":"binary"}},"controllerCode":{"type":"string","description":"Custom app logic as a JavaScript string"},"controllerImplementations":{"type":"string","description":"Appsemble SDK interfaces implementations"},"showAppsembleLogin":{"type":"boolean","description":"Whether the Appsemble login method should be shown."},"showAppsembleOAuth2Login":{"type":"boolean","description":"Whether the Appsemble OAuth2 login method should be shown."},"totp":{"$ref":"#/components/schemas/App/properties/totp"},"enableSelfRegistration":{"type":"boolean","description":"Whether new users should be able to register themselves."},"displayAppMemberName":{"$ref":"#/components/schemas/App/properties/displayAppMemberName"},"displayInstallationPrompt":{"$ref":"#/components/schemas/App/properties/displayInstallationPrompt"},"emailName":{"type":"string","description":"The name used for emails."},"emailHost":{"type":"string","description":"The hostname of the SMTP server."},"emailPassword":{"type":"string","description":"The password to use for SMTP authentication. This gets encrypted when stored."},"emailUser":{"type":"string","description":"The username used to authenticate against the SMTP server."},"emailPort":{"type":"string","description":"The port used for the SMTP server."},"emailSecure":{"type":"boolean","description":"Whether TLS is being used."},"stripeApiSecretKey":{"type":"string","description":"The API key to use for Stripe authentication. This gets encrypted when stored."},"stripeWebhookSecret":{"type":"string","description":"The secret to use for verifying incoming webhooks. This gets encrypted when stored."},"successUrl":{"type":"string","description":"The URL to which the user will be redirected after a successful payment."},"cancelUrl":{"type":"string","description":"The URL to which the user will be redirected after an unsuccessful payment."},"containers":{"type":"array","items":{"$ref":"#/components/schemas/ContainerDefinition"}}}},"encoding":{"coreStyle":{"contentType":"text/css"},"sharedStyle":{"contentType":"text/css"},"icon":{"contentType":"image/png,image/jpeg,image/tiff,image/webp"}}}}},"responses":{"200":{"description":"The updated app.","$ref":"#/components/responses/app"}},"security":[{"studio":[]},{"cli":["apps:write"]}]},"delete":{"tags":["main","app"],"description":"Delete an existing app","operationId":"deleteApp","responses":{"204":{"description":"The app was successfully deleted."}},"security":[{"studio":[]},{"cli":["apps:delete"]}]}},"/api/apps/{appId}/auth/email/login":{"post":{"tags":["app","auth","email"],"description":"Login using the Appsemble studio.","operationId":"loginAppMemberWithEmail","responses":{"200":{"description":"Logged in successfully."}},"security":[{"basic":[]}]}},"/api/apps/{appId}/auth/email/register":{"parameters":[{"$ref":"#/components/parameters/appId"}],"post":{"tags":["app","auth","email"],"description":"Register a new app account using an email address and a password.","operationId":"registerAppMemberWithEmail","requestBody":{"description":"The user account to register.","required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["email","password","timezone"],"properties":{"name":{"type":"string"},"email":{"type":"string","format":"email"},"password":{"type":"string","minLength":8},"picture":{"type":"string","format":"binary","description":"The account’s profile picture."},"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"The member’s custom properties."},"timezone":{"enum":["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmera","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/La_Rioja","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Buenos_Aires","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Catamarca","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Ciudad_Juarez","America/Coral_Harbour","America/Cordoba","America/Costa_Rica","America/Coyhaique","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Fort_Nelson","America/Fortaleza","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Indianapolis","America/Inuvik","America/Iqaluit","America/Jamaica","America/Jujuy","America/Juneau","America/Kentucky/Monticello","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Louisville","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Mendoza","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montserrat","America/Nassau","America/New_York","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Ojinaga","America/Panama","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yakutat","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Calcutta","Asia/Chita","Asia/Colombo","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Hebron","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Katmandu","Asia/Khandyga","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Rangoon","Asia/Riyadh","Asia/Saigon","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faeroe","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Ulyanovsk","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zurich","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Ponape","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Truk","Pacific/Wake","Pacific/Wallis"]},"phoneNumber":{"type":"string","description":"Phone number"}}}}}},"responses":{"201":{"description":"The account that was created."}}}},"/api/apps/{appId}/auth/email/password":{"parameters":[{"$ref":"#/components/parameters/appId"}],"patch":{"tags":["app","auth","email"],"description":"Patch password of the app member","operationId":"patchAppMemberPassword","responses":{"200":{"description":"Successfully updated password"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["newPassword","currentPassword"],"properties":{"newPassword":{"type":"string","minLength":8},"currentPassword":{"type":"string"}}}}}},"security":[{"app":[]},{}]}},"/api/apps/{appId}/auth/email/resend-verification":{"parameters":[{"$ref":"#/components/parameters/appId"}],"post":{"tags":["app","auth","email"],"description":"Resend the verification code for a registered email.","operationId":"resendAppMemberEmailVerification","responses":{"204":{"description":"The verification email was sent if an account was found in the database."}},"security":[{"app":["email"]}]}},"/api/apps/{appId}/auth/email/request-password-reset":{"parameters":[{"$ref":"#/components/parameters/appId"}],"post":{"tags":["app","auth","email"],"description":"Request a reset token for resetting passwords.","operationId":"requestAppMemberPasswordReset","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["email"],"properties":{"email":{"type":"string","format":"email"}}}}}},"responses":{"204":{"description":"The request has been received and an email was sent if it exists."}}}},"/api/apps/{appId}/auth/email/new-email":{"parameters":[{"$ref":"#/components/parameters/appId"}],"post":{"tags":["app","member","email","auth"],"operationId":"requestAppMemberEmailUpdate","description":"Update the email address of an app member","responses":{"200":{"description":"The updated app member"}},"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","format":"email"}}}}}},"security":[{"app":["email"]}]}},"/api/apps/{appId}/auth/email/reset-password":{"parameters":[{"$ref":"#/components/parameters/appId"}],"post":{"tags":["app","auth","email"],"description":"Reset a password using a password reset token.","operationId":"resetAppMemberPassword","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["password","token"],"properties":{"password":{"type":"string","minLength":8},"token":{"type":"string"}}}}}},"responses":{"204":{"description":"The password has been reset."}}}},"/api/apps/{appId}/auth/email/verify":{"parameters":[{"$ref":"#/components/parameters/appId"}],"post":{"tags":["app","auth","email"],"description":"Verify the email address of a registered user.","operationId":"verifyAppMemberEmail","requestBody":{"description":"The user account to register.","required":true,"content":{"application/json":{"schema":{"type":"object","required":["token"],"properties":{"token":{"type":"string"}}}}}},"responses":{"200":{"description":"The account was successfully verified."}}}},"/api/apps/{appId}/auth/email/unverified":{"parameters":[{"$ref":"#/components/parameters/appId"}],"delete":{"parameters":[{"name":"email","in":"query","description":"Emails to be removed","required":true,"schema":{"type":"string"}}],"tags":["delete","app","email","auth"],"description":"","operationId":"deleteCurrentAppMemberUnverifiedEmail","security":[{"app":["email"]}],"responses":{"204":{"description":"Successfully removed email"}}}},"/api/apps/{appId}/auth/totp/setup":{"parameters":[{"$ref":"#/components/parameters/appId"}],"post":{"tags":["app","auth","totp"],"description":"Initialize TOTP setup for the current app member. Returns a secret and otpauth URL for QR code generation. When TOTP is required for the app, unauthenticated setup is allowed by providing a memberId.","operationId":"setupAppMemberTotp","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"memberId":{"type":"string","format":"uuid","description":"The app member ID. Only used for unauthenticated setup when TOTP is required."}}}}}},"responses":{"200":{"description":"TOTP secret and QR code URL generated successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"secret":{"type":"string","description":"The TOTP secret key."},"otpauthUrl":{"type":"string","description":"The otpauth URL for generating a QR code."}}}}}},"400":{"description":"TOTP is already enabled for this member or TOTP is disabled for this app."},"401":{"description":"User is not authenticated."},"403":{"description":"Unauthenticated TOTP setup is only allowed when TOTP is required."}},"security":[{"app":[]},{}]}},"/api/apps/{appId}/auth/totp/verify-setup":{"parameters":[{"$ref":"#/components/parameters/appId"}],"post":{"tags":["app","auth","totp"],"description":"Verify a TOTP token to complete the TOTP setup process and enable two-factor authentication. When TOTP is required for the app, unauthenticated verification is allowed by providing a memberId.","operationId":"verifyAppMemberTotpSetup","requestBody":{"description":"The TOTP token to verify.","required":true,"content":{"application/json":{"schema":{"type":"object","required":["token"],"properties":{"token":{"type":"string","minLength":6,"maxLength":6,"pattern":"^[0-9]{6}$","description":"The 6-digit TOTP token from the authenticator app."},"memberId":{"type":"string","format":"uuid","description":"The app member ID. Only used for unauthenticated verification when TOTP is required."}}}}}},"responses":{"204":{"description":"TOTP has been successfully enabled."},"400":{"description":"Invalid TOTP token or TOTP setup not initiated."},"401":{"description":"User is not authenticated."},"403":{"description":"Unauthenticated TOTP verification is only allowed when TOTP is required."}},"security":[{"app":[]},{}]}},"/api/apps/{appId}/auth/totp/verify":{"parameters":[{"$ref":"#/components/parameters/appId"}],"post":{"tags":["app","auth","totp"],"description":"Verify a TOTP token during login to complete the two-factor authentication process.","operationId":"verifyAppMemberTotp","requestBody":{"description":"The member ID and TOTP token to verify.","required":true,"content":{"application/json":{"schema":{"type":"object","required":["memberId","token"],"properties":{"memberId":{"type":"string","format":"uuid","description":"The ID of the app member attempting to login."},"token":{"type":"string","minLength":6,"maxLength":6,"pattern":"^[0-9]{6}$","description":"The 6-digit TOTP token from the authenticator app."},"scope":{"type":"string","description":"The OAuth2 scope to include in the token."}}}}}},"responses":{"200":{"description":"TOTP verified successfully. Returns JWT tokens.","content":{"application/json":{"schema":{"type":"object","properties":{"access_token":{"type":"string","description":"The access token."},"expires_in":{"type":"number","description":"Token expiration time in seconds."},"refresh_token":{"type":"string","description":"The refresh token."},"token_type":{"type":"string","description":"The token type (bearer)."}}}}}},"400":{"description":"TOTP is not enabled for this member."},"401":{"description":"Invalid TOTP token."},"404":{"description":"App member not found."}}}},"/api/apps/{appId}/auth/totp/disable":{"parameters":[{"$ref":"#/components/parameters/appId"}],"post":{"tags":["app","auth","totp"],"description":"Disable TOTP two-factor authentication for the current app member.","operationId":"disableAppMemberTotp","requestBody":{"description":"The TOTP token to verify before disabling.","required":true,"content":{"application/json":{"schema":{"type":"object","required":["token"],"properties":{"token":{"type":"string","minLength":6,"maxLength":6,"pattern":"^[0-9]{6}$","description":"The 6-digit TOTP token from the authenticator app."}}}}}},"responses":{"204":{"description":"TOTP has been successfully disabled."},"400":{"description":"Invalid TOTP token or TOTP is not enabled."},"401":{"description":"User is not authenticated."}},"security":[{"app":[]}]}},"/api/apps":{"post":{"tags":["main","app"],"description":"Create a new app","operationId":"createApp","parameters":[{"in":"query","name":"dryRun","description":"Validate whether an app could be created without actually creating one. Must be set to ‘true’.","schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["OrganizationId","yaml"],"properties":{"domain":{"$ref":"#/components/schemas/App/properties/domain"},"path":{"$ref":"#/components/schemas/App/properties/path"},"visibility":{"$ref":"#/components/schemas/App/properties/visibility"},"template":{"$ref":"#/components/schemas/App/properties/template"},"demoMode":{"$ref":"#/components/schemas/App/properties/demoMode"},"totp":{"$ref":"#/components/schemas/App/properties/totp"},"yaml":{"type":"string","description":"The original YAML definition used to define the app."},"OrganizationId":{"$ref":"#/components/schemas/Organization/properties/id"},"icon":{"type":"string","format":"binary","description":"The app icon."},"maskableIcon":{"type":"string","format":"binary","description":"The app icon."},"iconBackground":{"type":"string","pattern":"^#[\\dA-Fa-f]{6}$","description":"The background color to use for the maskable icon."},"coreStyle":{"type":"string","description":"The custom style to apply to the core app."},"sharedStyle":{"type":"string","description":"The custom style to apply to all parts of app."},"supportedLanguages":{"$ref":"#/components/schemas/App/properties/supportedLanguages"},"screenshots":{"type":"array","description":"Screenshots to showcase in the store","items":{"type":"string","format":"binary"}},"readmes":{"type":"array","description":"Readmes to showcase in the store","items":{"type":"string","format":"binary"}},"controllerCode":{"type":"string","description":"Custom app logic as a JavaScript string"},"controllerImplementations":{"type":"string","description":"Appsemble SDK interfaces implementations"}}},"encoding":{"coreStyle":{"contentType":"text/css"},"sharedStyle":{"contentType":"text/css"},"icon":{"contentType":"image/png,image/jpeg,image/tiff,image/webp"},"screenshots":{"contentType":"image/png,image/jpeg,image/tiff,image/webp"}}}}},"responses":{"201":{"description":"The app that was created.","$ref":"#/components/responses/app"}},"security":[{"studio":[]},{"cli":["apps:write"]}]},"get":{"tags":["main","app"],"parameters":[{"name":"language","schema":{"type":"string"},"description":"The language to include the translations of, if available","in":"query"}],"description":"Get all publically available apps.","operationId":"queryApps","responses":{"200":{"description":"The list of all public apps.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/App"}}}}}},"security":[{"studio":[]},{}]}},"/api/app-templates":{"get":{"tags":["main","app","template"],"description":"Fetch a list of all available templates.","operationId":"getAppTemplates","responses":{"200":{"description":"The list of all available templates.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"template":{"type":"string","description":"The name of the template."},"description":{"type":"string","description":"The description of the template."},"resources":{"type":"boolean","description":"Whether this template supports pre-made resources"}}}}}}}},"security":[{"studio":[]}]},"post":{"tags":["main","app","template"],"description":"Register a new app using a template.","operationId":"createAppFromTemplate","requestBody":{"description":"The template to use for app creation.","content":{"application/json":{"schema":{"type":"object","required":["templateId","organizationId"],"properties":{"templateId":{"type":"number","description":"The ID of the template."},"name":{"type":"string","description":"The human readable name of the app.\n\nThis will be displayed for example on the home screen or in the browser tab.\n"},"description":{"type":"string","description":"A short description describing the app.\n\nThis will be displayed on the app store.\n"},"organizationId":{"type":"string","description":"The unique identifier for the organization."},"resources":{"type":"boolean","description":"Include example resources."},"assets":{"type":"boolean","description":"Include example assets."},"variables":{"type":"boolean","description":"Include example variables."},"secrets":{"type":"boolean","description":"Include example secrets."},"visibility":{"$ref":"#/components/schemas/App/properties/visibility"}}}}}},"responses":{"201":{"$ref":"#/components/responses/app"}},"security":[{"studio":[]}]}},"/api/auth/email/login":{"post":{"tags":["main","auth","email"],"description":"Login using the Appsemble studio.","operationId":"loginUserWithEmail","responses":{"200":{"description":"Logged in successfully."}},"security":[{"basic":[]}]}},"/api/auth/email/register":{"post":{"tags":["main","auth","email"],"description":"Register a new studio account using an email address and a password.","operationId":"registerUserWithEmail","requestBody":{"description":"The user account to register.","required":true,"content":{"application/json":{"schema":{"type":"object","required":["email","password"],"properties":{"name":{"type":"string"},"email":{"type":"string","format":"email"},"password":{"type":"string","minLength":8},"timezone":{"enum":["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmera","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/La_Rioja","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Buenos_Aires","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Catamarca","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Ciudad_Juarez","America/Coral_Harbour","America/Cordoba","America/Costa_Rica","America/Coyhaique","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Fort_Nelson","America/Fortaleza","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Indianapolis","America/Inuvik","America/Iqaluit","America/Jamaica","America/Jujuy","America/Juneau","America/Kentucky/Monticello","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Louisville","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Mendoza","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montserrat","America/Nassau","America/New_York","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Ojinaga","America/Panama","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yakutat","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Calcutta","Asia/Chita","Asia/Colombo","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Hebron","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Katmandu","Asia/Khandyga","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Rangoon","Asia/Riyadh","Asia/Saigon","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faeroe","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Ulyanovsk","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zurich","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Ponape","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Truk","Pacific/Wake","Pacific/Wallis"]},"subscribed":{"type":"boolean","default":false}}}}}},"responses":{"201":{"description":"The account that was created."}}}},"/api/auth/email/reset-password":{"post":{"tags":["main","auth","email"],"description":"Reset a password using a password reset token.","operationId":"resetUserPassword","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["password","token"],"properties":{"password":{"type":"string","minLength":8},"token":{"type":"string"}}}}}},"responses":{"204":{"description":"The password has been reset."}}}},"/api/auth/email/patch-password":{"post":{"tags":["main","auth","email"],"description":"Update password","operationId":"patchPassword","responses":{"200":{"description":"Password changed."}},"security":[{"studio":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["newPassword","currentPassword"],"properties":{"newPassword":{"type":"string","minLength":8},"currentPassword":{"type":"string"}}}}}}}},"/api/auth/email/resend-verification":{"post":{"tags":["main","auth","email"],"description":"Resend the verification code for a registered email.","operationId":"resendUserEmailVerification","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["email"],"properties":{"email":{"type":"string","format":"email"}}}}}},"responses":{"204":{"description":"The verification email was sent if an account was found in the database."}},"security":[{"studio":[]}]}},"/api/auth/email/request-password-reset":{"post":{"tags":["main","auth","email"],"description":"Request a reset token for resetting passwords.","operationId":"requestUserPasswordReset","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["email"],"properties":{"email":{"type":"string","format":"email"}}}}}},"responses":{"204":{"description":"The request has been received and an email was sent if it exists."}}}},"/api/auth/email/verify":{"post":{"tags":["main","auth","email"],"description":"Verify the email address of a registered user.","operationId":"verifyUserEmail","requestBody":{"description":"The user account to register.","required":true,"content":{"application/json":{"schema":{"type":"object","required":["token"],"properties":{"token":{"type":"string"}}}}}},"responses":{"200":{"description":"The account was successfully verified."}}}},"/api/auth/oauth2/authorizations/connect":{"post":{"description":"Create an account using an OAuth2 authorization.","tags":["main","auth","oauth2","authorization"],"operationId":"connectOAuth2Authorization","requestBody":{"description":"The OAuth2 client credentials","required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["code","authorizationUrl","timezone"],"properties":{"code":{"type":"string"},"authorizationUrl":{"type":"string"},"timezone":{"type":"string"}}}}}},"responses":{"200":{"description":"An access token response.","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"studio":[]},{}]}},"/api/auth/oauth2/authorizations/register":{"post":{"tags":["main","auth","oauth2","authorization"],"operationId":"registerOAuth2Authorization","description":"asd","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["authorizationUrl","code"],"properties":{"authorizationUrl":{"type":"string"},"code":{"type":"string"}}}}}},"responses":{"200":{"description":""}}}},"/api/auth/refresh-token":{"post":{"tags":["main","auth"],"description":"Refresh an access token using the Appsemble studio","operationId":"refreshToken","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["refresh_token"],"properties":{"refresh_token":{"type":"string","description":"The refresh token to use for refreshing the session."}}}}}},"responses":{"200":{"description":"The token has been refreshed successfully."}}}},"/api/blocks/@{organizationId}/{blockId}":{"parameters":[{"$ref":"#/components/parameters/organizationId"},{"$ref":"#/components/parameters/blockId"}],"get":{"tags":["common","block"],"description":"Get a single block","operationId":"getBlock","responses":{"200":{"description":"The latest version of the block that matches the given id.","$ref":"#/components/responses/blockVersion"}}}},"/api/blocks/@{organizationId}/{blockId}/versions":{"parameters":[{"$ref":"#/components/parameters/organizationId"},{"$ref":"#/components/parameters/blockId"}],"get":{"tags":["common","block","version"],"description":"Retrieves all available versions of a block.","operationId":"getBlockVersions","responses":{"200":{"description":"A list of versions of a block.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BlockVersion"}}}}}}}},"/api/blocks/@{organizationId}/{blockId}/versions/list":{"parameters":[{"$ref":"#/components/parameters/organizationId"},{"$ref":"#/components/parameters/blockId"}],"get":{"tags":["main","block","version"],"description":"Retrieve a string list of all versions of a block.","operationId":"getBlockVersionsList","responses":{"200":{"description":"String list of all versions of a block.","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/blocks/@{organizationId}/{blockId}/versions/{blockVersion}":{"parameters":[{"$ref":"#/components/parameters/organizationId"},{"$ref":"#/components/parameters/blockId"},{"$ref":"#/components/parameters/blockVersion"}],"get":{"tags":["common","block","version"],"description":"Retrieve a single block version.","operationId":"getBlockVersion","responses":{"200":{"$ref":"#/components/responses/blockVersion"}}},"delete":{"tags":["main","block","version"],"description":"Delete a single block version.","operationId":"deleteBlockVersion","responses":{"204":{"description":"Block version has successfully been deleted"}},"security":[{"cli":["blocks:delete"]}]}},"/api/blocks/@{organizationId}/{blockId}/versions/{blockVersion}/icon":{"parameters":[{"$ref":"#/components/parameters/organizationId"},{"$ref":"#/components/parameters/blockId"},{"$ref":"#/components/parameters/blockVersion"}],"get":{"tags":["common","block","version"],"description":"Get the icon of a block version.","operationId":"getBlockVersionIcon","responses":{"200":{"description":"The icon that represents the block."}}}},"/api/blocks/@{organizationId}/{blockId}/versions/{blockVersion}/messages/{language}":{"parameters":[{"$ref":"#/components/parameters/organizationId"},{"$ref":"#/components/parameters/blockId"},{"$ref":"#/components/parameters/blockVersion"},{"in":"path","name":"language","schema":{"type":"string"},"description":"The language to get messages for.","required":true}],"get":{"tags":["common","block","version","translation"],"description":"Get internationalized messages for a block.","operationId":"getBlockVersionMessages","responses":{"200":{"description":"A key/value mapping of block messages.","content":{"application/json":{"schema":{"type":"object","description":"A key/value mapping of block messages.","additionalProperties":{"type":"string","description":"A translated block message."}}}}}}}},"/api/blocks/@{organizationId}/{blockId}/versions/{blockVersion}/asset":{"parameters":[{"$ref":"#/components/parameters/organizationId"},{"$ref":"#/components/parameters/blockId"},{"$ref":"#/components/parameters/blockVersion"},{"name":"filename","in":"query","description":"The file name of the block asset to download","schema":{"type":"string"}}],"get":{"tags":["common","block","version","asset"],"description":"Download a single block asset","operationId":"getBlockVersionAsset","responses":{"200":{"description":"The asset that has been requested."}}}},"/api/blocks":{"post":{"tags":["main","block"],"description":"Publish a block.","operationId":"createBlock","requestBody":{"description":"The new block version to publish.","content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/BlockVersion"}}}},"responses":{"201":{"$ref":"#/components/responses/blockVersion"}},"security":[{"cli":["blocks:write"]}]},"get":{"tags":["common","block"],"description":"Get all block’s latest definitions.","operationId":"queryBlocks","responses":{"200":{"description":"The list of all latest block versions.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BlockVersion"}}}}}},"security":[{"studio":[]},{}]}},"/api/containers/{appId}/logs/{container}":{"get":{"tags":["container"],"description":"Retrieve the logs related to a companion container","operationId":"getContainerLogs","parameters":[{"name":"appId","schema":{"type":"number"},"description":"Id of the app which defines the companion container","in":"path"},{"name":"container","schema":{"type":"string"},"description":"Name of the companion container to fetch the logs for","in":"path"}],"responses":{"200":{"description":"Logs of the container running in a specific app","content":{"application/json":{"schema":{"type":"array","items":{}}}}}},"security":[{"studio":[]}]}},"/api/health":{"get":{"tags":["main"],"description":"Check whether or not the API is healthy","operationId":"checkHealth","responses":{"200":{"description":"An indication the server is healthy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Health"}}}}}}},"/api/payments/send-invoice":{"post":{"tags":["main","payments"],"description":"Send an invoice.","operationId":"sendInvoice","responses":{"200":{"description":"Whether the invoice has been succesfully created and sent to Stripe."}},"parameters":[{"in":"query","name":"organizationId","description":"Organization that we want to invoice.","schema":{"type":"string"}},{"in":"query","name":"subscriptionType","description":"Subscription plan that we want to invoice for.","schema":{"type":"string"}},{"in":"query","name":"period","description":"Renewal period for which we want to invoice.","schema":{"type":"string"}},{"in":"query","name":"couponCode","description":"Coupon code that will be applied to the subscription.","schema":{"type":"string"}}],"security":[{"studio":[]}]}},"/api/payments/accept-payment":{"post":{"tags":["main","payments"],"description":"Accept a payment.","operationId":"acceptPayment","requestBody":{"description":"Information about the payment sent by Stripe.","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string"},"api_version":{"type":"string"},"created":{"type":"number"},"data":{"type":"object","properties":{"object":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string"},"account_country":{"type":"string"},"account_name":{"type":"string"},"account_tax_ids":{"type":"string"},"amount_due":{"type":"number"},"amount_paid":{"type":"number"},"amount_remaining":{"type":"number"},"amount_shipping":{"type":"number"},"application":{"type":"string"},"application_fee_amount":{"type":"number"},"attempt_count":{"type":"number"},"attempted":{"type":"boolean"},"auto_advance":{"type":"boolean"},"automatic_tax":{"type":"object"},"automatically_finalizes_at":{"type":"number"},"billing_reason":{"type":"string"},"charge":{"type":"string"},"collection_method":{"type":"string"},"created":{"type":"number"},"currency":{"type":"string"},"custom_fields":{"type":"array","items":{"type":"object"}},"customer":{"type":"string"},"customer_address":{"type":"object"},"customer_email":{"type":"string"},"customer_name":{"type":"string"},"customer_phone":{"type":"string"},"customer_shipping":{"type":"object"},"customer_tax_exempt":{"type":"string"},"customer_tax_ids":{"type":"array","items":{"type":"object"}},"default_payment_method":{"type":"string"},"default_source":{"type":"string"},"default_tax_rates":{"type":"array","items":{"type":"object"}},"description":{"type":"string"},"discount":{"type":"object"},"discounts":{"type":"array","items":{"type":"string"}},"due_date":{"type":"number"},"effective_at":{"type":"number"},"ending_balance":{"type":"number"},"footer":{"type":"string"},"from_invoice":{"type":"object"},"hosted_invoice_url":{"type":"string"},"invoice_pdf":{"type":"string"},"issuer":{"type":"object"},"last_finalization_error":{"type":"object"},"latest_revision":{"type":"string"},"lines":{"type":"object"},"livemode":{"type":"boolean"},"metadata":{"type":"object","properties":{"id":{"type":"number"}}},"next_payment_attempt":{"type":"number"},"number":{"type":"string"},"on_behalf_of":{"type":"string"},"paid":{"type":"boolean"},"paid_out_of_band":{"type":"boolean"},"payment_intent":{"type":"string"},"payment_settings":{"type":"object"},"period_end":{"type":"number"},"period_start":{"type":"number"},"post_payment_credit_notes_amount":{"type":"number"},"pre_payment_credit_notes_amount":{"type":"number"},"quote":{"type":"string"},"receipt_number":{"type":"string"},"rendering":{"type":"object"},"shipping_cost":{"type":"object"},"shipping_details":{"type":"object"},"starting_balance":{"type":"number"},"statement_descriptor":{"type":"string"},"status":{"type":"string"},"status_transitions":{"type":"object"},"subscription":{"type":"string"},"subscription_details":{"type":"object"},"subtotal":{"type":"number"},"subtotal_excluding_tax":{"type":"number"},"tax":{"type":"number"},"test_clock":{"type":"string"},"total":{"type":"number"},"total_discount_amounts":{"type":"array","items":{"type":"object"}},"total_excluding_tax":{"type":"number"},"total_pretax_credit_amounts":{"type":"array","items":{"type":"object"}},"total_tax_amounts":{"type":"array","items":{"type":"object"}},"transfer_data":{"type":"object"},"webhooks_delivered_at":{"type":"number"}}}}},"livemode":{"type":"boolean"},"pending_webhooks":{"type":"number"},"request":{"type":"object","properties":{"id":{"type":"string"},"idempotency_key":{"type":"string"}}},"type":{"type":"string"}}}}}},"responses":{"200":{"description":"Response sent to Stripe, should be 200 OK if we receive the webhook, regardless of our internals."}}}},"/api/messages/{language}":{"parameters":[{"$ref":"#/components/parameters/language"}],"get":{"tags":["main","translation"],"description":"Get the Appsemble messages for this language.","operationId":"getStudioMessages","responses":{"200":{"description":"The app messages for the selected language.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppMessages"}}}}}}},"/api/messages":{"parameters":[{"name":"context","in":"query","schema":{"type":"string","enum":["studio","app"]}}],"get":{"tags":["common","translation"],"description":"Get a list of all languages with messages.","operationId":"getAppsembleLanguages","responses":{"200":{"description":"The list of supported languages","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/organization-invites/{token}/respond":{"parameters":[{"name":"token","in":"path","description":"The token of the invite.","required":true,"schema":{"type":"string"}}],"post":{"tags":["main","organization","invite"],"description":"Respond to a given invitation.","operationId":"respondOrganizationInvite","requestBody":{"description":"The response of the invitation.\n\n        If response is true, user will join the organization. If response is false, the user declines the invite and the invite is removed.","required":true,"content":{"application/json":{"schema":{"type":"object","required":["response"],"properties":{"response":{"type":"boolean"}}}}}},"responses":{"204":{"description":"The response has been processed."}},"security":[{"studio":[]}]}},"/api/organization-invites/{token}":{"parameters":[{"name":"token","in":"path","description":"The token of the invite.","required":true,"schema":{"type":"string"}}],"get":{"tags":["main","organization","invite"],"description":"Fetch information about an invite.","operationId":"getOrganizationInvite","responses":{"200":{"description":"An invite response","$ref":"#/components/responses/invite"}}}},"/api/organizations/{organizationId}/app-collections":{"parameters":[{"$ref":"#/components/parameters/organizationId"}],"get":{"tags":["main","organization","app-collection"],"description":"Get a list of app collections for an organization","operationId":"queryOrganizationAppCollections","parameters":[{"name":"organizationId","in":"path","description":"The id of the organization","required":true,"schema":{"$ref":"#/components/schemas/Organization/properties/id"}}],"responses":{"200":{"description":"A list of app collections","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AppCollection"}}}}}},"security":[{"studio":[]},{}]},"post":{"tags":["main","organization","app-collection"],"description":"Create an app collection","operationId":"createOrganizationAppCollection","requestBody":{"description":"The app collection to create","required":true,"content":{"multipart/form-data":{"schema":{"allOf":[{"$ref":"#/components/schemas/AppCollectionDefinition"},{"required":["name","expertName","expertProfileImage","headerImage"]}]},"encoding":{"expertProfileImage":{"contentType":"image/png,image/jpeg,image/tiff,image/webp"},"headerImage":{"contentType":"image/png,image/jpeg,image/tiff,image/webp"}}}}},"responses":{"201":{"description":"The created app collection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppCollection"}}}}},"security":[{"studio":[]}]}},"/api/organizations/{organizationId}/apps/import":{"parameters":[{"$ref":"#/components/parameters/organizationId"}],"post":{"tags":["main","app"],"description":"Import an app from a zip file","operationId":"importApp","requestBody":{"content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}},"responses":{"200":{"description":"App imported successfully","$ref":"#/components/responses/app"}},"security":[{"studio":[]},{"cli":["apps:write"]}]}},"/api/organizations/{organizationId}/apps":{"parameters":[{"$ref":"#/components/parameters/organizationId"}],"get":{"tags":["main","organization","app"],"parameters":[{"name":"language","schema":{"type":"string"},"description":"The language to include the translations of, if available","in":"query"}],"description":"Get a list of an organization’s apps. Private apps are excluded unless the user is in the organization.","operationId":"getOrganizationApps","responses":{"200":{"description":"The list of this organization’s apps.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/App"}}}}}},"security":[{"studio":[]},{}]}},"/api/organizations/{organizationId}/blocks":{"parameters":[{"$ref":"#/components/parameters/organizationId"}],"get":{"tags":["main","organization","block"],"description":"Get a list of an organization’s blocks.","operationId":"getOrganizationBlocks","responses":{"200":{"description":"The list of this organization’s blocks.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BlockVersion"}}}}}},"security":[{"studio":[]},{}]}},"/api/organizations/{organizationId}/icon":{"parameters":[{"$ref":"#/components/parameters/organizationId"}],"get":{"tags":["organization"],"description":"Get the organization icon.","operationId":"getOrganizationIcon","responses":{"200":{"description":"The icon that represents the organization."}}}},"/api/organizations/{organizationId}/invites/resend":{"parameters":[{"$ref":"#/components/parameters/organizationId"}],"post":{"tags":["organization"],"description":"Request to resend an invitation.","operationId":"resendOrganizationInvite","requestBody":{"description":"The email of the person to resend the invitation to.","required":true,"content":{"application/json":{"schema":{"type":"object","required":["email"],"properties":{"email":{"type":"string"}}}}}},"responses":{"204":{"description":"The invite has been sent."}},"security":[{"studio":[]}]}},"/api/organizations/{organizationId}/invites":{"parameters":[{"$ref":"#/components/parameters/organizationId"}],"get":{"tags":["main","organization","invite"],"description":"Get a list of invited organization members.","operationId":"getOrganizationInvites","responses":{"200":{"description":"The list of all invites.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"email":{"type":"string","format":"email"},"role":{"type":"string","enum":["Member","AppTranslator","AppContentsExplorer","AppContentsManager","AppMemberManager","AppGroupManager","AppGroupMembersManager","AppManager","AppCollectionManager","BlockManager","Maintainer","Owner"]}}}}}}}},"security":[{"studio":[]}]},"post":{"tags":["main","organization","invite"],"description":"Invite a new member to the organization that matches the given id.","operationId":"createOrganizationInvites","requestBody":{"description":"The member to invite.","required":true,"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","required":["email","role"],"properties":{"email":{"type":"string","format":"email"},"role":{"type":"string","enum":["Member","AppTranslator","AppContentsExplorer","AppContentsManager","AppMemberManager","AppGroupManager","AppGroupMembersManager","AppManager","AppCollectionManager","BlockManager","Maintainer","Owner"]}}}}}}},"responses":{"201":{"description":"The newly invited member.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}}},"security":[{"studio":[]}]},"delete":{"tags":["main","organization","invite"],"description":"Revoke a member invitation.","operationId":"deleteOrganizationInvite","requestBody":{"description":"The email address to revoke the invite of.","required":true,"content":{"application/json":{"schema":{"type":"object","required":["email"],"properties":{"email":{"type":"string","format":"email"}}}}}},"responses":{"204":{"description":"The invitation has been successfully revoked."}},"security":[{"studio":[]}]}},"/api/organizations/{organizationId}/members/{organizationMemberId}/role":{"parameters":[{"$ref":"#/components/parameters/organizationId"},{"name":"organizationMemberId","in":"path","description":"The ID of the member","required":true,"schema":{"$ref":"#/components/schemas/User/properties/id"}}],"put":{"tags":["main","organization","member"],"description":"Set the role of the member within the organization.","operationId":"updateOrganizationMemberRole","requestBody":{"description":"The role to set.","required":true,"content":{"application/json":{"schema":{"type":"object","required":["role"],"properties":{"role":{"type":"string","enum":["Member","AppTranslator","AppContentsExplorer","AppContentsManager","AppMemberManager","AppGroupManager","AppGroupMembersManager","AppManager","AppCollectionManager","BlockManager","Maintainer","Owner"]}}}}}},"responses":{"200":{"description":"The member’s role has been successfully updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationMember"}}}}},"security":[{"studio":[]}]}},"/api/organizations/{organizationId}/members/{organizationMemberId}":{"parameters":[{"$ref":"#/components/parameters/organizationId"},{"name":"organizationMemberId","in":"path","description":"The ID of the member to remove","required":true,"$ref":"#/components/schemas/User/properties/id","schema":{"$ref":"#/components/schemas/User/properties/id"}}],"delete":{"tags":["main","organization","member"],"description":"Remove a member from the organization that matches the given id, or leave the organization if the member id matches the user’s member id","operationId":"removeOrganizationMember","responses":{"204":{"description":"The member has been successfully removed."}},"security":[{"studio":[]}]}},"/api/organizations/{organizationId}/members":{"parameters":[{"$ref":"#/components/parameters/organizationId"}],"get":{"tags":["main","organization","member"],"description":"Get a list of organization members.","operationId":"getOrganizationMembers","responses":{"200":{"description":"The list of all members.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OrganizationMember"}}}}}},"security":[{"studio":[]}]}},"/api/organizations/{organizationId}/subscription":{"parameters":[{"$ref":"#/components/parameters/organizationId"}],"get":{"tags":["main","organization","organization-subscription"],"description":"Get the organization subscription.","operationId":"getOrganizationOrganizationSubscription","responses":{"200":{"$ref":"#/components/responses/organizationSubscription"}},"security":[{"studio":[]}]}},"/api/organizations/{organizationId}/subscription/price":{"parameters":[{"$ref":"#/components/parameters/organizationId"}],"get":{"tags":["main","organization-subscription"],"description":"Fetch the price of a subscription.","operationId":"getOrganizationSubscriptionPrice","parameters":[{"in":"query","name":"subscriptionPlan","description":"Subscription plan for which we need to calculate the price.","schema":{"type":"string"}},{"in":"query","name":"period","description":"Renewal period for which we need to calculate the price.","schema":{"type":"string"}},{"in":"query","name":"couponCode","description":"Coupon code that will be applied to the subscription.","schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/organizationSubscriptionPrice"}},"security":[{"studio":[]}]}},"/api/organizations/{organizationId}":{"parameters":[{"$ref":"#/components/parameters/organizationId"}],"get":{"tags":["main","organization"],"description":"Get a single organization.","operationId":"getOrganization","responses":{"200":{"$ref":"#/components/responses/organization"}}},"patch":{"tags":["main","organization"],"description":"Update an organization","operationId":"patchOrganization","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"name":{"$ref":"#/components/schemas/Organization/properties/name"},"description":{"$ref":"#/components/schemas/Organization/properties/description"},"email":{"$ref":"#/components/schemas/Organization/properties/email"},"website":{"$ref":"#/components/schemas/Organization/properties/website"},"vatIdNumber":{"$ref":"#/components/schemas/Organization/properties/vatIdNumber"},"streetName":{"$ref":"#/components/schemas/Organization/properties/streetName"},"houseNumber":{"$ref":"#/components/schemas/Organization/properties/houseNumber"},"city":{"$ref":"#/components/schemas/Organization/properties/city"},"zipCode":{"$ref":"#/components/schemas/Organization/properties/zipCode"},"countryCode":{"$ref":"#/components/schemas/Organization/properties/countryCode"},"invoiceReference":{"$ref":"#/components/schemas/Organization/properties/invoiceReference"},"icon":{"type":"string","format":"binary","description":"The organization icon."}}},"encoding":{"icon":{"contentType":"image/png,image/jpeg,image/tiff,image/webp"}}}}},"responses":{"200":{"$ref":"#/components/responses/organization"}},"security":[{"studio":[]},{"cli":["organizations:write"]}]},"delete":{"tags":["main","organization"],"description":"Delete an organization.","operationId":"deleteOrganization","responses":{"200":{"description":"successfully deleted organization"}},"security":[{"studio":[]},{}]}},"/api/organizations":{"get":{"tags":["main","organization"],"description":"Fetch the list of organizations.","operationId":"getOrganizations","responses":{"200":{"description":"The list of of organizations","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Organization"}}}}}}},"post":{"tags":["main","organization"],"description":"Create a new organization.","operationId":"createOrganization","requestBody":{"description":"The organization to create","required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/Organization/properties/id"},"name":{"$ref":"#/components/schemas/Organization/properties/name"},"description":{"$ref":"#/components/schemas/Organization/properties/description"},"email":{"$ref":"#/components/schemas/Organization/properties/email"},"website":{"$ref":"#/components/schemas/Organization/properties/website"},"vatIdNumber":{"$ref":"#/components/schemas/Organization/properties/vatIdNumber"},"streetName":{"$ref":"#/components/schemas/Organization/properties/streetName"},"houseNumber":{"$ref":"#/components/schemas/Organization/properties/houseNumber"},"city":{"$ref":"#/components/schemas/Organization/properties/city"},"zipCode":{"$ref":"#/components/schemas/Organization/properties/zipCode"},"countryCode":{"$ref":"#/components/schemas/Organization/properties/countryCode"},"invoiceReference":{"$ref":"#/components/schemas/Organization/properties/invoiceReference"},"icon":{"type":"string","format":"binary","description":"The organization icon."}}},"encoding":{"icon":{"contentType":"image/png,image/jpeg,image/tiff,image/webp"}}}}},"responses":{"201":{"$ref":"#/components/responses/organization"}},"security":[{"studio":[]},{"cli":["organizations:write"]}]}},"/api/organization-subscriptions/{organizationSubscriptionId}":{"parameters":[{"$ref":"#/components/parameters/organizationSubscriptionId"}],"patch":{"tags":["main","organization-subscription"],"description":"Patch a subscription","operationId":"patchOrganizationSubscription","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"cancelled":{"$ref":"#/components/schemas/OrganizationSubscription/properties/cancelled"},"cancellationReason":{"$ref":"#/components/schemas/OrganizationSubscription/properties/cancellationReason"},"expirationDate":{"$ref":"#/components/schemas/OrganizationSubscription/properties/expirationDate"},"subscriptionPlan":{"$ref":"#/components/schemas/OrganizationSubscription/properties/subscriptionPlan"},"renewalPeriod":{"$ref":"#/components/schemas/OrganizationSubscription/properties/renewalPeriod"}}}}}},"responses":{"200":{"$ref":"#/components/responses/organizationSubscription"}},"security":[{"studio":[]}]}},"/api/ssl":{"get":{"tags":["main"],"description":"Check the SSL certificate status for the given domain names.","operationId":"getSslStatus","parameters":[{"in":"query","name":"domains","required":true,"schema":{"type":"array","items":{"type":"string","format":"hostname"}}}],"responses":{"200":{"description":"A mapping of domain name to their SSL status","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"enum":["error","missing","pending","ready","unknown"]}}}}}}}},"/api/apps/{appId}/group-invites/{token}/respond":{"parameters":[{"$ref":"#/components/parameters/appId"},{"name":"token","in":"path","description":"The token of the invite.","required":true,"schema":{"type":"string"}}],"post":{"tags":["group-invite"],"description":"Respond to a given invitation.","operationId":"respondGroupInvite","requestBody":{"description":"The response of the invitation.\n\n        If response is true, user will join the app. If response is false, the user declines the invite and the invite is removed.","required":true,"content":{"application/json":{"schema":{"type":"object","required":["response"],"properties":{"response":{"type":"boolean"}}}}}},"responses":{"204":{"description":"The response has been processed."}},"security":[{"app":[]}]}},"/api/apps/{appId}/group-invites/{token}":{"parameters":[{"$ref":"#/components/parameters/appId"},{"name":"token","in":"path","description":"The token of the invite.","required":true,"schema":{"type":"string"}}],"get":{"tags":["group-invite"],"description":"Fetch information about an invite.","operationId":"getGroupInvite","responses":{"200":{"description":"An invite response","$ref":"#/components/responses/invite"}}}},"/api/apps/{appId}/group-members/{groupMemberId}/role":{"parameters":[{"$ref":"#/components/parameters/appId"},{"$ref":"#/components/parameters/groupMemberId"}],"put":{"tags":["common","group-member"],"description":"Set the role of a member within a group.","operationId":"updateGroupMemberRole","parameters":[{"$ref":"#/components/parameters/selectedGroupId"}],"requestBody":{"description":"The role to set.","required":true,"content":{"application/json":{"schema":{"type":"object","required":["role"],"properties":{"role":{"type":"string"}}}}}},"responses":{"200":{"description":"The member’s role has been successfully updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupMember"}}}}},"security":[{"studio":[]},{"app":[]},{"cli":["groups:write"]}]}},"/api/apps/{appId}/group-members/{groupMemberId}":{"parameters":[{"$ref":"#/components/parameters/appId"},{"$ref":"#/components/parameters/groupMemberId"}],"get":{"tags":["common","group-member"],"description":"Get a certain group member from a group","operationId":"getGroupMember","responses":{"200":{"description":"The specified group member","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupMember"}}}}},"security":[{"studio":[]},{"app":[]}]},"delete":{"tags":["common","group-member"],"description":"Remove a member from a group.","operationId":"deleteGroupMember","parameters":[{"$ref":"#/components/parameters/selectedGroupId"}],"responses":{"204":{"description":"The group member has been removed successfully."}},"security":[{"studio":[]},{"app":[]},{"cli":["groups:write"]}]}},"/api/apps/{appId}/groups/{groupId}/invites/resend":{"parameters":[{"$ref":"#/components/parameters/appId"},{"$ref":"#/components/parameters/groupId"}],"post":{"tags":["group"],"description":"Request to resend an invitation.","operationId":"resendGroupInvite","requestBody":{"description":"The email of the person to resend the invitation to.","required":true,"content":{"application/json":{"schema":{"type":"object","required":["email"],"properties":{"email":{"type":"string"}}}}}},"responses":{"204":{"description":"The invite has been sent."}},"security":[{"studio":[]}]}},"/api/apps/{appId}/groups/{groupId}/invites":{"parameters":[{"$ref":"#/components/parameters/appId"},{"name":"groupId","in":"path","description":"The ID of the group","required":true,"schema":{"type":"number","readOnly":true}}],"get":{"tags":["group","invite"],"description":"Get a list of invited group members.","operationId":"getGroupInvites","responses":{"200":{"description":"The list of all invites.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"email":{"type":"string","format":"email"},"role":{"type":"string"}}}}}}}},"security":[{"studio":[]}]},"post":{"tags":["group","invite"],"description":"Invite a new user to a group.","operationId":"createGroupInvites","parameters":[{"$ref":"#/components/parameters/selectedGroupId"}],"requestBody":{"description":"The group invite to create.","required":true,"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","required":["email","role"],"properties":{"email":{"type":"string","format":"email","description":"The email address of the user to invite."},"role":{"type":"string","description":"The role to invite the user as."}}}}}}},"responses":{"200":{"description":"The invited member","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppMember"}}}}},"security":[{"studio":[]},{"app":["groups:write"]},{"cli":["groups:write"]}]},"delete":{"tags":["group","invite"],"description":"Revoke a group member invitation.","operationId":"deleteGroupInvite","requestBody":{"description":"The email address to revoke the invite of.","required":true,"content":{"application/json":{"schema":{"type":"object","required":["email"],"properties":{"email":{"type":"string","format":"email"}}}}}},"responses":{"204":{"description":"The invitation has been successfully revoked."}},"security":[{"studio":[]}]}},"/api/apps/{appId}/groups/{groupId}/members":{"parameters":[{"$ref":"#/components/parameters/appId"},{"name":"groupId","in":"path","description":"The ID of the group","required":true,"schema":{"type":"number","readOnly":true}}],"get":{"tags":["common","app","group","members"],"description":"Fetch the members of a group and their roles within the group.","operationId":"getGroupMembers","parameters":[{"$ref":"#/components/parameters/selectedGroupId"}],"responses":{"200":{"description":"The list of all members.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GroupMember"}}}}}},"security":[{"studio":[]},{"app":["groups:read"]}]},"post":{"tags":["app","group","members"],"description":"Add an app member to a group","operationId":"addAppMemberToGroup","responses":{"200":{"description":"The created group member","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupMember"}}}}},"requestBody":{"description":"Add an app member to a group","required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","role"],"properties":{"id":{"$ref":"#/components/schemas/AppMember/properties/id","description":"The id of the user to add."},"role":{"type":"string","description":"The role to invite the user as."}}}}}},"security":[{"app":["groups:read"]}]}},"/api/apps/{appId}/groups/{groupId}":{"parameters":[{"$ref":"#/components/parameters/appId"},{"name":"groupId","in":"path","description":"The ID of the group","required":true,"schema":{"type":"number","readOnly":true}}],"get":{"tags":["common","group"],"description":"Fetch an existing group.","operationId":"getGroup","responses":{"200":{"description":"The requested group","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"number"},"name":{"type":"string"}}}}}}},"security":[{"studio":[]}]},"patch":{"tags":["common","group"],"description":"Update an existing group.","operationId":"patchGroup","requestBody":{"description":"The group to update.","required":true,"content":{"application/json":{"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"annotations":{"type":"object","additionalProperties":{"type":"string"}}}}}}},"responses":{"200":{"description":"The updated group","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"number"},"name":{"type":"string"}}}}}}},"security":[{"studio":[]},{"cli":["groups:write"]}]},"delete":{"tags":["common","group"],"description":"Delete an existing group.","operationId":"deleteGroup","responses":{"204":{"description":"The group has successfully been deleted."}},"security":[{"studio":[]},{"cli":["groups:write"]}]}},"/api/timezones":{"get":{"tags":["main"],"description":"Get a list of timezones supported by the API","operationId":"getTimezones","responses":{"200":{"description":"A list of timezones supported by the API","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/trainings/completed":{"get":{"description":"Fetch all completed trainings","operationId":"getCompletedTrainings","responses":{"200":{"description":"An array of training IDs that the user has completed","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"security":[{"studio":[]}]},"delete":{"description":"Delete all completed trainings from user","operationId":"resetTrainingProgress","responses":{"204":{"description":"Trainings successfully reset "}},"security":[{"studio":[]}]}},"/api/trainings/completed/{trainingId}":{"post":{"description":"Sets the status of this training to \"completed\" for this user","operationId":"completeTraining","parameters":[{"in":"path","name":"trainingId","schema":{"type":"string"},"required":true,"description":"The ID of the training to complete"}],"responses":{"201":{"description":"Training successfully set to \"completed\""}},"security":[{"studio":[]}]}},"/api/trainings":{"get":{"description":"Fetch all training ids stored on the server","operationId":"getTrainingIds","responses":{"200":{"description":"An array of all training Id's","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/users/current/apps/accounts":{"get":{"description":"Get the accounts that have been linked to an app and the user","tags":["main","user","current-user","app","account"],"operationId":"getCurrentUserAppAccounts","security":[{"studio":[]}],"responses":{"200":{"description":"A list of linked accounts","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AppAccount"}}}}}}}},"/api/users/current/apps/{appId}/account":{"parameters":[{"$ref":"#/components/parameters/appId"}],"get":{"description":"Get the account that have been linked to the app and the user","tags":["main","user","current-user","app","account"],"operationId":"getCurrentUserAppAccount","security":[{"studio":[]}],"responses":{"200":{"description":"A linked account","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppAccount"}}}}}},"patch":{"description":"Get the account that have been linked to the app and the user","tags":["main","user","current-user","app","account"],"operationId":"patchCurrentUserAppAccount","security":[{"studio":[]}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string"},"picture":{"type":"string","format":"binary","description":"The member’s profile picture."}}},"encoding":{"picture":{"contentType":"image/png,image/jpeg,image/tiff,image/webp"}}}}},"responses":{"200":{"description":"A linked account","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppAccount"}}}}}}},"/api/users/current/apps":{"get":{"tags":["main","user","current-user","app"],"parameters":[{"name":"language","schema":{"type":"string"},"description":"The language to include the translations of, if available","in":"query"}],"description":"Get all apps from organizations that the user is in.","operationId":"queryCurrentUserApps","responses":{"200":{"description":"The list of all apps the user is in.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/App"}}}}}},"security":[{"studio":[]}]}},"/api/users/current/auth/oauth2/apps/{appId}/consent/agree":{"post":{"parameters":[{"$ref":"#/components/parameters/appId"}],"description":"Create a new OAuth2 consent.","tags":["main","user","current-user","auth","oauth2"],"operationId":"agreeCurrentUserOAuth2AppConsent","requestBody":{"$ref":"#/components/requestBodies/oauth2Consent"},"responses":{"201":{"$ref":"#/components/responses/oauth2AuthorizationCode"}},"security":[{"studio":[]}]}},"/api/users/current/auth/oauth2/apps/{appId}/consent/verify":{"post":{"parameters":[{"$ref":"#/components/parameters/appId"}],"description":"Verify if the user has previously agreed to the requested OAuth2 consent.","tags":["main","user","current-user","auth","oauth2"],"operationId":"verifyCurrentUserOAuth2AppConsent","requestBody":{"$ref":"#/components/requestBodies/oauth2Consent"},"responses":{"200":{"$ref":"#/components/responses/oauth2AuthorizationCode"}},"security":[{"studio":[]}]}},"/api/users/current/auth/oauth2/authorizations":{"get":{"description":"Get a list of the current user’s OAuth2 authorizations.","tags":["main","user","current-user","auth","oauth2","authorization"],"operationId":"getCurrentUserOAuth2Authorizations","responses":{"200":{"description":"An access token response.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"authorizationUrl":{"type":"string"}}}}}}}},"security":[{"studio":[]}]},"delete":{"description":"Unlink a linked account from the logged in user.","tags":["main","user","current-user","auth","oauth2","authorization"],"operationId":"deleteCurrentUserOAuth2Authorization","parameters":[{"in":"query","name":"authorizationUrl","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":"The account was unlinked successfully."}},"security":[{"studio":[]}]}},"/api/users/current/auth/oauth2/client-credentials/{clientId}":{"parameters":[{"name":"clientId","in":"path","description":"The client id of the OAuth2 client credentials on which to perform an operation","required":true,"schema":{"type":"string"}}],"delete":{"description":"Revoke the client credentials","tags":["main","user","current-user","auth","oauth2","client-credentials"],"operationId":"deleteCurrentUserOAuth2ClientCredentials","responses":{"204":{"description":"The client credentials have been revoked successfully."}},"security":[{"studio":[]}]}},"/api/users/current/auth/oauth2/client-credentials":{"post":{"description":"Register new OAuth2 client credentials for the authenticated user.","tags":["main","user","current-user","auth","oauth2","client-credentials"],"operationId":"registerCurrentUserOAuth2ClientCredentials","requestBody":{"description":"The OAuth2 client credentials","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuth2ClientCredentials"}}}},"responses":{"201":{"description":"The newly created client credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuth2ClientCredentials"}}}}},"security":[{"studio":[]}]},"get":{"description":"Get a list of client credentials for the authenticated user","tags":["main","user","current-user","auth","oauth2","client-credentials"],"operationId":"listCurrentUserOAuth2ClientCredentials","responses":{"200":{"description":"A list of client credentials entities.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OAuth2ClientCredentials"}}}}}},"security":[{"studio":[]}]}},"/api/users/current/emails":{"get":{"tags":["main","user","current-user","email"],"description":"List email addresses registered to logged in user's account.","operationId":"listCurrentUserEmails","responses":{"200":{"description":"The email address has been added successfully.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserEmail"}}}}}},"security":[{"studio":[]}]},"post":{"tags":["main","user","current-user","email"],"description":"Register a new email to logged in user's account.","operationId":"addCurrentUserEmail","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserEmail"}}}},"responses":{"201":{"description":"The email address has been added successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserEmail"}}}}},"security":[{"studio":[]}]},"delete":{"tags":["main","user","current-user","email"],"description":"Remove an existing email to logged in user's account.","operationId":"removeCurrentUserEmail","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserEmail"}}}},"responses":{"204":{"description":"The email address has been removed successfully."}},"security":[{"studio":[]}]}},"/api/users/current/organizations":{"get":{"tags":["main","user","current-user","organization"],"description":"Fetch the logged in user's organizations.","operationId":"getCurrentUserOrganizations","responses":{"200":{"description":"The organizations the logged in user is a member of.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/Organization/properties/id"},"name":{"$ref":"#/components/schemas/Organization/properties/name"},"role":{"$ref":"#/components/schemas/OrganizationMember/properties/role"}}}}}}}},"security":[{"studio":[]}]}},"/api/users/current/unsubscribe":{"post":{"tags":["main","user","current-user"],"description":"Unsubscribe a user from the newsletter","operationId":"unsubscribeCurrentUser","responses":{"201":{"description":"Unsubscribed successfully"},"401":{"description":"Invalid or missing admin API secret"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["email"],"properties":{"email":{"type":"string","format":"email"}}}}}}}},"/api/users/current":{"get":{"tags":["main","user","current-user"],"description":"Fetch the logged in user's profile.","operationId":"getCurrentUser","responses":{"200":{"description":"The user's profile.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}}},"security":[{"studio":[]}]},"put":{"tags":["main","user","current-user"],"description":"Update the logged in user's profile.","operationId":"patchCurrentUser","requestBody":{"required":true,"$ref":"#/components/requestBodies/user"},"responses":{"200":{"description":"The user's profile.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}}},"security":[{"studio":[]}]}},"/api/users/subscribed":{"get":{"tags":["main","user"],"description":"Get a list of active and verified users subscribed to the appsemble newsletter","operationId":"getSubscribedUsers","responses":{"200":{"description":"List of subscribed users"},"401":{"description":"Invalid or missing admin API secret"}}}}},"tags":[{"name":"account","description":"Operations related to app accounts"},{"name":"app-member","description":"Operations related to app members"},{"name":"app","description":"Operations related to apps"},{"name":"action","description":"Operations related to actions"},{"name":"app-collection","description":"Operations related to app collections"},{"name":"app-definition","description":"Operations related to the app definitions"},{"name":"asset","description":"Operations related to assets"},{"name":"auth","description":"Operations related to authentication"},{"name":"authorization","description":"Operations related to authorizations"},{"name":"block","description":"Operations related to blocks"},{"name":"client-credentials","description":"Operations related to client credentials"},{"name":"common","description":"Operations shared between apps and the studio"},{"name":"current-member","description":"Operations related to the currently logged in user"},{"name":"current-user","description":"Operations related to the currently logged in user"},{"name":"demo-group","description":"Operations related to demo groups"},{"name":"demo-member","description":"Operations related to demo members"},{"name":"email","description":"Operations related to emails"},{"name":"invite","description":"Operations related to invites."},{"name":"main","description":"Operations related to the main api"},{"name":"member","description":"Operations related to members"},{"name":"oauth2","description":"Operations related to oauth2"},{"name":"organization","description":"Operations related to organizations"},{"name":"organization-subscription","description":"Operations related to organizationSubscriptions"},{"name":"rating","description":"Operations related to ratings"},{"name":"readme","description":"Operations related to readmes"},{"name":"resource","description":"Operations related to the resources"},{"name":"saml","description":"Operations related to saml"},{"name":"scim","description":"Operations related to scim"},{"name":"screenshot","description":"Operations related to screenshots"},{"name":"secret","description":"Operations related to secrets"},{"name":"service","description":"Operations related to service secrets"},{"name":"snapshot","description":"Operations related to snapshots"},{"name":"ssl","description":"Operations related to ssl"},{"name":"subscription","description":"Operations related to subscriptions"},{"name":"group-member","description":"Operations related to group members"},{"name":"group","description":"Operations related to groups"},{"name":"template","description":"Operations related to templates"},{"name":"training","description":"Operations related to trainings"},{"name":"translation","description":"Operations related to translations"},{"name":"user","description":"Operations related to users."},{"name":"variable","description":"Operations related to app variables."},{"name":"version","description":"Operations related to versions."},{"name":"webhook","description":"Operations related to webhooks."}]}