{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/nylas/main/json-schema/nylas-application-object-schema.json", "title": "ApplicationObject", "x-generated": "2026-10-02", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/nylas-app-migration-api-openapi.yml#/components/schemas/ApplicationObject", "type": "object", "properties": { "application_id": { "type": "string", "description": "Application ID" }, "organization_id": { "type": "string", "description": "ID of organization" }, "region": { "type": "string", "description": "Region identifier" }, "environment": { "type": "string", "description": "Environment identifier", "enum": [ "production", "staging" ] }, "default_workspace_id": { "type": "string", "readOnly": true, "description": "The ID of the application's default [workspace](/docs/reference/api/workspaces/), if one exists.\nNylas manages this value, and ignores it in create and update requests." }, "v2_application_id": { "type": "string", "description": "Linked v2 Application ID" }, "branding": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the application" }, "icon_url": { "type": "string", "description": "URL points to application icon." }, "website_url": { "type": "string", "description": "Application / publisher website URL" }, "description": { "type": "string", "description": "Description of the application." } } }, "hosted_authentication": { "type": "object", "properties": { "background_image_url": { "type": "string", "description": "URL of the background image" }, "alignment": { "type": "string", "description": "Alignment of background image", "enum": [ "left", "center", "right" ] }, "color_primary": { "type": "string", "description": "Primary color" }, "color_secondary": { "type": "string", "description": "Secondary color" }, "title": { "type": "string", "description": "Title" }, "subtitle": { "type": "string", "description": "Subtitle" }, "background_color": { "type": "string", "description": "Background color" }, "spacing": { "type": "integer", "description": "CSS spacing attribute in px" } } }, "callback_uris": { "description": "A list of your application's callback URIs.", "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/webDesktopCallbackNoSettings" }, { "$ref": "#/$defs/JsCallbackwSettings" }, { "$ref": "#/$defs/iosCallbackwSettings" }, { "$ref": "#/$defs/AndroidCallbackwSettings" } ] } } }, "$defs": { "AndroidCallbackwSettings": { "title": "Android", "properties": { "platform": { "type": "string", "description": "Platform identifier", "enum": [ "android" ] }, "id": { "type": "string", "description": "The callback URI ID. This must be a universally unique ID (UUID)." }, "url": { "type": "string", "description": "Your project's callback URI. This can be HTTPS or a deeplink (for example,\n`://`).\n\nNylas accepts HTTP for localhost development _only_. Otherwise, you must use HTTPS." }, "settings": { "description": "Additional platform settings and configurations for the Android callback URI.", "type": "object", "required": [ "package_name", "sha1_certificate_fingerprint" ], "properties": { "package_name": { "type": "string", "description": "Find your app's Package Name in the Android Manifest. It's a unique identifier that distinguishes your app on the Google Play Store and on the device. It follows a reverse domain name notation, such as `com.example.myapp`." }, "sha1_certificate_fingerprint": { "type": "string", "description": "A SHA-1 hash of the app's signing certificate. This ensures that only the _signed_ version of your app can use the redirect URI." } } } } }, "JsCallbackwSettings": { "title": "JS", "properties": { "platform": { "type": "string", "description": "Platform identifier", "enum": [ "js" ] }, "id": { "type": "string", "description": "The callback URI ID. This must be a universally unique ID (UUID)." }, "url": { "type": "string", "description": "Your project's callback URI, including the protocol. Nylas accepts HTTP for localhost development _only_.\nOtherwise, you must use HTTPS." }, "settings": { "description": "Additional platform settings and configurations for the Javascript callback URI.", "type": "object", "required": [ "origin" ], "properties": { "origin": { "type": "string", "description": "The `origin` is the base URL from which your project or app is served. It is required because it's a critical part of defining your app's trust boundaries to prevent cross-origin issues. Set this when you set up OAuth redirect URIs and other security settings." } } } } }, "iosCallbackwSettings": { "title": "iOS", "properties": { "platform": { "type": "string", "description": "Platform identifier", "enum": [ "ios" ] }, "id": { "type": "string", "description": "The callback URI ID. This must be a universally unique ID (UUID)." }, "url": { "type": "string", "description": "Your project's callback URI. This can be HTTPS or a deeplink (for example,\n`://`).\n\nNylas accepts HTTP for localhost development _only_. Otherwise, you must use HTTPS." }, "settings": { "description": "Additional platform settings and configurations for the iOS callback URI.", "type": "object", "required": [ "bundle_id" ], "properties": { "bundle_id": { "type": "string", "description": "The `bundle_id` (Bundle Identifier) is a unique identifier for an iOS app. It's set in the Xcode project and follows a reverse domain name style." }, "app_store_id": { "type": "string", "description": "Unique identifier for your app on the Apple App Store. This ID is assigned to your app when you submit it to the App Store and it is approved." }, "team_id": { "type": "string", "description": "Unique identifier for your Apple Developer Account or team." } } } } }, "webDesktopCallbackNoSettings": { "title": "Web or Desktop", "properties": { "platform": { "type": "string", "description": "Platform identifier", "enum": [ "web", "desktop" ] }, "id": { "type": "string", "description": "The callback URI ID. This must be a universally unique ID (UUID)." }, "url": { "type": "string", "description": "Your project's callback URI, including the protocol. Nylas accepts HTTP for localhost development\n_only_. Otherwise, you need to use HTTPS." } } } } }