{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/nylas/main/json-schema/nylas-redirect-uriobject-schema.json", "title": "RedirectURIObject", "x-generated": "2026-10-02", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/nylas-applications-api-openapi.yml#/components/schemas/RedirectURIObject", "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." } } } } }